Студопедия

Главная страница Случайная страница

Разделы сайта

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






Методичні вказівки






В даний час мова Visual Prolog використовується для створення систем управління ресурсами великих комплексів (зокрема, аеропортів), обробки текстів природною мовою, експертних систем, систем медичної діагностики і багато чого іншого.

ПРОЛОГ Programming-(програмування) та Логіка - (в логіці), створений у 1973 р у Франції, Г.Марселем, А.Кальмерое. Найбільш розвиток отримав в Японії. Японці пристосували мову при використанні машин 5-го покоління в галузі штучного інтелекту.

Центральним поняттям є ставлення, яке тотожне поняттю предикат. Програма є сукупністю визначень, відносин між об'єктами в термінах умов або обмежень і метою (запит).

Процес виконання програми зводиться до доказу істинності цих відносин. Мова пристосований для проведення символічних обчислень. Пролог призначений для програмування задач штучного інтелекту (створення експертних систем, створення динамічних баз даних в бізнесі, у бухобліку, діагностичних системах, системах баз знань).

Пролог відноситься до декларованим мовам. Основою мови є об'єкти, логічні предикати і правила.

Код програми:

clauses
parent (" Victor", " Pavel").
parent (" Victor", " Bogdan").
parent (" Victor", " Maksim").
parent (" Alla", " Pavel").
parent (" Alla", " Bogdan").
parent (" Alla", " Maksim").
parent(" Alexander", " Alla").
parent(" Ira", " Alla").
spouse (" Victor", " Alla").
spouse (" Alexander", " Ira").


male(" Alexander").
male (" Victor").
male (" Pavel").
male(" Bogdan").
male(" Maksim").
female (" Alla").
female(" Ira").

 

implement main
open core, console


class facts - relatives
parent: (string Батько, string Дитина).
spouse: (string Чоловік, string Жінка).
male: (string).
female: (string).

class predicates
father: (string Батько, string Дитина) nondeterm anyflow.
mather: (string Мати, string Дитина) nondeterm anyflow.
grandfather: (string Дід, string Внук) nondeterm anyflow.
grandmather: (string Бабуся, string Внук) nondeterm anyflow.
grandson: (string Внук, string Дід, string Бабуся) nondeterm anyflow.
granddaughter: (string Внук, string Дід, string Бабуся) nondeterm anyflow.


clauses
father(X, Y): -
parent(X, Y),
male(X).

mather(X, Y): -
parent(X, Y),
female(X).

grandfather(X, Y): -
parent(X, Z),
parent(Z, Y),
male(X).

grandmather(X, Y): -
parent(X, Z),
parent(Z, Y),
female(X).

grandson(X, Y, Z): -
male(X).

granddaughter(X, Y, Z): -
female(X).

run(): -
init(),
file:: consult(" family2.txt", relatives),
father(X, Y),
write(" батько - ", X, ", дитина- ", Y), nl,
fail;
mather(X, Y),
write(" мати - ", X, ", дитина - ", Y), nl,
fail;
male(X),
write (" чоловік -", X), nl, fail;

mather(" Alla", X),
male(X),
write(" дитина-", X), nl,
fail;

spouse(_, Y),
write(" Заміжня-", Y), nl, fail;

grandfather(" Alexander", X),
write (" Внук-", X), nl, fail;

 


if father(" Victor", " Pavel") then
write(" \nVictor is father of Pavel")

else
write(" \nVictor is father of Pavel")

end if,

 


_ = readLine().

end implement main

goal
mainExe:: run(main:: run).

I. Створіть та продемонструйте роботу відповідей на наступні питання:

1) Часткове просте питання (чи являється Олександр батьком Петра?):

Батько (" Олександр", " Петро").

2) Загальне просте питання (знайти всіх чоловіків.

Чоловік(Ч).

3) Складене загальне питання (знайти синів Марії):

Матір(“Марія”, S), чоловік(S).

4) Просте загальне питання з відбором інформації за допомогою анонімної змінної (хто з жінок заміжня?)

чоловік(_, W)

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.