Deklaratív programozás - Kedvcsináló

A VIK Wikiből
A lap korábbi változatát látod, amilyen (vitalap) 2012. október 21., 19:54-kor történt szerkesztése után volt. (Új oldal, tartalma: „{{GlobalTemplate|Infoalap|DeklaPoKedvCsinalo}} ==Attis== Hat ez egy erdekes targy. Ketten tartjak felvaltva: Hanak Peter es Szeredi Peter. Hanak SML-t, Szeredi Prolo…”)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)
Ugrás a navigációhoz Ugrás a kereséshez

Ez az oldal a korábbi SCH wiki-ről lett áthozva. Az eredeti változata itt érhető el.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor kérlek javíts rajta egy rövid szerkesztéssel.

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót


Attis

Hat ez egy erdekes targy. Ketten tartjak felvaltva: Hanak Peter es Szeredi Peter. Hanak SML-t, Szeredi Prologot oktat. Igencsak a Malora epit, a Prolog eleve a Programming in Logic, vagyis programozas logikaban roviditese. De az SML is hasonlo. Van egy elektronikus tanarseged nevezetu progi a neten (http://dp.iit.bme.hu/ets), ahova fel kell majd iratkoznotok, itt kell ZH-ra jelentkezni (igen a ZH-ra is jelentkezni kell), meg itt kaptok licencet targy honlapjan letoltheto progikhoz (http://dp.iit.bme.hu). Ja es lehet gyakorolni is a feladatokat is az ets-en, amit rogton ki is javit a program.

Van belole kiszhazi, meg nagyhazi, de egyik sem kotelezo, legalabbis ugy emlekszem. Ja meg lehet versenyezni is, akinek ennyi nem eleg, van egy letraverseny, ami arrol szol, hogy egy adott problemat ki milyen gyors programmal tud megoldani. Azt hiszem:) Konyvet csak toluk tudsz venni(30 eves tecnikaval nyomott es kotott sajat kiadasu konyvek, azt hiszem az SML-ben van irva, hogy az az egyetlen magyar jegyzet hozza), vagy az eloadasfolakat letolteni. A vizsga szobeli, miutan megirtad a beugrot.

-- Peti - 2006.01.15.

BSc infók

2009/2010 ősz: Prolog és Erlang nyelvet tanultunk. Először mindkét nyelvből az alapokat, majd a félév második felében a nehezebb, összetettem problémákat vettük. A gyakorlatok kötelezőek, habár 2 kihagyható.

Régi: A tárgy ebben a félévben indult ebben a formában utoljára. A követelményrendszervben nagy változásokra nem kell számítani, illetve a lemaradó ötéveseknek is automatikusan megfelel az új tárgy a réginek. A legnagyobb változás az lesz, hogy SML helyett az Erlang nyelvet kezdik el tanítani, mert azt szélesebb körben használják (ld. ejabberd, egy Erlang nyelven írt Jabber szerver).

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.

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.