- Философия, эзотерика:
- Религии:
- Познавательное
(обо всём)
/* GoogleAds */
Программа «Предметы-2» демонстрирует альтернативные описания доменов (c правилами для запросов).
domains /* Все три доменные структуры объединены под именем thing. Для разделения альтернативных доменов здесь применена точка с запятой - ; Термы misc_thing, book и record являются именами структур. Однако когда они появляются в предикатных выражениях, то одновременно играют и роль имен функторов. Описание отношений: owns(person,thing) - владелец(имя,вещь). То есть вещь (thing) может быть любой категории: misc_thing - просто вещь; book - книга; record - пластинка; Таким образом предикат owns используется в утверждениях применительно к различным классам вещей. */ thing = misc_thing(whatever) ; book(author,title) ; record(artist,album,type) person, whatever, author, title, artist, album, type = symbol predicates owns(person,thing) /* Кто и чем обладает - владелец(имя,вещь) */ show_misc_things /* правила для запросов - компонент внутренней цели */ show_books show_records 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","Kiss of the Spider Woman")). owns("Beth",book("Frank Herbert","Dune")). owns("Beth",book("Tom Clancy","The Hunt for Red October")). owns("Linda",book("Garrison Keillor","Lake Wobegon Days")). /* грампластинки */ owns("Bill",record("Elton John","Ice Fair","popular")). owns("Bill",record("Michael Jackson - Lionel Richie","We are the World","popular")). owns("Jack",record("Bruce Springsteen","Born to Run","popular")). owns("Jack",record("Benny Goodman","The King of Swing","jazz")). owns("Beth",record("Madonna","Madonna","popular")). /* Правила - заготовки для целевых запросов. Вывести список пользователей и их вещей */ show_misc_things :- owns(Owner, misc_thing(Whatever)), write(Owner," - ",Whatever), nl, fail. show_misc_things. /* Вывести названия книг */ show_books :- owns(_,book(_,Title)), write(" ",Title), nl, fail. show_books. /* Вывести список пользователей и названия альбомов, которые у них есть */ show_records :- owns(Owner,record(_,Album,_)), write(" ",Owner," ",Album), nl, fail. show_records. /* Вывести спискок исполнителей и их альбомов */ show_artist :- owns(_,record(Artist,Album,_)), write("Исполнитель - ", Artist, ", Композиция - ", Album), nl, fail. show_artist. goal /* Вывести список пользователей и вещей */ /* write("Список пользователей и вещей: "), nl, nl, show_misc_things. */ /* Результат Список пользователей и вещей: Bill - sail boat Bill - sports car Jack - Motor cycle Jack - house trailer Beth - Chevy wagon Beth - Piano Linda - motor boat */ /* Вывести названия книг в библиотеке */ /* write("В библиотеке есть книги: "), nl, nl, show_books. */ /* Результат В библиотеке есть книги: Return of the Ring Space Kiss of the Spider Woman Dune The Hunt for Red October Lake Wobegon Days */ /* Вывести исполнителей и названия композиций */ write("Есть следующие альбомы: "), nl, nl, show_artist. /* Результат Есть следующие альбомы: Исполнитель - Elton John, Композиция - Ice Fair Исполнитель - Michael Jackson - Lionel Richie, Композиция - We are the World Исполнитель - Bruce Springsteen, Композиция - Born to Run Исполнитель - Benny Goodman, Композиция - The King of Swing Исполнитель - Madonna, Композиция - Madonna */
!!Рекомендуем: Семейная Энциклопедия Здоровья ⇒ Что должен знать современный человек? ⇒ Самоанализ. Работа над собой ⇒ Оглавление ⇒ Главная сайта