Deklaratív programozás pótzárthelyi, 2003. december 11. ======================================================= SML javítási kulcsok, 1.1. változat, dp03a-zh2-mlkulcs-v1-1.txt =============================================================== Általános elvek: - Lényegtelen formai eltérésekért nem vonunk le pontot; - az 1-nél nagyobb pontértékű (rész)feladatokra részpontszám is adható; - ellenkező előírás hiányában minden, a válasz helyessé tételéhez szükséges javításért egy (1) pont levonás jár; - egy hibás válasz következményeiért nem kell újabb pontot levonni, ha pl. w = #"v", w : char a helyes, de helyette w = "v", w : string a válasz, ezért csak egyszer kell 1 pontot levonni; - kisebb és nem félreérthető szintaktikai elírásért (pl. (x::xs) helyett x:xs-t írnak) nem vonunk le pontot (de jelöljük!); - a programban a felesleges, de a kiértékelést nem elrontó részért nem kell pontot levonni; - ellenkező előírás hiányában a program nem elég hatékony volta miatt sem kell pontot levonni, - törtpontszám (pl. 0,5 vagy pl. 1,25 nem adható). 5. feladat ---------- Pontozás (összesen max. 7 pont): 5.a Helyes válasz 3 pont. 5.b - 5.c Helyes válasz 2 pont. Lehet részpontszámot adni, a szükséges javítások mértékétől függően. Pontszám mindenképpen jár, ha az egyes részkifejezések típusa helyes, csak az összerakás nem stimmel. - ha elfelejti elhagyni az argumentum (aktuális paraméter!) típusát egy függvényalkalmazásnál: -1 pont - ha a curried és az uncurried argumentumátadást összetéveszti (* helyett -> vagy fordítva): -1 pont (csak egyszer!) 6. feladat ---------- Pontozás (összesen max. 7 pont): 6.a - 6.b Helyes válasz 2 pont (helyes típusért 1, értékért 1). 6.c Helyes válasz 3 pont (helyes típusért 1, értékért 2). Ha egy karakterjelölésből lehagyja a # jelet (de a típusát jól írja fel), nem vonunk le pontot, de jelöljük. 7. feladat ---------- Pontozás (összesen max. 7 pont): 7.a1-a3 Minden helyes válaszért 1 pont, részpontszám nincs. 7.b1-b4 Minden helyes válaszért 1 pont, részpontszám nincs. 8. feladat ---------- Pontozás (összesen max. 9 pont): Működőképes megoldásra jár a 9 pont. Nem követelmény a hatékony program. Megjegyzések: - kihagyja a rekurzív visszahívást ==> 3 pont levonás - if ... then ... else-ben lehagyja az else ágat ==> 3 pont levonás - hiányzik a termináló ág ==> 2 pont levonás - fordított sorrendű az eredménylista ==> 2 pont levonás - :: használata @ helyett vagy fordítva ==> 2 pont levonás - [Fej|Farok] jelölés használata Fej::Farok helyett ==> 1 pont levonás - if then true else false és a "többiek" ==> 1 pont levonás - a működőképessé tételhez kellő egyéb javításokért ==> 1 pont levonás - a segédeljáráshoz nem ír fejkommentet ==> 1 pont levonás A hibák és pontok jelölése ========================== A hibákat hullámvonallal vagy hiányjellel jelöljétek. Ahol ez könnyen lehetséges, a javításokkal tegyétek helyessé a választ (különösen a programkódban fontos ez). Az 5. és a 6. feladat alfeladataihoz írjátok oda az adott (rész- vagy teljes) pontszámot, a feladat végére pedig az adott feladatra adott összpontszámot! A 7. és a 8. feladat esetén a levonásokat negatív pontszámmal adjátok meg, majd írjátok oda a teljes feladatra adott összpontszámot is! A pontszámok után mindig írjatok egy "p" betűt (kivéve az összesítést), hogy az egyéb javításoktól megkülönböztethetők legyenek. A feladatra adott teljes pontszámot karikázzátok be (hogy könnyen elváljon a részpontszámoktól), esetleg jelöljétek azt is, hogy melyik feladatról van szó, pl. a 8. feladatra adott 7 összpontot így: ----- 8 => | 7p | (a "7p" körül a vonalak a karikázást szimulálják) _____ Az első lap jobb oldalára írjatok egy összesítést a következő példa által mutatott formában: 5 | 4 ------- 6 | 6 ------- 7 | 1 -------- 8 | - -------- (szumma jel) | 11 (szignó) Itt a - hiányzó megoldást, a 0 olyan megoldást jelöl, amelyre nem jár pont. Kérem, hogy a dolgozatokat rakjátok ABC-rendbe. A kijavított dolgozatokról küldjetek egy összesítést email-ben a dpd-l listára, a következő alakú sorok sorozata formájában: Javito:C:NEPTUN:P5:P6:P7:P8: % Nev ahol Javito a javító monogramja (pl. hp), Ny-C a nyelv és csoport kódja: ML-A, ML-B, PL-A vagy PL-B NEPTUN a hallgató NEPTUN kódja, Pi az i-edik feladatra adott pontszám vagy a - jel, Nev a hallgató neve. Ez redundáns, de azért adjátok meg, ellenőrzés céljából. Fontos: a NEPTUN kódot ellenőrizzétek a mellékelt névlista alapján!!!! Köszönöm a segítséget! Hanák Péter