Основы языка Visual Prolog

Автор работы: Пользователь скрыл имя, 20 Февраля 2011 в 22:33, лекция

Описание работы

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

Файлы: 1 файл

Основы языка Visual Prolog.docx

— 23.29 Кб (Скачать файл)

predicates 

my_predikate (name, number),  

то выше надо описать в разделе доменов  

domains 

name = symbol 

number = integer 

Домены позволяют  задавать разные имена различным  видам данных. 

Например, предложение  «Иван – мужчина, которому 45 лет» можно объявить следующим предикатом: person(symbol, symbol, integer) без объявления доменов в их разделе. 

Однако такое  объявление недостаточно понятно. Если использовать домены, то предикат станет гораздо более «говорящим»: 

domains 

       imya, pol = symbol 

       vozrast = integer 

predicates 

       person(imya, pol, vozrast) 

Одно из преимуществ  объявления собственных доменов  – это то, что компилятор может  отслеживать ошибки типов: 

rovesnik(X, Y) :- person(X, Pol, Let), person(Pol, Y, Let) 

Вывод: 

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

  

Стандартные домены

Домен 

Описание 

Значение 

short 

короткое, знаковое, количественное 

-32 768 .. 32 767 

ushort 

короткое, беззнаковое, количественное 

0 .. 65 535 

long 

длинное, знаковое, количественное 

-2 млрд. .. 2 млрд. 

ulong 

длинное, беззнаковое, количественное 

0 .. 4 млрд. 

integer 

знаковое, количественное 

или -32 768 .. 32 767 

или -2 млрд. .. 2 млрд. 

unsigned 

беззнаковое, количественное 

или 0 .. 65 535 

или 0 .. 4 млрд. 

byte 

  

0 .. 255 

word 

  

0 .. 65 535 

dword 

  

0 .. 4 млрд. 

char 

символ, заключенный  в апострофы 

real 

число с плавающей  десятичной точкой (эквивалентен типу double в C) в интервале: 

10-307 .. 10308 

string 

1)        последовательность символов, заключенных  в кавычки  

2)        последовательность букв, цифр и  символов подчеркивания, начинающаяся  со строчной буквы 

symbol 

то же, что  и string 
 

  

Раздел целей 

Раздел целей  аналогичен телу правила: это просто список подцелей. 

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

1)     за ключевым словом GOAL не следует  знак :- 

2)     при запуске программы VP автоматически  выполняет цель.

Информация о работе Основы языка Visual Prolog