» » » У Клоксин - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ


Авторские права

У Клоксин - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ

Здесь можно скачать бесплатно "У Клоксин - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Рейтинг:
Название:
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ
Автор:
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ"

Описание и краткое содержание "ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ" читать бесплатно онлайн.



Книга английских специалистов, содержащая описание основ логического программирования и особенностей языка Пролог – базового языка ЭВМ пятого поколения. Области применения этого языка связаны с разработкой экспертных систем, интеллектуальных баз данных, обработкой естественного языка, разработкой компиляторов ЭВМ. Книга полезна для первого ознакомления с языком Пролог.






Имена и назначение встроенных предикатов сильно отличаются от рассмотренных в данной книге. Ниже приводится краткое описание некоторых из предусмотренных средств.

Тип терма можно проверить с помощью предикатов NUM, CON, VAR, которые согласуются с базой данных, соответственно, в случае чисел, констант (атомов) и переменных. Кроме того, предикат SYS проверяет, является ли константа именем встроенного предиката, предикат 1NT обеспечивает проверку на целое число.

Для работы с базой данных используются предикаты: ADDCL (аналогичен assert), CL (аналогичен clause) и DELCL (аналогичен retract) В этих предикатах можно задавать дополнительный целочисленный аргумент N с тем, чтобы можно было обрабатывать N-e утверждение процедуры.

Поскольку единственным видом терма в микро-Прологе является список, то предикат вида ' =..' здесь не нужен. Предикат STRING позволяет программисту создавать новые атомы и осуществлять доступ к внутренней структуре имени атома аналогично тому, как это делается с помощью предиката name.

Составные цели в микро-Прологе можно конструировать с помощью встроенных предикатов OR, NOT и IF. Предикат FAIL вызывает немедленную неудачу в согласовании цели. Предусмотрено также и «отсечение», которое обозначается с помощью литеры '/'.

Арифметические действия реализуются посредством нескольких предикатов, вместо одного is. Арифметические предикаты максимально «обратимы», поэтому, например, цель

(SUM х у г)

вызывает сопоставление z с суммой х и у, если х и у конкретизированы. С другой стороны, если сначала конкретизированы у и r, а х – нет, то х будет конкретизирован разностью z-у.

Операции с файлами в микро-Прологе аналогичны тем, что имеются в базовом Прологе, с той лишь оговоркой, что здесь нет понятия текущего потока ввода или текущего потока вывода. Вместо этого вывод в файл и ввод из файла осуществляются, соответственно, через предикаты WRITE и READ с указанием каждый раз имени файла. Предусмотрены специальные предикаты, обеспечивающие удобства при вводе-выводе через терминал пользователя.

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

Средства отладки

В микро-Прологе предусмотрена возможность трассировки программы, однако средства трассировки должны быть предварительно загружены с помощью предиката LOAD. При трассировке выдается информация о процессе согласования всех целей, не содержащих встроенных предикатов. В моменты возникновения событий CALL, EXIT и FAIL, которые именуются, соответственно, как ENTER, FINISH и FAIL, выдаются соответствующие сообщения. Пользователю разрешается в момент события CALL вмешиваться в ход трассировки и задавать команды CONTINUE (продолжить выполнение с трассировкой), SKIP (прервать трассировку до завершения текущей цели), FINISH (немедленное согласование текущей цели) и FAIL (немедленная неудача в согласовании текущей цели).

Литература

Clark K.L., Mc-Cabe F.G. Micro-PROLOG: Programming in Logic, Prentice-Hall, 1984. [Русский перевод: Клар К., Маккейб Ф. Введение в логическое программирование на микро-Прологе.- М,; Радио и Связь, 1987.]

ПРИЛОЖЕНИЕ F. СИСТЕМА МПРОЛОГ[19]

В этом приложении описывается система МПролог, разработанная в Институте по координации вычислительной техники (SZKI), г. Будапешт. Название системы МПролог отражает тот факт, что в этой системе предусмотрены средства для модульной разработки программ. Кроме того, в ней поддерживается более 200 встроенных предикатов, рассчитанных на различные области применения.

Синтаксис МПролога совместим с синтаксисом Пролога-10 (см. приложение D), и почти все встроенные предикаты Пролога-10 предусмотрены также и в МПрологе.

Пролог доступен на следующих вычислительных комплексах:

ЭВМ Операционные системы VAX-11 VMS, UNIX IBM VM/CMS, MVS Siemens BS2000 M68000 UNOS, UNIX-подобные системы

Одна из версий МПролога (так называемый мини-МПролог) предназначена для микро- и мини-ЭВМ. Первая реализация этой системы применяется на ЭВМ IBM PC с ОС MSDOS.

Пример сеанса работы

Ниже приводится пример сеанса работы с подсистемой разработки программ (PDSS) системы МПролог,

В системе МПролог средства диалоговой разработки программ отделены от интерпретатора и реализованы в подсистеме PDSS, которая исполняет команды первичного ввода, редактирования, выполнения, трассировки и другой обработки модулей МПролога. Подсистема PDSS также позволяет задавать значительное число глобальных параметров, определяющих режимы работы команд. Например, параметр line_length (длина_строки) задает длину выводимых строк при специально форматированном выводе утверждений.


DO $S.MPRO.PDSS

MPROLOG (V1.4) Program Development Subsystem 1.4:4 (

c) 1982 Institute for Coordination of Computer Techniques (SZKI), Budapest.

По команде help выводится общая вспомогательная информация о возможностях PDSS (# означает приглашение системы)[20];

* help Команда; h[elp] [ТЕМА…]

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

Можно получить информацию по следующим темам:

all_global all_symbolic all_visible body bye coded consult declaration delete dynpart edit enter exception_handling execute export face focus global goal help hidden import insert interface list local match_order mode modify module move next nonprolog operator options previous query read rename replace reply reset rungoal savemod selectors set solutions status symbolic trace type untimed untrace visible =

Сведения по конкретной теме, например по теме module, указанной в третьей колонке, можно получить следующим образом:

*help module

Команда: m[odule] [ИМЯ]

Делает модуль ИМЯ текущим модулем. Если ИМЯ опущено, то текущим модулем становится `неименованный_модуль'. После этой команды никакое утверждение не помещается в поле зрения.

Возможности PDSS позволяют разрабатывать несколько модулей. Данный сеанс начинается с команды module, создающей модуль, в который затем будут помещаться определения предикатов.


* module first

MODULE first

* enter hates(ann,john).

PREDICATE hates/2

*?- hates(kate,X).

NO


Команда enter используется здесь для дополнения модуля first новым утверждением. На основе одного этого утверждения ответ на вопрос hates(kate, X) получается отрицательным.

В то же время, когда утверждений, относящихся к данному целевому утверждению, вообще нет, система ведет себя по-другому: такая ситуация рассматривается как особая, и она обрабатывается стандартным обработчиком особых ситуаций PDSS:


*?- likes(X,Y).

Exception -505: undefined predicate In call of likes(_425,_426) Function (h for help)?

* h

 p – enter new PDSS level

 b – backtrace

 a – abandon execution

 с – continue

 f – fail

 s – contents of the stack

 r - redo the broken call

 i – user handled interrupt

 h – help Function (h for help)'

* f

NO


Здесь enter new PDSS level означает выход на новый уровень команд PDSS (аналогично команде break в Прологе-10), backtrace означает вывод списка предшественников ошибочного вызова (аналогично команде backtrace в Прологе для PDP-11 с ОС UNIX).

После завершения указанных выше действий пользователь может запросить другие действия. Предикаты continue и fail продолжают приостановленное выполнение программы так, как если бы вместо особой ситуации имела место согласованность или несогласованность цели с базой данных. В данном случае ввод f приводит к ответу NO.

Однако систему МПролог можно заставить вести себя так, как Пролог-система, описанная в книге. Для этого достаточно в качестве обработчика особой ситуации для undefined predicate задать целевое утверждение fail:


*?- newhandler("undefined predicate",fail).

Yes

*?- likes(X,Y).

No


Будем считать, что файл test содержит ту же самую последовательность утверждений, что и в предыдущих приложениях. Тогда мы можем считать содержащиеся в нем утверждения в базу данных. При этом, если параметр auotostate не в состоянии «off» (выключено), то будет выводиться функтор (т. е. имя/число аргументов) читаемых из файла предикатов.


*?- [test]. likes/2

Yes

*?- listing(likes/2).

likes(john,alfred).


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ"

Книги похожие на "ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора У Клоксин

У Клоксин - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "У Клоксин - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ"

Отзывы читателей о книге "ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.