Zkouška 25. 5. 2014 (Dvořák, Hric)

Přednáška je věnována neprocedurálnímu programování. Většina semestru je věnována programování v jazyku Prolog, ve kterém studenti i ladí zápočtové programy. Informativně se studenti seznámí i s jazykem LISP a neprocedurálními částmi programovacích systémů.
Salmelu
Matfyz(ák|ačka) level I
Příspěvky: 3
Registrován: 3. 6. 2014 18:29
Typ studia: Informatika Bc.

Zkouška 25. 5. 2014 (Dvořák, Hric)

Příspěvek od Salmelu »

První část:
1.
- napište predikát rotace/2 na rotování seznamu. Nesmíte použít žádné pomocné predikáty. (V lineárním čase) (pouze 3 verze)
- v konstantním čase, jakou potřebujete strukturu? Ukažte na [1,2,3]
- napište rotace/2 (pouze 2 verze) v konstantním čase
2.
- máte ČUM ([a>-b, a>-c, ...]). Vypište všechny neporovnatelné dvojice (ve formě seznamu), tzn například [b-c, ...]
3.
- Máte XML strom

Kód: Vybrat vše

data Tree a = T a [Tree a]
- vypište ho
4.
- Máte Multiset, napsat instanci třídy Ord (m1 < m2 <==> existuje prvek v m2\m1, ktery je vetsi, nez vsechny prvky v m1\m2 - mnozinovy rozdil)

Druhá část:
Máte N truhel, N+1 klíčů, v každé truhle je právě jeden klíč, jeden máte na začátku.
Každý klíč má svou barvu a každá truhla má barvu, truhlu otevřete jen klíčem té samé barvy. Zároveň když použijete klíč, už ho nemůžete použít znovu (zůstane v zámku)?
Existuje posloupnost otvírání truhel tak, že otevřete všechny truhly? Pozn. máte to udělat polynomiálně
Uživatelský avatar
CiTrus
Matfyz(ák|ačka) level I
Příspěvky: 19
Registrován: 22. 6. 2014 14:05
Typ studia: Informatika Mgr.
Bydliště: Praha
Kontaktovat uživatele:

Re: Zkouška 25. 5. 2014 (Dvořák, Hric)

Příspěvek od CiTrus »

*25.5.2015
Odpovědět

Zpět na „PRG005 Neprocedurální programování“