1.2 Determinizm
Determinizm – predikatning qanday natija qaytarishini aniqlaydi va e’londa ko’rsatiladi. determ – predikat – determinal. Hisob muvaffaqiyatli yakunlanishi mumkin, bunda natija bitta bo’ladi. Hisob muvaffaqiyatsiz ham yakunlanishi mumkin. procedure- predikat - protsedura. Hisob doimo muvaffaqiyatli yakunlanadi va natija bitta. multi –predikat – ko’p yechimli.
Hisob doimo muvaffaqiyatli yakunlanadi va natija bittadan ko’p bo’lishi mumkin. nodeterm - predikat – nodeterminal. Hisob muvaffaqiyatli yakunlanib, natija bittadan ko’p ham bo’lishi mumkin. Hisob muvaffaqiyatsiz ham bo’lishi mumkin.
Agar predikat bittadan ko’p natijaga ega bo’lib, uning joriy natijasi gap tanasidagi boshqa bir predikatni qanoatlantirmasa(ya’ni u false natija qaytarsa) orqaga qaytish (откат, backtrack) amalga oshiriladi va predikatning keyingi natijasi qaytariladi. Quyidagi gapni qarab chiqamiz:
connections(Win) :- conn(P1, P2), drawLine(Win, P1, P2), fail.
Bu gapda conn(P1, P2)predikati - nuqtalar jufti. Bu predikatning faktlari faraz qilaylik jadvalga kiritilgan. Bu predikat orqali barcha nuqtalar jufti natija sifatida qaytariladi. Lekin hisob bajarilish jarayonida ulardan bittasi natija sifatida beriladi. drawLine(Win, P1, P2)predikati – Win kontekstida P1 nuqtadan P2 nuqtagacha to’g’ri chiziq chizadi. fail predikati esa (so’zning ma’nosi ko’rsatib turibdiki) doimo muvaffaqiyatsiz yakunlanadi va conn(P1, P2) predikatining boshqa nuqtalar juftligini natija sifatida qaytarishiga olib keladi. Shunday qilib ko’rsatilgan gapda (fatlar orqali) berilgan barcha nuqtalar jufti orasida to’g’ri chiziq chiziladi.
1.3 Prolog dasturining umumiy ko’rinishi
Biz Avvalo Visual Prolog dasturlash muhitining umumiy ko’rinishi bilan tanishamiz. Quyidagi 1-rasmda bu muhitning umumiy ko’rinishi keltirilgan:
(1.1-rasm) Prolog dasturining ko’rinishi
Rasmdagi muhitda ko’plab loyihalar yasalganligi ko’rinyapti. bularning nomlari: semantic, urta_arifmetik, satrni_sanash, klaviaturadan qo’shish, ruyxat_elementi va boshqalar. Prolog dasturlash muhiti bilan ishlash uchun muhitga kirganimiz va unda dasturni kiritganimizdan so’ng asosiy menyudan Build menyusiga kiramiz. Build menyusidan build satrini tanlayniz.
(1.2-rasm) Cancel tugmasining bosilishi
Bizga 1.2-rasmdagi oyna ekranga chiqariladi. Bu oynadan Cancel tugmasini bosamiz. Agar dasturda xatolik bo’lsa bizga xatolarini ko’rsatadi. Aks holda dasturni xatosi bo’lmasa biz dasturni ishga tushiramiz. Bu uchun asosiy menyu Build dan Run in Window satrini tanlaymiz. Dastur Windows muhitida ishga tushadi. Dastur ishga tushishi uchun ma’lum vaqt talab qilinadi. Agar dastur muloqot dasturi bo’lsa mulogot qilish uchun dasrtur tayyor holatga keladi.
Do'stlaringiz bilan baham: |