Пәндердің оқу-әдістемелік кешенінің тізімдемесі



бет58/85
Дата11.10.2023
өлшемі2.35 Mb.
#480347
1   ...   54   55   56   57   58   59   60   61   ...   85
Сараптаушы жүйелер

Қиып алу предикаты (!). ! предикаты программаның тиімділігін логикалық тұрғыдан арттыру мақсатында қолданылады. Қиып алу предикаты кейбір күрделі ережелерге кірістіріледі.
! предикатын қолдану барысында пікірлер мына түрдегі ереже арқылы өрнектеледі: егер ШАРТ онда 1ПІКІР әйтпесе 2ПІКІР
Жалпы қиып алу предикатын қолданғанда программаның декларативті және процедуралық мағыналары арасында қайшылық туындауы мүмкін болғандықтан сақтық қажет етіледі.
Мысалы екі санның үлкенін табу ережесіне қиып алу предикатын қолдану мына түрде өрнектеледі:
max(X,Y,Z):-X>= Y,!.
max(X,Y,Y).

  1. мысал. Екі санның арифметикалық ортасын анықтауға арналған прогрмма құру қажет.

domains
X, T, Z= real
Predicates
sr_znach(X,Y,Z)
Clauses
sr_znach(X,Y,Z):-Z=(X+Y)/2.
Goal
Write (“среднее значение:”,sr_znach(45, 75, Z))
2-мысал. Енгізу/шығару предикаттарын қолдану арқылы екі санның ең үлкенін анықтауға арналған программа құру керек.
domains
P=integer
Predicates
max(p, p, p)
clauses
max(X,Y,Z):-X>= Y.
max(X,Y,Y):-Xgoal
readint (X), readint (Y), max (X, Y, Z)6 write (“max=”,Z).
3-мысал.
Π хi
i=1
domains
a=real
predicates
pr(a, a, a, a)
clauses
pr (1, 1, X, K):-X.
Pr (1, N, X, P):- M=N1, pr (1, M, X, P1), P=P1*exp(n*Ln(X)).

Тапсырмалар





1

etgx – cos (1/(1+2х))

х=0,31

2

x+y/(x2 +4)
(1+y)
e-x-2 + 1/(x2 + 4)



x=-2,1
y=1,4

3

0,98(sin x – sin y)

ln(x2 +y2)

x=-2,1
y=1,4

4

1+32x
a rctg
√2x



x=1,5

5

arctgx
6,4tg3(ln 4x)+
3√1-4x



x=5 ,61



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


Тақырыбы: Турбо-Пролог программасының программа құрылымы
Жұмыстың мақсаты: Турбо-Пролог жүйесінің программа құрылымымен танысу. Қолданушы домендер мен фактілерді пайдалана отырып, қарапайым программа құру қажет.


Теориялық бөлім
Турбо-Пролог жүйесі үш немесе төрт программа бөлімін қамтиды. Олар clauses өрнектер бһлімі, predicates предикаттар бөлімі, domains домендер бөлімі және кейде мақсат қою бөлімі ретінде goal қолданылады.
Clauses бөлімі – бұл программаның мақсатына жету үшін фактілер мен ережелер орналасқан турбо-прологтың программа ядросы.
Predicates бөлімінде қолданушы предикаттары жарияланады.
Domains бөлімінде стандартты домендерден басқа, барлық қолданушы (қолданатын аргумент типін) домендерді сипаттайды.
Goal бөлімінде программаның сыртында орындалатын, яғни программаның ішкі мақсатына тәуелсіз орындалатын программа бөлігі орналасады.турбо Пролог программасында символдық тұрақтыларды қолдануда тұрақтыны сипаттау constans сөзімен басталып жазылады. Оның жазылу синтаксисі:
<Идентификатор> = <Макроопределение>
Идентификатор– бұл тұрақты аты, макроопределение–атауға сәйкес келетін мән, айнымалы. Әрбір макроопределение «конец строки» символымен аяқталады. Бір қатарға тек бір ғана тұрақты жазылады.
Ìûñàë: constants
нуль = 0
один = 1
два = 2
сотня = (10*(10-1)+10)
пи = 3.141592653
еда = мясо
красный = 4
Тұрақтыларды сипаттау келесі шектеулерді қамтиды:

  • тұрақтылар өзіне-өзі сілтеме жасай алмайды;

  • программаның сыртында, яғни одан тәуелсіз орындалатынына байланысты болады.

Тапсырманы орындауға мысал. Кітап, оның авторы және парақ саны туралы мәлімет берілген. Қандай романның көлемі үлкендігін анықтайтын сұраныс қою қажет.
/* Turbo Prolog 2.0 , Пример 1, демонстрирующий
работу с фактами, правилами и переменными */
domains
% Описание доменов пользователя
заглавие, автор = symbol
страниц= integer
predicates
% Описание предикатов пользователя
книга(заглавие, страниц)
написал(автор, заглавие)
большой_роман(заглавие)
clauses
% Факты
написал(горький, "МАТЬ").
написал(шолохов, "ТИХИЙ ДОН").
книга("ТИХИЙ ДОН",1250).
книга("МАТЬ", 310).
/* Правило, определяющее, какая книга считается большим романом */
большой_роман(Заглавие) :-
написал(_, Заглавие), %Автор в этом случае безразличен
книга(Заглавие, Страниц),
Страниц > 300.

Пайдаланушы Турбо Пролог жүйесінде жұмыс жүргізіп отыр және сұхбат режимінде сұраныстар бере алады деп есептелгендіктен программада ішкі мақсаттар жоқ.


Goal:написал(Кто,Что)
Нәтижесі:
Кто=горький Что="МАТЬ"
Кто=шолохов Что="ТИХИЙ ДОН"
2 Solutions
Немесе мынадай сұраныс қоюға да болады:
Goal:большой_роман(Заглавие)
Берілгендер қорында көлемі 300 парақтан асатын екі роман бар, оларды үлкен деп есептеуге болады. Сондықтан программа нәтижесі екі шешімді береді:

Заглавие="МАТЬ"


Заглавие="ТИХИЙ ДОН"
2 Solutions
Тапсырмалар.

    1. Автомобиль жөнінде, оның бағасы, моделі, түсі туралы факт беріңіз. Бағасы 25000-нан аспайтын ашық түсті автомобиль сатып алу қажеттілігін қанағаттандыратын программа құру қажет.

    2. Оқытушылар жөнінде ( оқытушының аты-жөні, пән аты, аудиториясы және т.б.) мәлімет құрыңыз. 403 аудиторияда сабақ өткізуі тиіс қанша оқытушы бар екендігін анықтайтын программа құрыңыз.



Достарыңызбен бөлісу:
1   ...   54   55   56   57   58   59   60   61   ...   85




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

    Басты бет