Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1414-Лекции.doc
Скачиваний:
29
Добавлен:
25.12.2018
Размер:
419.84 Кб
Скачать

5 Лекция №4. Структура программы на Турбо-Прологе

Время: 2 часа (90 мин.)

5.1 Основные вопросы

- общая структура программы;

- разделы программы.

5.2 Текст лекции

5.2.2 Структура программы на Турбо-Прологе – до 10 мин.

Любая программа, написанная на Турбо-Прологе, может состоять из нескольких разделов. Начало каждого раздела программы (за исключением раздела опций компилятора) обозначается ключевым словом, за которым следует описание соответствующих программных объектов. Структура программы на Турбо-Прологе выглядит следующим образом:

/* Комментарии */

<опции компилятора>

constants /* раздел констант */

<описание констант >

domains /* раздел доменов */

<описание доменов >

database /* раздел базы данных */

<описание предикатов базы >

predicates /* раздел предикатов */

<описание предикатов >

goal /* раздел целей */

<целевое утверждение>

clauses /* раздел утверждений */

<описание фактов и правил>

/* Комментарии */

В программе на Турбо-Прологе могут присутствовать не все разделы.

Турбо-Пролог обеспечивает возможность включения в программу комментариев, которые обрамляются символами /* и */, и могут быть помещены в любом месте программы.

Турбо-Пролог является позиционно-независимой системой программирования и, поэтому, избыточные пробелы в предложениях языка игнорируются.

5.2.3 Разделы программ – до 80 мин.

5.2.3.1 Раздел опций компилятора

Раздел опций компилятора служит для установки режимов работы компилятора с помощью директив (опций). Некоторые директивы можно вводить также из Турбо-среды. Однако следует помнить, что директива в тексте программы имеет преобладающий приоритет и её нельзя отменить или заменить директивой из Турбо-среды. Краткие характеристики основных опций компилятора приводятся в ниже:

1. Опция include позволяет включать в компилируемую программу другие присоединяемые к ней программные модули. Имена этих модулей должны задаваться с расширением .pro. Формат опции:

include "<имя модуля>.pro"

2. Опция code позволяет изменять максимально возможный размер оперативной памяти, отводимый под размещение программы. По умолчанию code=1024. Здесь число задаёт количество т.н. параграфов, размер каждого из которых 16 байтов. Формат опции:

code=<целое число>

3. Опция nobreak подавляет опрос клавиатуры на поступление сигналов Ctrl-C или Ctrl-Break при выполнении предикатов программы.

4. Опция nowarning подавляет предупреждения о том, что переменная встречается только один раз, или что она не связанная (номера ошибок, выдаваемые компилятором: 420 или 3007).

5.Опция checkdeterm обеспечивает выдачу предупреждений в случае использования недетерминированных предикатов, которые в ходе возвратов (бэктрекинга) ведут к альтернативным решениям.

6. Опции trace и shorttrace используются при отладке программ.

5.2.3.2 Раздел констант

Раздел constants служит для объявления символических констант, которые используются в программе. Формат описания символических констант в Турбо-Прологе следующий:

< имя константы >=<значение константы >

Описание каждой константы размещается на отдельной строке, например:

constants

dwa =2

odin =1

sto =(10*(10-1)+10)

pi =3.14

Имя константы следует начинать с маленькой буквы. Имена констант являются глобальными (т.е. область действия констант – вся программа) и могут объявляться в программе только один раз. В программе может быть несколько разделов констант, но они должны быть обязательно объявлены до их использования. Если символические константы не используются, то раздел constants в программе будет отсутствовать.

Замечание: не допускается рекурсивное определение символических констант, т.е. не допустимо, например, следующее выражение:

sto = 2 * sto / 2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]