19

Использование отсечения в пролог-программах. Определение возрастного статуса человека

Лабораторная работа

Информатика, кибернетика и программирование

Определение возрастного статуса человека по известному году рождения в соответствии с таблицей. Разработка двух вариантов программы: без отсечения и с использованием отсечения.

Русский

2012-11-17

34.73 KB

44 чел.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И РОБОТОТЕХНИКИ

Кафедра «Программное обеспечение вычислительной техники и

автоматизированных систем»

ОТЧЁТ

по лабораторной работе №5

к дисциплине

«Функциональное и логическое программирование»

Тема: «ИСПОЛЬЗОВАНИЕ ОТСЕЧЕНИЯ В ПРОЛОГ-ПРОГРАММАХ» 

Выполнили:  ст.  гр. 107310 Абросимова С.А., Синькевич Я.А.

Приняла: Ковалькова И.А.

 

2011-2012 учебный год

ЛАБОРАТОРНАЯ РАБОТА

ИСПОЛЬЗОВАНИЕ ОТСЕЧЕНИЯ В ПРОЛОГ-ПРОГРАММАХ

Цель лабораторной работы: приобретение  практических навыков использования отсечения в программах на Турбо-Прологе.

Постановка задачи:

Определить возрастной статус человека по известному году рождения в соответствии с таблицей. Разработать два варианта программы: без отсечения и с использованием отсечения.

Возраст, лет

Статус

< 2

Младенец

2 – 12

Ребенок

12 – 16

Подросток

16 – 25

Юноша

25 – 70

Мужчина

70 – 100

Старик

> 100

долгожитель

Результаты лабораторной работы:

Рисунок 1 – Результат работы программы

Контрольные вопросы:

  1.  Для чего используется отсечение?

Ответ: Они существуют для ограничения или исключения перебора в программе, для программировании взаимоисключающих утверждений, для необходимости неудачного завершения доказательства цели.

  1.  Как обозначается отсечение в программе?

Ответ: !.

  1.  Механизм работы отсечения.

Ответ: Отсечение реализуется следующим образом: после согласования целевого утверждения, стоящего перед отсечением, все предложения с тем же предикатом, расположенные после отсечения, не рассматриваются.

  1.  «Красное» и «зеленое» отсечения.

Ответ: Зелеными называются те из них, при отбрасывании которых программа продолжает выдавать те же решения, что и при наличии отсечения. Если же при устранении отсечений программа начинает выдавать неправильные решения, то такие отсечения называются красными.

  1.  Какое отсечение, «красное» или «зеленое» , в процедуре max2 ?

Ответ: «красное».

  1.  Повлияет ли на результат удаление отсечения в процедуре max2 ?

Ответ: Да, повлияет.

  1.  Что происходит после выполнения комбинации !, fail?

Ответ: когда встретится предикат fail, который всегда вызывает состояние неудачи, то стоящий перед ним предикат отсечения остановит работу механизма возврата и в результате ответом на запрос будет No Solution (Нет решения).

  1.  Могут ли располагаться подцели после предиката fail ?

Ответ: нет.

  1.  Декларативный и процедурный смысл Пролог-программы.

Ответ: так называемый декларативный стиль, в котором программа представляет собой совокупность утверждений, описывающих фрагмент предметной области или сложившуюся ситуацию. Программируя в декларативном стиле, программист должен описать, что нужно решать. Традиционно под программой понимают последовательность операторов (команд, выполняемых компьютером). Этот стиль программирования принято называть процедурным.

  1.  Важен ли порядок следования предложений в процедурах max1 и max2 ?

Ответ: нет, не важен.

Выводы:

Приобрели практические навыки, научились использовать отсечения на языке пролог.


ПРИЛОЖЕНИЕ

Листинг исходного кода программы:

predicates

nondeterm voz( integer, integer, string).

nondeterm result.

clauses

voz(X,Y,"младенец") :- X=2012-Y, X<2, !.

voz(X,Y,"ребёнок") :-X=2012-Y, X<12, !.

voz(X,Y,"подросток") :- X=2012-Y,X<16, !.

voz(X,Y,"юноша") :- X=2012-Y,X<25, !.

voz(X,Y,"мужчина") :-X=2012-Y, X<70, !.

voz(X,Y,"старик") :- X=2012-Y,X<100, !.

voz(X,Y,"долгожитель") :-X=2012-Y, X>100, !.  

result :- write("Введите год рождения: "), nl, readint(Y), voz(_,Y,Z), write("Данный возраст соответствует группе  ", Z), nl.

goal

result.

/*

predicates

nondeterm voz( integer,integer, string).

nondeterm result.

clauses

voz(X,Y,"младенец") :- X=2012-Y, X<2.

voz(X,Y,"ребёнок") :-X=2012-Y, X<12, X>2.

voz(X,Y,"подросток") :- X=2012-Y,X<16, X>12.

voz(X,Y,"юноша") :- X=2012-Y,X<25, X>16.

voz(X,Y,"мужчина") :-X=2012-Y, X<70, X>25.

voz(X,Y,"старик") :- X=2012-Y,X<100, X>70.

voz(X,Y,"долгожитель") :-X=2012-Y, X>100.  

result :- write("Введите год рождения: "), nl, readint(X), voz(X,Y), write("Данный возраст соответствует группе  ", Y), nl.

goal

result. */


 

А также другие работы, которые могут Вас заинтересовать

1832. ОПЕРАТИВНОЕ РЕШЕНИЕ ТВОРЧЕСКИХ МЫСЛИТЕЛЬНЫХ ЗАДАЧ В СТРУКТУРЕ ПОЗНАВАТЕЛЬНЫХ СПОСОБНОСТЕЙ ШКОЛЬНИКОВ 1.31 MB
  Развитие представлений о теориях мыслительных и творческих способностей в отечественной и зарубежной психолого-педагогической науке. Организация и методы экспериментального исследования способностей к оперативному решению творческих мыслительных задач в структуре познавательной деятельности школьников. Зависимость успешности учебной деятельности школьников от возраста, гендерных особенностей и проживания в различных населенных пунктах.
1833. МЕТАФОРА В МЕТАЯЗЫКЕ ЛИНГВИСТИКИ 1.31 MB
  Цель настоящего исследования заключается в выявлении и анализе основных метафорических моделей, определяющих направление и результат познания языка-объекта и репрезентируемых в многочисленных конвенциональных и авторских метаязыковых метафорических выражениях.
1834. Отстранение в аспекте сопоставительной стилистики и его передача в переводе (на материале английского и русского языков) 1.56 MB
  Концепция остранения у отечественных и зарубежных исследователей (психология, филология, переводоведение). Психологический подход к остранению. Выделение подразумеваемого и наличествующего понятий. Плеонастические определения. Остранение и авторская позиция. Характерные контексты.
1835. КОНСТИТУЦИОННО-ПРАВОВОЕ РЕГУЛИРОВАНИЕ ПОЛИТИЧЕСКОГО УЧАСТИЯ ГРАЖДАН В ОСУЩЕСТВЛЕНИИ ГОСУДАРСТВЕННОЙ ВЛАСТИ 1.31 MB
  Взгляды на формы политического участия граждан в осуществлении государственной власти. Становление современного конституционного законодательства о формах политического участия граждан в осуществлении государственной власти. Тенденции развития и совершенствования российского конституционного законодательства о формах политического участия граждан в осуществлении государственной власти.
1836. ПЕДАГОГИЧЕСКИЕ УСЛОВИЯ ОБЕСПЕЧЕНИЯ КАЧЕСТВА ОБУЧЕНИЯ СТУДЕНТОВ ЭКСТЕРНАТА В ВУЗЕ 1.3 MB
  Теоретическое обоснование педагогических условий обеспечения качества обучения студентов экстерната. Апробация условий обеспечения качества подготовки экстернов в системе высшего образования. Экспериментальная проверка педагогических условий обеспечения качества подготовки специалистов в форме экстерната в вузе.
1837. ФЛОРА ПРИКАЛАУССКОГО ФЛОРИСТИЧЕСКОГО РАЙОНА (ЦЕНТРАЛЬНОЕ ПРЕДКАВКАЗЬЕ) И ЕЕ АНАЛИЗ 1.3 MB
  Физико-географическая характеристика Прикалаусского флористического района. Вопросы фитосозологии и перспективы использования. Конспект флоры Прикалаусского флористического района. Список редких, охраняемых и нуждающихся в охране видов Прикалаусского флористического района. Иллюстрации эндемичных и реликтовых видов флоры Прикалаусского флористического района, занесенные в Красную книгу Ставропольского края
1838. VBScript Scripting Reference 1.3 MB
  Working with the Properties Tables. ExportOptionsIllustrator. PDFSaveOptions. Running JavaScript based Action Manager code from VBScript. Appendix A: Event ID Codes.
1839. ПАРАЛЛЕЛИЗМ ИЗМЕНЕНИЙ ДЕРМАТОГЛИФИКИ, ЭНДОКРИННОГО И ПСИХИЧЕСКОГО СТАТУСА В ПОПУЛЯЦИИ ДЕТСКОГО НАСЕЛЕНИЯ, ПРОЖИВАЮЩЕГО В РАЙОНАХ С ВЫСОКОЙ АНТРОПОГЕННОЙ НАГРУЗКОЙ 1.3 MB
  Современное состояние окружающей среды (региональные аспекты). Генетические детерминанты формирования рельефа кожи пальцев рук и ладоней человека. Методика исследования кожного узора кисти человека. Методы исследования функционального состояния центральной нервной системы. Особенности эндокринного статуса подростков, проживающих в экологически неблагоприятных условиях.
1840. ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ СИСТЕМЫ УПРАВЛЕНИЯ ЗАПАСАМИ НА ОСНОВЕ ПРИМЕНЕНИЯ МЕТОДОВ ИНФОРМАЦИОННОЙ ПОДДЕРЖИ ПРИНЯТИЯ РЕШЕНИЙ 1.29 MB
  Анализ состояния и пути повышения эффективности систем управления запасами на машиностроительных предприятиях. Структуризация процессов управления и производственного процесса. Методика определения оптимального графика поступлений запасов. Применение разработанных методик и оценка эффективности их использования.