Главная

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

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

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


project:prolog:listing:biblioteka-3



Программа "Библиотека-3"

Программа демонстрирует двухуровневый составной объект. Составной объект состоит из двух двухуровневых структур.

domains
 
/* это двухуровневый составной объект
collection(collector,personal_library)
                       |       |    
                      book   volume */
 
/* 1-й уровень - персональная библиотека = книга(реквизиты, издание) */
personal_library = book(volume, publication)
 
/* 2-й уровень - реквизиты(название, автор) */
volume = volume(title, author)
 
/* 2-й уровень - реквизиты(издательство,год) */
publication = publication(publisher,year)
 
collector,title,author,publisher = symbol
year = integer
 
predicates
 
collection(collector,personal_library)
 
clauses
collection(kahn, book(volume("The Computer and the Brain", "von Neumann"), publication("Yale University Press", 1958))).
collection(kahn, book(volume("Symbolic Logic", "Lewis Carroll"), publication("Dower Publications",1958))).
collection(johnson, book(volume("Database: A Primer", "C.J.Date"), publication("Addison-Wesley",1983))).
collection(johnson, book(volume("Problem-Solving Methods in AI", "Nils Nilsson"), publication("McGraw Hill",1971))).
collection(smith, book(volume("Alice in Wonderland", "Lewis Carroll"), publication("The New American Library",1960))).
collection(smith, book(volume("Fables of Aesop", "Aesop-Calder"), publication("Dover Publications", 1967))).
 
goal
/* Определить, какие книги принадлежат smith */
/* Цель в программе */
collection(smith,book(volume(Title, Autor), _)),
write("У smith есть книга: "), nl,
write("Название: ", Title),  nl, 
write("Автор : ", Autor),  nl, nl.
/* Результат:
У smith есть книга: 
Название: Alice in Wonderland
Автор : Lewis Carroll
 
У smith есть книга: 
Название: Fables of Aesop
Автор : Aesop-Calder
*/
 
/* Вывести список книг - названия и авторов */
/* collection(_,book(volume(Title, Autor), _)),
write("В библиотеке есть книга: "), nl,
write("Название: ", Title),  nl, 
write("Автор : ", Autor),  nl, nl. */
 
/* Результат:
В библиотеке есть книга: 
Название: The Computer and the Brain
Автор : von Neumann
 
В библиотеке есть книга: 
Название: Symbolic Logic
Автор : Lewis Carroll
 
В библиотеке есть книга: 
Название: Database: A Primer
Автор : C.J.Date
 
В библиотеке есть книга: 
Название: Problem-Solving Methods in AI
Автор : Nils Nilsson
 
В библиотеке есть книга: 
Название: Alice in Wonderland
Автор : Lewis Carroll
 
В библиотеке есть книга: 
Название: Fables of Aesop
Автор : Aesop-Calder
*/

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

Обсуждение

Ваш комментарий:
L R U S E
 
project/prolog/listing/biblioteka-3.txt · Последние изменения: 2023/09/03 22:22 (внешнее изменение)

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

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