Deklaratív programozás
A VIK Wikiből
Követelmények
Félévközi feladatok
- Sikeres nagyZH (azaz mindkét nyelvből legalább 40%-os teljesítmény)
- Legalább 3 kisházi sikeres beadása (de mindkét nyelvből legalább 1)
Megajánlott jegy
- Azok a hallgatók, akiknek a nagy házi feladata mindkét nyelven bejut a létraversenybe, megajánlott jegyet kaphatnak.
- Jó megajánlott jegyet kap az, aki sikeresen megvédi mindkét, a létraversenybe bejutott nagy házi feladatát.
- Jeles megajánlott jegyet kap az, akinek programja ezen felül a létraverseny teszteseteinek legalább 40%-át időkorláton belül teljesíti.
A tárgyról
- Kedvcsináló
- Mottó: Ami igaz, nem biztos, hogy gyors is.
- Ajánlott rövidítés: dp/deklapo
Kapcsolódó tárgyak
Miből érdemes tanulni?
- Fóliák. A diasor nagyon jó, mindent meg lehet belőle tanulni.
- A 2016-os előadás diák
- Prolog:
- jegyzet: Szeredi Péter, Benkő Tamás: Deklaratív programozás. Bevezetés a logikai programozásba. Oktatási segédlet, 2004. Eredeti, VIKWiki mirror – kereshető változat.
- Erlang
- magyar könyv nincs, a diasorból érdemes tanulni
- ajánlott könyv: Joe Armstrong: Programming Erlang: Software for a Concurrent World
- ELTE anyagok: http://nyelvek.inf.elte.hu/leirasok/Erlang/
- ingyenes tutorial: http://learnyousomeerlang.com/
Gyakorlatok
A tárgyból általában, de nem rendszeresen kéthetente hetente gyakorlatok vannak, az előadáson szereplő programozási nyelvnek megfelelően.
Kis házi feladatok
- Kötelező beadni a 7 kisháziből 3-at, de mindét nagy nyelvből legalább 1-1 kell hogy legyen.
- 3-3 feladat Prologból és Erlang-ból, és egy Céklából.
- Beadás ETS-en keresztül, automatikusan tesztelésre kerül.
- Minden feladat jó megoldásáért 1-1 pluszpont.
- Össz. max. +7 pont.
Nagy házi feladat
- Nem kötelező beadni.
- 1 feladat, amit Prologban és Erlangban is meg lehet oldani.
- 10 teszteset, 0,5 pont/helyes lefutás/nyelv.
- 5 pont a doksi.
- Össz. 15 pont.
Létraverseny
- Azok a nagy házi feladatok vesznek részt a létraversenyen, amelyek az adott nyelven az éles teszteseteknek legalább 80%-át (azaz legalább 8 tesztesetet) időlimiten belül megoldanak.
- 10 teszteset van, az időlimit általában 120-180 másodperc/teszteset.
- Pontszám = ∑ min(futási idő, időlimit).
- Ha valamelyik nyelven n. helyezést érsz el, max(8-n/2, 0) pluszpontot kapsz vizsgán.
Zárthelyi
- Kötelező azoknak, akiknek nem fogadták el, vagy nem adtak be nagyházit.
- Semmilyen jegyzet, segédlet nem használható.
- A megtanulandó könyvtári függvények és eljárások listája előre meg van adva, a zh anyaga az előző hét végéig leadott anyag.
- A sikeres zh feltétele a maximális részpontszám 40%-ának megszerzése mindkét nyelven.
- Össz. 15 pont.
Hasznos fordítók és futtató környezetek a házikhoz
Emacs howto Windows alá
Írtam egy rövid összegzést arról, hogy az emacsot mi módon lehet Windows alatt összekapcsolni az SML és Prolog fordítókkal: Emacs telepítési lépések.
Online Prolog IDE-k
- SWISH
- Bal oldalt kell megadni a kódot, jobb alul a futtatandó parancsot és jobb felül jelenik meg az eredmény.
- Jobb alul a Solutions -> Debug (trace)-re kattintva lehet debug-olni.
- tutorialspoint - Coding Ground