Módszertani kézikönyv
Ennek a laboratóriumi ciklusnak a teljesítése lehetővé teszi számunkra, hogy elsajátítsuk a programozás kezdeti szakaszát a Prolog nyelvben, és lendületet fog adni a nyelv mélyebb öntanulásának.
A prológ nem a megoldások fejlesztésére koncentrál, hanem a probléma rendszeres és formalizált leírására, hogy a megoldás ebből a leírásból következzen. A Prolog nevet kapta a "LOGIC nyelv programozása" szóból. Valójában a Prolog nem tekinthető a logikus programozás tiszta nyelvének, de létrehozása fontos lépés ebben az irányban.
1. A prológ nyelvének programstruktúrája és szintaxisa
A Prolog program egy olyan axiómák és szabályok csoportja, amelyek meghatározzák az objektumok közötti kapcsolatokat. Egy ilyen logikai program kiszámítása a program következményeinek levezetése. A program egy sor következményt állít össze, amely a program értéke. A logikai programozás alapvető konstrukciói a kifejezések és kifejezések. Három fő állítás létezik: tények, szabályok és kérdések, és az egyetlen adatszerkezet logikus kifejezés.
Az a tény, hogy a legegyszerűbb állítás azt állítja, hogy bizonyos viszonyok vannak objektumok között.
Ez a tény azt állítja, hogy Vera Alex felesége. A tény vagy kapcsolat másik neve egy "predikátum". Az egyének neve a predikátumban "atomok".
A logikai program második megerősítési formája a kérdés. A kérdés az információ kivonatolásának egyik módja egy logikai programból. A kérdés segítségével világossá válik, hogy bizonyos tárgyak közötti kapcsolat teljesült-e. A szintaktikai kérdések és tények ugyanazt mutatják, de kontextusban megkülönböztethetők. A célrészben vagy a Dialog ablakban rögzített objektumot célnak nevezik. Egy egyszerű kérdés egy célból áll.
A Turboproductben a konstansok numerikus vagy szimbolikus formában lehetnek. A szám lehet egész vagy valós szám: 0; -1; 123,4; 0.23E-5. Az atomok olyan konstansok, amelyek két oldalán dupla idézőjelbe záródó karakterek sorozata. Nyomtatáskor ezeket a kettős idézeteket általában nem nyomtatják ki. Vannak olyan esetek, amikor az atomokat nem kell idézőjelbe zárni:
egy atom, amely csak számokból, betűkből és aláhúzásokból áll, és kisbetűvel kezdődik;
egy olyan atom, amely teljesen speciális szimbólumokból áll. Különleges szimbólumok a következők:
A Prolog programokban általában az idézőjel nélküli atomokat használják.
Az idézőjelben idézhető egy atom, amelyet nem kell idézőjelbe zárni. A külső idézőjelekkel történő rögzítés és nélkülük ugyanazt az atomot határozza meg.
A prolog változójának koncepciója eltér attól, amit számos programnyelvben elfogadtak. A változó nem tekinthető dedikált memóriahelynek. Olyan objektum jelzésére szolgál, amelyet név nélkül nem lehet hivatkozni. A változó helyi objektumnak tekinthető.
A változó szintaxisa meglehetősen egyszerű. Nagybetűvel vagy aláhúzással kell kezdődnie, és csak betűket, számokat és aláhúzásokat tartalmaz.
Egy csak aláhúzásból álló változót névtelennek neveznek, és akkor használják, ha a változó neve nem jelentős.
A változók köre
A változó köre a nyilatkozat. A kijelentésen belül ugyanaz a név azonos változóhoz tartozik. Két állítás egy változónevet használhat teljesen eltérő módon. A változó hatókörének meghatározására vonatkozó szabály szintén érvényes a rekurzió esetében, és abban az esetben, ha több kijelentésnek ugyanaz a célja. Ezt a kérdést egy későbbi fejezetben fogják megvizsgálni.
A változók hatókörének meghatározására vonatkozó egyetlen kivétel egy névtelen változó, például "love" (X, _), "_". Minden névtelen változó külön entitás. Ezt akkor használják, ha egy adott változó adott értéke nem releváns egy adott utasításhoz. Így minden névtelen változó egyértelműen különbözik az összes többi névtelen változótól és kijelentéstől.
Az anonim változókon kívüli változókat nevezett változóknak nevezik. és a nem specifikus (olyan változókat, amelyekhez nincs hozzárendelve érték) szabadon szólnak.
A Prolog állandói és változói a kifejezések.
Ezen túlmenően a kifejezések összetett kifejezések vagy struktúrák. Egy összetett kifejezés tartalmaz egy funktort (az elsődleges funktort) és egy vagy több argumentum szekvenciáját, amelyek kifejezések. A funktort a neve adja, ami atom, és az érvek jellege vagy száma. A szintaktikailag összetett kifejezéseknek f formája (t1, t2, ..., tn), ahol f az n-ary függvény neve, és ti argumentumok. Példák az összetett kifejezésekre: s (0), szülők (X, mary), list (a, list (b, nil)).
A cél predikátumot a program predikátumaihoz kell leképezni, így a célnak mindig van a célja. A célok olyanok, mint a tények és a szabályok, predikátumokból épülnek fel, és ennek megfelelően kötegek is lehetnek. A szalagokkal rendelkező célokat másodlagos célokkal nevezik. A célengedélyezés al céljait vesszővel elválasztják, ugyanúgy, ahogy a szabályok feltételei. Amikor a cél a Turbo Prolog programba kerül, az egész cél sikeres.