A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre. A világ dolgait szeretjük különböző tulajdonságok szerint csoportosítani, és a tulajdonságok között összefüggéseket keresni. Írjunk programot, amely tulajdonságok között von le logikai következtetéseket. A program bemenetének, amit a billentyűzetről (a standard bemenetről) olvas, minden sora egy-egy állítást vagy kérdést tartalmaz; ezekre egy-egy sorban kell válaszolnia a képernyőre (a standard kimenetre). Az állítások és kérdések különböző tulajdonságokra vonatkoznak. Az elemi tulajdonságok egyetlen szóból állnak, pl. kicsi, piros. A NINCS, LÉTEZIK, ÉS, VAGY, NEM, HA, AKKOR szavak tiltottak, de minden más szót elemi tulajdonságnak tekintünk. Az elemi tulajdonságok tagadását úgy képezzük, hogy eléjük írjuk, hogy NEM. Például a piros tagadása az, hogy NEM piros. Az összetett tulajdonságokat úgy képezzük, hogy néhány elemi tulajdonságot vagy elemi tulajdonságok tagadásait összekapcsoljuk az ÉS vagy a VAGY szavakkal, pl. kicsi ÉS NEM piros. A kétféle összekapcsolás kombinálását (pl. nagy ÉS piros VAGY kék) nem engedjük meg. Háromféle állítást engedünk meg. Ezek szintaxisa:
Kérdést úgy képezünk, hogy egy állítás végére kérdőjelet írunk. Az állításokra a program a következőket válaszolhatja:
Hasonlóan a kérdésekre adható válaszok:
A program addig fusson, amíg a felhasználó le nem állítja. Feltételezhetjük, hogy az elemi tulajdonságok száma legfeljebb , és az input legfeljebb 10 000 sorból áll. A kis- és nagybetűket tekintsük azonosnak. Minden olyan karaktert, ami nem betű vagy kérdőjel, tekintsünk a szóközzel azonosnak.
Példa (dőlt betűvel szedtük a számítógép válaszait):
HA kutya VAGY macska VAGY ló AKKOR szőrös ÉS négylábú ÉRTEM HA tacskó VAGY foxi AKKOR kutya ÉRTEM HA foxi AKKOR négylábú TUDOM HA szúnyog AKKOR hatlábú ÉRTEM HA tacskó AKKOR szőrös? IGEN LÉTEZIK tacskó? NEM TUDOM LÉTEZIK tacskó ÉRTEM NINCS szőrös ÉS kutya? DE IGEN HA négylábú AKKOR NEM hatlábú ÉRTEM LÉTEZIK ló ÉS szúnyog? NEM NINCS hatlábú ÉS tacskó? NINCS LÉTEZIK négylábú VAGY hatlábú ÉS NEM szőrös? NEM ÉRTEM
Beküldendő a program forráskódja (s11.pas, s11.c, ) |