BME Villamosmérnöki és Informatikai Kar
Műszaki informatika szak |
Nappali tagozat
2003/2004. tanév, őszi félév
|
A kis házi feladat beadása nem kötelező.
A lista n. elemét szimmetrikus elemnek nevezzük, ha megegyezik a
hátulról vett n. elemmel (azaz a (len+1-n). elemmel,
ahol len a lista hossza). Pl. az [1,2,3,2,4]
lista
szimmetrikus elemei: 2 (2. és 4. elem), 3 (3. és 3. elem), 2 (4, és
2. elem).
szimmeleme/2
Prolog
eljárást, amely balról jobbra felsorolja egy adott lista szimmetrikus
elemeit. Feltételezheti, hogy az eljárás első argumentumként egy változót,
második argumentumként pedig egy egészekből álló listát kap. Ha definiál
segédeljárásokat, akkor azokat feltétlenül lássa el fejkommenttel!
% szimmeleme(X, L): X az L számlistának szimmetrikus eleme. % :- pred szimmeleme(int::out, list(int)::in).
| ?- szimmeleme(X, [1,2,3,1]). X = 1 ? ; X = 1 ? ; no | ?- szimmeleme(X, [1,2,5,3,1]). X = 1 ? ; X = 5 ? ; X = 1 ? ; no | ?- szimmeleme(X, [1,2,5]). X = 2 ? ; no | ?- szimmeleme(X, [1,2,5,6]). no | ?- szimmeleme(X, [1,2,3,3,2,1]). X = 1 ? ; X = 2 ? ; X = 3 ? ; X = 3 ? ; X = 2 ? ; X = 1 ? ; no
khf-pl1.pl
néven kell beküldeni a
megoldást. A névben meg kell különböztetni a kis- és nagybetűket.
A programok készülhetnek MS DOS vagy MS Windows alatt is, de Linux operációs rendszer alatt is működniük kell. A beadási határidő október 28., kedd 24:00.
A vizsgaosztályzat megállapításakor a határidőre beadott, helyesen megoldott kis házi feladatért plusz 1 pont jár (a 100 pontból).