1-amaliy ish. Prolog tilida ma'lumotlar obyektlari.
Prolog tilida ro'yxatlar
PROLOG-dagi o'zgaruvchiga xotiraning
ajratilgan qismi sifatida
qaralmaydi. Nomi bilan murojaat qilib bo'lmaydigan ob'ektni belgilash uchun
ishlatiladi. o'zgaruvchini hisobga olish mumkin
mahalliy ism
ba'zi ob'ektlar uchun.
Oʻzgaruvchi nomi bilan boshlanishi kerak
Bosh harf
yoki
pastki chiziq va
faqat harflar, raqamlar va pastki chiziqdan iborat: X, _y, AB, X1. Hech qanday
qiymatga ega bo'lmagan o'zgaruvchi chaqiriladi
ozod, qiymatga ega bo'lgan
o'zgaruvchi -
xos.
Faqat pastki chiziqdan iborat o'zgaruvchi deyiladi
anonim va uning qiymati
ahamiyatli bo'lmaganda qo'llaniladi. Masalan, faktlar mavjud:
ota-ona (Ira, Tanya).
ota-ona (Misha, Tanya).
ota-ona (olya, ira).
Barcha ota-onalar
aniqlanishi kerak
Talab: ota (X, _)
Natija:
X = Ira
X = Misha
X = Olya
O'zgaruvchining doirasi tasdiqdir. Izoh ichida bir xil nom bir xil
o'zgaruvchiga tegishli. Ikkita ibora bir xil o'zgaruvchi nomidan butunlay boshqacha
tarzda foydalanishi mumkin.
PROLOGUE-da tayinlash operatori yo'q, uning rolini = tenglik operatori
bajaradi. Maqsad X=5 ni taqqoslash (agar X qiymati bo'lsa) yoki topshiriq (agar X
bo'sh bo'lsa) sifatida ko'rish mumkin.
PROLOGda o'zgaruvchining qiymatini oshirish uchun X=X+5
ni yozib
bo'lmaydi. Yangi o'zgaruvchidan foydalanish kerak: Y=X+5.
PROLOG da ob'ektlar va ma'lumotlar turlari
PROLOG dagi ma'lumotlar obyektlari chaqiriladi
shartlari. Termin doimiy,
o'zgaruvchan yoki qo'shma atama (tuzilma) bo'lishi mumkin. Konstantalar butun
sonlar va haqiqiy sonlar (0, - l, 123,4, 0,23E-5), shuningdek atomlardir.
Atom- qo'shtirnoq ichiga olingan har qanday belgilar ketma-ketligi. Agar satr
kichik harf bilan boshlansa va faqat harflar, raqamlar
va pastki chiziqdan iborat
bo'lsa (ya'ni, agar uni o'zgaruvchan yozuvdan ajratish mumkin bo'lsa) tirnoqlar olib
tashlanadi. Atom misollari:
abcd, “a+b”, “talaba Ivanov”, muqaddima, “Prolog”.
Tuzilishi bir nechta ob'ektlarni bir butunga birlashtirish imkonini beradi. U
funktor (ism) va atamalar ketma-ketligidan iborat.
Strukturadagi komponentlar soni strukturaning ariteti deyiladi:
ma'lumotlar/3.
Tuzilma o'z ob'ektlaridan biri sifatida boshqa tuzilmani o'z ichiga olishi
mumkin.
tug'ilgan kun (shaxs ("Masha", "Ivanova"), ma'lumotlar (1983 yil 15 aprel))
domen PROLOG da ma'lumotlar turi hisoblanadi. Standart domenlar
quyidagilardir:
butun son - butun sonlar.
haqiqiy - haqiqiy sonlar.
string - satrlar (tirnoq ichiga olingan har qanday belgilar ketma-ketligi).
char - apostroflar ichiga olingan bitta belgi.
belgi - ketma-ketlik
Lotin harflari
, raqamlar
va kichik harf bilan
boshlanadigan pastki chiziq belgilari yoki qo'shtirnoq ichiga olingan har qanday
belgilar ketma-ketligi.
PROLOG dasturining asosiy bo'limlari
Qoidaga ko'ra, PROLOG bo'yicha dastur to'rtta bo'limdan iborat.
DOMANLAR– domenlar (turlar) tavsifi bo„limi.
Agar dasturda nostandart
domenlar ishlatilsa, bo'lim ishlatiladi.
Masalan:
PREDIKATLAR- predikat tavsifi bo'limi. Agar dasturda nostandart
predikatlar ishlatilsa, bo'lim ishlatiladi.
Masalan:
biladi (ismi, ismi)
talaba (ism)
BODKALAR- taklif bo'limi. Aynan shu bo'limda jumlalar yoziladi: faktlar
va xulosa chiqarish qoidalari.
Masalan:
biladi (Lena, Ivan).
talaba (ivan).
talaba_belgisi(X, Y):- biladi (X, Y), talaba (Y).
MAQSAD- maqsadli bo'lim. Ushbu bo'limda so'rov yoziladi.
Masalan:
belgi_talaba(lena, X).
Eng oddiy dastur faqat GOAL bo'limini o'z
ichiga olishi mumkin, masalan:
write("Ismingizni kiriting:"), readln(Ism),
write("Salom, ", Ism, "!").