Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Nondeterm father (symbol, symbol)

Опишите внешний вид среды Visual Prolog.

Окна Visual Prolog:

Ø окном редактора, предназначенным для набора кода программы;

Ø окном сообщений, в котором можно проследить операции, выполняемые средой в целом;

Ø окном выдачи ошибок (двойной щелчок на ошибке позволяет перевести курсор в коде программы в ту позицию, где была допущена ошибка);

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

 

2. Какова структура Пролог-программ?

Обычно программа Visual Prolog включает три или четыре основных раздела. Это раздел выражений clauses, раздел описания предикатов predicates, раздел доменов domains и раздел цели goal.

 

3. Что содержится в разделе DOMAINS?

Раздел domains служит двум очень важным целям. Во-первых, можно определить для доменов осмысленные имена, причем даже в том случае, если внутренне они совпадают с именами уже существующих доменов. Во-вторых, объявления специальных доменов используются для объявления структур данных, которые стандартными доменами не определяются.

 

4. Что содержится в разделе PREDICATES? Что такое «арность»?

Предикаты определяются фактами и правилами. В разделе predicates просто перечисляется каждый предикат с указанием доменов аргументов.

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

Общий вид определения предиката:

Pred(dom1,dom2,...,domN)

pred – имя предиката (имя отношения) (формально оно относится к типу symbol), dom – тип данных конкретного аргумента (всего аргументов в предикате N – это число аргументов предиката, его называют арностью предиката (от термина arity, и иногда пишут pred/N).

 

5. Для чего предназначен раздел CLAUSES?

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

Выражения, относящиеся к определенному предикату, должны размещаться в разделе clauses вместе. Последовательность определяющих предикат выражений называется ПРОЦЕДУРОЙ.

Фактом называют отношение или свойство, о котором известно, что оно имеет значение истина.

Правилом же является конструкция, содержащая некоторые условия.

 

Опишите раздел GOAL.

Содержание раздела goal аналогично правилу. Это попросту список подцелей. Но между разделом goal и правилом есть два отличия:

1. После ключевого слова goal не следует знак:- (если).

2. При запуске программы на выполнение Visual Prolog отрабатывает цель автоматически.

Visual Prolog как бы вызывает цель (обращается к разделу goal), а программа выполняется, пытаясь удовлетворить тело целевого правила. Если достигаются все подцели раздела goal, то программа успешно завершается. Если же в процессе выполнения программы какая-либо подцель не достигается, то и программа заканчивает работу неудачно.

 

7. Перечислите дополнительные разделы программ. Дайте их краткую характеристику.

Раздел facts

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

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

Раздел constants

Раздел объявления констант начинается ключевым словом constants, после которого следуют сами объявления с соблюдением следующего синтаксиса:

<Идентификатор> = <Макроопределение>

<Идентификатор> – это имя константы, а <Макроопределение> – это то, что этому имени соответствует. Каждое <Макроопределение> заканчивается символом новой строки, так что в одной строке может размещаться только одно описание константы.

На использование констант накладываются следующие ограничения:

- определение константы не может ссылаться само на себя;

- в программе может быть несколько разделов constants, но константы должны объявляться до их использования;

- идентификаторы констант являются глобальными и могут объявляться только один раз.

Разделы global

Visual Prolog позволяет объявить в программе некоторые домены, предикаты и выражения ГЛОБАЛЬНЫМИ (в отличие от ЛОКАЛЬНЫХ). Это можно сделать, сформировав в самом начале программы отдельные разделы globaldomains, globalpredicates и globalfacts.

8. Какие типы данных, используемые в Visual Prolog, вы знаете?

Типы данных: char, real, string, symbol.

 

ПРАКТИЧЕСКОЕ ЗАДАНИЕ

1. Наберите в окне редактора следующую программу:

Данная программа предлагает найти сумму двух чисел. Входящими параметрами здесь являются Num1, Num2, а выходящим – Rez.

Текст программы:

Domains

num1, num2, rez = real

Predicates

Sum(num1,num2,rez)

Clauses

sum(Num1,Num2,Rez):-Rez=Num1+Num2.

Goal

Sum(9.2,8.9,Rez).

Результат:

Rez=18.1

Solution

 

Добавьте в программу правило нахождения суммы трёх чисел – sum(Num1,Num2,Num3,Rez). Не забудьте при этом объявить новый предикат.

Текст программы:

Domains

num1, num2, num3, rez=real

Predicates

Sum(num1,num2,num3,rez)

Clauses

sum(Num1,Num2,Num3, Rez):-Rez=Num1+Num2+Num3.

Goal

Sum(9.2,8.9,2.3,Rez).

Результат:

Rez=20.4

Solution

3. Напишите правило Пролога, которое отображает следующую ситуацию.

У нас есть факты

отец(николай,иван).

мать(нина,иван).

Необходимо написать правило, которое определяет родителей Ивана.

Текст программы:

Predicates

nondeterm father (symbol, symbol)



<== предыдущая лекция | следующая лекция ==>
Характеристика объекта оценки | Характеристика підприємства та його організаційної структури
Поделиться с друзьями:


Дата добавления: 2015-10-27; Мы поможем в написании ваших работ!; просмотров: 1036 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Стремитесь не к успеху, а к ценностям, которые он дает © Альберт Эйнштейн
==> читать все изречения...

2153 - | 2108 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.