Az összetett kifejezések használata

A Prolog-ban egy funkcionális kifejezés vagy predikátum adatszerkezetnek tekinthető, hasonlóan a Pascal nyelvének rekordához. A kifejezések gyűjteményét jelző kifejezés összetett kifejezésnek vagy struktúrának nevezzük. A Prolog összetett adatstruktúrákat a tartományok szakaszban deklarálják. Ha a struktúra kifejezés ugyanazon típusú domainre utal, akkor ezt az objektumot egydomaines adatszerkezetnek nevezik. Ha a struktúra kifejezés különböző domaintípusokra utal, akkor egy ilyen adatszerkezetet többdomaines adatszerkezetnek nevezünk. A domain struktúra használata egyszerűsíti a predikátum struktúráját.







Az összetett adatszó argumentumai lehetnek egyszerű adattípusok, összetett kifejezések vagy listák.

A szintaktikailag összetett kifejezés ugyanúgy néz ki, mint egy predikátum: a kifejezésnek van egy funktora és egy zárójelbe záródó argumentumlistája.

Egy összetett kifejezés egyesíthető egy egyszerű változóval vagy egy összetett objektummal (a változók a kifejezés belső szerkezetének részeként használhatók). Ez azt jelenti, hogy egy összetett objektum használható egy egész értékcsoport egyetlen objektumként való átvitelére, majd az egyesítés alkalmazására szétválasztani.

gyűjtő, cím, szerző, kiadó = szimbólum

personal_library = könyv (cím, szerző, kiadó, év)







gyűjtemény (kollektor, személyes_könyvtár)

dq1 (gyűjtő, cím, év)

max_year (cím, szerző, év)

% Q1 (Y): - gyűjtemény (C, könyv (T, _, _, Y), levelet (C, '', T, '', Y), NL, sikertelen.

Q1 (Y): - nem (dq1 (_, _, Y)), gyűjtemény (C, könyv (T, _, _, Y), érvényesíteni (dq1 (C, TY)), write (X, '', T, '', Y), nl, nem.

q2: - gyűjtemény (_, könyv (T, A, _, Y), max_year (T1, A1, Y1), Y> Y1, visszahúzódik (max_year (T1, A1, Y1)), azt állítják, (max_year (T, A , Y)), sikertelen.

Ebben az esetben az Y változót használjuk az összetett kifejezés egy részének egységesítésére Ha a cél az alábbi formában való megadása:

Az adatok bemutatása gyakran sok szerkezetet igényel. A Prolog-ban ezeket a struktúrákat le kell írni. Az adatstruktúrák kompaktabb leírása érdekében a Prolog alternatív doménleírások használatát kínálja.

25. példa: Olyan adatbázist kell létrehoznia, amely könyveket és hangfelvételeket tartalmaz a személyes könyvtárából.

személy, cím, szerző, előadó, album, típus = szimbólum

thing = könyv (cím, szerző); rekord (előadó, album, típus)

tulajdonosa (személy, dolog)

tulajdonosa (irina, könyv ("Turbo Prolog használata", "Yin with Solomon").

tulajdonosa (petr, könyv ("Prolog művészet", "Sterling with Shapiro")).

tulajdonosa (anna, könyv ("Prolog: a kapcsolódási nyelv és alkalmazásai", "John Malpas")).

tulajdonosa (irina, record ("Elton John", "Ice Fair", "népszerű")).

tulajdonosa (petr, record ("Benny Goodman", "The Swing King", "jazz")).

tulajdonosa (anna rekord ("Madonna", "Madonna", "népszerű")).

tulajdonosa (X, rekord (_, _, "jazz"))

A Visual Prolog lehetővé teszi többszintű összetett kifejezések tervezését. Például, a kifejezés rekord ( «Elton John», «Ice Fair», «népszerű») helyett az előadó nevét, akkor egy új struktúra, amely részletesebben írják le a művész:

a kifejezés így fog kinézni: rekord (művészet ("Elton", "John"), "Ice Fair", "népszerű").




Kapcsolódó cikkek