ТҮсіндірме жазба пәнді оқыту



бет5/20
Дата01.02.2018
өлшемі3,82 Mb.
#37301
1   2   3   4   5   6   7   8   9   ...   20

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. 2-ереже таңдалады да оған N=3, Res=3 сәйкестеледі. Ереже денесі стекке орнықтырылып предикаттарды өңдей бастайды. Бірінші - салыстыру Next_N=N-1=2 орындалады, содан соң fact(2,P) шақырылады. Қайтадан ереженің алғашқы элементі таңдалады. 1?2 сәйкестігі табыссыздыққа әкеледі, ереженің 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) предикат болып шығады.


KF 12-06-05
Жеке тапсырмалар

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

2. Жылды анықтайтын қатынасты жазыңыз.

3. Келесі қатынасты жазыңыз: оң сандар, теріс сандар.

4. Келесі қатынасты жазыңыз: жұп, тақ сандар.

5. Келесі қатынасты жазыңыз: 3 пен 9 –ға бөлінетін сандар.

6. Туылған жылы бойынша жасты және жыл атын (мысалы, жылан) анықтаңыз.

7.Туылған жылы бойынша жұлдызын анықтаңыз.

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

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

10. 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,үш).

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

12.Шеңбер қатынасын жазыңыз..

13.Параллелограм қатынасын жазыңыз..

14.Параллель түзулер қатынасын жазыңыз..

15.Қиылысатын түзулер қатынасын жазыңыз..

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

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

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


2. Программаны орындаудағы әрекеттер:

Қорытынды: Роботтың келешекте дамуы.
5 Зертханалық сабақ

Тақырыбы: Арифметикалық өрнектер


Сабақтың мақсаты: Студенттерге арифметикалық өрнектермен бағдарламада жұмыс жасауды үйрету.

Теориялық мағлұматтар:

Теориядан қысқаша мәлімет:

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

Құзреттіліктері - ПҚ2, ПҚ3,ПҚ4.

KF 12-06-05


Зертханалық жұмыстарға қажетті жабдықтар – Компьютер құрылғылары мен бағдарламалары

Жұмыстың орындалу реті :

  1. Арифметикалық өрнектерді шешу

  2. Мысалдарды жүзеге асыру

Жұмыстың нәтижесін өңдеу: Өрнектер мен жұмыс:
Арифметикалық өрнектер

 Арифметикалық операторлар: +, -, *, /, mod, div.



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

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

 Мысал 1. Есептеңіз:



 

DOMAINS



X, Y, Z = integer

PREDICATES

Z(X,Y)

CLAUSES


Z(X,Y):-Y=X*COS(X), X>=5;

              Y=TAN(X).



GOAL

clearwindow, write(“Input X: ”), readint(X), Z(X,Y), write(“Z(”,X,”)=”,Y)


Стандартты предикатты пайдаланып, есептеңіз:

Вариант 1.

 


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   20




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

    Басты бет