С. Григорьев
Йошкар-Ола
Работа системы Пролог-Д
Определяющим направлением развития информатики является создание технологии обработки знаний. Особую роль в этом процессе призваны сыграть языки логического программирования, в частности Пролог. Использование Пролога в народном образовании СССР связывается и с новым учебником информатики, и с широкими перспективами в изучении логики, элементов искусственного интеллекта, становящихся все более актуальными.
Ранее считалось, что транслятор с Пролога реализуем только на мощных компьютерах, имеющих высокое быстродействие и большие объемы памяти. Ограниченность возможностей школьных машин была серьезным препятствием на пути внедрения систем логического программирования в народное образование. Однако путем некоторого изменения синтаксиса входного языка и совершенствования алгоритмов удалось разработать компактную и эффективную версию системы логического программирования Пролог-Д для самых массовых учебных ЭВМ, используемых в СССР. В настоящее время полностью завершена разработка Пролога-Д для КУВТ «Ямаха МSХ-2», КУВТ-86, «Электроники БК-0010 (.01)» с различными устройствами внешней памяти (магнитофон, кассета ПЗУ). В стадии завершения - работы на ПЭВМ «Электроника УКНЦ», «Электроника БК-0011», «Ямаха МSХ-1».
Данная статья открывает цикл, посвященный принципам работы с системой Пролог-Д. Она посвящена начальному этапу - работе с редактором и запуску системы. Описываются две версии Пролога-Д: для МSХ-2 и БК-0010. Версии отличаются друг от друга некоторыми возможностями и деталями интерфейса, что обусловлено разными клавиатурами и техническими возможностями ПЭВМ, поэтому статья (как и весь цикл) будет разделена на две части: одна описывает версию 3.2 для ПЭВМ «Ямаха МSХ-2», а вторая - для КУВТ-86, «Электроника БК-0010 (.01)».
Система логического программирования Пролог-Д располагает достаточно развитыми средствами услуг пользователю. Целесообразно перед началом знакомства с языком освоить принципы работы с системой.
Пролог-Д МSХ-2, версия 3.2
Информация на экране дисплея
После загрузки системы Пролог-Д на экране появляется заставка, а затем - окно исходного текста Пролог-программы.
Код:
** Пролог-Д ** Версия 3.2 ** MSX-2. YIS805/128 ****
|
--------------------------------------------------------------
<имена встроенных предикатов>
Окно исходного текста используется для записи и редактирования программ на Прологе-Д. Для редактирования используется встроенный экранный редактор, его директивы приведены ниже. Отмеченные на рисунке стрелкой четыре квадратика в верхней строке представляют собой указатель, показывающий заполнение базы знаний. Положение указателя полностью заполненной базы знаний на рисунке отмечено точкой.
Редактор системы
Текст программы можно ввести с клавиатуры либо с внешнего устройства (дисковода). Для ввода текста с клавиатуры можно пользоваться всеми алфавитно-цифровыми клавишами. В тексте может быть любое количество пробелов, они игнорируются. Однако длина строки не более 128 символов. Ввод предложения осуществляется нажатием клавиши RETURN. Обязательное условие: в одной строке должно быть только одно предложение Пролога-Д.
Для редактирования текста программы используются управляющие клавиши стандартной клавиатуры ПЭВМ. Список выполняемых ими функций приведен в таблице.
| Действие |
Кодирование |
| Перемещение по тексту |
<стрелки> |
| Перемещение в начало текста |
Ctrl+K |
| Перемещение в конец текста |
Ctrl+V |
| Перемещение в конец предложения |
Ctrl+N |
| Уничтожить символ слева от курсора |
BS |
| Уничтожить символ в позиции курсора |
DEL |
| Уничтожить текст базы знаний |
Ctrl+C |
| Уничтожить предложение |
Ctrl+U |
| Уничтожить символы до конца предложения |
Ctrl+E |
| Включение/выключение режима вставки |
INS |
| Вывод текста программы на экран |
Ctrl+T |
| Печать текста базы знаний с остановкой |
Ctrl+t+stop |
В данной версии системы Пролог-Д не предусмотрена «сборка мусора» при редактировании файлов, в результате может возникать переполнение памяти при длительном редактировании. Поэтому целесообразно пользоваться традиционными редакторами текстов с последующим вводом программ с дисковода.
Система Пролог-Д предполагает использование встроенных предикатов. Их имена запрограммированы на специальных клавишах, обозначаемых символами F2-F10. Такое использование клавиш существенно облегчает работу с системой. Особое значение имеет клавиша F1. Ею кодируется имя последнего введенного предложения программы.
Работа с дисководом допускает три режима: чтение файла, запись файла, просмотр файлов на диске.
Для чтения файла с диска нужно нажать клавиши Ctгl+L и в ответ на приглашение
Чтение. Имя файла: [<имя дисковода>:] <Имя файла> ввести имя нужного файла. Обратите внимание: при чтении файла старое содержимое базы знаний пропадает. Для создания файла можно пользоваться не только редактором системы Пролог-Д, но и другими текстовыми редакторами.
Для записи файла на диск нужно нажать клавиши Сtrl+S и в ответ на приглашение
Запись. Имя файла: [<имя дисковода>:] <Имя файла> ввести имя нужного файла. База знаний записывается на диск целиком.
Для просмотра директория достаточно нажать клавиши Сtrl+D и в ответ на приглашение
Просмотр файлов: [<имя дисковода>:] <Имя файла> ввести имя нужного файла (файлов).
Для завершения работы с системой Пролог-Д нужно нажать клавиши Ctrl+Q (будьте внимательны - результаты работы безвозвратно теряются!).
Примеры работы с редактором
Исправление неверного символа.
Код:
** Пролог-Д ** Версия 3.2 ** MSX-2. YIS805/128 ****
бабушка(x,y)<-мама(x,z),мама(z,y);
бабушка(x,y)<-мама(x,z),pапа(z,y);
В подчеркнутом слове необходимо заменить латинскую букву p на русскую букву п. Для этого надо установить курсор под этим символом, нажать INS, набрать правильные символы, нажать RETURN, вновь нажать INS.
Удаление неверного символа.
Код:
** Пролог-Д ** Версия 3.2 ** MSX-2. YIS805/128 ****
бабушка(x,y)<-мама(x,z),мама(z,y);
бабушка(x,y)<-мама(x,z),pпапа(z,y);
В подчеркнутом слове необходимо удалить латинскую букву p. Для этого необходимо установить курсор под этим символом, нажать DEL и RETURN.
Вставка символа.
Код:
** Пролог-Д ** Версия 3.2 ** MSX-2. YIS805/128 ****
бабушка(x,y)<-мама(x,z),мама(z,y);
бабушка(x,y)<-мама(x,z),апа(z,y);
В подчеркнутом слове необходимо вставить букву п. Для этого необходимо установить курсор под этим символом и нажать п и RETURN.
Удаление предложения.
Код:
** Пролог-Д ** Версия 3.2 ** MSX-2. YIS805/128 ****
бабушка(x,y)<-мама(x,z),мама(z,y);
бабушка(x,y)<-мама(x,z),pапа(z,y);
Подчеркнутое предложение необходимо удалить. Для этого необходимо установить курсор на удаляемую строку и нажать Ctrl+U. В результате получится:
Код:
** Пролог-Д ** Версия 3.2 ** MSX-2. YIS805/128 ****
бабушка(x,y)<-мама(x,z),мама(z,y);
|
Удаление текста до конца предложения.
Код:
** Пролог-Д ** Версия 3.2 ** MSX-2. YIS805/128 ****
бабушка(x,y)<-мама(x,z),мама(z,y);
бабушка(x,y)<-мама(x,z),папа(z,y);комментарий
В подчеркнутом предложении необходимо удалить слово «комментарий». Для этого необходимо установить курсор перед удаляемым словом и нажать Ctrl+E.
Запуск системы
Чтобы проверить работоспособность системы Пролог-Д, достаточно набрать вопрос - предложение, начинающееся с символа «?». Проще всего составить его из встроенных предикатов. Они предназначены для выполнения арифметических действий, вывода графики и других подобных операций. Встроенные предикаты, если они записаны в вопросе, должны выполняться одинаково независимо от того, записана в память машины база знаний или нет и какая это база знаний. В определенном смысле это напоминает непосредственный режим работы в Бейсике. Например, если необходимо построить на экране отрезок, соединяющий точки с координатами (10, 10) и (100, 100), то достаточно задать вопрос:
Код:
? ЛИНИЯ (10,10,100,100,1);
Требуемый отрезок появится на экране. Для возврата в редактор достаточно дважды нажать на любую клавишу.
Если необходимо вычислить число х=2*З+1, то для этого достаточно набрать вопрос:
Код:
? УМНОЖЕНИЕ(2,3,1,х);
Ответ системы:
Код:
х=7
ДРУГИХ РЕШЕНИЙ НЕТ
Чтобы попробовать более сложные примеры работы системы Пролог-Д, рекомендуется набрать текст такой базы знаний:
Код:
мама(Люся,Саша);
папа(Сережа,Саша);
бабушка(Надя,Саша);
внук(х,у)<—бабушка(у,х);
Ей можно задать вопрос
означающий «Как зовут маму Саши?». Ответ системы:
Код:
х=Люся
ДРУГИХ РЕШЕНИЙ НЕТ
Нажмите на любую клавишу, и база знаний вновь появится на экране. Можно попробовать задать еще несколько вопросов, например:
Код:
? бабушка(х,у);
? внук(х,у)
? папа(Сережа,х);
О том, почему получаются именно такие ответы, будет рассказано в дальнейшем.
Пролог-Д «Электроника БК-0010» (КУВТ-86)
Информация на экране дисплея
После загрузки системы на экране появляется заставка, а затем - окно исходного текста Пролог-программы.
Код:
* Пролог-Д 1.0 * Редактирование * КТ+? Подсказка ЛАТ
Окно исходного текста используется для записи и редактирования программ на Прологе-Д. Для редактирования используется встроенный экранный редактор.
Для индикации результатов работы используется окно вывода результатов.
Код:
* Пролог-Д 1.0 * Выполнение ЛАТ
Окно результатов выводится на экран автоматически после ввода вопроса.
Для возврата в окно исходного текста достаточно нажать любую клавишу.
Редактор системы
Работа с клавиатурой отличается от Пролога-Д для МSX-2 максимальной длиной строки (64 символа) и наличием подсказки - нажатие клавиш КТ и ? вызывает на экран список функций управляющих клавиш.
Для чтения файла с ленты нужно нажать клавиши КТ+Ч и в ответ на приглашение «Имя?» ввести имя нужного файла. При чтении файла прежнее содержимое базы знаний уничтожается. Для подготовки файла можно пользоваться не только редактором системы Пролог-Д, но и другими текстовыми редакторами.
Для записи файла на ленту нужно нажать клавиши КТ+З и в ответ на приглашение «Имя?» ввести имя нужного файла. База знаний записывается на ленту целиком.
Для завершения работы с системой Пролог-Д нужно нажать клавиши КТ+К.
Примеры работы с редактором
Исправление неверного символа.
Код:
* Пролог-Д 1.0 * Редактирование * КТ+? Подсказка ЛАТ
бабушка(x,y)<-мама(x,z),мама(z,y);
бабушка(x,y)<-мама(x,z),pапа(z,y);
В подчеркнутом слове необходимо заменить латинскую букву p на русскую букву п. Для этого необходимо установить курсор справа от буквы p, нажать клавиши ⇤, ⇥, РУС, набрать правильный символ п.
Удаление неверного символа.
Код:
* Пролог-Д 1.0 * Редактирование * КТ+? Подсказка ЛАТ
бабушка(x,y)<-мама(x,z),мама(z,y);
бабушка(x,y)<-мама(x,z),pпапа(z,y);
В подчеркнутом слове необходимо удалить латинскую букву p. Для этого необходимо установить курсор справа от буквы p и нажать клавишу ⇥.
Вставка символа.
Код:
* Пролог-Д 1.0 * Редактирование * КТ+? Подсказка ЛАТ
бабушка(x,y)<-мама(x,z),мама(z,y);
бабушка(x,y)<-мама(x,z),апа(z,y);
В подчеркнутом слове необходимо вставить букву п. Для этого необходимо установить курсор под этим символом, нажать клавишу ⇥ и нужную символьную.
Уничтожение текста программы.
Нажать одновременно клавиши СБР и РП.
Удаление предложения
Код:
* Пролог-Д 1.0 * Редактирование * КТ+? Подсказка ЛАТ
бабушка(x,y)<-мама(x,z),мама(z,y);
бабушка(x,y)<-мама(x,z),папа(z,y);
Подчеркнутое предложение необходимо удалить. Для этого необходимо установить курсор в начало удаляемой строки и нажать клавиши СБР и ⇥.
Удаление текста до конца предложения.
Код:
* Пролог-Д 1.0 * Редактирование * КТ+? Подсказка ЛАТ
бабушка(x,y)<-мама(x,z),мама(z,y);
бабушка(x,y)<-мама(x,z),папа(z,y);комментарий
В подчеркнутом предложении необходимо удалить слово «комментарий». Для этого необходимо установить курсор перед удаляемым словом и нажать клавиши СБР и ⇥.
Запуск системы
Проверка работоспособности системы производится так же, как и на MSX-2. Отличия - в синтаксисе. Например, если необходимо построить на экране отрезок, соединяющий точки с координатами (10, 10) и (200, 200), то нужно задать вопрос:
Код:
? ОТР(10,10,200,200,1);
Если необходимо вычислить число х= 2*3+1, то нужно задать вопрос:
Дальнейшая работа с Прологом-Д на БК-0010 аналогична работе на «Ямахе» MSX-2.
[свернуть]