Арифметика и сравнение в языке Пролог.
Федеральное государственное образовательное учреждение высшего профессионального образования
«Пермская государственная сельскохозяйственная академия
имени академика. Д.Н. Прянишникова»
“УТВЕРЖДАЮ”
Заведующий кафедрой ИС
А. Козлов
“ ….. “ .......................... 200… г.
Для преподавателя
Дисциплина
Интеллектуальные ИНФОРМАЦИОННЫЕ системы
Лабораторная работа №3
Тема: язык логического программирования «Пролог-Д»
Время: 4 часа.
Место: компьютерный класс
Учебные вопросы:
.
1. Интерфейс и синтаксис логического языка программирования «Пролог-Д».
2. Арифметика и сравнение в языке «Пролог – Д».
3. Создание базы знаний.
Литература и материальное обеспечение:
1. Методическая разработка по теме занятия.
2. Класс ПЭВМ.
3. Мультимедийный проектор, экран.
4. Язык программирования «Пролог-Д».
Методические рекомендации обсуждены и одобрены на заседании методической комиссии ФПИ.
Протокол № .... от “ ... “............ 200..г.
Руководство к лабораторной работе №3
«Пролог-Д».
Система Пролог-Д для Windows. На дискете (в архиве, в рабочей директории) должны быть файлы:
1. PROLOGW.EXE – транслятор (интерпретатор),
2. PROLOGW.HLP - справка,
3. BORLANDMM.DLL – системная библиотека,
4. CP3245MT.DLL – системная библиотека.
Интерфейс и синтаксис логического языка программирования «Пролог-Д».
|
|
Интерфейс логического языка программирования «Пролог-Д» аналогичен интерфейсу и приемам работы в операционной системе WINDOWS.
Для начала работы с «Пролог-Д» необходимо зайти в папку под названием «Пролог-Д», расположение которой укажет преподаватель. Затем выбрать ярлык Пролога-Д или с помощью программ просмотра диска найти файл с программой prologw.exe и двойным нажатием левой клавиши мыши инициировать его исполнение. На экране появится заставка системы Пролог-Д Windows (рисунок 1.2.1).
Рисунок 1.2.1. Экран системы Пролог-Д в MS Windows.
Изображенный на рисунке 1.2.1. интерфейс является стандартным для систем, работающих в среде Windows. Управлять системой можно с помощью манипулятора мышь, или с помощью специальной клавиатуры Windows.
Падающее меню Файлы.
Система позволяет работать одновременно с нескольким файлами аналогично работе в ОС WINDOWS.
Элемент меню Исполнение.
Содержит элементы Исполнить, ПрерватьиНастройки.На рисунке 1.2.3 показана панель настроек.
Рисунок 1.2.3. Панель настроек режимов исполнения Пролог-программы.
Отмечая или снимая отметки в соответствующих квадратиках панели настроек можно включить и выключить трассировку, вывод вопроса, поручить системе сохранять текст программы при каждом отладочном запуске, а также выбрать, куда направлять вывод в ходе исполнения программы.
|
|
Элемент меню Окна.
При выборе этого элемента появляется падающее меню. Выбор элементов меню Каскад, Мозаика, Упорядочить и Свернуть все определяет взаимное расположение окон на экране.
Элемент меню Помощь
При выборе данного элемента меню пользователю предоставляется возможность выбор различных видов помощи, указываемых в падающем меню: помощь о программе и помощь по разделам. Все виды помощи построены по гипертекстовому принципу с использование стандартной подсистемы организации помощи MS Windows.
Синтаксис языка «Пролог-Д» подробно описан в файле помощи - кнопка или окно Помощь, Язык, Синтаксис. Откройте его и просмотрите.
База знаний.
Синтаксис: БазаЗнаний ::= {Предложение}*
Предложение::= Факт ¦ Правило ¦ Комментарий
Комментарий::= "{СимволASCII}*"
База знаний на Прологе-Д состоит из множества фактов и правил.
Факты.
Синтаксис:
Факт ::= Предикат.
Предикат ::= Имя(Аргумент{,Аргумент}*) ¦ Имя
Имя ::= БукваСимвол{Символ}* Константа::= Целое ¦ Словосочетание
В данной версии Пролога-Д длина имени предикатного символа не ограничена. Аргументом может быть любой терм. Аргументов может и не быть. Факты описывают объекты и отношения между ними. Декларативно Факт P0 означает, что P0 безусловно истинно. Процедурно означает, что факт P0 всегда выполнен.
|
|
Правила.
Синтаксис: Правило::= Предикат:-Цель{,Цель}*.
Цель ::= Предикат ¦ !
Правило описывает отношения между объектами. Предикат, стоящий слева от знака импликации :- называется головой, а предикаты, стоящие справа - целями или посылками. Правило может иметь любое число целей. (Правило без целей - это факт). Декларативно правило P0:-P1,..,Pn. читается так: P0 истинный, если P1, .. , Pn истинны. Процедурно это значит, что для удовлетворения P0 необходимо последовательно удовлетворить P1, .. , Pn.
Вопрос.
Синтаксис: Вопрос::= ?Цель{,Цель}*. Процедурно вопрос означает исполнение программы на Прологе-Д.
Примечания:
1. При описании фактов и правил вместо символа “; - точка с запятой“ допускается использование символа “. - точка“.
2. При описании правил вместо сочетания символов “<-“ допускается использование сочетания символов “:-“.
Арифметика и сравнение в языке Пролог.
В языке пролог имеются встроенные предикаты, в частности предикаты арифметики и сравнения. Их описание находится в файле помощи – кнопка или окно Помощь, Язык, Встроенные предикаты,Арифметика. Найдите, откройте и просмотрите его.
|
|
Для освоения принципов работы со встроенными арифметическими предикатами и встроенными предикатами сравнения рассмотрим следующие задачи.
Например, выражение Z = X*Y запишется на Прологе в следующем виде :
?УМНОЖЕНИЕ(X,Y,Z).
Задача 1. На Прологе-Д необходимо описать вычисление объема параллелепипеда высотой h, в основании которого прямоугольник, имеющий стороны длиной a и b.
Известна формула определения объема параллелепипеда:
Vпар=a*b*h.
Предикат, который будет выполнен, если будет вычислен объем параллелепипеда, должен иметь четыре аргумента - длины сторон a и b, высоту h и величину объема. Целесообразно, чтобы Имя предиката отражало его назначение - этому критерию удовлетворит имя объем. Данный предикат будет составным:
обьем(a,b,h,V):-УМНОЖЕНИЕ(a,b,S),УМНОЖЕНИЕ(S,h,V).
К базе знаний можно задать вопросы:
?обьем(10,20,5,V).
ответ системы Пролог-Д:
V=1000.
Как и прежде предикат объем обратим, это означает, что используя это описание можно вычислить не только объем по заданным сторонам и высоте, но и любую (одну) сторону или высоту по заданным высоте, стороне и объему.
Задайте вопрос: ?обьем(а,20,5,1000). Ответ : а = 10.
Задача2: Если необходимо вычислить число x=2*3+1, то для этого достаточно набрать на клавиатуре вопрос:
?УМНОЖЕНИЕ(2,3,1,x). (<Enter>)
ответ системы:
x=7
Реализация деления x=z/y.
ДЕЛЕНИЕ(z,y,x):-УМНОЖЕНИЕ(x,y,z).
Реализация вычитания x=y-z.
ВЫЧИТАНИЕ(y,z,x):-СЛОЖЕНИЕ(x,z,y).
В данных случаях во встроенных предикатах переменные как бы перевернуты на оборот.
Задание:
1. Напишите правило и вопрос для вычисления площади круга.
2. Вычислите выражение «x=8/2».
3. Вычислите выражение «x=10 - 7».
4. Вычислите выражение «x=5*2*3+2».
Примечание: используйте файл помощи – кнопка или окно Помощь, Язык, Встроенные предикаты,Арифметика , … .
Результат представить преподавателю.
А теперь несложный пример, иллюстрирующий применение БОЛЬШЕ и НЕ.
Задача: Опишите на языке Пролог-Д вычисление функции Хевисайда, определяемую формулой:
| 0, если x<0.
h(x)= | 0, если x=0.
| 1, если x>0.
База знаний должна содержать описание предиката меньше и равно, который выше уже был описаны, предикат, выполняющийся при вычислении функции Хевисайда, будет называться ХЕВИСАЙД. Этот предикат будет иметь два аргумента, первый это аргумент функции, а второй ее значение. Предикат ХЕВИСАЙД определяется через два альтернативных описания для всех значений X.
МИР(X,Y):-НЕ(БОЛЬШЕ(X,Y).
ХЕВИСАЙД(X,0):-МИР(X,0).
ХЕВИСАЙД(X,1):-БОЛЬШЕ(X,0).
К этой базе знаний можно задать различные вопросы.
?ХЕВИСАЙД(20,X).
ответ системы Пролог-Д:
X=1.
Задание: задать базе знаний вопросы для получения всех вариантов ответов для формулы Хевисайда.
Упражнение: Попробуйте набрать вопрос:
?УМНОЖЕНИЕ(x,3,1,7). (<Enter>).
Объясните результат и запишите исходный текст (задание) упражнения.
Результат представить преподавателю.
Дата добавления: 2018-05-02; просмотров: 1162; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!