Hradla

Cílem semináře je seznámit posluchače s jazykem C#, prostředím platformy .NET a tvorbou aplikací s grafickým uživatelským rozhraním. Předpokládají se znalosti objektově orientovaného programování.
Odpovědět
Uživatelský avatar
tutchek
Site Admin
Příspěvky: 795
Registrován: 21. 9. 2004 00:40
Typ studia: Informatika Mgr.
Bydliště: Praha, Bohnice
Kontaktovat uživatele:

Hradla

Příspěvek od tutchek »

Zdravim, tak jsem se podival na C#, zajimavy jste to tam meli :D, ale zaroven tam byl zadan nejaky hradlovy ukol. Trochu jsem si hral a vyrobil syntax diagram vstupniho souboru, treba vam nekomu k necemu bude...
Přílohy
hradla_syntax.pdf
Syntax diagram hradla
(34.29 KiB) Staženo 589 x
exAdmin. Magistr přes umělou inteligenci. Právník přes daně.
Medved
Admin(ka) level I
Příspěvky: 168
Registrován: 30. 5. 2006 21:18

Re: Hradla

Příspěvek od Medved »

V cem jsi to kreslil? To vypada moc pekne.
janoro

Re: Hradla

Příspěvek od janoro »

No jinak dle mého názoru opravdu vtipnej domácí úkol - člověk čeká skoro dva měsíce, pořád není co na práci, a pak - v období zápočtů a spousty úkolů - musím naprogramovat tohle. Zadání na pět stránek, FAQ k domácímu úkolu... To je síla. Už to dělám třetí den a nejvíc času zabralo načítání a kontrola chyb, nic algoritmicky náročnýho, jen sr*ní. Bůh ví, jak moc času nad tím ještě strávím, tohle se mi fakt nelíbí. Jsem zvědavej, jakej bude ten lednovej úkol - v období zkoušek.
Uživatelský avatar
tutchek
Site Admin
Příspěvky: 795
Registrován: 21. 9. 2004 00:40
Typ studia: Informatika Mgr.
Bydliště: Praha, Bohnice
Kontaktovat uživatele:

Re: Hradla

Příspěvek od tutchek »

Medved píše:V cem jsi to kreslil? To vypada moc pekne.
Latex s balickem rail

Kód: Vybrat vše

\documentstyle[rail]{article}


\begin{document}
\begin{rail}
Hradla : (IgnoreLine*) Gate ((Gate | Composite)*) Network ;

Gate : "gate" " " Name EOL 
	   "inputs" ( " " Name *) EOL \\
	   "outputs" (" " Name +) EOL 
	   ( GateFunction EOL * )   \\
	   "end" EOL
	   ;

GateFunction : ( ("0" | "1" | "?") + " ");

Composite : "composite" " " Name EOL 
			"inputs"  (" " Name *) EOL \\
			"outputs" ( " " Name +)  EOL  \\
			( "gate" " " Name " " Name EOL +) \\ 
			
			( IOName "->" IOName EOL +) \\ 
			
			"end" EOL
			;

Network : 	"network" " " Name EOL 
			"inputs"  (" " Name +) EOL \\
			"outputs" ( " " Name +)  EOL  \\
			( "gate" " " Name " " Name EOL +) \\ 
			
			( IOName "->" IOName EOL +) \\ 
			
			"end" EOL
			;

IOName : ( Name "." Name | Name ) ;

Name : "all but whitespace . ; -> end"
		;

IgnoreLine :  (  ( "whitespace" *)
				| ";" ( "everything" * )
				
			) "end of line"
			;
			
EOL : ("whitespace" *) "end of line" ( IgnoreLine * )
	;

\end{rail}
\end{document}
exAdmin. Magistr přes umělou inteligenci. Právník přes daně.
martin33

Re: Hradla

Příspěvek od martin33 »

janoro píše:No jinak dle mého názoru opravdu vtipnej domácí úkol - člověk čeká skoro dva měsíce, pořád není co na práci, a pak - v období zápočtů a spousty úkolů - musím naprogramovat tohle. Zadání na pět stránek, FAQ k domácímu úkolu... To je síla. Už to dělám třetí den a nejvíc času zabralo načítání a kontrola chyb, nic algoritmicky náročnýho, jen sr*ní. Bůh ví, jak moc času nad tím ještě strávím, tohle se mi fakt nelíbí. Jsem zvědavej, jakej bude ten lednovej úkol - v období zkoušek.
presne tak. akorat opruz s chytanim chyb.
nevim jestli jsem to pojal nejak moc slozite ale uz sem se zdrojakem pres 30kb, ze bych to odevzdal rovnou jako zapoctak :)
Velkej borec

Re: Hradla

Příspěvek od Velkej borec »

Chtěl bych s někým udělat nějaké srovnání. Mám to už napsané, ale přijde mi to dost pomalý.Třeba tu hranici 1 000 000 taktů, tak k té mi to u čtyřbitové sčítačky dojde tak po dvou minutách (abych to zacyklil, tak jsem odstranil poslední spoj, tj. "o4->add3.cout"). Pracuje to někomu výrazně rychleji? Nebo je to v pořádku?

Nemá někdo napsaný nějaký složitý obvod? Nebo se dá předpokládat, že mi to funguje, když 4bitAdder.txt jede v pohodě? Nebo aspoň doufám, že je to v pořádku, mám takovýhle výstup:

Kód: Vybrat vše

0 1 1 1 0 1 1 0 -> 10 0 1 1 0 1
0 0 0 0 0 0 0 0 -> 10 0 0 0 0 0
1 1 1 1 1 1 1 1 -> 10 1 1 1 1 0
1 0 0 0 0 1 1 1 -> 10 0 1 1 1 1
Souhlasí to s výsledky ostatních (ty desítky jsou samozřejmě počty taktů)?
Šlupka
Matfyz(ák|ačka) level I
Příspěvky: 39
Registrován: 7. 11. 2007 22:12
Typ studia: Informatika Bc.

Re: Hradla

Příspěvek od Šlupka »

Velkej borec píše:Chtěl bych s někým udělat nějaké srovnání. Mám to už napsané, ale přijde mi to dost pomalý.Třeba tu hranici 1 000 000 taktů, tak k té mi to u čtyřbitové sčítačky dojde tak po dvou minutách (abych to zacyklil, tak jsem odstranil poslední spoj, tj. "o4->add3.cout"). Pracuje to někomu výrazně rychleji? Nebo je to v pořádku?

Nemá někdo napsaný nějaký složitý obvod? Nebo se dá předpokládat, že mi to funguje, když 4bitAdder.txt jede v pohodě? Nebo aspoň doufám, že je to v pořádku, mám takovýhle výstup:

Kód: Vybrat vše

0 1 1 1 0 1 1 0 -> 10 0 1 1 0 1
0 0 0 0 0 0 0 0 -> 10 0 0 0 0 0
1 1 1 1 1 1 1 1 -> 10 1 1 1 1 0
1 0 0 0 0 1 1 1 -> 10 0 1 1 1 1
Souhlasí to s výsledky ostatních (ty desítky jsou samozřejmě počty taktů)?
A zkusil sis i ten ještě jednodušší příklad? Já osobně bych řekl, že jednoduchá 4bitová sčítačka má výsledek po 9. taktu... Ale jinak sčítá ti to dobře :wink:

EDIT1: Jak je možný, že se ti to zacyklí odebráním hrany? :D
EDIT2: A jinak mě cyklus trvá cca 20s
Návštěvník

Re: Hradla

Příspěvek od Návštěvník »

Velkej borec píše:Chtěl bych s někým udělat nějaké srovnání. Mám to už napsané, ale přijde mi to dost pomalý.Třeba tu hranici 1 000 000 taktů, tak k té mi to u čtyřbitové sčítačky dojde tak po dvou minutách (abych to zacyklil, tak jsem odstranil poslední spoj, tj. "o4->add3.cout"). Pracuje to někomu výrazně rychleji? Nebo je to v pořádku?

Nemá někdo napsaný nějaký složitý obvod? Nebo se dá předpokládat, že mi to funguje, když 4bitAdder.txt jede v pohodě? Nebo aspoň doufám, že je to v pořádku, mám takovýhle výstup:

Kód: Vybrat vše

0 1 1 1 0 1 1 0 -> 10 0 1 1 0 1
0 0 0 0 0 0 0 0 -> 10 0 0 0 0 0
1 1 1 1 1 1 1 1 -> 10 1 1 1 1 0
1 0 0 0 0 1 1 1 -> 10 0 1 1 1 1
Souhlasí to s výsledky ostatních (ty desítky jsou samozřejmě počty taktů)?
Me to dava na tyto vstupy (zadane v jednom behu programu pekne po sobe) tento vystup:

Kód: Vybrat vše

9 0 1 1 0 1
3 0 0 0 0 0
3 1 1 1 1 0
8 0 1 1 1 1
johnny
Donátor
Donátor
Příspěvky: 95
Registrován: 13. 12. 2005 00:31
Typ studia: Informatika Mgr.
Bydliště: Trója

Re: Hradla

Příspěvek od johnny »

Uz se mi nechce potreti psat Jezkovi, tak napisu sem. Po zaverecnych opravach meho kodu se muj vystup stale zcela neshoduje s vystupem zaslanym spolu s priklady, konkretne 4bitAdder.txt, vstup 1.in
muj vystup se od jejich 4.out lisi na dvou radkach:

Kód: Vybrat vše

line 2:
< 8 0 1 1 1 1
> 3 0 1 1 1 1
line 4:
< 5 1 0 0 0 0
> 3 1 0 0 0 0
Tj. moje síť to spočítá za 3 takty, jejich síti to vždy trvá déle.
Jednoduše se mi v tom nechce uz dal hrabat (uz jsem nad tim stravil mnohokrat vice casu nez se na domaci ukol slusi a patri) a tak se ptám, jestli někdo nemá stejný problém.

Edit: hm tak i u toho prikladu v predchozim prispevku mi posledni vysledek da za 3 takty a ne za osm jako Navstevnikovi :( chjo
Edit2: tak jsem si to opravil, chyba byla, ze jsem nenechal hradlo spocitat novou hodnotu svych vystupu, pokud se ve stejnem taktu menila hodnota jeho vstupu (myslel jsem si, ze takova "docasna" hodnota vystupu nebude nikdy potreba, a hle, asi byla, alespon aby se prodlouzila doba vypoctu.. zajimave)
Edit3: jinak pokud se vam narocnost zdala/zda ponekud vyssi (ja souhlasim s janoro), tak bych navrhoval to dat prednasejicimu vedet.. mam zkusenost ze se pak akorat rekne "ale vzdyt posledne si nikdo nestezoval" a dela se jako by nic... Napr. v Jave byla za domaci ukol infix kalkulacka, kterou jsem mel hotovou za par hodin, tohle jsem delal s prestavkama tak 4-5 dni
Uživatelský avatar
Almer
Site Admin
Příspěvky: 686
Registrován: 12. 10. 2004 10:58
Typ studia: Informatika Ph.D.
Bydliště: Mala Strana - 203
Kontaktovat uživatele:

Re: Hradla

Příspěvek od Almer »

Rozhodne. Rovnez se mi zda , ze tento ukol je trosku...overboost. Mno..ale taky se sme cely pulrok flakali. Pokud by na to mbyl mesic, tak mozna prosim:)

Jiank bych chtel nabadat lidi. Vim , ze tohle je ciste na vasi dobrovolnosti , ale nemohli by ste sem hazet vase priklady? Napr. na vstupy ( i tam osetrit vsechny stavy a mozne periperite ) a pokud sem date vy...da i nekdo jiny..a bude to takova vzajemna sebekontrola.Navic se muzes stat, ze kolega odhali nejake vase chyby, ktere vas v testovacich ulohach nenapadli. Svuj balik pridam behem dopoledne.
Zakládající člen klubu Ortodoxních Matfyzáků :-D

Jsem LAMER ale neumim se ani podepsat ]:-)
Him
Supermatfyz(ák|ačka)
Příspěvky: 400
Registrován: 25. 1. 2008 19:59
Typ studia: Informatika Bc.

Re: Hradla

Příspěvek od Him »

Konečně mi to běží na všech vstupech *Hooray* Testoval jsem si to tímto: http://www.martinvseticka.eu/index.php? ... e&page=182 - třeba to někomu ulehčí testování..
Pracoval jsem na poměrně hodně materiálech pro různé předměty. Pokud Ti něco z toho ušetřilo čas, vyjádři svůj dík v podobě pár satoshi: 1H5JPTrsXie7epAQXbXhMjdgwyLbJ5NHBW ;)
Him
Supermatfyz(ák|ačka)
Příspěvky: 400
Registrován: 25. 1. 2008 19:59
Typ studia: Informatika Bc.

Re: Hradla

Příspěvek od Him »

Jak a kdy se vlastne clovek dozvi, zda to ma spravne?
Pracoval jsem na poměrně hodně materiálech pro různé předměty. Pokud Ti něco z toho ušetřilo čas, vyjádři svůj dík v podobě pár satoshi: 1H5JPTrsXie7epAQXbXhMjdgwyLbJ5NHBW ;)
Uživatelský avatar
Almer
Site Admin
Příspěvky: 686
Registrován: 12. 10. 2004 10:58
Typ studia: Informatika Ph.D.
Bydliště: Mala Strana - 203
Kontaktovat uživatele:

Re: Hradla

Příspěvek od Almer »

Pocitam ze po odeslani nam to rekne Jezek. A podle toho jak hodnoti to bude ... bud ti vse zbehne, nebo ti najde nejakou chybu a neprojdes.
Zakládající člen klubu Ortodoxních Matfyzáků :-D

Jsem LAMER ale neumim se ani podepsat ]:-)
Him
Supermatfyz(ák|ačka)
Příspěvky: 400
Registrován: 25. 1. 2008 19:59
Typ studia: Informatika Bc.

Re: Hradla

Příspěvek od Him »

Almer: Ja nemam na cviceni Jezka, takze mi to jezek nebude hodnotit, jestli jsem to pochopil spravne.. doufam, ze cernobile videni sveta se neuplatni, protoze jsem nad tim stravil spoustu casu... 52kB zdrojaku neroste na strome..
Pracoval jsem na poměrně hodně materiálech pro různé předměty. Pokud Ti něco z toho ušetřilo čas, vyjádři svůj dík v podobě pár satoshi: 1H5JPTrsXie7epAQXbXhMjdgwyLbJ5NHBW ;)
Uživatelský avatar
Almer
Site Admin
Příspěvky: 686
Registrován: 12. 10. 2004 10:58
Typ studia: Informatika Ph.D.
Bydliště: Mala Strana - 203
Kontaktovat uživatele:

Re: Hradla

Příspěvek od Almer »

To sice nemas...ale vzhledem k tomu, jak vypadalo testy na DU, tak pociam ze to bude delat nejaky automat...a udela jenom diff. Ala prekledace.

A cernobile? Mno...ja jsem jiz loni jednou delal C#. Zkousku mam na 2 pokus...takze mam sve zkusenosti. Skoro fungujici program ti ani na zkousce nepomuze. Tam bud mas nebo ne. Tady tez.
Zakládající člen klubu Ortodoxních Matfyzáků :-D

Jsem LAMER ale neumim se ani podepsat ]:-)
Odpovědět

Zpět na „NPRG035 Jazyk C# a platforma .NET“