Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Логическое программирование. Turbo Prolog 2.0.doc
Скачиваний:
72
Добавлен:
04.06.2015
Размер:
1.59 Mб
Скачать

Министерство образования и науки Российской Федерации

ФГБОУ ВПО Сибирский государственный технологический университет

Якимов с.П. Логическое программирование.

Turbo Prolog V.2.0

Красноярск

2013

С.П. Якимов, Е.М. Товбис. Логическое программирование. TurboPrologV.2.0: учебное пособие для студентов направлений 230100 «Информатика и вычислительная техника», 231000 «Программная инженерия», очной, очной сокращенной, заочной, заочной сокращенной форм обучения / С.П. Якимов, Е.М. Товбис - Красноярск: СибГТУ, 2013.- 44 с.

Рекомендуется студентам для получения базовых основ в области логического программирования и программирования на языке TurboProlog.

Утвержден на заседании кафедры информационных технологий

03.04.06 Г., протокол № 9

Рекомендован к изданию редакционно-издательским советом

СибГТУ , протокол .

© ФГБОУ ВПО «Сибирский государственный технологический университет»

© Якимов С.П., Товбис Е.М.

Содержание

Содержание 3

Введение 4

1 Введение в логическое программирование 5

2 Основные конструкции логического программирования 9

3 Структура программы на языке Пролог 13

4 Вычислительная модель логических программ 15

5 Управление выполнением программы на языке Пролог 19

5.1 BAF- метод (Backtrack After Fail– возврат после отказа) 19

5.2 CAF– метод (Cut And Fail– отсечение и отказ) 20

5.3. UDR– метод (User-Defined Repeat– повторения, управляемые пользователем) 20

6 Рекурсивные структуры данных 22

7 Программирование баз данных 25

7.1 Управление встроенной базой данных 25

7.2 Управление внешней базой данных 25

8 Лабораторный практикум 30

Все лабораторные работы выполняются и предоставляются на проверку на компьютере в среде Пролог. Для защиты лабораторных работ необходимо ответить на контрольные вопросы, указанные в конце лабораторной работы. 30

8.1 Основные конструкции логического программирования. Факты и правила (2 часа) 30

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

8.2 Вычислительная модель логических программ. Логические схемы (4 часа) 31

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

8.3 Управление выполнением программы на языке Пролог. Оконный интерфейс (4 часа) 35

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

8.4 Рекурсивные структуры данных. Списки (4 часа) 36

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

8.5 Программирование баз данных. Базы данных (4 часа) 38

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

Библиографический список 40

Приложение А Ключевые слова 41

Введение

Дисциплина «Логическое программирование» относится к вариативной части профессионального цикла и изучается в 4 семестре. Для освоения дисциплины требуются знания в области математической логики, в особенности, в части логики предикатов первого порядка. Желательно знакомство с курсом структурного программирования. В свою очередь, материал дисциплины используется в дальнейшем при изучении курсов «Интеллектуальные системы», «Теория формальных языков и компиляторов», «Параллельное программирование». Цель лабораторного практикума – дать общее представление о логическом программировании на примере языка Турбо Пролог.

Успешное освоение лабораторного практикума способствует формированию у обучающихся направления 230100 следующих профессиональных компетенций:

ПК-5 – разрабатывать компоненты программных комплексов и баз данных, использовать современные инструментальные средства и технологии программирования;

ПК-6 – обосновывать принимаемые проектные решения, осуществлять постановку и выполнять эксперименты по проверке их корректности и эффективности.

Успешное освоение лабораторного практикума способствует формированию у обучающихся направления 231000 следующих профессиональных компетенций:

ПК-12 – навыки моделирования, анализа и использования формальных методов конструирования программного обеспечения;

ПК-16 – навыки использования различных технологий программного обеспечения.

Пролог принципиально отличается от традиционных языков программирования в первую очередь тем, что в нем требуется описывать логическую модель предметной области в терминах объектов и отношений между ними без подробного описания алгоритма задачи. Программа на языке Пролог состоит из множества утверждений, каждое из которых является либо фактом (аксиомой) из заданной предметной области или правилом (теоремой), указывающим, как решение связано с заданными фактами или правилами. В настоящее время наиболее известны реализации Arity-Prolog,MProlog,TurboProlog. Все эти версии разрабатывались независимо и поэтому сильно отличаются друг от друга. Говорить о каком-либо стандарте языка затруднительно: можно изучать теоретические основы языка и какие-то его конкретные реализации.

В настоящем учебном пособии в качестве инструмента для изучения основ логического программирования используется разработка фирмы BorlandInternational(США, 1985)– Турбо Пролог, версия 2.0.