Главная страница

ИГА. Понятие базы данных


Скачать 0.77 Mb.
НазваниеПонятие базы данных
Дата05.04.2022
Размер0.77 Mb.
Формат файлаdocx
Имя файлаИГА.docx
ТипДокументы
#445246
страница16 из 37
1   ...   12   13   14   15   16   17   18   19   ...   37

Сравнительная характеристика декларативных и процедурных языков программирования. Предикаты.


Предикат – это имя свойства или отношения между объектами с последовательностью аргументов. При записи факта или цели с использованием некоторого предиката сначала записывается имя предиката, а затем в скобках, через запятую, его аргументы. Например, факт black (cat) записан с использованием предиката black, имеющего один аргумент. Факт railway (novosibirsk, omsk) записан с использованием предиката railway, имеющего два аргумента. Число аргументов предиката называется арностью предиката и обозначается black /1 (предикат black имеет один аргумент, его арность равна единице). Предикаты могут не иметь аргументов, арность таких предикатов равна 0.

Предложения: факты и правила (Prolog).


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

В виде фактов в программе записываются данные, которые принимаются за истину и не требуют доказательства. Данные в фактах могут быть использованы для логического вывода. Факт может описывать некоторые свойства объекта или отношения между объектами. Можно дать следующее определение для факта: факт – это свойство объекта или отношение между объектами, для которого известно, что они истинны.

=========================================================================

Примеры фактов:

black (cat). %объект кот обладает свойством – черным цветом или, проще, кот – черный

railway (novosibirsk, omsk). %города Новосибирск и Омск связаны железной дорогой

=========================================================================

Второй тип предложений – правила вывода. Правило вывода состоит из двух частей, разделенных условным обозначением “:-“, которое читается как «если», или «при условии, что». Левая часть правила вывода называется заголовком или головной целью. Правая часть правила вывода называется хвостом или хвостовой частью. Хвостовая часть может состоять из нескольких условий (хвостовых целей), перечисленных через запятую или точку с запятой. Запятая означает операцию «логическое И», точка с запятой – операцию «логическое ИЛИ». Использовать скобки в хвостовой части правила вывода нельзя. Головная цель правила вывода считается доказанной, если доказаны все хвостовые цели в правой части правила вывода.

=========================================================================

Пример правил вывода:

%Некоторый объект, обозначенный переменной Bird, является пингвином,

penguin (Bird):- swim (Bird), wings(Bird). %если объект умеет плавать и у него есть крылья

%Некоторый объект, обозначенный переменной Bird, является страусом,

ostrich (Bird):- not_fly (Bird), long_legs (Bird), wings(Bird). %если объект не умеет летать, у него длинные ноги и есть крылья

=========================================================================

Переменные. Анонимные переменные.


Работа с переменными в Prolog’е достаточна своеобразна. Если в других, алгоритмических, языках программирования значение переменной, которое было ей присвоено, не изменяется до тех пор, пока не будет выполнено переприсваивание значения, то в Prolog’е переменная может получить некоторое значение в процессе поиска решения и потерять его, когда начнется поиск нового решения.

Имя переменной дается по следующим правилам: имя должно начинаться с заглавной латинской буквы или символа подчеркивания, после которых могут следовать латинские буквы, цифры или символы подчеркивания. Маленькая буква - имя объекта. Заглавная - переменная. Переменная, не имеющая значения, называется свободной, переменная, имеющая значение – конкретизированной. Еще существуют специальные переменные, называемые анонимными. Их имя состоит только из знака подчеркивания. Анонимные переменные используются в случаях, когда значение переменной несущественно, но переменная должна быть использована.

=========================================================================

Пример:

First_list

X

Person

City
parent (“Владимир”, “Михаил”).

parent (“Владимир”, “Светлана”).

parent (“Анна”, “Михаил”).

parent (“Анна ”, “ Светлана”).

GOAL: parent (Person, _).

=========================================================================
1   ...   12   13   14   15   16   17   18   19   ...   37


написать администратору сайта