Составители:
Рубрика:
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
 - …
 - следующая ›
 - последняя »
 
