Читайте также:
|
|
1-вариант:
domains
person, thing=symbol
predicates
likes (person, thing) clauses
likes (tom, books).
likes (tom, car).
likes (tom, tennis).
likes (mary, books).
likes (mary, picture).
likes (mary, tom).
2-вариант:
predicates
likes (symbol, symbol)
clauses
likes (tom, books).
likes (tom, car).
likes (tom, tennis).
likes (tom, computer).
likes (mary, books).
likes (mary, picture).
likes (mary, tom).
Бағдарламаның орындалуын (Run) арқылы іске асырамыз, осы уақытта диалогтар терезесінен жүйе Goal шақыруын көрсетеді. Осы уақытта келесідей әрекеттердің орындалуын іске асырамыз:
Келесі сұрақтарды орындап Enter пернесі арқылы еңгіземіз:
1. likes (tom, Х) /*Томға келесілер ұнайды*/
2. likes (mary, Х)
3. likes (Х,У) /*кімге не ұнайды*/
4. likes (Х, car)
5. likes (Х, books).
6. likes (mary, tom)
7. likes (tom, mary)
Жауаптар мен шешілу барысындағы әрекеттерді түсіндіріңіз, ол жауаптар саны бірнеше болуы мүмкін.
Егер жүйе Yes жауабын бермей No жауабын берген жағдайда қандай әрекеттерді қолданасыз?
Енді сіздің айналысатын сұрақтарды қарастырайық, оларға иә және жоқ жауаптарын беру арқылы әрекет етесіз. Негізгі фактыларды көрсетіп clauses орындаңыз, ал predicates бөлімінде жаңа предикаттардың жазылуын ұмытпаңыз.
Predicates бөліміне келесілерді еңгізіңіз:
Clever (symbol)
strong (symbol)
run
hobby (symbol, symbol)
Clauses бөліміне келесілерді еңгізіңіз:
likes (kat, X):- likes (mary, X).
clever (X):- likes (X, books), likes(X, picture).
strong (X):- likes (X, tennis).
run:- write(“Ваше имя»? ”), nl, readln(N), nl,
write (N, “, Томға да сізге де ұнайды”), nl,
readln(X), hobby(X, N).
hobby(X, N):- X=”да”,
write (N, “, сізге қозғалыс ұнайды ”), nl,
readln(A), nl,
A=”да”,
write(N, “, сіз теннисті ұнатасыз”).
hobby (“да”, N):- nl, write(N, “, сіз автоны ұнатасыз”).
hobby (“нет”, N):- write(N, “, сізге тыныштық ұнайды ”), nl,
readln(B),
B=”да”,
write(N, “, сіз кітап оқығанды ұнатасыз”);
nl, write(N, “,”).
Осы жолдарды енгізу барысында қандай өзгерістерді байқадыңыз, оларға ережелер беріңіз.
Бағдарламаның Goal бөлігіне ішкі сәйкестіктер жасаңыз, бұнда белгілі бір мақсаты келесі бір мақсатты көрсетуі тиіс. Бұл енгізілген мағлұматтар бірдей орындалғанда программаның толық жауабын аласыз.
goal
likes (tom, X),
write (“X=”, X).
Ішкі мақсатпен қосымша мақсаттың орындалуын түсіндіріңіз.
Мақсатты өзгерту:
goal
likes (X, Y),
write (“X=”, X, “Y=”, Y).
Әртүрлі объектілердің типтерін қолдану арқылы берілген нұсқа бойынша өз нұсқаңыздың орындалуын қамтамасыз етіңіз және оған статикалық мәліметтер қорын ұйымдастыра отырып программа құрыңыз. Мысалы study (name, subject, numb, data).
Бұл предикат символдық және сандық аргументтерден құралады. Бағдарлама негізінде мүмкін болатын ішкі әрекеттерді көрсететін бағдарлама құрыңыз. Олар келесідей болуы қажет:
- ешбір айнымалыларсыз
- бір айнымалысы бар
- ұқсас айнымалылары бар
Мысалы программаға бірнеше ережелерді енгізіңіз:
Біледі (Х):= игереді (Х, матем.,,5).
Программист (Х):= игереді (Х, сп, Z, Y), Z>3, Y>=5.
Қойылымның ережемен қалай орындалатынын түсіндіріңіз. Программаны орындау барысында жазылатын ой ұғымы бұрын орындалуы тиіс.
Тапсырмалар нұсқасы:
1. орналасқан (мемлекет, астана, аудан)
2. қажеттілік (киім, сан, бағасы, негізі)
3. кітапхана (кітаптар, автор, бағасы, шығарылған уақыт)
4. өмір сүру (аты жөні, пәтер номері, үйдің номері)
5. студент (тегі, пәні, оқу үлгерімі, параметрлері)
6. автомобиль (типі, түсі, бағасы, сипаттамасы)
7. компьютер (тип, фирма, процессор, бағасы)
8. видео (аталуы, актерлер, жанры, шығарылған уақыты, прокат)
9. аудио (әнші, шығарылған уақыты, мерзімі, прокат, тираж саны)
10. өнім (аталуы, шығарушы, сақтау мерзімі, бағасы)
11. магазин (товар, мемлекеті, көлемі, саны)
Бақылау сұрақтары:
1. Турбо-Пролог құрылымы. Әрбір бөлімдердің сипаттамасы
2. Турбо-Пролог домендерінің берілуі
3. Ұғымдарды салыстыру
4. Фактылар мен ережелердің айырмашылығы. Ережелер қалай қалыптасады?
5. Предикаттардың ішкі мақсаттармен байланысы
Дата добавления: 2015-02-16; просмотров: 75 | Поможем написать вашу работу | Нарушение авторских прав |