Республикасы білім жəне ғылым министрлігі



жүктеу 0,86 Mb.
Pdf просмотр
бет15/28
Дата01.01.2018
өлшемі0,86 Mb.
#6244
1   ...   11   12   13   14   15   16   17   18   ...   28

 

33

predicates  



predicateName (argument_type1, argument_type2,...,argument_tуреN) 

Мұндағы:  argument_type1,  ...,  argument_typeN  –  стандартты  домен 

немесе  domains  секциясындағы  хабарланған  домендер.  Хабарланған 

домендер аргументтері мен аргумент типінің бейнелері екеуі бір. 

 

Бақылау сұрақтары 



1.

 

Visual Prolog тілінің ортасы мен интерфесі. 



2.

 

Тілдің құрауыштары мен утилиттері. 



 

Есеп  беру  мазмұны  жəне  формасы:  Тапсырмалар  нұсқасын  құрастыру. 

Тапсырманы орындау реті. Орындау нəтижелері. Қортынды. 

 

2.1. Зертханалық жұмыс 2.Visual Prolog  логикалық программалау 

тілінің негізі. 

Мақсаты: Фактілерережелер жəне сұрауларды орналастыру əдістері. 

 

Ұсыныстар 



Пролог тiлін құрайтын  тек екі түрлі ұғым бар: ереже немесе факті. Бұл 

ұғымдар    прологта  ұсыныс  (clause)  терминiмен  белгiлi.  Прологтағы 

программалардың негізі ұсыныстардан тұрады. 

Факті  объекттердiң  арасындағы  қатынасты    немесе  қасиеті  көрсетеді. 

Факті  өзiне-өзі  жеткiлiктi.  Прологқа    айғақтың  расталуы  үшiн  қосымша 

дəлелдеулер  керек болмайды жəне де факті логикалық қорытындының негізі 

ретінде қолданылды. 

Ережелерді  қарастырсақ.  Проглогта    бір  фактінің  сенімділігінен 

басқада  бірнеше  фактілер  табуға  болады.  Ереже  –  бұл  берілгендерді 

логикалық  түрде  суреттейтін  прологтың  құрылымы.  Ереже  -  бұл    нақтылы 

қасиет немесе қатынас, басқада қатынастар белгілі болғанда. Бұл қатынастар  

үтiрлермен бөлiнген. 

Ережелерге бірнеше мысалдар келтірейік. 

1-Мысал.  Кейбір  тағамдардың  Диана  мəзіріне  сəйкес  келетіндігіне 

қорытынды жасай алатын ережелер. 

Диана-вегетарианшы ол тек қана өзінің дəрiгерiнің айтқанымен тамақтанады. 

(Diane is a vegetarian and eats only what her doctor tells her to eat ) 

Алдыңғы  ереже  мен  мəзірді  біле  отырып,  мəзірдегі  тағамдарды  Диана 

таңдауын алдын ала қорытынды жасай  аласыз. Сіз бұл жұмысты іске асыру 

үшін тағамның берілген шектерге сəйкес келетіндігін тексеруіңіз керек: 

•  Food_on_menu көкөніс  болып табылады ма? 

•  Food_on_menu дəрігердің тізіміне кіреді ме? 

•  шешiм:  егер  екi  жауап  оң  болса,  Диана  Food_on_menu-  тапсырыс  бере 

алады. 

Пролгогтағы  ұқсас  қатынас  ережемен  анықталуы  керек,  өйткенi 



қорытынды фактіге сай негiзделген. Ереженi жазудың  бiр нұсқасы: 


 

34

diane_can_eat(Food_on_menu):-vegetable(Food_on_menu), 



on_doctor_list(Food_on_menu). 

 

vegetable(Food_on_menu)  -дан  кейiн    үтір  тұратынына  көңiл  аударыңыз.  Ол 



бiрнеше  мақсаттардың  конъюнкциясын  айқындайды    жəне  "жəне"  сияқты 

оқылады; 

екi 

ереже 


де 

diane_can_eat(Food_on_menu) 



үшін  

vegetable(Food_on_menu)  жəне  on_doctor_list(Food_on_menu  )  ақиқат  болуы 

керек. 

2-Мысал. Егер Personl Person2-нiң ата-анасы болып табылса, сiз ақиқат 

фактісін жазғыңыз келеді деп болжаймыз. Керек факті осылай көрiнедi: 

parent(paul, samantha). 

Бұл  айғақ  бойынша  Пол,  Самантаның  ата-анасы  екендігін  білдіреді. 

Бiрақ  Visual  Prolog  мəліметтер  қорында  факілер  бар  деп  болжайық.  Ол 

айғақтар  əкелік  қатынасты  қалыптастырады.  Мысалы,  "Пол  Самантаның 

əкесі": 

father(paul, samantha). 

Енді  сiзде    аналық  қатынас  қалыптастырушы  айғақ  болсын  дейік, 

"Джулия - Самантаның анасы": 

mother(julie, samantha). 

Егер де сіздерде бiрнеше фактілер бар болып, жəне олар аталық-аналық 

қарым-қатынастарды  қалыптастыратын  болса,онда  мəліметтер  қорындағы 

əрбір ағайынды қатынасқа уақытты өлтірудің қажеті жоқ. 

Сіз білетіндей, Personl Personа-ның ата-анасы, егер  Personl-Person2-нің  

əкесi  немесе  Personl  Person2-нің  анасы  болса,  онда  неге  бұл  шектерді 

біріктіретін  ережелерді  жазбасқа?  Бұл  шарттарды    табиғи  тiлде 

қалыптастырғаннан кейін оларды пролог ережесі бойынша жазу жеткілікті. 

parent(Personl, Person2):- father(Personl, Person2). 

parent(Personl, Person2):- mother(Personl, Person2). 

 

Бұл пролог ережелері 



Personl    Person2-нiң  ата-анасы  болады,  егер  Person1  Person2-нің  əкесі 

болса жəне 

Personl    Person2-нiң  анасы  болады,егер    Personl  Person2-нiң  анасы 

болcа. 


3-Мысал.  Егер  адамға  машина (likes) ұнаса  жəне  машина  сатылса  (for 

sale), онда ол машинаны сатып ала алады. 

Бұл  ретте  қатынас  пролог  тіліне  келесі  ереже  бойынша    ауыстырыла 

алады: 


can_buy(Name, Model):-person(Name),  

car(Model), likes(Name, Model), for_sale(Model). 

 

Бұл ережелер келесi қатынастарды сипаттайды: 



Name  сатып ала алады (can_buy ) Model, егер Name адам(person) жəне  

Model  машина  (car)  болса,  жəне  Model  сатылса  (for_sale)  Name  Model  –ді 




 

35

ұнатады  (likes).  Егер    бұл  ереже  4  шартты  қанағаттандырса,  онда  ол  ақиқат 



болады. 

Автомобилдi 

сату 

проблемасының 



шешудің 

жолын 


іздейтін 

ch02e02.pro-программасы көрсетілген. Тексеріп көріңіз: 



 

predicates 

can_buy(symbol, symbol) 

person(symbol) 

car(symbol) 

likes(symbol, symbol) 

for_sale(symbol) 

clauses 

can_buy(X,Y):-person(X), car(Y), likes(X,Y), for_sale(Y). 

person(kelly). 

person(]udy). 

person(ellen). 

person(mark). 

car(lemon). 

car(hot_rod). 

likes(kelly, hot_rod). 

ikes(judy, pizza). 

likes(ellen, tennis). 

likes(mark, tennis). 

for_sale(pizza). 

for_sale(lemon). 

for_sale(hot_rod). 

 

Джуди  жəне  Келли  не  сатып  ала  алады?  Hot_rod-ты  кім  сатып  алуы 



мүмкін? Келесі мақсаттарды GOAL:  -бөлiмiнде сынап көрiңiз. 

can_buy(Who, What). can_buy(judy, What). can_buy(kelly, What). can_buy(Who, 

hot_rod). 

Бұл программаға басқа фактілер мен  жаңа ережелер қосайық. Өзіңіздің 

алдында  құрған  сұраныстарыңыз  бойынша  программаны  тексеріп  көріңіз. 

Қорытындының нəтижелері сіздің күткеніңізді  ақтады ма, əлде жоқ па? 

 

Жаттығулар



1. Visual Prolog-та келесі ережелеріне сəйкестендіріп жазыңыз: 

eats(Who, What):- food(What ), likes(Who, What). 

pass_class(Who ):- did_homework(Who ), good_attendance(Who ). 

owns(Who, What):- bought(Who, What). 

2. Берілген сөйлемдерден Visual Prolog ережелерін құрыңыз: 

 



адамның асқазаны бос болса, онда ол аш; 

 



егер    жақсы  ақы  төлеленетін  жəне    көңiлдi  жұмыс  болса,онда  ол 

барлығына ұнайды; 

 

автокөлiкті кім сатып алса,онда сол басқарады. 




жүктеу 0,86 Mb.

Достарыңызбен бөлісу:
1   ...   11   12   13   14   15   16   17   18   ...   28




©g.engime.org 2025
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау