Главная

ПРОЕКТ "ЧЕЛОВЕК. ЗЕМЛЯ. ВСЕЛЕННАЯ"

Инструменты пользователя

Инструменты сайта


project:prolog:listing:bratja_i_sestry



Программа "Братья и сестры"

Программа «Братья и сестры» позволяет определить, кто брат и сестра в семье.

domains
person = symbol
 
predicates
male(person) /* мужчины */
female(person) /* женщины */
parents(person,person,person) /* ребёнок и его родители */
sister(person,person) /* сестра */
brother(person,person) /* брат */ 
who_is_the_sister /* предикат нулевой арности */
 
clauses
/* факты */
male("Frank"). /* отец */
male("Sam"). /* сын */
female("Mary"). /* мать */
female("Debbie"). /* сестра */
parents("Sam","Frank","Mary"). /*родители Sam - Frank и Mary */
parents("Debbie","Frank","Mary"). /*родители Sam - Frank и Mary */
 
/* правило, задающее отношение брат-сестра */
sister(Sister,Brother) :- female(Sister), parents(Sister,Father,Mother), parents(Brother,Father,Mother).
 
brother(Brother,Sister) :- male(Brother), parents(Sister,Father,Mother), parents(Brother,Father,Mother).
 
/* правило нулевой арности  для вывода цели - кто сестра и какого брата? */
who_is_the_sister :- sister(Sister,Brother), brother(Brother,Sister), write(Sister," is the sister of ",Brother, "."),nl.
 
who_is_the_brother :- brother(Brother,Sister), sister(Sister,Brother), write(Brother," is the brother of ",Sister, "."),nl.
 
goal
/* цель - это предикат и правило */
who_is_the_sister
 
/* Дополнительная цель */
/*who_is_the_brother*/

Результат выполнения программы:

Debbie is the sister of Sam.

!!Рекомендуем: Семейная Энциклопедия ЗдоровьяЧто должен знать современный человек?Самоанализ. Работа над собойОглавлениеГлавная сайта

Обсуждение

Ваш комментарий:
F M I G C
 
project/prolog/listing/bratja_i_sestry.txt · Последние изменения: 2023/09/03 22:22 (внешнее изменение)

Вы можете оставить свои комментарии в разделе "Обсуждение".
Рекомендуем оформить подписку на новости данного раздела. Для этого нажмите на кнопку "Подписаться", расположенную справа снизу каждой страницы (знак конверта).

Индекс цитирования