„Deklaratív programozás - Kedvcsináló” változatai közötti eltérés

A VIK Wikiből
U944eq (vitalap | szerkesztései)
Nincs szerkesztési összefoglaló
Harapeti (vitalap | szerkesztései)
vissza-link beillesztése
1. sor: 1. sor:
{{Vissza|Deklaratív_programozás}}
==Mikor válasszam ezt?==
==Mikor válasszam ezt?==



A lap 2014. január 22., 14:47-kori változata


Mikor válasszam ezt?

NE akkor, ha nulla munkával akarsz kreditet szerezni :) A tárgyban két nehézség van: az egyik az imperatív gondolkodásmódról átállni a deklaratívra, a másik pedig a félévközi feladatok. Tehát aki azt hiszi, hogy nulla munkával jár a 6 kisházi, nagyházi, ZH, és vizsga megírása, az nagyon téved. Alapvetően, ha nem vagy jártas a deklaratív gondolkodásban, akkor elég sok időt rá kell szánni, hogy begyakorold. A kisházik erre nagyon alkalmasak, de így házinként 3-4-5 órát is el lehet pepecselni, és ha nem valamilyen exponenciális lépsészámú algoritmust akarsz megírni, akkor még többet is. Aki emlékszik az MI-re és a PDDL-re, az előnnyel indul, de az ottani házi az kb. az első kisházi felének a megoldásával azonos komplexitású. Ezzel nem azt akarom mondani, hogy nehéz a tárgy, mert alapvetően nem az, de IDŐIGÉNYES, sokat kell fölötte ülni! -- afro - 2009.11.03.

BSc infók

A szorgalmi időszakban 3-3 kisháziból legalább a felét meg kell csinálni (plusszpontokért érdemes a többit is), és a végéig egy nagyházit össze kell dobni. Ezekhez segítséget nyújtanak a heti gyakorlatok, illetve az előadók is bármikor fogadnak hallgatókat konzultálni.

A deklaratív gondolkodást a két nyelv két oldalról közelíti meg. A Prolog (PL) arról szól, amiről az MI. Klózokat fogalmazunk meg, majd megadunk egy célt, a program meg automatikusan kitalálja, hogy a klózok használata során hogyan jut el a célig. Ilyen rendszerben pl. egy sudoku megoldó program megírása csak pár sor, mert klózokkal megmondod, hogy minden sorban, oszlopban és cellában csak 1..9-ig lehetnek számok, a többit pedig a compiler megoldja (ez volt az idei nagyházi). Az Erlang ezzel szemben arról szól, hogy nagyrészt csak függvényekkel, és függvény argumentumokkal operálunk, változókkal kevésbé, így a legtöbb algoritmusban a rekurzió az úr :)

Ez majdnem teljesen igaz is, kivéve azt, hogy egy átlagos kisházi 60-100 sor között mozog (nyelvenként, kommentezve), a nagyházi pedig ennek többszöröse. Aki azt írta, hogy "pár sor", az adhatna "pár forintot". :) -- afro - 2009.11.03.

A Deklaratív programozás a Beszédinformációs rendszerek és Rendszermodellezés mellett a három elágazó tárgy egyike. A tárgy a Cékla nevű nyelvvel kezdődik (a CÉ++ nyelv deKLAratív része), ebből 1 kis házi van, majd Prologgal és Erlanggal folytatódik (3-3 kisházi, ugyanazokat a feladatokat kell implementálni mindkét nyelven). A Prologot Szeredi Péter (CS), az Erlangot Kápolnai Richárd (IIT) oktatja. Az aláíráshoz minimum 3 kis házi feladat (legalább 1 Prolog és 1 Erlang) teljesítése és a zh megírása szükséges. A zh könnyű, de beszámít a vizsgába, úgyhogy érdemes jól megírni. Vizsgajegyet nagy házi feladat készítésével és szóbeli vizsgával lehet szerezni. A szóbeli vizsga 6 részes: mindkét nyelvből van elméleti, gyakorlati és "mit ír ki" jellegű feladat. A vizsga így elég hosszú (nem ritka 3-4 órás vagy hosszabb), de jó hangulatban zajlik, a vizsgáztatók kifejezetten segítőkészek és jóindulatúak. Utóbbi egyébként az egész tárgy során érzékelhető: maximálisan korrekten és megértően álltak a hallgatókhoz minden kérdésben.

Ahogy többen írták, a tárgy kifejezetten munkás, bár nagyon emberfüggő, hogy kinek mennyire áll rá a gondolkodásmódja. A tárgy kifejezetten hasznos tudást ad: egy új programozási paradigmát tanít, elvégzése után bármilyen programnyelven jóval könnyebb lesz rekurzív függvények írása.

-- SzárnyasGábor - 2012.06.20.