skuska 30. 1. 2008

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ů.
Uživatelský avatar
rb
Matfyz(ák|ačka) level I
Příspěvky: 3
Registrován: 8. 11. 2006 20:20
Typ studia: Informatika Bc.
Kontaktovat uživatele:

skuska 30. 1. 2008

Příspěvek od rb »

Takze dnes sme dostali taketo priklady:
1.) Prolog: Pridajte ku kazdemu vrcholu v n-arnom strome 2 prirodzene cisla. Prve bude cislo poradia vrcholu pri priechode preorder, druhe pri priechode postorder (zlava).
2.) Prolog: Hladovym algoritmom zostrojte v danom grafe nezavislu mnozinu vrcholov, ktora sa neda zvacsit pridanim vrcholu.
3.) Haskell: V binarnom strome niektore prvky porusuju podmienku usporiadania na binarny vyhladavaci strom. Vydajte zoznam vrcholov, ktore usporiadanie voci svojim predchodcom porusuju a pre kazdy taky vrchol i pocet predchodcov, voci ktorym ho porusuju.
4.) Pre typ:

Kód: Vybrat vše

data HTML a = ELM String [HTML a] | Txt a
napiste:
a) typy konstruktorov typu HTML
b) funkciu

Kód: Vybrat vše

mapHTML::(a->b)->HTML a->HTML b
, ktora prejde strukturu a zmeni hodnoty u Txt pomocou danej funkcie
5.) Popiste unifikacny algoritmus.

Velky priklad:
Prioritni ekvivalence
Je dan seznam pozadavku na dvojici prvku z nejake mnoziny. Kazdy pozadavek je bud rovnost nebo nerovnost a ma danou prioritu. Prvky, pro ktere je pozadovana rovnost, maji patrit do ruznych trid. Najdete tridy ekvivalence prvku tak, aby bylo od nejvyssi priority splneno co nejvic pozadavku, t.j. splneni pozadavku nizsi priority nesmi porusit pozadavky vyssi priority. V pripade konfliktu mezi rovnosti a nerovnosti (prvku z) trid se stejnou prioritou ma prednost rovnost. Vydejte vysledne tridy, pozadavky, ktere se podarilo splnit a nejvyssi prioritu, pri ktere nastal konflikt. Splnujte i pozadavky s nizsi prioritou, nez nastal konflikt, pokud je splnit lze.
The secret to creativity is knowing how to hide your sources. (A. Einstein)
Odpovědět

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