[Закрыть]
 
popoff.donetsk.ua
В фразе «Вся жизнь игра, а люди в ней - актёры» содержится неточность.
Начало | Новости | Статьи | Форум | Опросы | Карта сайта | Обо мне
popoff.donetsk.ua - Статьи - ДонНТУ - Функциональное и логическое программирование - Логическое программирование - Основные элементы языка Пролог
Я это делаю
Персональное меню
Голосование
Деньги, либо любимое занятие? Постоянный адрес этого вопроса
Деньги, но неинтересная работа и невозможность уделить время семье
Интересная работа, возможность саморазвиваться, но нищенский заработок
Ваш возраст (не обязательно)
Почему? (не обязательно)

Голосование закрыто.

Поиск по сайту
Реклама
Обмен электронных валют
money.dn.ua
Статистика

Основные элементы языка Пролог

Постоянный адрес статьи

Содержание

Синтаксис

Пролог-программа состоит из термов.

Терм - это последовательность литер.

Виды литер:

  • A,B,C,...,X,Y,Z (прописные)
  • a,b,c,...x,y,z (строчные)
  • 0,1,...,9 (цифры)
  • +,-,*,/,?,... (специальные знаки)

Терм:

  • константа
  • переменная
  • структура
  1. <p> Константы - это поименнованные конкретные объекты или отношения. </p><p> Атомы - это последовательность букв и цифр и начинается со строчной литеры. </p><p> Пример:
    Атомы Не атомы
    y (Т-Пролог)
    :-
    ?-
    'Don-Karlos' Дон-Карлос
    don_Karlos
    '32-30-BMV' 3230 BMV
    argentum серебро
    -35 3-5
    </p>
  2. <p> Переменные записываются с прописной литеры или '_'. </p><p> Переменные похожи на константы, но служат для представления объектов. </p>
  3. <p> Структура - это единый обьект. </p><p> Структура состоит из двух частей: </p><p>
    • функтор, который записывается перед скобками
    • компонент, который записывается в скобках
    </p><p> Пример:
    дает(«Петр», «Ольга», книга).
    дает(«Петр», «Ольга», книга(воскресенье, «Толстой»)).
    дает(«Петр», «Ольга», книга(воскресенье, автор(«Лев», «Толстой»))).
    </p>

Факты, правила

Пролог-программа - это совокупность утверждений.

Утверждение состоят из целей.

Основная операция Пролога - это доказательство целей утверждения.

Типы утверждений:

  • факты
  • правила

В конце утверждения ставится .

Факт - это одиночная цель, которая истина.

ценное(серебро).
pere(Jan, Alex).

Правило - это одна головная цель и одна или более подцелей, которые истинны при некоторых условиях.

спортсмен(X) :- футболист(X).

Оператор правила ':-' читается так 'при условии что'.

«Некто X спортсмен при условии, что - он футболист»

Правило записи:

  • <p> имена отношений - это константы(атомы) </p>
  • <p> цель -это структура: </p><p> < имя отношения >(< арг 1 >, < арг 2 >,...) </p>
  • <p> Синонимами являются: </p><p>
    1. имя отношения
    2. функтор
    3. предикат
    </p>

Оператор правила ':-' разделяет заголовок и тело правила:

  • слева от ':-' - заключение правила
  • справа от ':-' - посылка

Подцели в утверждении могут образовывать «конъюнкцию целей».

кот(X) :- родитель(X.Y),кот(Y).

Оператор ',' обозначает логическую операцию конъюнкция (умножение).

Запросы

Запрос - это целевое утверждение.

Запрос в базу данных не входит.

Запрос записывается в операторной форме:

? - <утверждение>

Пример 4:

кот( барс ).
кот( анфиса ).
кот( пушок ).
кот(X) :- родитель(X, Y),кот(Y).
родитель( пушок, анфиса).
родитель( пушок, барс).

Все утверждения с одинаковым предикатным символом должны быть записаны подряд.

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

Запросы:

? - кот( барс ). «Барс - кот ?»
да
? - кот(X). «Назвать всех котов ?»
X=барс
X=анфиса
X=пушок
3 решения
? - родитель( _ , _ ). «Есть родители ?»
да
? - родитель( Z , барс ). « Чей родитель Барс ?»
Z=пушок

Смотрите так же

Статьи
 
ДонНТУ
 
Функциональное и логическое программирование
 
Логическое программирование
 
Общие сведения о языке Пролог
Основные элементы языка Пролог
Арифметика в языке Пролог

Последняя модификация: 22.08.05 22:08

Не проходите мимо! Оставьте Ваш комментарий в форуме! >>>