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

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

Příspěvekod Salmelu » 25. 5. 2015 15:57

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ě
Salmelu
Matfyz(ák|ačka) level I
 
Příspěvky: 3
Registrován: 3. 6. 2014 17:29
Typ studia: Informatika Bc.

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

Příspěvekod CiTrus » 26. 5. 2015 23:36

*25.5.2015
Uživatelský avatar
CiTrus
Matfyz(ák|ačka) level I
 
Příspěvky: 19
Registrován: 22. 6. 2014 13:05
Bydliště: Praha
Typ studia: Informatika Mgr.
Login do SIS: manekp


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

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník