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

Deklaratív programozás

1. Prolog kis házi feladat

2004. február 16.

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

A feladat

Palindromnak nevezünk egy jelsorozatot, ha oda-vissza olvasva ugyanaz. Palindrom például az 101 vagy az 201102 jelsorozat.

Írjon egy olyan int palindrom(int a){...} C függvényt, amelynek eredménye a legkisebb olyan természetes szám, amely alapú számrendszerben felírva a palindrom:

/* int palindrom(int a) = b, ha b (b>=2) a legkisebb olyan természetes szám,
   hogy b alapú számrendszerben felírva a-t egy palindromot kapunk */

Példák

| * palindrom(19);
18

| * palindrom(5);
2

| * palindrom(142);
3

A programot CÉKLA nyelven kell elkészíteni, amely a C deklaratív résznyelve. Ügyeljünk arra, hogy a CÉKLA nem támogatja a C++-ban megszokott // jelölést a megjegyzések esetén. A feladat megoldása során nem kell jobbrekurziót használnia.

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 az első Prolog kis házi feladat, ezért khf-pl1.c 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ő március 1., 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).