TURBO PROLOG. Терёхин В.В. - 61 стр.

UptoLike

Составители: 

61
collection(_,Book(Volume,_)).
Будет ли выдан список всех авторов и книг ? Если нет, еще раз проверьте
правильность написания утверждений.
3.3.7 Использование альтернативных доменов
Представление данных часто требует наличия большого числа струк-
тур. В Турбо-Прологе эти структуры должны быть описаны. Более того,
возникают трудности с предикатами, работающими с объектами этих доме-
нов. Для устранения данного недостатка Турбо-Пролог предлагает пользова-
телю альтернативные описания доменов. Программа "Предметы" (листинг
3.9) как раз и использует эти альтернативные
описания:
_____________________________________________________________
Листинг 3.9
/* Программа: Предметы */
/* Назначение: Демонстрация использования конструкций */
/* альтернативных доменов. */
domains
thing = misc_thing(whatever) ;
book(author, title) ;
record(artist, album, type)
person, whatever,
author, title,
artist, album, type = symbol
predicates
owns(person, thing)
clauses
/* факты */
/* Разнообразные вещи */
owns("Bill", misc_thing("sail boat")).
owns("Bill", misc_thing("sports car")).
owns("Jack", misc_thing("Motor cycle")).
owns("Jack",
misc_thing("house trailer")). owns("Beth",
misc_thing("Chevy wagon")).
owns("Beth", misc_thing("Piano")).
owns("Linda", misc_thing("motor boat")).
/* книги */
owns("Bill",
book("J.R.R. Tolkein",
"Return of the Ring")).
owns("Bill",
book("James A. Mishener", "Space")).
owns("Jack", book("Manuel Puig",
                collection(_,Book(Volume,_)).
Будет ли выдан список всех авторов и книг ? Если нет, еще раз проверьте
правильность написания утверждений.
     3.3.7 Использование альтернативных доменов
      Представление данных часто требует наличия большого числа струк-
тур. В Турбо-Прологе эти структуры должны быть описаны. Более того,
возникают трудности с предикатами, работающими с объектами этих доме-
нов. Для устранения данного недостатка Турбо-Пролог предлагает пользова-
телю альтернативные описания доменов. Программа "Предметы" (листинг
3.9) как раз и использует эти альтернативные описания:
_____________________________________________________________
Листинг 3.9
/* Программа: Предметы */
/* Назначение: Демонстрация использования конструкций */
/*         альтернативных доменов.            */
domains
             thing = misc_thing(whatever)   ;
             book(author, title)     ;
             record(artist, album, type)
             person, whatever,
             author, title,
             artist, album, type = symbol

predicates
             owns(person, thing)

clauses
      /* факты */
            /* Разнообразные вещи */
      owns("Bill", misc_thing("sail boat")).
      owns("Bill", misc_thing("sports car")).
      owns("Jack", misc_thing("Motor cycle")).
      owns("Jack",
            misc_thing("house trailer")). owns("Beth",
            misc_thing("Chevy wagon")).
      owns("Beth", misc_thing("Piano")).
      owns("Linda", misc_thing("motor boat")).
            /* книги */
      owns("Bill",
            book("J.R.R. Tolkein",
            "Return of the Ring")).
      owns("Bill",
            book("James A. Mishener", "Space")).
      owns("Jack", book("Manuel Puig",


                                                                          61