Tajriba ishi Prolog deklarativ dasturlash tili. Prolog tili gramatikasi


Predikatlar jadval shaklda tavsiflanishi



Download 0,89 Mb.
bet3/5
Sana13.11.2022
Hajmi0,89 Mb.
#865042
1   2   3   4   5
Bog'liq
Tajriba ishi 7 Prolog

1.1.2. Predikatlar jadval shaklda tavsiflanishi


Predikatni jadval shaklida ham tavsiflash qilish mumkin. U holda konkret qiymatlarda predikat true natija qaytarishi shu qiymatlardan tashkil topgan yozuv jadvalda satr(kortej, yozuv) ko’rinishida mavjudligidan dalolat beradi. Jadvaldagi yozuvlar tartiblanmagan deb tasavvur qilinadi. Yozuv maydonlardan tashkil topgan bo’lib, har bir maydon konkret nomga va domenga tegishli qiymat qabul qiladi. Masalan, yuqorida keltirilgan rain predikatiga mos jadval uchta: Temperature, Pressure va Humidity maydonga ega bo’lib, bu maydonlarning uchalasi ham haqiqiy sonlar domenidan qiymat qabul qiladilar. Workday(hours, date) predikati uchun, qaysiki ishkhonada agar berilhan sana(date) berilgan ish soati(hours)dan iborat bo’ldsa tru, aks holda false natija qaytaradi, 2 ta maydondan iborat: hours maydoni 0-24 butun sonlar oraliqi domenidan va date maydoni esa sana domenidan qiymatlar qabul qiladi.
Agar F(X1, X2,…, Xn) predikatda X1, X2,…, Xn argumentlar o’zlarining mos domenlaridan olingan qiymatlar bo’lsa, bunday ifoda fakt deb ataladi. Bu - X1, X2,…, Xn qiymatlar F munosabatga kirishish faktidir. X1, X2,…, Xn qiymatlar korteji uchun F predikat true natija qaytaradi. Masalan, dars_beradi(o’qituvchi, fan) predikati agar berilgan o’qituvchi berilgan fandan dars bersa true, aks holda false natija beradigan predikat bo’lsa quyidagi ifodalar fakt bo’ladilar:
dars_beradi(“Hayotov X.S.”, “Dasturlash asoslari”) dars_beradi(“Hayotov X.S.”, “Mikroprotsessorlar”) dars_beradi(“Hayotov X.S.”, “Web dasturlash”) dars_beradi(“Jalolov O.I”, “Sonli usullar”) dars_beradi(“Jalolov O.I”, “MBBT”) dars_beradi(“Jalolov O.I”, “Dasturlash asoslari”) dars_beradi(“Boltayev T.B.”, “Tizimli dasturlash”) dars_beradi(“Boltayev T.B.”, “Web dasturlash”)
Agar F(X1, X2,…, Xn) predikatda argument sifatida domendan olingan qiymat emas, balki o’zgaruvchi ishtirok etsa, u holda predikat true/false natija o’rniga predikatning true natijasini hosil qiluvchi, o’zgaruvchiga mos argument(lar)ning qiymatlar to’plamini qaytariladi. Bu qiymatlar clauzalar orasidan axtariladi. Masalan yuqorida keltirilgamn predikat uchun dars_beradi(“Boltayev T.B.”, X) ifoda quyidagi qiymatlarni beradi:
“Tizimli dasturlash”
“Web dasturlash”
Agar ifoda dars_beradi(X, “Web dasturlash”) ko’rinishida bo’sa, uning natijasi quyidagicha bo’ladi:
“Hayotov X.S.”
“Boltayev T.B.” natija qaytaradi
Agar ifodaning ko’rinishi dars_beradi(X, Y) bo’lsa, yuqorida keltirilgan faktlardagi qiymatlar juftliklarining barchasi natija sifatida qaytariladi.
Xorn gapi
Xorn gapining umumiy ko’rinishi quyidagicha:
H :- T1,T2,T3,...
Qaysiki H va Ti,lar – predikatlar bo’lib, H - gapning boshi yoki sarlavhasi,
T1,T2,T3,...esa, ya’ni :-belgisining o’ng tomon qismi – gapning dumi yoki tanasi deb ataladi. Ti predikatlar o’zaro «,» belgisi orqali birlashtiriladi. Bu belgi – mantiqiy «va» ma’nosini beradi. «:-» belgisi esa – mantiqiy «agar» ma’nosini beradi. Shunday qilib Xorn gapining ma’nosi «H agar T1va T2 va T3 va ... bo’lsa ».
Masalan, sonning faktorialini topish uchun quyidagicha ikkita Xorn gapi yozilishi mumkin :
O’qituvchi(“Jalolov O.I”) :- dars_beradi(“Jalolov O.I”, X), fan(X).
Bu gaplarning ma’nosi quyidagicha : Jalolov O.I o’qiyuvchi, agar X-fan bo’lib, Jalolov O.I. shu fandan dars bersa.
Quyidagi Xorn gapida son faktorialini aniqlash rekursiv ifodasi keltirilgan :
fact(N, N*F) :- fact(N-1, F).
Bu gaplarning ma’nosi – N ! = N*F agar (N-1)! = F bo’lsa. Bu yerda birinchi parametr qiymati N son beriladi va u N ! qiymat (natijaga) mos qo’yiladi. Bu moslik fact predikati hisoblanadi.
Bitta sarlavhaga tegishli bo’lgan barcha Xorn gaplari sarlavha predikatini aniqlaydi. Predikatning aniqlanishi uni aniqlaydigan Xorn gaplaridan va uning e’loni orqali amalga oshiriladi. Predikatning e’loni uning tipi va parametrlarining kirish-chiqish sxemasidan tashkil topadi. Yuqoridagi fact predikati uchun quyidagicha e’lon beriladi :
fact : (integer, integer) procedure (i,o).
Ya’ni, predikatning nomi – fact, har ikkala parametrning tipi – integer, 1parametr – beriladi, natija sifatida 2- parametrning qiymati olinadi. «procedure »
- bu predikatning hisoblash tipi - determinizm. Bu haqda keyinroq so’z yuritiladi.
Tanasiz Xorn gapi fakt(klauz) deb ataladi. Haqiqatan ham, hech qanaqangi shartsiz tasdiq doimo bajariladi. Bunda “:-“ belgisi ham tushirib qoldiriladi.

Download 0,89 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish