Václav Končický

Neprocedurální programování

Cvičení probíhá každou středu od 10:40 do 12:20 v učebně SU1. Navíc lze kdykoliv po domluvě přijít (nebo se připojit) na konzultaci.

Pokud máte jakýkoliv dotaz týkající se tohoto cvičení, pište prosím na e-mail koncicky+nprg@kam.mff.cuni.cz.

Požadavky na zápočet

Abyste předmět splnili, musíte mít kromě zkoušky také hotový zápočet. Ten se skládá ze dvou částí.

Domácí úkoly

Během semestru dostanete několik domácích úkolů na témata, která budeme probírat na cvičení. Jejich cílem je hlavně to, abyste si zkusili v jazycích Prolog a Haskell něco naprogramovat už během semestru a ne až před zkouškou.

Celkem půjde získat alespoň 100 bodů -- 50 bodů za Prolog a 50 bodů za Haskell. Pro získání zápočtu je potřeba mít alespoň 60 možných bodů ze všech úkolů. Navíc je potřeba mít aspoň 25 bodů z úkolů na každý jazyk zvlášť. Je možné, že přibudou bonusové úkoly, které se nepočítají do maxima.

Z každého programovacího jazyka budou dohromady čtyři domácí úkoly (celkem tedy osm), a to tři malé za 10 bodů a jeden velký za 20 bodů.

Domácí úkoly se budou odevzdávat přes poštovní sovu. Pokud neznáte token pro přístup, ozvěte se.

Zápočtový program

Dále pak budete psát zápočtový program v Prologu nebo Haskellu. Součástí zápočtového programu je i dokumentace a testovací data.

Do konce dubna si vyberte téma a pak se se mnou domluvte, zda je rozumně rozsáhlé. Programy by neměly být triviální, ani byste to s rozsáhlostí neměli přehnat.

Obecně zápočtové programy z Prologu jsou dobré na řešení logických úloh. Haskell je všeobecnější, ale velmi dobře se v něm píšou třeba parsery nebo interprety.

Předvádění zápočtu bude probíhat po domluvě na Malé Straně nebo, pokud k tomu máte nějaký důvod, po Zoomu. Pokud budete chtít předvádět, dostatečně předem se ozvěte.

Proběhlá cvičení

Zdroje

Odkazy k předmětu na Matfyzu:

Prolog:

Haskell: