Zápočty bude zapisovat pan Vais, až přijdete na zkoušku.
Ve studijních podkladech pro cvičení kódování byla chyba v řešení příkladu 4. Stáhněte si prosím upravený soubor cviceni kodovani reseni.pdf. Děkuji studentovi, který mě na chybu upozornil.
Studijní podklady pro středeční cvičení, náhrada za rektorský den. Prosím nesdílejte mimo ZČU.
V letošním roce jsme na cvičení vynechali minimalizaci automatu. Pokud byste se to rádi naučili, můžete si o tom přečíst zde.
Dokončení úlohy na převod regulárního výrazu na konečný automat – převod na deterministický automat.
Zápočtová písemka se kvůli distanční výuce odkládá na neurčito.
Zápočet z předmětu Teoretická informatika získáte za úspěšné napsání písemné práce a za zpracování semestrální práce v uspokojivé kvalitě. Pokud bude práce nedostatečná, dostanete ji zpět k doplnění. Téma se zadává na cvičení ve čtvrtém týdnu. To abyste už měli nějaké znalosti o konečných automatech a rozuměli zadání.
Práci odevzdejte nejlépe předposlední týden semestru, to jest kolem 9.12.2020, abyste poslední týden mohli dostat zápočet. Práci samozřejmě můžete odevzdat i kdykoliv dřív.
Nejzazší termín odevzdání se odvíjí od mezního termínu pro získání zápočtu a zkoušky, což je 31.8.2021. Počítejte s tím, že budu potřebovat čas, abych vaši práci zhodnotil. Vy pak možná budete potřebovat pár dnů (nocí), abyste práci doplnili podle mých připomínek. Dejte pozor, abyste po získání zápočtu ještě stihli nějaký zkouškový termín.
Seznam přidělených prací najdete zde.
Rozhodnete-li se později, že chcete na nějakém tématu pracovat ve dvojici, dávám tu možnost do konce října. Pokud už by měl každý z dvojice vybrané zadání, zvolíte si jedno.
Zadání úloh jsou volnější, proto na jednom tématu může pracovat více studentů. Maximální počet řešitelů záleží na povaze zadání. Detaily všech zadání si upřesníme ústně. Při tom uvítám vaši iniciativu. Nejlepší bude, když přijdete s vlastní představou, jak by to mělo fungovat. Já vám pak případně řeknu, co máte přidat nebo udělat jinak.
automat na kafe raději ne, je trapně jednoduchý
možný je třeba automat na jízdenky se zónami, automat na vlakové jízdenky
bude možné zvolit zónu, nebo nástupní a výstupní stanici, zlevněnou jízdenku, zpáteční jízdenku
automat může umět číst nějakou zákaznickou kartu
nákup bude možno stornovat (i po vhození několika mincí)
automat by měl sledovat zbývající zásoby zboží
pro zjednodušení může automat vracet jen v jednotlivých korunách
v modelu pravděpodobně využijete pomocné stavové proměnné (počítání vhozených mincí)
řízení složité silniční křižovatky (alespoň šest semaforů pro auta, semafory pro chodce)
činnost automatu musí jít nějak ovlivnit (tlačítky pro chodce, detekcí čekajících aut, ...)
můžete udělat model reálné křižovatky, případně vymyslet vlastní
jako vzor mohou sloužit např. křižovatky označené na mapě
příklad vymyšlené křižovatky
řízení provozu zdymadla, ovládání vrat, spouštění čerpadel, lodě mohou plout v obou směrech
zabezpečení budovy, čidla na dveřích, oknech, v místnostech, kód pro vypnutí systému
při otevření okna se ihned spustí poplach, při otevření dveří se bude chvíli čekat na zadání kódu, …
podrobný návrh funkce je popsán tady, ale klidně udělejte něco vlastního
řízení železniční dopravy na více kolejích, ovládání semaforů, výhybek, řešení vyhýbání vlaků
inspirovat se můžete hrou Train Traffic Control (jestli vyhrajete druhý level, dejte vědět)
podrobný návrh je popsán tady, ale klidně udělejte něco vlastního
vytvořte software, který provede kompozici dvou deterministických konečných automatů
vstupní i výstupní automaty budou uloženy v textovém souboru
vytvořte software, který převede nedeterministický konečný automat na deterministický
vstupní i výstupní automaty budou uloženy v textovém souboru
vytvořte software, který provede minimalizaci deterministického konečného automatu
vstupní i výstupní automaty budou uloženy v textovém souboru
úloha na kódování – nebudete dělat automat, ale jen program (software)
vstupem pro kódování bude 12místné číslo
kodér spočítá 13. kontrolní číslici
dekodér bude detekovat chyby
čárový kód je řetězec nul a jedniček; 0 značí bílou, 1 černou
šířka čáry je dána počtem opakování 0 nebo 1
zadání dle vlastního uvážení; nutno nechat si schválit od vedoucího cvičení
např. řízení složitějšího stroje nebo výrobního procesu, pomůcka pro hraní komplexní deskové hry, umělá inteligence pro počítačovou hru
problém by měl být nelineární, tedy ne že automat začne ve stavu 1, přejde do stavu 2, pak 3, 4 a nakonec se vrátí zase do 1