Составители:
Рубрика:
59
именами author и publisher. (Напомним, что подчерк замещает собой ано-
нимную переменную.)
Следующие два упражнения познакомят Вас с использованием целе-
вых утверждений различных типов.
* Упражнения
3.7. Вы хотите задать вопрос: Как зовут коллекционера, которому при-
надлежит книга под названием "Database.A Primer." ? Этот запрос в Турбо-
Прологе формулируется в виде
collection(Collector,book("Database:A Primer",_,_,_)).
Что получится ?
3.8. Вы хотите задать вопрос: Каковы названия книг, опубликованных
после 1980 года ? Целевая конструкция для этого вопроса выглядит так:
collection(_,book(Title,_,_,Year)),Year > 1980.
Что получится ?
Программа "Библиотека - 2" (листинг 3.8) демонстрирует использова-
ние трехуровневой доменной структуры и четырехуровневой предикатной.
____________________________________________________________
Листинг 3.8
/* Программа: Библиотека -2 */
/* Назначение: Демонстрация двухуровневого составного */
/* объекта. */
domains
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))).
именами author и publisher. (Напомним, что подчерк замещает собой ано-
нимную переменную.)
Следующие два упражнения познакомят Вас с использованием целе-
вых утверждений различных типов.
* Упражнения
3.7. Вы хотите задать вопрос: Как зовут коллекционера, которому при-
надлежит книга под названием "Database.A Primer." ? Этот запрос в Турбо-
Прологе формулируется в виде
collection(Collector,book("Database:A Primer",_,_,_)).
Что получится ?
3.8. Вы хотите задать вопрос: Каковы названия книг, опубликованных
после 1980 года ? Целевая конструкция для этого вопроса выглядит так:
collection(_,book(Title,_,_,Year)),Year > 1980.
Что получится ?
Программа "Библиотека - 2" (листинг 3.8) демонстрирует использова-
ние трехуровневой доменной структуры и четырехуровневой предикатной.
____________________________________________________________
Листинг 3.8
/* Программа: Библиотека -2 */
/* Назначение: Демонстрация двухуровневого составного */
/* объекта. */
domains
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))).
59
Страницы
- « первая
- ‹ предыдущая
- …
- 57
- 58
- 59
- 60
- 61
- …
- следующая ›
- последняя »
