- Философия, эзотерика:
- Религии:
- Познавательное
(обо всём)
Программа «Библиотека-2» демонстрирует использование трехуровневой доменной структуры и четырехуровневой предикатной.
Программа «Библиотека - 2» использует те же данные, что и программа Программа "Библиотека". Описание предикатов и утверждений в точности совпадает с описаниями из предыдущей программы. Все отличие заключается только в описании доменов.
Доменная структурная диаграмма (ДСД) имеет 3 уровня, а предикатная структурная диаграмма (ПСД) - 4 уровня. Функторы здесь - book и publication, причем publication является компонентом функтора book.
domains /* это двухуровневый составной объект */ /* 1-й уровень - персональная библиотека = книга(название, автор, издание) */ /* 2-й уровень - издание = издание(издательство, год) */ /* publisher и year являются объектами publication - функтора 3-го уровня. */ personal_library = book(title,author,publication) publication = publication(publisher,year) collector,title,author,publisher = symbol year = integer predicates collection(collector,personal_library) clauses collection("Kahn", book("The Computer and the Brain", "von Neumann", publication("Yale University Press", 1958))). collection("Kahn", book("Symbolic Logic", "Lewis Carroll", publication("Dower Publications",1958))). collection("Johnson", book("Database: A Primer", "C.J.Date", publication("Addison-Wesley",1983))). collection("Johnson", book("Problem-Solving Methods in AI", "Nils Nilsson", publication("McGraw Hill",1971))). collection(smith, book("Alice in Wonderland", "Lewis Carroll", publication("The New American Library",1960))). collection(smith, book("Fables of Aesop", "Aesop-Calder", publication("Dover Publications", 1967))). goal /* Определить, какие книги принадлежат Смиту */ /* Вывод результатов с названиями функторов - book и publication */ /* Внешняя цель - collection(smith,Books). */ /* Цель в программе */ /* collection(smith,Books), write("У smith есть следующие книги ", Books),nl. */ /* Результат: Books=book("Alice in Wonderland","Lewis Carroll",publication("The New American Library",1960)) Books=book("Fables of Aesop","Aesop-Calder",publication("Dover Publications",1967)) */ /* Определить, какие книги принадлежат Смиту */ /* Вывод результов в более удобочитаемом виде без названия функторов */ collection(smith,book(Title, Autor, publication(Publisher, Year))), write("У smith есть следующие книги: "), nl, nl, write("Название: ", Title), nl, write("Автор : ", Autor), nl, write("Издательство: ", Publisher), nl, write("Год издания: ", Year),nl, nl. /* Результат: У smith есть следующие книги: Название: Alice in Wonderland Автор : Lewis Carroll Издательство: The New American Library Год издания: 1960 У smith есть следующие книги: Название: Fables of Aesop Автор : Aesop-Calder Издательство: Dover Publications Год издания: 1967 */
!!Рекомендуем: Семейная Энциклопедия Здоровья ⇒ Что должен знать современный человек? ⇒ Самоанализ. Работа над собой ⇒ Оглавление ⇒ Главная сайта
Обсуждение