Zápočtový test 18. 1. 2010, 14:00

Předmět zaměřený na praktické programování v jazyku a prostředí Java
Oxyd
Matfyz(ák|ačka) level I
Příspěvky: 6
Registrován: 22. 1. 2009 17:33
Typ studia: Informatika Mgr.

Zápočtový test 18. 1. 2010, 14:00

Příspěvek od Oxyd »

Měli sme udělat textový preprocesor -- něco na způsob céčkového preprocesoru, akorát to umělo jenom #define. Vstup byl ze souboru (a jen z něj), výstup na stdout -- výstupem byl text vzniklý expanzí zadaných maker.

Mělo to zvládat definici jak bezparametrických maker, tak maker s patametry -- to jest, #define foo bar i #define makro(a, b) (a) + (b). Syntax obvyklá, akorát se pro zjednodušení předpokládalo, že příkaz #define začíná vždy na začátku řádky (takže žádné mezery před # ani žádné mezery mezi # a define) a taky, že vstup je korektní. Mělo to zvládat i makra co se odkazují na jiná makra, to jest

Kód: Vybrat vše

#define transpozice1(a, b) b a
#define transpozice2(a, b) transpozice1(b, a)
transpozice2(ahoj, svete)
vyprodukuje výstup, ve kterém je "ahoj svete".

Rekurze byla explicitně zakázaná, takže jakmile by makro chtělo volat samo sebe (ať už přímo či nepřímo), tak program měl skončit s chybou. Též to mělo zvládat víceřádková makra, kde pokračování řádky se dělalo standardně zpětným lomítkem na konci řádky.

Jaká přesně je úspěšnost, to netuším -- já odcházel jako druhý úspěšný -- ale docela by mě to zajímalo. x)
Uživatelský avatar
R.U.R.
Matfyz(ák|ačka) level III
Příspěvky: 140
Registrován: 25. 5. 2008 18:46
Typ studia: Informatika Ph.D.
Bydliště: Beroun
Kontaktovat uživatele:

Re: Zápočtový test 18. 1. 2010, 14:00

Příspěvek od R.U.R. »

Já šel asi půl hodiny před koncem jako cca pátý úspěšný, se mnou šel Honza jako cca první neúspěšný.
Uživatelský avatar
Navry
Matfyz(ák|ačka) level I
Příspěvky: 8
Registrován: 4. 10. 2007 19:40
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Re: Zápočtový test 18. 1. 2010, 14:00

Příspěvek od Navry »

Už půl hodiny přek koncem bylo jasné, že to nestihnu :)
poučení:
nečíst po znacích, ale bufferedReaderem řádky a matchovat.
k rekurzi: boolovský příznak použití u instance makra, jen napadnout :)
nepřišlo mi to těžký, ale jak se při programování na čas na nějaký pitomosti zaseknete...

doplní někdo zhruba úspěšnost?
QZuzka
Matfyz(ák|ačka) level III
Příspěvky: 209
Registrován: 2. 12. 2007 19:51
Typ studia: Informatika Mgr.
Bydliště: Praha 4

Re: Zápočtový test 18. 1. 2010, 14:00

Příspěvek od QZuzka »

platí i letos, že s sebou smíme mít cokoliv v papírové podobě (knížky), a dívat se do vzorových příkladů na webu přednášky?
Návštěvník

Re: Zápočtový test 18. 1. 2010, 14:00

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

QZuzka píše:platí i letos, že s sebou smíme mít cokoliv v papírové podobě (knížky), a dívat se do vzorových příkladů na webu přednášky?
zo stranok pana Hnetynku:

Informace k praktickým zápočtovým testům

* doba trvání 3 hodiny
* probíhají v unixové laboratoři
* s sebou lze mít a používat jakkékoliv tištěné materiály (knihy, poznámky,...)
* je zakázáno používat jakkékoliv sítové zdroje (s výjimkou API dokumentace (ale bez tutorialů) a informací na webu předmětu, tj. slidy a příklady) a komunikaci po síti (email, chat,...)

* určitě budou dva termíny v letním zkouškovém období a pravděpodobně i jeden nebo dva termíny během semestru (nelze zaručit, zaleží na výuce v laboratořích)
* každý má maximálně 5 pokusů na napsání zápočtového testu
Odpovědět

Zpět na „PGR013 Java“