Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

docs / PROLAB2

.DOC
Скачиваний:
26
Добавлен:
17.04.2013
Размер:
42.06 Кб
Скачать

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОННОЙ ТЕХНИКИ

Кафедра Проектирования И Конструирования Интегральных МикроСхем

Курс: Экспертные системы в САПР СБИС

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

Основы декларативного программирования в Турбо-прологе.

Подготовил: Авдеев Е.В.

Москва, 2000 г.

1. ВВЕДЕНИЕ. Система программирования Turbo-prolog получила широкое распространение и приобрела многочисленных сторонников. Разнообразные диалоговые и сервисные возможности выделяют ее среди других Prolog-систем.

2. СТРУКТУРА ПРОГРАММЫ. Обычно программа на Turbo-Prolog имеет в своем составе произвольное количество произвольно следующих друг за другом разделов:

constants - объявление констант

domains - объявление типов данных

predicates - объявление предикатов

clauses - объявление фактов и правил

Содержимое разделов constants и domains может отсутствовать, но для улучшения читабельности и ясности программы рекомендуется всегда описывать константы и домены в тексте.

Раздел определения цели goal может быть только один или может отсутствовать, если цель определяется в диалоге. Если раздел goal присутствует, в нем определяется цель, которую необходимо достичь для решения поставленной задачи. Цель может состоять из нескольких подцелей. Если разрабатываемая программа предназначена для работы в пакетном режиме, т.е. если необходимо создать exe - файл, раздел goal не может быть опущен.

В программе могут присутствовать еще два раздела, обеспечивающие определение глобальных доменов и предикатов: global domains ; global predicates . Определение типов данных и предикатов в этих разделах позволяет обеспечить межмодульный интерфейс.

Наконец, перед разделом predicates может быть дополнительный раздел , содержащий определение предикатов динамической базы данных. Этот раздел называется database

Таким образом, программа на Turbo-Prolog может состоять из следующих разделов :

clauses, constants , database, domains , global domains, global predicates, goal, predicates .

Раздел predicates

В этом разделе определяются предикаты (отношения). Каждый предикат определяется со своим именем и аргументами (параметрами). Если типы данных некоторых аргументов предопределены, то они должны быть описаны заранее в разделе domains.

Раздел clauses

В этом разделе определяются факты и правила. Факт представляется именем предиката, за которым следуют аргументы, заключенные в круглые скобки. Заканчивается запись факта точкой. Все имена предикатов должны начинаться со строчной буквы.

Правило состоит из заголовка и тела. Заголовок представляет собой предикат, тело состоит из термов, которые могут быть связаны между собой словами or или and (в транскрипции 'Turbo-Prolog' ";" и ","). Между заголовком и телом стоит знак ":-", означающий "если". Каждое правило должно заканчиваться точкой. Имена переменных должны начинаться с прописной буквы и могут содержать буквы, цифры и знак подчеркивания "_". Максимальная длина имени - 250 знаков. Особую роль играют несвязанные переменные, они представляются знаком "_".

Комментарии

Комментарии могут располагаться в произвольных местах программы. Они начинаются с символов "/*" и заканчиваются символами "*/".

3. ТИПЫ ДАННЫХ

Symbol - последовательность букв, цифр и знаков подчеркивания, начинающаяся со строчной буквы или заключенная в кавычки.

String - любая последовательность символов, заключенная в кавычки.

Char - отдельный символ, заключенный в апострофы.

Integer - целое число в диапазоне от -32768 до 32767.

Real - любое число, которое может быть представлено в экспоненциальной форме.

File - имя файла

Примеры:

symbol - person, a1, b2, auto_nummer, "Prolog";

string - "хорошая погода", "123 / 234", "Кочан";

char - 'f', '5', '!','*';

integer - 4, 24, -975;

real - 34, 0.245, -234.22;

file - Peter, ballista, new4.

Данные типа symbol в отличие от данных типа string находятся в таблице символов. А таблица символов располагается в оперативной памяти. Поэтому использование данных типа symbol ускоряет работу программы, однако вначале, для построения таблицы символов, требуется дополнительное время.

Запуск системы

Распаковать на диск D файл prolog00.arj с созданием каталога LRPR2000

arj x -r prolog00.arj d:\

Система запускается файлом prolog.exe из каталога LRPR2000. Появляется главное меню со стандартным для Turbo-среды набором опций и четыре рабочих окна : редактирования, диалога, сообщений и трассировки. Снизу выводятся значения функциональных клавиш.

Лабораторные средства:

каталог LRPR2000 с подкаталогом GEOLAB и файлами

prolog.exe - экспертная оболочка "Тurbo-prolog",

prolog.cfg - текущая конфигурация системы,

prolog.err - расшифровка диагностических кодов,

prolog.hlp - описание системы "Turbo-prolog",

prolog.lib, prolog.ovl - вспомогательные подсистемы "Тurbo-prolog".

prolab1-..-8.doc - описания лабораторных работ 1-..-8.

work1-..-8.pro - рабочие файлы, содержащие на языке "Тurbo-prolog" примеры программ

ТИПОВАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ ЛАБОРАТОРНОЙ РАБОТЫ 2:

1) Распаковать на диск D файл prolog00.arj с созданием каталога LRPR2000

arj x -r prolog00.arj d:\

2) Изучить лабораторное задание prolab2.doc и войти в оболочку prolog.exe

3) Инициализировать и практически изучить всесторонне возможности интерфейса экспертной оболочки "Turbo-prolog".

4) Изучить структуру и функции программы РОДСТВО на языке Турбо-ПРОЛОГ

в файле work2.pro, скомпилировать и выполнить ее, меняя цель в диалоге.

5) Разработать, ввести, скомпилировать и исполнить как с внутренней, так и с внешней целью, программу ТРАНЗИСТОР, описывающую взаимоотношения вложенности плоских элементов топологии объекта

БИПОЛЯРНЫЙ ТРАНЗИСТОР С ИЗОЛЯЦИЕЙ P-N ПЕРЕХОДОМ

При разработке программы использовать предикаты типа : вписан; вложен.

Построить предикаты - соседствует, описан, внутри, снаружи, невложен.

6) Сдать лабораторную работу 2, предъявив результаты ответов программы на вопросы преподавателя, и сохранить нужные Вам файлы в Вашем Рабочем Каталоге.

7) Уничтожить созданный Вами каталог LRPR2000 на диске D со всем содержимым.

Е.Авдеев 01.09.00.

Соседние файлы в папке docs