Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по языку Пролог.doc
Скачиваний:
83
Добавлен:
28.06.2014
Размер:
507.39 Кб
Скачать

6.5. Опции компилятора из меню

Для диагностики во время исполнения Турбо Пролог поддерживает две опции компилятора, которые могут быть установлены только из меню, поскольку они не имеют соответствующей директивы компилятора. Это Integer Overflow Check (Проверка переполнения целого) и Stack Check (Проверка стека), которые находятся в меню Option/Compiler Directives/Run-Time Check.

Integer Overflow Check (Проверка переполнения целого). Это опция предпишет компилятору Турбо Пролога создать код, проверяющий переполнение целого (целое значение, превышающее 32767, приводит к переполнению).

Если вы знаете, что ваши целые числа не будут приближаться к этому вызывающему переполнение значению, вы можете не задавать создание такого кода (по умолчанию проверка не производится). Если вы считаете, что ваши целые числа могут привести к переполнению, установите O/C/R/Integer Overflow Check в On и ваша программа будет предупреждать, если во время ее выполнения возникнет переполнение целого.

Stack Check (Проверка стека). Эта опция предпишет компилятору создать программу, которая будет проверять переполнение стека во время выполнения. При этом, если в вашей программе произойдет пере­полнение стека, сообщение об ошибке все же лучше, чем аварийное за­вершение. Для того чтобы отследить эту ошибку, вы можете использо­вать предикат trap (cм. документацию). Для создания такой программы установите 0/C/R/Stack Check в On.

7.Заключение

В методических указаниях были рассмотрены основные конструкции языка программирования Турбо Пролог( версия 2.0). К сожалению, из-за ограниченности объема мы не смогли рассмотреть некоторые вопросы, например, связь языка Турбо Пролог с другими языками программирова­ния, графика Турбо Пролога и т. п. На наш взгляд, эта вопросы представляют специальный интерес и никак не влияют на основную цель

изучения языка Турбо Пролога как инструментального средства по курсам “Языки программирования и методы трансляции”, "Математическая логика", "Экспертные системы", "Системы при­нятия решений". Для изучения всех дополнительных вопросов мы реко­мендуем обратиться к документации по Турбо Прологу [ 3, 43].

8. Литература:

Клоксин У. , Меллиш К. Программирование на языке Пролог. М.: Мир, 1987.

Хоггер К. Введение в логическое программирование. М.: Мир, 1988.

Turbo Prolog 2.0 User's Guide

Turbo Prolog 2.0 Reference Guide

Содержание:

ВВЕДЕНИЕ 3

1. ОПИСАНИЕ ТУРБО ПРОЛОГ СИСТЕМЫ 3

1.1. Структура меню Турбо Пролога 3

1. 2.Окна системы Турбо Пролога 8

1.3. Команды Турбо Пролог системы 10

1.3.1. Манипулирование файлами 10

1.3.2. Редактирование файла 13

1.3.3. Выполнение программы , 13

1.3.4. Компиляция программы .... ' 13

1.3.5. Изменение конфигурации среды для Пролог системы .... 16

1.3.6. Изменение конфигурации Пролог системы 16

2. ОПИСАНИЕ ТУРБО ПРОЛОГА 18

2.1. Имена 18

2.2. Константы '. 19

2.3. Выражения, переменные, структуры, списки и составные выражения 20

2.4. Программные секции 27

2.4.1. Секция констант 29

2.4.2. Секция доменов 30

2.4.3. Секция предикатов 31

2.4.4. Секция баз данных 32

2.4.5. Секция цели 32

2.4.6. Секция определения для предикатов (clauses) 34

2.5. Процесс выполнения цели в Турбо Прологе 34

2.5.1. Процесс сопоставления цели с образцом 34

2.5.2. Управление процессом поиска решения 37

2.6. Условная компиляция 40

2.7. Включение дополнительных файлов в йрограмму 41

2.8. Директивы компилятора 41

2.9. Модульное программирование 43

2.9.1. Проект и глобальные определения 43

2.9.2, Компиляция и сборка ( 1 ink) модулей 45

2.9.3, Пример 46

3. АРИФМЕТИЧЕСКИЕ НАЧИСЛЕНИЯ И ОПЕРАЦИИ СРАВНЕНИЯ 47

3.1. Арифметические выражения 48

3.2. Операции 48

3.3. Порядок вычислений 48

3.4. Функции и предикаты 50

3.5. Целочисленная и вещественная арифметика 50

3.6. Сравнение 50

3.7. Равенство и предикат равенства 52

3.8. Сравнение символов, строк и идентификаторов 55

4. ВВОД-ВЫВОД В ТУРБО ПРОЛОГЕ 66

4.1. Вывод 56

4.2. Ввод 61

4.3. Открытие и закрытие файлов 68

4.4. Переопределение стандартного ввода-вывода 70

4.5. Работа с файлами 71

5. ВНУТРЕННЯЯ БАЗА ДАННЫХ ТУРЮ ПРОЛОГА 76

5.1. Объявление внутренней базы данных 76

5.2. Обновление внутренней базы данных 78

Занесение фактов во время исполнения 79

Удаление фактов во время выполнения программы 80

5.5. Чтение новых фактов из файла во время выполнения программы 83

5.6. Сохранение базы данных во время работы программы 83

6. ТРАССИРОВКА И ОТЛАДКА ПРОЛОГ ПРОГРАММ 86

6.1. Синтаксическая проверка 88

6.2. Трассировка 89

Директива трассировки 89

Трассировка в режиме оптимизации: shorttrace 92

Трассировка предикатов 94

В.2.4. Предикат trace 95

6.2.5. Диалоговое управление трассировкой 97

6.3. Директивы компилятора и отладка 98

6.4. Сообщения об ошибках во время выполнения программы 99

6.5. Опции компилятора из меню 101

ЗАКЛЮЧЕНИЕ 101

ЛИТЕРАТУРА 102