Zápočet 18.1.2018

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: Zápočet 18.1.2018

Zápočet 18.1.2018

od Speedding » 19. 1. 2018 00:52

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ů.

Nahoru