Prolog. Реализация на ПЭВМ

10929
знаков
0
таблиц
0
изображений

1. Интегрировання Среда языка Turbo Prolog.

2. Структура программы

3. Стандартные типы доменов

4. Прототипы предиката

5. Утверждения и цели

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

7. Встроенные прдикаты языка

1. Интегрированная среда языка Turbo Prolog.

Функционирование Т.Р. требует наличие следующих стандартных каталогов:

корневой Prolog, в котором должны находится следующие файлы:

prolog.exe

prolog.ovl для создания exe файла

prolog.r тексты сообщения об ошибках

prolog.hlp файл помощи

prolog.sys конфигурация среды

prolog.lib библиотеки

prolog.obj вспомагательный файл для создания пользов-их exe файлов

подкаталог PRO для пользовательских исходных файлов (расширение .pro)

подкаталог OBJ для пользовательских обьктных и prg файлов

подкаталог EXE для хранения пользовательских exe файлов

подкаталог DOS для команд ОС в том случае, если предполагается их использование из пользовательских программ. (min command.com)

2 Структура программы на TURBO PROLOG


1 Для определения типов доменов или данных, используемых в программе

2 описание прототипов пользовательских предикатов

3 “утверждения” включает описание фактов в виде предикатов и правил, т.е. декларативных и процедурных знаний

4 содержит цель решения задач, при его отсутствии система запрашивает цель решения задачи в окне диалога и в этом-же окне получаем ответ, при его присутствии в нем помещаем пользовательский интерфейс.

Место для печатания

-35--36--37-

readint (<целое>)

 (integer) : (0) - читает целое число, чтение заканчивается нажатием <Enter>

readreal (<вещественное>)

 (real) : (0) - вещ.

readchar(<знак>)

 (char) : (0) - читает единичный символ

readln (<строка>) (string) : (0) - читает строку символов

inkey (<знак>) (char) : (0) - заканчивается истиной, если после предыдущей операции была нажата клавиша, возвращается её код. Если не была нажата, то предикат оканчивается неудачей

nl - код двух клавиш - переход на новую строку

write (x1, x2, ...)

 (переменные и константы) : (i, i, ...) - выдает на текущее устройство записи констант и содержание переменных

writef (<формат>, x1, x2, ...)

 (string, <переменные и константы>) : (i, i, ...)

Структура формата:

“ % - m.pw “, где % - признак форматного вывода

если задан “-”, то знаки должны выравниваться по левому краю, если не задан - по правому

m - длина поля вывода

p - кол-во цифр после точки

w - тип числа, вместо w записывается f, если выводится число в десятичном виде, e - в экспотенциальной форме, q - в самом коротком формате.

Предикаты работы с символьными данными.

str_lon (<строка>, <длина>)

 (string, integer) : (i, i) (i, 0)

если задано (i, i), проверяется длина строки, если (i, 0) - возвращается длина строки

Преобразование типов

Все предикатные преобразования действуют в обе стороны. Случай (i, i) проверяет истинность для всех типов, кроме real. Преобразование между типами string, symbol и real, integer пр-ся (?) автоматически.

char_int (<знак>, <целое>)

 (сhar, integer) : (i, 0) (0, i) (i, i)

str_char (<знак как строка>, <знак>)

 (string, сhar) : (i, 0) (0, i) (i, i)

str_int (<строка>, <вещ.>)

 (string, real) : (i, 0) (0, i)

и т. д.

Работа с командами операционной системы

Необходимым условием для работы с предикатами этой группы есть наличие подкаталога DOS, в котором бы был записан минимум command.com

system (<команда OS>)

 (string) : (i) - передает команду OS

date (<год>, <месяц>, <день>)

 (integer, integer, integer) : (i, i, i) (0, 0, 0) - устанавливает, если (i, i, i), или возвращает, если (0, 0, 0) системную дату

time ... - то же

dir (<маршрут>, <спецификатор файла>, <имя файла>)

(string, string, string) : (i, i, 0) - выдаются на экран специфицированные файлы из каталога по маршруту. Возможно выбрать из каталога имя одного файла с помощью стрелок управления курсором, при нажатии <Enter> имя этого файла присваивается третьему аргументу предиката

Специальные предикаты языка Turbo Prolog

bouncl (<переменная>) - “истина, если переменная является конкретизированной

free (<переменная>) - “истина, если переменная не является конкретизированной

fail - всегда ложн. вызывает возврат для проверки базы в правилах

! - (cat) - предикат отсечения, ограничивает возврат

exit - останавливает выполнение пользовательской программы и передает управление меню Turbo Prolog

trace - общее включение режима отладки. Указывается в начале исходной программы

trace (<статус>)

 (symbol) : (i) (0) - устанавливает, если i, или возвращает, если 0, текущий режим отладки. В качестве статуса можно использовать on/off. Использование этого предиката предполагает наличие trace в начале программы

diagnostics - позволяет выдать анализ программы в процессе компиляции. Анализ включает имена используемых предикатов. Для каждого имени определяется, являются ли аргументы конкретного предиката фактами или указывается конкретность предиката.

nowarnings - отключает предупреждения в процессе компиляции

project “имя файла” - данная программа является частью проекта

include “имя файла” - в компиляцию включается файл с указанным именем

Управление ходом выполнения программ на языке ТР.


Информация о работе «Prolog. Реализация на ПЭВМ»
Раздел: Информатика, программирование
Количество знаков с пробелами: 10929
Количество таблиц: 0
Количество изображений: 0

Похожие работы

Скачать
83598
0
5

описания знания подразделяются на: 1)  Декларативные (факты) - это знания вида “А есть А”. 2)  Процедурные - это знания вида “Если А, то В”. Декларативные знания подразделяются на объекты, классы объектов и отношения. Объект - это факт, который задается своим значением. Класс объектов - это имя, под которым объединяется конкретная совокупность объектов-фактов. Отношения - определяют связи ...

Скачать
107375
20
21

... отдаетесь учебе? YTS ·  Yes ·  No На основе этих данных построим базу знаний продукционной модели с помощью простой конструкции : Если (условие), то (действие), Набор правил для экспертной системы прогнозирования сдачи сессии студентами на основании текущей успеваемости: 3.  If LIO=”Yes” and LIK=”Yes” then LI = “Yes” 4.  If LIO=”Yes” and LIK=”No” then LI = “Yes” 5.  If LIO=”No” ...

Скачать
118426
0
5

... МК, и восемь линий порта 3, которые могут быть запрограммированы пользователем на выполнение специализированных (альтернативных) функций обмена информацией со средой. Рис 3.1. Разработки на базе контроллеров Intel87C51FB поддерживается ассемблером, программным симулятором, внутрисхемным эмулятором фирмы Phyton и программатором. Серия Intel87C51FB подходит для широкого спектра приложений от схем ...

0 комментариев


Наверх