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
vrtulex
Matfyz(ák|ačka) level I
Příspěvky: 45
Registrován: 20. 2. 2008 22:41
Typ studia: Informatika Bc.
Bydliště: Praha
Kontaktovat uživatele:

Re: Hradla

Příspěvek od vrtulex »

To s tím automatickým testováním mi lehce připomíná Operační systémy... ale narozdíl asi od C# (nemám ho, mám Javu) se tam i do kódu trošku dívají... (asi)
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 »

vrtulex píše:To s tím automatickým testováním mi lehce připomíná Operační systémy...
Dela se to i na Prekladacich ( obou castech )
Zakládající člen klubu Ortodoxních Matfyzáků :-D

Jsem LAMER ale neumim se ani podepsat ]:-)
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 »

Mam jeden dotaz.

Nezda se mi vysledek testo OrCycle verze 3.

Vstupy

Kód: Vybrat vše

1
0
0
0
Vystupy

Kód: Vybrat vše

3 0
1000000 0
1000000 0
1000000 0
Jako chapu, ze prvni prubeh bude 1000000 taktu. Ale pri druhe 0 snad neni zmena na vstupu I0 hradla OR. Takze by se melo hned skoncit s tim, ze vysledek je stale stejny. a ne az po 1000000 taktu. Nebo se pletu?
Zakládající člen klubu Ortodoxních Matfyzáků :-D

Jsem LAMER ale neumim se ani podepsat ]:-)
marxin
Matfyz(ák|ačka) level I
Příspěvky: 45
Registrován: 30. 1. 2008 13:24
Typ studia: Informatika Mgr.

Re: Hradla

Příspěvek od marxin »

Ahoj, řešil jsem naprosto stejný problém, při příkladu Or-Cycle ale musíš vzít v potaz to, že síť nebyla ustálena, ale přerušena při vykonání, proto jsem to řešil tak, že když dojde na vypršení limitu, tak zneplatním všechny vstupy sítě na hodnotu "?", potom to funguje korektně.
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 »

Dump hradlove site vypada takto

Kód: Vybrat vše

Dumping network status:
Last tact: 1000000
Something changed in network: True

Composite or network definition start
/* ------------------------------- */
Gate named network of type network:
Inputs : 0:0 1:1 i:0
Outputs: o:0
Status : process = False, setOutput = False

Gate named or of type or:
Inputs : i0:0 i1:0
Outputs: o:1
Status : process = True, setOutput = False

Gate named not of type not:
Inputs : i:1
Outputs: o:0
Status : process = False, setOutput = False

/* ------------------------------- */
Composite or network definition end
Je jasne videt, ze na hradle OR je po 1M taktu porad process na true ( = ze se neco zmenilo a to hradlo by se v dalsim taktu pocitalo ). Ovsem otazka je, co znamena to, ze se to prerusi v tom 1M tahu. Jestli to znamena zastaveni processu vsech hradel, ( protoze veci se od minule nezmenili - ani vstup...jenom vystup na OR hradle neodpovida jeho vstupum. ) nebo pri dalsim vstupu je pokus o ustaleni ( pokud jako tady zustala nektera hradla neustalena ).

Tvoje reseni je sice elegantni, ale spatne:) Pokud se totiz sit ustali presne v 1M tahu, tak pri dalsi zadani stejneho vstupu se sit rozhybe, zatimco spravne by mela stat ( stejny vstup a sit je ustalena:) ). Nejak to poresim:) Stejne nejvetsi pakarna byla nacist a osetrit. Btw., pokud mas nejake testovaci vstupy, pak sem s nima..klidne do PM, protoze nikdo se nechce podelit. ( ja mam asi 30 chybovych a nejake testovaci = pravda..neni to vsechny mozne chyby..ale neni problem dodelat ... ).
Zakládající člen klubu Ortodoxních Matfyzáků :-D

Jsem LAMER ale neumim se ani podepsat ]:-)
Uživatelský avatar
the21st
Matfyz(ák|ačka) level I
Příspěvky: 38
Registrován: 23. 1. 2008 13:42
Typ studia: Informatika Bc.
Kontaktovat uživatele:

Re: Hradla

Příspěvek od the21st »

Almer píše:( ja mam asi 30 chybovych a nejake testovaci = pravda..neni to vsechny mozne chyby..ale neni problem dodelat ... ).
A ty sa teda podelit nechces? :) Dik
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 »

Ok..neco prihodim. Ale sam vas tu nebudu podporovat.
Přílohy
Examples.rar
(1.5 KiB) Staženo 173 x
Zakládající člen klubu Ortodoxních Matfyzáků :-D

Jsem LAMER ale neumim se ani podepsat ]:-)
dakob
Matfyz(ák|ačka) level I
Příspěvky: 22
Registrován: 20. 9. 2007 19:17
Typ studia: Informatika Mgr.
Bydliště: Praha - severní město
Kontaktovat uživatele:

Re: Hradla

Příspěvek od dakob »

Dotaz k síti OrCycle:

Pro jednoduchost necht je limit pro vyhodnoceni zacyklene site pouhych 10 taktu.

Kód: Vybrat vše

VSTUP: 1
1. takt OR 1, ?  //Rozumějte tomu tak, že v prvním taktu se zpracovává hradlo OR, které má na vstupech 1 a ?
2. takt NOT 1
3. takt OR 1, 0
--> ustálení po 3. taktu

VSTUP: 0
1. takt OR 0, 0
2. takt NOT 0
3. takt OR 0, 1
4. takt NOT 1
5. takt OR 0, 0
6. takt NOT 0
7. takt OR 0, 1
8. takt NOT 1
9. takt OR 0, 0
10. takt NOT 0

Naše hradlová sít se (téměř jako Ježkovo zadání) násilně ukončí po dosátém taktu. Tedy 10. takt se ještě zpracuje, nastaví hodnotu výstupu na 1 a druhý vstup hradla OR také na 1.

Co se ale stane, když nyní přijde vstup 0 znovu? Hradlo OR má nastaveno 0, 1; tedy cyklus začne znovu ale nebude probíhat stejně!! Půjde "jakoby od 3. taktu předchozího vyhodnocování", a tedy bude přerušen ve chvíli, kdy 10. takt nastaví na výstup nulu. Nebo se pletu?

Podobně je to s tím milionem, zkrátka zadávám-li nulu několikrát po sobě, hodnoty výstupů nejsou vždy stejné, ale přijde mi to tak logické.

Nebo si snad mám pamatovat počáteční stav sítě, a dojde-li k zacyklení tak jej při dalším vstupu nastavit?
Jochanan
Matfyz(ák|ačka) level II
Příspěvky: 85
Registrován: 12. 5. 2007 15:58
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Re: Hradla

Příspěvek od Jochanan »

dakob píše:Dotaz k síti OrCycle:
...
Nebo si snad mám pamatovat počáteční stav sítě, a dojde-li k zacyklení tak jej při dalším vstupu nastavit?
Právě řeším úplně stejný problém, protože se mi nedaří to zacyklit několikrát po sobě. Pokud po zacyklení resetnu všechny hodnoty a zkusim zase 0, tak se to nezacyklí, protože při tom zacyklení byl už nějakej stav sítě...

podle řešení to vypadá tak, že si člověk musí pamatovat minulej stav sítě a ten si "obnovit"... Nejspíš...

EDIT: Pokud člověk vrátí stav do předchozího stavu, tak se sice hezky cyklí, ale pak zase nevychází ten první vstup 1 0 1...
EDIT2: No a pokud člověk nevrací nic, tak ten první příklad funguje, ale ty další ne. Tak to si mam hodit mincí??
gufy

Re: Hradla

Příspěvek od gufy »

Lidi, trochu jednodušší dotaz:

Chybějící výstup vyvolá chybu "Missing keyword" nebo "Syntax error"?
dakob
Matfyz(ák|ačka) level I
Příspěvky: 22
Registrován: 20. 9. 2007 19:17
Typ studia: Informatika Mgr.
Bydliště: Praha - severní město
Kontaktovat uživatele:

Re: Hradla

Příspěvek od dakob »

gufy: Missing keyword je chybějící klíčové slovo, takže to bych vyloučil.

Ale co tenhle problém: V propojovacím pravidle je napsána neexistující instance hradla. Je ty Syntax error nebo Binding rule broken? Podle zadání se Binding rule broken píše v situacích, kdy je popletená logoka propojování, takže spíš syntax error?

Jochanan: Já jsem se vrátil do předchozího stavu a funguje to. Ale dalo mi to zabrat :-)
SonicTh
Učitel
Učitel
Příspěvky: 30
Registrován: 28. 12. 2008 13:12
Typ studia: Nestuduji ale učím na MFF

Re: Hradla

Příspěvek od SonicTh »

ad OrCycle: Obe varianty beru jako spravne - tj. vzorovou i nasledujici:

3 0
1000000 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
1 0

Moje reseni vychazi z toho, ze hradlova sit se nestabilizovala (vypocet byl pouze preruseny), tj. i pri zadani stejneho vstupu maji nejake vstupy (uvnitr site) zmenene hodnoty, proto i v dalsich iteracich sit pocita dal.

Pavel Jezek
SonicTh
Učitel
Učitel
Příspěvky: 30
Registrován: 28. 12. 2008 13:12
Typ studia: Nestuduji ale učím na MFF

Re: Hradla

Příspěvek od SonicTh »

ad hodnoceni: Vase reseni budou hodnotit cvicici - hodnoceni bude probihat semiautomaticky: pokud program nebude fungovat tak, jak bychom ocekavali, tak Vam ho vratime a budete mit tak tyden nebo 14 dni na opravu.

Pavel Jezek
SonicTh
Učitel
Učitel
Příspěvky: 30
Registrován: 28. 12. 2008 13:12
Typ studia: Nestuduji ale učím na MFF

Re: Hradla

Příspěvek od SonicTh »

dakob píše:gufy: Missing keyword je chybějící klíčové slovo, takže to bych vyloučil.

Ale co tenhle problém: V propojovacím pravidle je napsána neexistující instance hradla. Je ty Syntax error nebo Binding rule broken? Podle zadání se Binding rule broken píše v situacích, kdy je popletená logoka propojování, takže spíš syntax error?

Jochanan: Já jsem se vrátil do předchozího stavu a funguje to. Ale dalo mi to zabrat :-)
Syntax error.

Syntax error.

PJ
Jochanan
Matfyz(ák|ačka) level II
Příspěvky: 85
Registrován: 12. 5. 2007 15:58
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Re: Hradla

Příspěvek od Jochanan »

dakob píše: ...
Jochanan: Já jsem se vrátil do předchozího stavu a funguje to. Ale dalo mi to zabrat :-)
To ja to vratil jednoduse, dve funkce v tride, kazda 4 radky; Ale problem byl, ze aby to davalo to, co na ukazkovym vystupu, tak se to muselo ukladat jen pri nezacykleni a nacitat pri zacykleni za predpokladu, ze je rozdilnej vstup u ulozeni a tedka pozadovanej... No, docela sranda než jsem vymakal správnou kombinaci...
Ale pokud je dobre i ten vstup, co tu je o kousek výš, tak to člověk nemusí vůbec dělat (a taky jsem tu hrůzu smazal :))
Odpovědět

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