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

Здесь есть возможность читать онлайн «У Клоксин - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

• Если ваша Пролог-система не позволяет вернуться к прежнему состоянию после использования редактора и изменения ваших программных файлов, то вам придется запустить Пролог и применить предикат consultко всем вашим программным файлам, находящимся на внешней памяти.

Этот процесс можно упростить, если завести отдельный файл, состоящий из команд для Пролога, предписывающих применить предикат consultко всем файлам вашей программы. Тогда для того, чтобы считать в память всю программу, достаточно предложить Прологу применить consultк этому отдельному файлу. Например, если вы предложите Прологу применить consultк файлу, содержащему:

?- [filel,file2,file3].

?- [file4,file5,fileб].

то в результате будут считаны в память все файлы file1, file2, file3, file4, file5, file6.

Иногда изменения в программе кажутся столь незначительными, что их можно ввести с терминала с помощью предикатов consult(user)или reconsult(user). Однако не следует пользоваться этим способом слишком часто. По невнимательности можно легко забыть какие-либо мелкие изменения, которые вносились таким способом, и при выполнении программы вновь столкнуться с теми же ошибками, которые встречались при прошлом запуске программы. Кроме того, поскольку в конечном итоге вы намерены внести исправления в ваши программные файлы, то нерационально повторять их прямой ввод с терминала. Итак, не поддавайтесь искушению вводить утверждения прямо с терминала в надежде поскорее заставить программу работать.

Ниже приводится небольшой пример того, как можно использовать предикаты consultи reconsult, чтобы внести изменения в программу с терминала. Этот сеанс работы начинается, когда в базе данных программиста нет ни одного утверждения.

?- присоединить([а,b,с,d],[е],Х).

нет

?- consult (user).

присоединить([А|В],С,[А|D]):- присоединить(А,С,D).

присоединить([],Х,Х).

обр([],[]).

обр([А|В],С):- o6p(B,D), присоединить(D,[А],С).

/* ввод литеры – признак конца файла */

да

?- обр([a,b,c,d,e],X).

нет

?- присоединить([а,b,с,d,е], [f],Х).

нет

?- присоединить([],[а,b,-],Х).

X = [а,b,с]

да

?- reconsult(user)

присоединить([А|В],С,[А|D]):- присоединить(В,С,D).

/* ввод литеры – признак конца файла */

да

?- oбp([a,b,c,d],X).

нет

?- consult (user).

присоединить([],Х,Х).

/* ввод литеры – признак конца файла */

да

?- oбp([a,b,c,d,e],X). X = [e,d,c,b,a].

да

В приведенном сеансе работы наш беспечный программист начинает с ввода через терминал утверждений для предикатов присоединитьи обр.Конечно, он мог бы сначала ввести их в файл, а затем предложить Прологу применить к этому файлу предикат consult.Впрочем, для такого маленького примера этого, может быть, и не стоило делать. К несчастью, в первом утверждении для присоединитьдопущена ошибка – в цели задано А, хотя на этом месте должно быть В. Эта ошибка обнаруживается, когда система не может ответить на вопросы, содержащие присоединитьи обр.Каким-то образом программист догадывается, что его определение присоединитьневерно (в реальном сеансе для этого, вероятно, потребовалось бы использовать средства отладки). Так или иначе, он решает заменить имеющееся определение новым, используя для этого предикат reconsult.К сожалению, в своем новом определении он забывает задать граничное условие (случай []). Поэтому программа по-прежнему не работает. К этому моменту исходное определение для присоединить,состоящее из двух утверждений, заменено новым определением из одного утверждения, которое оказалось неполным. Наш программист замечает, что он допустил ошибку и что ситуацию можно исправить, просто добавив к уже имеющемуся определению одно утверждение. Это делается также с помощью предиката consult.На этот раз программа заработала.

В заключение дадим еще один совет: при внесении изменений в программу ответьте на те же контрольные вопросы, на которые вы отвечали при написании первоначальной версии программы. Убедитесь, что ваши добавления согласуются с вашим прежним замыслом о том, какие переменные должны быть конкретизированы, когда и какие аргументы используются и для каких целей. Наконец, попытайтесь взглянуть еще раз на программу в целом – в ней могут быть и какие-либо другие ошибки.

ГЛАВА 9. ИСПОЛЬЗОВАНИЕ ГРАММАТИЧЕСКИХ ПРАВИЛ В ПРОЛОГЕ

9.1. Проблема синтаксического анализа

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Представляем Вашему вниманию похожие книги на «ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


libcat.ru: книга без обложки
Алексей Корепанов
Отзывы о книге «ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ»

Обсуждение, отзывы о книге «ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ ПРОЛОГ» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x