!.

                                    % Конец слова: 32 = пробел

        читбуквы( Бкв, [Бкв | Буквы], Следсимв) :-

                get0( Симв),

                читбуквы( Симв, Буквы, Следсимв).

Рис. 6. 4.  Процедура для преобразования предложения в список атомов.

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

Упражнения

6. 4.    Определите отношение

        начинается( Атом, Символ)

для проверки, начинается ли Атом с символа Символ.

Посмотреть ответ

6. 5.    Определите процедуру plural, которая преобразует английские существительные из единственного числа во множественное, добавляя к слову окончание s. Например:

        ?-  plural( table, X).

        Х  =  tables

Посмотреть ответ

6. 6.    Напишите процедуру

        поиск( Ключслово, Предложение)

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

Назад | Содержание | Вперёд

Назад | Содержание | Вперёд

6. 5.    Ввод программ:    consult, reconsult

Передавать программы пролог-системе можно при помощи двух встроенных предикатов:    consult     и    reconsult.     Чтобы система считала программу из файла F, нужно поставить цель

        ?-  consult( F).

В результате все предложения программы, содержащейся в F, будут использованы пролог-системой при ответе на дальнейшие вопросы пользователя. Если позже в том же сеансе произойдет 'консультация' с другим файлом, предложения этого нового файла будут просто добавлены в конец текущего множества предложений.

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

        ?-  consult( user).

После этого система будет ожидать ввода предложений программы с терминала.

В некоторых пролог - системах применяется

Вы читаете Prolog
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату