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



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

 

44

add_em_up (sum, sum, sum) 



multiply_em (product, product, product) 

clauses 


add_em_up (X, Y, Sum):-Sum=X+Y. 

multiply_em (X, Y, Product):-Product=X*Y. 

 

Бұл  прогрмма  екi  операцияны  орындайды:  жинақтайы  жəне 



көбейтеді.Оған мынадай мақсат беріп көрейік: 

add_em_up (32, 54, Sum). 

Visual Prolog (Test Goal) былай жауап бередi: 

Sum=86 


1 Solution 

сіз программаға екi бүтiн санның қосындысын жібердіңіз. 

 

Декларация



 жəне ережелер 

Visual Prologта бірнеше кірістірілген стандартты домендер бар. Оларды 

domains 

бөлiмiнде 

декларарация 

типінде 


жəне 

 

сипатталмаған  



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

 

Негiзгi домендер 4 кестеде сипатталған 



Домен 

Сипатталуы 

Іске асуы 

short 


Қысқа, таңбалы, сандық 

Барлық  платформалар  (-  32  768—32 

767) 16 бит 

ushort 


Қысқа, таңбасыз,сандық 

 

(0—65 535 ) 16 биттік платформалар 



long 

Ұзын, таңбалы, сандық 

 

барлық  платформалар  (-  2  147  483 



648-2 147 483 647) 32 бит 

ulong 


Ұзын, таңбасыз, сандық 

барлық  платформалар  (0-4  294  967 

295 ) 32 бит 

integer 


Таңбалы, 

сандық,  

тəуелді 

көлемді 


платформаға ие 

(- 


32 

768-32 


767) 

16 


биттік 

платформалар 

(-  2  147  483  648-2  147  483  647)  32 

биттік платформалар 

unsigned 

Таңбасыз, 

сандық,тəуелді  көлемді 

платформаға ие 

(0—65 535 ) 16 биттiк платформалар 

(0-4  294  967  295  )  32  биттік 

платформалар 

byte 


 

Барлық платформалар (0— 55 ) 8 бит 

word 

 

Барлық платформалар (0—65 535 ) 16 



бит 

dword 


 

Барлық  платформалар  (0—4  294  967 

295 ) 32 бит 

 

Идентификаторла  жəне  жолдар  сіздің  программаңызда  бір-бірін 



ауыстыра алады,бірақта 


 

45

Visual 



Prologта 

олар 


бөлек 

сақталады. 

Идентификаторлар, 

идентификатор кестелерiнде сақталады, ал олардың көрінісіне оның кестедегі 

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

идентификаторлардың 

қарама-қарсы 

қойылуы 


өте 

жылдам 


орындалатындығын  білдіреді,  ал  олар  программада  біренше  жерде 

кездессе,ондо  олардың  сақталуы  да  тығыз  болады.  Жолдар  іздеу  кестесінде 

сақталынбайды  жəне  қарама-қарсы  қоюдың  міндеттілігінде  Visual  Prolog  

оның символдарын біртіндеп тесереді.керек болса нышанға олардың нышаны 

тексередi.  Сіз  қай  домен  əрбір  прграммада  жақсы  қолданылатынын  өзiңіз 

шешесіз. 

 

Тапсырмалар 



Visual Prolog аяқталған телефондық анықтама секілді программаларды 

көрсетеді.  Тек  стандартты  домендер  пайдаланылғандықтан  оған  domains 

бөлiмінің программада қажеті жоқ. 

 

Predicates 



phone_number (symbol, symbol) 

clauses 


phone_number ("Albert " , "EZY-3665 " ). 

phone_number ("Betty " , "555-5233 " ) . 

phone_number ("Carol " , "909-1010 " ) . 

phone_number ("Dorothy " , "438-8400 " ) . 

goal 

 

программаны енгізіп, орындауға жібергеннен кейін рет-ретімен мақсаттарды 



еңгізіңіз. 

 

phone_number ("Carol " , Number) . 



phone_number ("438-8400 " Who, ). 

phone_number ("Albert " , Number). 

phone_number (Who, Number). 

 

Енді ұсыныстарды өзгертiңiз. Kim жəне dorothy  бiр телефон номеріне ие деп 



есептейік. Бұл айғақты сlauses бөлiмiне  енгізіп, келесі мақсатты енгіземіз: 

Рhone_number ("438-8400 " Who, ). 

Бұл сұраныстан сіз екі нəтиже алуыңыз керек: 

Who=dorothy 

Who=kim 

2 Solutions. 

 

Програмасындағы    сhar  доменiн  сипатау    үшін  isletter  предикаты 



пайдаланылады.  Тапсырама  барысында  оған  төменлегідей  мақсаттар 

қойылған: 

isletter(%). 



 

46

isletter(Q). 



"Yes" немесе "No" сəйкес келетін мағынасына қарай қайтарады 

Predicates 

isletter(char) 

clauses 


= > белгісі % таңбасын анықтайды. 

% мына теңдік "Алфавиттің  алдында  қойылады" 

isletter (Ch):-‘ а’< = Ch, Ch<=’z’. 

isletter (Ch ):-‘A’<= Ch, Ch<=’Z’ 

Программасын енгізіп, Test Goal -да əрбір мақсатты рет-ретімен сынап 

көріңіз: 

a ) isletter (‘х’).    

d ) isletter (a ) . 

b ) isletter (‘ 2 ‘ ).   

e ) isletter (X ). 

c ) isletter ("Hello " ). 

(c)  жəне  (d)  мақсаттары  қателіктің  түріне  алып  келеді,ал  (е)  мақсаты    жəне 

"Free  variable  "  (байланыспаған  айнымалы)  хабарламасын  қайтарады.  Сіз 

берілмеген объектінің а немесе  z-ке қатынасын тексере алмайсыз. 

 

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



3.

 

Логикалық программалау тілдерінің мүмкіндіктері. 



4.

 

Тілдің құрылымы 



 

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

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

 

2.3. Зертханалық жұмыс 3. Қолданбалы предикаттар



 

Мақсаты: Предикаттардың пролог ортасында қолданылу əдістері. 

 

Ереже  -  бұл  шындығы  кейбiр  шарттардан  тəуелдi  болатын  бекiту. 



Ереже  бастан  жəне  программа  бөліктерінен  тұрады  :-  егер  деп  оқылады. 

Ереже,  сонымен  қатар  айғақ,  нүктемен  бiтедi.  Бас  айнымалы  компоненттер 

ретiнде  бола  алатын  бұрын  суреттеп  айтылған  предикаттардың  бiрi  болып 

табылады.  Ереженiң  басы  бұл  ереже  анықтауы  үшiн  арналған  айғақ 

суреттейдi. 

Ереженiң  денесi  ереженiң  басы  шын  болды  үшiн  айғақтармен  дəйектi 

түрде  келiсуi  керек  үшiн  мақсаттар  суреттейдi.  Дене  үтiрлермен  немесе 

нүктелi үтiр айырық термдердiң тiзiмiнде болады. Сонымен бiрге: 

 :- орнына if тердi пайдалануға,  

, орнына and қолдануға, 

; орынына or 

қолдануға болады. 

 

 

Тапсырмалар




жүктеу 0,86 Mb.

Достарыңызбен бөлісу:
1   ...   15   16   17   18   19   20   21   22   ...   28




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

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