Zápočet 18.1.2018

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í.
Speedding
Matfyz(ák|ačka) level I
Příspěvky: 35
Registrován: 10. 1. 2017 19:32
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Zápočet 18.1.2018

Příspěvek od Speedding »

Měli jsme napsat velmi zjednodušený interpret programovacího jazyka Logo.

Plátno má velikost 500x500, přetečení se řeší tak, že se nastaví min/max hodnota. Kurzor začíná v bodě 0,0 ve směru doprava, tzn. že směr doprava = úhel 0°.

Mělo to umět následující příkazy.

penup - po zadání tohoto příkazu se nebude kreslit nic
pendown - po zadání tohoto příkazu se bude kreslit vše
right <int degrees> - otočí kurzor doprava o daný počet stupňů
forward <int distance> - posune kurzor o danou vzdálenost v nastaveném směru, vzdálenost může být i záporná, pokud je nastavený mód pendown tak nakresli čáru
repeat <int repetitions> { - něco jako for, blok příkazu se zopakuje repetitions-krát, přičemž to má podporovat i vnořené příkazy (lze jednoduše vyřešit zásobníkem)
<command 1>
...
<command n>
}

A to je vlastně všechno, výpis se řešil v svg formátu do html souboru. Limit 3 hodiny, dalo se to stihnout za 1,5 - 2 hodiny. Když vyřešíte, jak vhodně naparsovat vstup, tak pak už je to triviální.

Dostali jsme 3 testovací vstupy a odpovídající výstupy, "zkoušející" pak chtěl demonstrovat funkčnost programu na dalších 2 trochu komplexnějších vstupech, které nám při kontrolování dal přes flashku. Nevím, jak u ostatních, ale u mě trochu i zkoumal kód a na něco se ptal, takže rozhodně není dobrý nápad psát zápočtové testy bez jakýchkoliv objektů.
Odpovědět

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