Жұмыстың орындалу реті
Программада бір есепті бірнеше рет орындау қажет болған жағдайда қайталау ережесі және рекурсия қолданылады. Өз-өзін компонента түрінде құрастыратын ереже - рекурсия деп талады.
Рекурсияны басқару үшін рекурсияның аяқталу шартын беруіміз қажет. Бұл тізімдерді өңдеу кезінде эффективті болып келеді.
Тапсырмалар және оларды орындау реті
2.1 Рекурсияны қолданатын кі программа берілген. Программаның қай бөлігінде рекурсия қолданылатынын түсіндіріңіз.
1-ші программа:
Predicates
Playit
Play(integer)
Test(integer, integer)
Generate(integer)
Goal
Playit.
Clauses
Playit :-
Generate(X),
Play(X).
Generate(X):-
Random(R),
X=1+R*100,
Nl, write(“мен бір сан ойладым”).
Play(X) :-
Nl, write(“санды енгіз”),
Nl, reаdint(G),
Test(X,G),
Play(X).
Test(X,G) :-
X=G,
Nl, write(“дұрыс”),
Nl, readchar(_),
Exit.
Test(X,G) :-
XNl, write(“кіші”),
Test(X,G) :-
X>G,
Nl, write(“үлкен”).
2-ші программа
Predicates
Fact(integer, integer0
Clauses
Fact(1,1) :- !.
Fact(N,F) :-
M=N-1,
Fact(M,P),
F=P*N.
Бақылау сұрақтары
Рекурсия дегеніміз не?
! таңбасы нені білдіреді?
Шекті шарты қалай қойылады?
Практикалық сабақ №3
Тақырыбы: Кері қайту және үзу. Қайтымды іздеу алгоритмі
Сабақтың мақсаты: Студенттерді Пролог тіліндегі іздеу алгоритмінің негіздерімен таныстыру, есептерді арқылы алған білімдерін шыңдау
Материалдар және жабдықтар: ДК, Turbo Prolog программалау ортасы
Тапсырмалар
АҚШ-тағы орташа салық төлеуші – бұл үйленген, екі баласы бар, айына 500-2000$ аралығында айлық алатын адам. Special_taxpayer предикатын сипаттау. Бұл предикат салық төлеушінің жоғарыдағы шарттарының бірі орындалмаған жағдайда орындалуы керек.
Теннис клубындағы ойыншылар үш лигаға бөлінген, және қарсыласы ретінде өз лигасының немесе төмен орналасқан лиганың ойыншысын жарысқа шақыра алады. Клубтың ойыншыларының ішінен мүмкін болатын жұптарды анықтау программасын жазыңыз.
Кітапханадағы кітаптардың сипаттамаларынан тұратын предикат берілген. Бет саны 300 беттен тұратын кітаптарды анықтайтын программа құрыңыз.
Жан – жануарлар туралы: түрі, өмір сүру ортасы белгілі болсын. Суда жүзе алатын жануарларды аныұтайтын программа жазыңыз.
Шахмат клубының ойыншыларының аты және жасы көрсетілген предикат берілген. 9 жастағы ойыншылар арасына турнир өткізіуі керек босын. Клуб ойыншыларының ішінен мүмкін болатын ойыншылары анықтау.
Жұмыстың мазмұны және орындалу тәртібі:
Вариант бойынша тапсырманы алу
Есептің қойылымы
Есепті шешу алгоритмі
Есепті шешу программасын Turbo Prolog программалау ортасында құру
5.Программа листингі
6.Орындалған жұмыс жөнінде есеп беру
Достарыңызбен бөлісу: |