Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Лабораторная работа по «Логическому и функциональному программированию»

Автор:   •  Ноябрь 6, 2023  •  Лабораторная работа  •  1,030 Слов (5 Страниц)  •  125 Просмотры

Страница 1 из 5

Федеральное агентство связи

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

 

 

                                Факультет ИНО

Кафедра программной инженерии и вычислительной техники

 

 

 

 

ЛАБОРАТОРНАЯ РАБОТА №1

по дисциплине «Логическое и функциональное программирование»

 

 

 

 

 

 

Выполнил: студент группы ПИБ-11з

Гюльмагомедов Казимагомед Исмаилович

Проверил: 

доцент кафедры ПИиВТ

Ерофеев Сергей Анатольевич

 

 

 

 

 

Санкт-Петербург

2023

Постановка задачи

Создать базу знаний на языке Turbo Prolog 2.0, содержащую родственные связи, включая следующие: дочь, сын, сестра, брат, мама, папа, жена, муж, бабушка, дедушка. Схема знаний:

 

 

 

[pic 1]


Пояснение необходимых родственных

связей родственных связей

Дочь — лицо женского пола по отношению к своим родителям. (В программе – daughter (X, Y))

Сын — лицо мужского пола по отношению к своим родителям. (В программе – son(X, Y))

Сестра — дочь тех же родителей по отношению к другим их детям. (В программе – sister(X, Y))

Брат — сын тех же родителей по отношению к другим их детям. (В программе – brother(X, Y))

Мама (мать) — женщина по отношению к своим детям. (В программе – mom(X,

Y))

Папа (отец) — мужчина по отношению к своим детям. (В программе – dad(X,

Y))

Жена — женщина по отношению к мужчине, с которым она состоит в браке.

Муж — мужчина по отношению к женщине, с которой он состоит в браке.

(В программе связь муж – жена выполняет единый предикат marriage(X, Y))

Бабушка — мать отца или матери. (В программе – grandma (X, Y))

Дедушка — отец отца или матери. (В программе – grandpa (X,

Y))

Для упрощения определения некоторых предикатов программы, а также для возможности вывода всех возможных искомых родственников независимо от их пола, в список родственных связей были добавлены универсальные связи, не зависящие от пола их участников. В их числе: родитель (в программе – parent(X,

Y)), ребёнок (в программе – child(X, Y)), бабушки и дедушки (в программе – grandparent (X, Y)), внуки (в программе – grandkid(X, Y)).

 

ЛИСТИНГ КОДА: 

DOMAINS

    person = symbol

PREDICATES     man(person)     woman(person)     dad(person, person)     mom(person, person)     grandma(person, person)     grandpa(person, person)     son(person, person)     daughter(person, person)     parent(person, person)          child(person, person)          sister(person, person)          brother(person, person)     marriage(person, person)     grandkid(person, person)     grandparent(person, person)

CLAUSES

    % Мужчины:     man(poliport).     man(telemah).     man(odissey).

    man(ikariy).     man(laert).

    % Женщины:     woman(ardeya).     woman(anciya).     woman(penelopa).     woman(peribeya).     woman(antikleya).

    % Браки:     marriage(penelopa, odissey).     marriage(peribeya, ikariy).     marriage(antikleya, laert).

    % Сыновья:     son(poliport, penelopa).     son(poliport, odissey).     son(telemah, penelopa).     son(telemah, odissey).     son(odissey, antikleya).

    son(odissey, laert).

    % Дочери:

    daughter(ardeya, odissey).     daughter(anciya, odissey).

    daughter(penelopa, peribeya).     daughter(penelopa, ikariy).

    % Родители:     parent(PARENT_, SON_):-son(SON_, PARENT_).

    parent(PARENT_, DAUGHTER_):-daughter(DAUGHTER_, PARENT_).

    % Дети, мама, папа:     child(CHILD_, PARENT_):-parent(PARENT_, CHILD_).     mom(MOM_, CHILD_):-woman(MOM_), parent(MOM_, CHILD_).     dad(DAD_, CHILD_):-man(DAD_), parent(DAD_, CHILD_).

    % Сестра, брат:

    sister(SISTER_, BROTHER_):-dad(DAD_, SISTER_), dad(DAD_, BROTHER_), woman(SISTER_), SISTER_<>BROTHER_.

    brother(BROTHER_, SISTER_):-dad(DAD_, BROTHER_), dad(DAD_, SISTER_), man(BROTHER_), BROTHER_<>SISTER_.

    % Бабушка, дедушка:

    grandma(GRANDMA_, GRANDKID_):-woman(GRANDMA_), mom(GRANDMA_, PARENT_), parent(PARENT_, GRANDKID_).

    grandpa(GRANDPA_, GRANDKID_):-man(GRANDPA_), dad(GRANDPA_, PARENT_), parent(PARENT_, GRANDKID_).     grandparent(GRANDPARENT_, GRANDKID_):-grandma(GRANDPARENT_, GRANDKID_);grandpa(GRANDPARENT_, GRANDKID_).

    % Внук

    grandkid(GRANDKID_, GRANDPARENT_):-grandparent(GRANDPARENT_, GRANDKID_).

     

 

...

Скачать:   txt (7.7 Kb)   pdf (308.9 Kb)   docx (169.5 Kb)  
Продолжить читать еще 4 страниц(ы) »
Доступно только на Essays.club