Федеральное агентство по культуре и кинематографии Кемеровский государственный университет культуры и искусств Кафедра технологии автоматизированной обработки информации Е. Н. Прыкина ОСНОВЫ ЛОГИЧЕСКОГО ПРОГРАММИРОВАНИЯ В СРЕДЕ ТУРБО ПРОЛОГ Учебное пособие по курсу «Экспертные системы» для студентов специальностей 080801 «Прикладная информатика (в информационной сфере)», «Прикладная информатика (в социально-культурной сфере)» Кемерово 2006 1 УДК 50 ББК 32.973 стд 1–018 П85 Рецензенты: кандидат физико-математических наук, доцент кафедры теоретической физики Кемеровского государственного университета М. Л. Золотарев; кандидат технических наук, доцент, зав. кафедрой технических дисциплин филиала Российского государственного профессионально-педагогического университета в г. Кемерово А. Н. <...> Пролог – язык высокого уровня, ориентированный на использование концепций и методов математической логики. <...> Одним из основных методов программирования является рекурсия. <...> Пролог – язык программирования, хорошо приспособленный для автоматизации различных форм логических рассуждений. <...> Строительными блоками программы являются множество объектов определенной структуры, а также функции и отношения, связывающие эти объекты. <...> 5 В основу языка Пролог положена математическая модель теории исчисления предикатов, в рамках которой предикат – отношение, существующее между некоторым фиксированным набором аргументов. <...> С точки зрения логики предикатов элементарные выражения имеют вид: ��(a ,.a ),n 1 n , где �� – имя предиката�� a1 a,. – аргументы. <...> Аргументом предиката может быть константа, переменная или составной объект. <...> В Прологе выражение «Париж – столица Франции» запишется в виде: ��(� �),(� ��,,, �), где �� – предикат, выражающий отношение «являться столицей», �, объекты «Париж, Франция», связанные отношением ��. <...> Сначала записы�, � – писывается имя отношения (предикат), затем в круглых скобках через запятую его <...>
Основы_логического_программирования_в_среде_Турбо_Пролог.pdf
Федеральное агентство по культуре и кинематографии
Кемеровский государственный университет культуры и искусств
Кафедра технологии автоматизированной обработки информации
Е. Н. Прыкина
ОСНОВЫ ЛОГИЧЕСКОГО
ПРОГРАММИРОВАНИЯ
В СРЕДЕ ТУРБО ПРОЛОГ
Учебное пособие
по курсу «Экспертные системы» для студентов специальностей
080801 «Прикладная информатика (в информационной сфере)»,
«Прикладная информатика (в социально-культурной сфере)»
Кемерово 2006
1
Стр.1
УДК 50
ББК 32.973 стд 1–018
П85
Рецензенты:
кандидат физико-математических наук, доцент кафедры теоретической
физики Кемеровского государственного университета
М. Л. Золотарев;
кандидат технических наук, доцент, зав. кафедрой технических
дисциплин филиала Российского государственного
профессионально-педагогического университета в г. Кемерово
А. Н. Садохин
Прыкина Е. Н.
П85 Основы логического программирования в среде Турбо Пролог
[Текст]: учебное пособие по курсу «Экспертные системы» /
Е. Н. Прыкина. – Кемерово: Кемеров. гос. ун-т культуры и искусств,
2006. – 68 с.
ISBN� 5–815�–0130–7
В пособии Е. Н. Прыкиной, канд. физ.-мат. наук, доцента кафедры ТАОИ, рассматриваются
основные методы логического программирования. Рекомендуется
студентам специальностей «Прикладная информатика (в информационной сфере)»,
«Прикладная информатика (в социально-культурной сфере)».
УДК 50
ББК 32.973 стд 1–018
ISBN� 5–815�–0130–7
© Прыкина Е. Н., 2006
© Кемеровский государственный университет
культуры и искусств, 2006
2
Стр.2
ствии с которым программа описывает логическую структуру решения
задачи, указывая преимущественно, что «нужно сделать», не вдаваясь в
детали того, «как это делается».
Стр�кт�ра – это сложный объект данных, состоящий из совокупности
других объектов, называемых компонентами.
���р�ы – объекты данных в Прологе. Терм может быть константой,
переменной или составным термом (структурой).
Унификаци� (�т����ствл��ни��, с��лас�вани��) – процесс нахождения
соответствия между целью и фактом в базе знаний либо правилом.
Если такое соответствие обнаружено, унификация считается успешной.
Факты – простейшие виды утверждения. Факты используются
для констатации того, что выполнено некоторое отношение между
объектами.
Ц��ль (ц��л��в��� �тв��р�д��ни��) – некоторое утверждение, проверка
истинности которого производится Прологом при помощи унификации.
Ша� р��к�рсии – это правило, в теле которого обязательно содержится,
в качестве подцели, вызов определяемого предиката.
С�ДЕРжАНИЕ
Введение.................................................................................................... 3
Глава 1. �сн�вны�� ��н�ти� ��р�� Пр�л��а
1.1. Понятие логического программирования........................................ 5
1.2.Типы предложений............................................................................. 7
1.3. Объекты данных – термы.................................................................. 12
1.�. Встроенные предикаты...................................................................... 1�
66
Стр.66
1.5. Структура программы Турбо Пролога............................................. 18
1.6. Знакомство со средой Турбо Пролога.............................................. 25
Задания для самостоятельной работы.................................................... 28
Глава 2. Р��к�рси� и ��ра��тка с�иск�в
2.1. Рекурсия как основной прием программирования в Прологе....... 30
2.2. Представление списков..................................................................... 33
2.3. Операции над списками.................................................................... 35
Задания для самостоятельной работы.................................................... �2
Глава 3. С�здани�� экс���ртны�� сист��� на Пр�л���� на �ри���р��
и�р�вы�� �р��ра��
3.1. Задача о восьми ферзях..................................................................... �3
3.2. Ханойские башни............................................................................... �5
3.3. Экспертная система «Игра в города»............................................... �7
Задания для самостоятельной работы..................................................... 53
Приложение 1. Стандартные предикаты........................................... 5�
Приложение 2. Назначение клавиш, используемых при работе
с редактором.................................................................. 61
Литература................................................................................................. 62
Предметный указатель.............................................................................. 63
Глоссарий.................................................................................................. 65
67
Стр.67