Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основное / Методическое пособие по Turbo Prolog (старое)

.pdf
Скачиваний:
62
Добавлен:
20.10.2020
Размер:
372.32 Кб
Скачать

Оглавление

 

Введение...................................................................................................................

2

Часть 1. Освоение интерфейса...............................................................................

4

Главное меню системы Турбо-Пролог.................................................................

4

Основные команды редактирования.....................................................................

7

Использование звука и музыки............................................................................

14

Часть 2. Лабораторные работы............................................................................

17

Лабораторная работа №1. Общие сведения об языке логического

программирования................................................................................................

17

Лабораторная работа №2. Арифметика. Управление логическим выводом в

программах.............................................................................................................

30

Лабораторная работа №3. Повторение и рекурсия...........................................

33

Лабораторная работа №4. Применение рекурсии для обработки списков....

36

Лабораторная работа №5. Решение логических задач......................................

42

Лабораторная работа №6. Головоломки. Игровые программы.......................

47

Лабораторная работа №7. Обработка файлов. Предикаты для работы с

файлами..................................................................................................................

52

Лабораторная работа №8. Создание динамической базы данных. Предикаты

для работы с базой данных...................................................................................

56

Лабораторная работа №9. Применение языка для решения задач ИИ.

Создание экспертных систем...............................................................................

59

Литература.............................................................................................................

64

Введение Пролог – один из языков логического программирования, позволяющий

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

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

Целью настоящей работы является знакомство с идеями и практическое освоение приемов логического программирования студентами педагогического ВУЗа обучающихся по специальности «030100 – Информатика».

Содержание работы разделено на две части: 1 часть освоение интерфейса Пролога (может изучаться студентами самостоятельно). Теоретический материал первой часть позволяет студенту разобраться в механизме работы с окнами, рассмотреть основные приемы работы в системе Turbo Prolog 3.3, освоить команды редактирования и команды главного меню. Вторая часть

— лабораторные работы. Она состоит из 9 лабораторных работ, в которых рассматриваются основные понятия и предикаты языка, а также возможности применения языка Пролог для решения логических задач, при создании экспертных систем, интерфейсов на естественном языке. Изложение сопровождается большим количеством примеров, оформленных в соответствии с правилами и синтаксисом языка. В конце каждой

2

лабораторной работы предлагаются задания для самостоятельной работы. Представленные примеры и предлагаемые задания ориентированы на использования сисетмы программирования Turbo Prolog 3.3. В лабораторных работах реализовано более 30 примеров. Методика освоения этой части зависит от выбора преподавателя.

3

Часть 1. Освоение интерфейса Главное меню системы Турбо-Пролог

Вся работа в рамках системы организуется при помощи различного рода меню. Главное меню, высвечиваемое в верхней части экрана имеет семь опций (команд): Files, Edit, Run, Compile, Options, Setup. Первая буква названия каждой из команд выделена при помощи увеличенной яркости с целью подсказать, что для задания команды достаточно нажать лишь первую букву ее названия.

Главное меню содержит четыре окна: окно редактора Турбо-Пролога Editor, окно диалога - Dialog, окно сообщений - Message, окно трассировки - Trase.

Верхняя строка окна редактора содержит информацию о редактируемом в этом окне файле, отражается информация о положение курсора. Надпись Indent сигнализирует о том, что включен режим автоматического выравнивания строк, а надпись Insert- о том, что задан режим вставки.

При выборе команды Files на экране дисплея появляется специальное меню, содержащее следующие подпункты Load, Pick, New File, Save, Write to, Directory, Change dir, File Name, Edit text to Printer, OS shell, Quit

Команда Load используется для открытия уже существующего файла. Если в ответ на запрос имени файла просто нажать клавишу Enter, то на экране в специальном окне будет высвечен перечень файлов. Теперь используя клавиши управления курсором можно выбрать интересующий файл и нажать клавишу Enter. Если же вы решили набрать имя файла с клавиатуры, нет необходимости указывать его расширение, так как по умолчанию считается, что файл имеет расширение PRO.

Команда Pick используется для открытия последних редактируемых файлов.

4

Команда New file применяется для создания нового программного файла. Если в окне редактора находится какой-либо другой, система запросит подтверждения, если нажать Y, то окно очистится.

Команда Save, необходима для сохранения программы.

Команда Write to также сохраняет программу, но запрашивает имя для файла.

Команда Directory выбирается для просмотра каталога файлов какойлибо директории. На экране появится окно для ввода маски необходимых файлов. По умолчанию стоит маска *.PRO, можно оставить эту маску, а можно ввести свою. После того, как вы нажмете клавишу Enter, в окне появятся имена всех файлов, удовлетворяющие заданной маске.

Команда Change dir –смена директории. Если вы хотите просмотреть файлы другой директории, нужно указать путь к этому каталогу, используя эту команду.

Команда File Name используется для присвоения нового имени находящемуся в памяти рабочему файлу.

Команда Edit text to Printer применяется для печати файла.

Команда OS shell –временно передает управление DOS. Для возврата в систему необходимо набрать команду EXIT.

Команда Quit осуществляет выход из программы, также можно использовать сочетание Alt+X.

При выборе команды Edit происходит переход в редактор Турбо-Пролога. В окне редактора при этом появляется курсор, так что вы можете начать вводить вашу программу или же редактировать ее. Вернуться в главное меню можно нажатием на клавиш Esc или F10.

Запуск программы осуществляется выбором пункта Run. Трансляция задается автоматически, т.е. нет необходимости прибегать к помощи специальной команды – Compile. Если программа содержит ошибку, то система выдает краткое сообщение об ошибке и помещает курсор на ту

5

позицию текста программы, где эта ошибка была обнаружена. После исправления ошибки нужно нажать функциональную клавишу F10 для продолжения работы.

По умолчанию команда Compile хранит в памяти(Memory) объектный код программы, задание опции OBJ file позволяет создать объектный файл для дальнейшего совместного редактирования с другими объектными файлами, а выбор опции EXE file –автономный файл.

Различные опции команды Setup предназначены для создания вашего собственного варианта настройки системы Турбо-Пролог. При выборе данной команды появится меню со следующими опциями:

Info содержит информацию о версии системы и размере используемой памяти;

Colors предназначена для изменения цветов переднего плана и фона; Window size предназначена для настройки размеров окон;

Directories предназначена для задания имен директорий, к которым система будет обращаться по умолчанию. Таковыми являются .PRO directory (директория исходных текстов программ, т.е. файлов с расширением PRO), .OBJ directory (директория объектных текстов программ, т.е. файлов с расширением OBJ), .EXЕ directory (директория выполнимых файлов);

Miscellaneous предназначена для настройки расширенного графического адаптера IBM EGA и для установки размера стека. По умолчанию длина стека равна 4000, длину можно задавать в интервале от 600 до 4000;

Load CFG file необходима для загрузки новой конфигурации окон с диска;

Save CFG file позволяет сохранить текущее расположение окон для последующего его использования. Если ввести имя PROLOG.SYS и записать файл в директорию системных файлов Турбо-Пролога, то данная конфигурация в дальнейшем станет загружаться по умолчанию.

6

Основные команды редактирования Управление курсором.

Передвижение курсора к определенной позиции достигается пролистыванием экранных страниц вверх или вниз и смещением его по экрану в пределах выбранной страницы. Для страничного пролистывания верх или вниз можно использовать клавиши PgUp(вверх) и PgDn(вниз), либо комбинациями клавиш Ctrl+R и Ctrl+C.

Для позиционирования курсора в пределах экранной страницы используются стрелки, помещенные в правой части клавиатуры. Когда курсор достигает верхней или нижней части экрана, то он начинает действовать в режиме скроллинга. Для смещения курсора на одну строку вверх или вниз можно использовать комбинации Ctrl+E и Ctrl+X.

Комбинации Ctrl+F сдвигает курсор на одно “слово” вправо, Ctrl+D – на один интервал вправо. Ctrl+А сдвигает курсор на одно “слово” влево, Ctrl+S

– на один интервал влево.

Ctrl+Ноme возвращает курсор на начало текста на экране, а при нажатии Ctrl+ End курсор попадает в его конец.

Сдвинуть курсор в начало программы можно при помощи Ctrl+QR или

Ctrl+PgUp, в конец программы Ctrl+QС или Ctrl+PgDn.

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

Удаление текста.

Для того чтобы удалить слово, нужно установить курсор в начало слова и нажать Ctrl+Т. Для удаления одного символа используется комбинация

Ctrl+G или клавиша Delete.

7

Удаление строки достигается посредством размещения курсора в произвольной колонке строки и нажатия любой из двух комбинаций Ctrl+Y

или Ctrl+Backspase.

Выбор режима вставки или режима замены Редактор текстов работает в одном из двух режимов: либо в режиме

вставки, либо в режиме замены. Слова Insert(вставка) или Owerwrite(замена) в строке статуса информируе, в каком режиме находится редактор в настоящий момент. Для переключения режима нужно нажать клавишу Insert или же комбинацию Ctrl+V.

Автоматическое выравнивание.

Режим автоматического выравнивания, задаваемый по умолчанию, обозначается на экране надписью Indent в строке статуса. Для отмены этого режима нужно нажать комбинацию клавиш Ctrl+QI. Надпись Indent при этом исчезнет. Возврат к режиму автоматического выравнивания осуществляется при помощи той же комбинации.

При редактировании уже существующей программы автоматическое выравнивание функционирует только при включенном режиме вставки.

Копирование, удаление фрагмента текста.

Поместите курсор в начало нужного фрагмента и нажмите комбинацию Ctrl+K+B, затем переведите курсор в конец строки и отметьте конец копируемого фрагмента нажатием комбинации Ctrl+K+K. Теперь весь отмеченный фрагмент будет выделен на экране. Установите курсор в необходимое место и нажмите комбинацию Ctrl+K+С.

Выделение исчезнет, если нажать комбинацию Ctrl+K+Н. Действие этой команды не зависит от положения курсора.

Удалить выделенный фрагмент можно сочетанием Ctrl+K+Y. Использование подсказки.

8

Для получения полного перечня команд редактора и другой полезной информации нужно в режиме Edit главного меню нажать функциональную клавишу F1.

Использование предикатов для работы с окнами В систему программирования Турбо-Пролог включено пять предикатов,

позволяющих программе управлять окнами различных размеров. Это предикаты makewindow, shiftwindow, removewindow, clearwindow и gotowindow. С их помощью можно создавать несколько окон, выполнять ввод и вывод в определенные окна и устанавливать атрибуты окон.

Создание окон предикатом makewindow.

Предикат makewindow является основой всех операций над окнами в Турбо-Прологе. Его синтаксическая форма:

makewindow(Window_number, Screen_attribute, Frame_attribute, Frame_string, Starting_row, Starting_column, Window_height, Window_width)

Значения восьми параметров определяют характеристики окна. Параметр Window_number, целое число, идентифицирует окно в

программе. Это число используется в качестве ссылки предикатом gotowindow и др.

Целочисленное значение, присвоенное аргументу Screen_attribute, определяет цвета символов и фона. Выбираемые значения атрибута зависят от того, какой монитор используется цветной или монохромный.

Целочисленные значения Screen_attribute задают комбинацию цветов текста и фона. Для монохромных мониторов эти значения приведены табл. 1. Значения атрибутов экрана для цветного графического адаптера приведены в табл. 2.

9

Таблица 1.

Атрибуты цвета

Цвет текста

Цвет фона

Screen_attribute

Примечание

Черный

Черный

0

Пустой экран

Белый

Черный

7

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

Черный

Белый

112

Негативное изображение

Таблица 2. Соответствие между значением атрибута, цветом текста и цветом фона для

окон Турбо-Пролога.

Цвет текста

Значение атрибута

Цвет фона

Значение атрибута

Черный

0

Черный

0

Синий

1

Синий

16

Зеленый

2

Зеленый

32

Голубой

3

Голубой

48

Красный

4

Красный

64

Фиолетовый

5

Фиолетовый

80

Коричневый

6

Коричневый

96

Белый

7

Белый

112

Серый

8

 

 

Светло-синий

9

 

 

Светло-

10

 

 

зеленый

 

 

 

 

 

Светло-

11

 

 

голубой

 

 

 

 

 

Светло-

12

 

 

красный

 

 

 

 

 

Светло-

13

 

 

голубой

 

 

 

 

 

Желтый

14

 

 

Интенсивно-

15

 

 

белый

 

 

 

 

 

Наряду с указанным существуют три необязательных атрибута, задание которых определяет вывод символов с подчеркиванием, изображение с высоким разрешением и вывод мерцающих символов. Вывод символов с подчеркиванием реализуется, если к значению аргумента Screen_attribute добавить 1. Для получения изображения с высоким разрешением, нужно к основному значению атрибута экрана добавить 8. Символы будут

10