Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Clearwindow, med(1,2,3,4,3,5)






 

 

№2 Зертханалық жұ мысқ а тапсырмалар:

 

1. Келесі салыстыру операциялары табысты немесе табыссыз бола ма?

a) нү кте(А, В)= нү кте(1, 2)

б) нү кте(А, В)=нү кте(Х, У, Z)

с) плюс(2, 2)=4

е) ү шбұ рыш(нү кте(-1, 0), Р2, Р3)=ү шбұ рыш(Р1, нү кте(1, 0), нү кте(0, У))

Бекітулерді тексеру ү шін бағ дарлама қ ұ ру. Осы бө лімде қ олданылғ ан кесінді кө рсетілімін пайдалану, тең бү йірлі ү шбұ рыш ү шін терм жазу.

2. Кесінді кө рсетілімін пайдаланып, х=5 вертикальды тү зуіне, х=10 горизонтальды тү зуіне сә йкес келетін кез келген кесіндіні анық тайтын терм жаз.

3.Тіктө рбұ рыш келесі терммен кө рсетілген тіктө рбұ рыш(Р1, Р2, Р3, Р4), мұ ндағ ы, Р- тіктө рбұ рыш тө белері, оң ымен реттелген. Регулярлы(R) қ атынасын анық таң ыз, егер R – вертикальды жә не горизонтальды жақ тары бар тіктө рбұ рыш.

4. Квадрат термін жазың ыз.

5. Тө ртбұ рыш термін жазың ыз.

6.Тікбұ рышты ү шбұ рыш термін жазың ыз.

7. Келесі бағ дарламаны қ арастырайық:

f(1, бір).

f(s(1), екі).

f(s(s(1)), ү ш).

f(s(s(s(X))), N): -f(X, N).

пролог-жү йе келесі сұ рақ тарғ а қ алай жауап қ айтарады:

а) f(s(1), A).

b) f(s(s(1)), екі).

с) f(s(s(s(s(s(s(s(1))))))), С).

d) f(D, ү ш).

8. Келесі бағ дарламада екі адам туысқ андар болып табылады, егер:

а) біреуі екіншісінің ата-бабасы болып табылады, немесе

б) олардың ата-бабасы бір, немесе

с) олардың ұ рпағ ы бір.

туыстар(Х, У): -ата-баба(Х, У).

туыстар(Х, У): - ата-баба(У, Х).

туыстар(Х, У): - ата-баба(Z, Х), ата-баба (Z, У).

туыстар(Х, У): - ата-баба(Х, Z), ата-баба (У, Z).

Нү ктелі ү тірді қ олданбай, осы бағ дарламаны қ ысқ артуғ а бола ма? Келесі бағ дарламаны нү ктелі ү тірсіз жазып шығ ың ыз.

тү рлендіру(Сан, Сө з): -

Сан=1, Сө з=бір;

Сан=2, Сө з=екі;

Сан=3, Сө з=ү ш;

9. Бағ дарлама берілген:

ү лкен(аю).

ү лкен(піл).

кіші(мысық).

қ оң ыр(аю).

қ ара(мысық).

сұ р(піл).

қ араң ғ ы(Z): -қ ара(Z).

қ араң ғ ы(Z): -қ оң ыр(Z).

Сұ рақ тарғ а жауап іздеу қ алай жү зеге асады:

? -қ араң ғ ы(X), ү лкен(X).%Кім қ араң ғ ы жә не ү лкен?

? -ү лкен(X), қ араң ғ ы(X).%Кім ү лкен жә не қ араң ғ ы?

Осы сұ рақ тың қ айсысы орындалғ анда жү йе ү лкен жұ мыс атқ арады? Экранғ а барлық ү лкен, орташа жә не кіші жануарлармен қ ұ старды шығ ару. Жануарлар мен қ ұ стардың шамасы қ атынасын анық тау.

10. Ромб қ атынасын жаз.

11. Жартылай шең бер қ атынасын жаз.

12. Параллелограмм ү шін терм жаз.

13. Параллельді тү зу қ атынасын жаз.

14. Қ иылысатын тү зу қ атынасын жаз.

15. ЖӘ НЕ логикалық операциясы, НЕМЕСЕ логикалық операциясы қ атынасын анық таң ыз.

16. Қ атынасты анық таң ыз: ЕМЕС, НЕМЕСЕ-алып тастайтын (операция нә тижесі бірге тең, егер сандар бірдей болмаса) логикалық операциялары.

17. Қ атынасты анық таң ыз: ЭКВИВАЛЕНТТІ (операция нә тижесі бірге тең, егер сандар бірдей болса) логикалық операциясы, ИМПЛИКАЦИЯ (операция нә тижесі 0-ге тең, егер А=1, В=0, қ алғ ан жағ дайда нә тиже 1- ге тең) логикалық операциясы.

18. 0- ден 9- ғ а дейінгі сандарды анық тайтын қ атынасты анық та, кез келген пернетақ тадан енгізілген сан экранда жазба тү рінде кө рсетілу керек.

19. Жылды (жазба тү рінде) анық тау ү шін қ атынасты анық та.

20. Ай қ атынасын анық та, кез келген пернетақ тадан енгізілген ай саны экранда ай атымен бейнелену керек.

21. Қ атынасты анық та: оң сандар, теріс сандар.

22. Қ атынасты анық та: жұ п, тақ сандар.

23. Қ атынасты анық та: 3 жә не 9- ғ а бө лінетін сандар.

24. Туғ ан жылына байланысты жасын анық тау, сонымен бірге, жыл атын анық тау (мысалы: жылан жылы).

25.Туғ ан кү ніне байланысты зодиак белгісін анық тау.

 

 

Зертханалық жұ мыс№3

РЕКУРСИВТІК ЕСЕПТЕУЛЕР. АРИФМЕТИКАЛЫҚ Ө РНЕКТЕР

 

3.1.Есептеулерді басқ ару
3.2.Рекурсивтік есептеулер
3.3.Арифметикалық ө рнектер

3.1. Есептеулерді басқ ару

 

Есептеу процесін басқ арудың негізгі қ ұ ралдары fail жә не!. Fail предикаттары болып табылады – табысты емес, сә тсіз.! -кесу. Табысты емес бағ дарламасына мысал:

 

Мысал 1. Екінші курс студенттері туралы ақ паратты экранғ а шығ ару.

 

DOMAINS

st=student(fam, pr, oc)

fam, pr=symbol

num, oc=integer

g=gr(num, st)

PREDICATES

kurs_22(g)

CLAUSES

kurs_22(gr(261, student(“Горшенин”, ”Бағ дарламалау”, 5))).

kurs_22(gr(261, student(“Анаркулов ”, ”Операциялық жү йелер”, 5))).

kurs_22(gr(261, student(“Кулманов”, ”Басқ ару жү йелері”, 4))).

kurs_22(gr(262, student(“Отарбаева”, ”Бағ дарламалау”, 5))).

kurs_22(gr(261, student(“Аносов”, ”Басқ ару жү йелері”, 4))).

kurs_22(gr(261, student(“Тайжанов”, ”Шет тілі”, 5))).

kurs_22(gr(261, student(“Сейсенов”, ”Операциялық жү йелер”, 5))).

GOAL

clearwindow, kurs_22(X), write(X)

 

мұ ндағ ы, write(X)-экранғ а айнымалының мә нін шығ аруды білдіретін жү йелік предикат. Осы сауалдың нә тижесінде бірінші сә йкес шешім табылады. Пролог қ ойылғ ан сұ рақ қ а барлық жауапты табу ү шін, альтернативтік шешімдердің циклдік ауысуын қ алыптастыру керек. Мұ ның бірнеше ә дісі бар, соның бірі, Прологтың қ асиетін қ олданатын, ағ ымдық іздеу табыссыз болғ ан жағ дайда альтернативтік шешімді іздеу ә дісі. Бұ л жағ дайда Пролог жақ ын альтернативті шешімге шегінеді, бастапқ ы іздеу шартын орнына келтіреді жә не процесс жаң а табылғ ан альтернативамен қ айтадан басталады. Ол ү шін ә рқ ашан табыссыз аяқ талатын жә не ең жақ ын альтернативағ а шегінуді шақ ыратын fail қ олданылады. GOAL бө лімінде барлық фактілердің асып кету мақ сатына арналғ ан қ осымша fail предикатын жазамыз:

 

clearwindow, kurs_22(X), write(X), nl, fail

/* nl-жаң а қ атарғ а ө туді білдіреді */

3.2. Рекурсивтік есептеулер

 

Ереженің рекурсивтік анық тамасы ө з денесінде сол ереженің тақ ырыбына бағ ытталғ ан сілтемеден тұ рады. Рекурсияның бірнеше варианттары бар:

1.Оң рекурсия.

Pr1(): - pr11(), pr12(), …, pr1().

2.Сол рекурсия.

Pr1(): -pr1(), …, pr11(), pr12().

3.Жалпылама рекурсия.

Pr1(): - pr11(), pr12(), …, pr1(), …, pr21(), pr22().

Рекурсивтік ереже орындалу барысында циклденуден сақ тану ү шін рекурсияның аяқ талу шартын қ арастыру қ ажет. Мұ ны екі жолмен жү зеге асыруғ а болады:

1.Бағ дарламадағ ы альтернативтік ереже тапсырмасы немесе pr1() факторы, рекурсиядан тұ рмайды. Шығ у рекурсивтік ереже табысты аяқ талғ ан соң орындалады..

2.Предикаттардың біреуінің шығ у шартының қ алыптасуы, табыссыз аяқ талуы керек.

pr21(), pr22() предикаттары рекурсия орындалуына ә сер етпейді. Олар рекурсиядан шық қ аннан кейін орындалады жә не рекурсия орындалу барысында стекке орналастырылғ ан айнымалылардың мә ндеріне ие болады. Бұ л жағ дайдағ ы орындалатын есептеулер кванттық деп аталады.

Мысал 1. Рекурсивтік есептеулерді қ олданып, факториал n! табу.

DOMAINS

Number, Product = integer

PREDICATES

Fact(Number, Product)

CLAUSES

Fact (1, 1): -!.

Fact(N, R): -Next_N=N-1, Fact(Next_N, P), R=N*P.

GOAL

Fact (3, Res), write (“Факториал 3=”, Res), nl.

 

Бағ дарлама орындалу барысындағ ы ә рекеттер:

Предикаттарды шақ ыру Ауыстыру Есептеу Соң ғ ы есептеулер Есептеулер нә тижесі
Fact(3, Res) N=3, Res=R Next_N=N-1=2 R=N*P Res=R=3*2=6
Fact(2, P) N’=2, P=R Next_N=N-1=1 R=N*P P=R=2*1=2
Fact(1, P) 1=1, P=1      

 

Бірінші қ адамда fact(3, Res) мақ сатты сауал орындалады жә не I-ші шешім варианты таң далады: fact(1, 1) ережесі fact(3, Res) салыстырылады-салыстырылу табыссыз аяқ талады, ө йткені, 3? 1. Шегіну болады жә не екінші ереже таң далады, ол ү шін ереже тақ ырыбын салыстыру табысты аяқ талады. Онда N=3, Res=3 ауыстырулары орындалады. Ереже денесі стекке орналастырылады жә не денесіндегі предикаттар ө ң деле бастайды. Олардың біріншісі - Next_N=N-1=2 салыстыру, одан кейін fact(2, P) шақ ыру инициализацияланады. Қ айтадан ереженің бірінші варианты таң далады. 1? 2 салыстыруы табыссыз аяқ талады, шегіну орындалады жә не ереженің екінші варианты таң далады. Мұ нда ереже тақ ырыбымен салыстыру табысты аяқ талады. N=2, P=R ауысуы орындалады. Ереженің жаң а кө шірмесі стекке орналасады жә не оның орындалуы басталады. Олардың біріншісі Next_N=N-1 табысты аяқ талады. Айнымалының кө шірмесі Next_N 1-ге тең болады. Одан кейін fact(1, P) шақ ырылады. Тағ ы да бірінші ережемен салыстыру орындалады жә не ол табысты аяқ талады. Ауыстырулар келесідей болады: 1=1, P=1. i-інші ереже денесі бос болғ андық тан, ешқ андай ә рекет орындалмайды. Бағ дарлама рекурсиядан шық қ ан соң, соң ғ ы есептеулер жү ргізіледі, яғ ни, стектегі екінші ереже кө шірмесінен қ алғ ан қ алдық орындалады. Осы есептеулер нә тижесінде Res айнымалысы 6 жаң а мә ніне ие болады, сосын ол предикат арқ ылы экранғ а шығ арылады write(“Res=”, Res).

Бірінші бекітуде онда кесу (!) бар, ол fact(1, Res) сауалы қ ойылғ ан кезде пайдаланылады, яғ ни, 1! есептегенде, Res айнымалысы 1 мә нін қ абылдайды. Мұ нда екінші ереже кесіледі. Бұ л жағ дайда бірінші ереже циклденуге жә не қ атеге ә келмейді. Бағ адарлама дұ рыс жұ мыс жасау ү шін, clauses бө лімінде fact(0, Res) сауалы ү шін тағ ы бір бекіту енгізу керек: fact(0, 1): -!.

3.3. Арифметикалық ө рнектер

 

Арифметикалық ө рнек сан немесе қ ұ рылым болып табылады. Қ ұ рылымғ а бір немесе бірнеше компонент кіруі мү мкін. Мысалы, сандар, арифметикалық операторлар, арифметикалық тізімдік ө рнек, арифметикалық ө рнекпен нақ тыланғ ан айнымалылар, унарлық функторлар, тү рлендіру жә не арифметикалық функторлар болуы мү мкін.

 

Арифметикалық операторлар: +, -, *, /, mod, div – Прологтың қ арапайым атомдары жә не олар кез келген контексте қ олданыла береді.

Салыстыру операциялары: >, <, =, > =, < =, < >, > <.

Функциялар: sin, cos, tan, arctan, ln, log, exp, sqrt, round, trunc, abs

 

№3 Зертханалық жұ мысқ а мысалдар:

Мысал 1. Екінші курс студенттері туралы ақ паратты экранғ а шығ ару
Мысал 2. Рекурсивтік есетеуді пайдаланып, n! Факториалын есептеу
Мысал 3. Есептеу:

Мысал 1. Екінші курс студенттері туралы ақ паратты экранғ а шығ ару.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.012 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал