BME Villamosmérnöki és Informatikai Kar
Műszaki informatika szak
Nappali tagozat
2004/2005. tanév, őszi félév

Deklaratív programozás

2. Prolog kis házi feladat

2004. október 6.

A kis házi feladat beadása nem kötelező.

A feladat

Nevezzünk n meredekségű lejtőnek egy balról jobbra haladva n-esével növekvő, legalább kételemű (számtani) sorozatot.

Írjon Prolog eljárást lejto néven, amelynek

  1. első argumentuma egy egészekből álló l lista
  2. második argumentuma egy n meredekség
  3. harmadik argumentuma az l listában található azon egészek listája, amelyek egy n meredekségű lejtőhöz tartoznak
A feladat megoldása során segédeljárást definiálhat, ha ad hozzá fejkommentet!

A lejto eljárás fejkommentje:

% lejto(+L0,+N,-L): Az L lista az L0 listának pontosan azon elemeit tartalmazza, amelyek
% egy  N meredekségű lejtőhöz tartoznak.

Példák

| ?- lejto([2,3,4,7], 2, L).
L = [] ? ;
no
| ?- lejto([3,3,5,7], 2, L).
L = [3,5,7] ? ;
no
| ?- lejto([1,4,7,7,3,6], 4, L).
L = [] ? ;
no
| ?- lejto([1,4,7,7,3,6], 3, L).
L = [1,4,7,3,6] ? ;
no
| ?- lejto([6,5,8,11,2,5,8,7], 3, L).
L = [5,8,11,2,5,8] ? ;
no

Beadás, tudnivalók

A programot az Elektronikus Tanársegéd segítségével Weben keresztül lehet beadni, a HF beadás menüpont alatt. Ez a második Prolog kis házi feladat, ezért khf-pl2.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 25 hétfő 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).