Zk. 14.9.

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ů.
IvanHoe
Matfyz(ák|ačka) level I
Příspěvky: 8
Registrován: 21. 5. 2010 18:04
Typ studia: Informatika Bc.

Zk. 14.9.

Příspěvek od IvanHoe »

Úlohy Haskell
1) Na vstupu máte permutaci délky N, spočtěte její lexikografické pořadí.
2) Na vstupu máte seznam dvojic, který reprezentuje nějakou binární relaci. K tomu seznamu přidejte další dvojice tak, aby seznam byl uzavřen na ekvivalenci (tj. na reflexivitu, symetrii a tranzitivitu).

Úlohy Prolog
3) Na vstupu máte číslo N, vygenerujte všechna správná uzávorkování s N levými závorkami.
4) Máme obecné stromy (s libovolně mnoha potomky v uzlech) a binární stromy. Udělejte kanonickou reprezentaci obecného stromu (tj. převést obecný na binární tímto způsobem http://ksvi.mff.cuni.cz/~topfer/ppt/Progr-7.pdf, strana 27) a opačný převod, z binárního na obecný.

Hlavní úloha:
Máme čtverečky, v každém je kousek trubky. Tento kousek spojuje dvě strany čtverce (levou-pravou, horní-dolní, levou-horní, ...), tj. 6 různých druhů čtverců.
Čtverce lze skládat do potrubí. Vstup nechť je třeba zleva. Další kousek potrubí tedy musí mít napojení zleva. Když odbočí nahoru, třetí kousek potrubí musí mít napojení zezdola, atd...
Na vstupu máme seznam takovýchto čtverců. Vyberte z něho podposloupnost takovou, že bude tvořit validní potrubí a toto potrubí bude nejdelší možné.
Odpovědět

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