Составители:
Рубрика:
66
fail.
show_records.
/***** конец программы *****/
___________________________________________________________
В этой программе дополнительно присутствуют три правила. Каждое
из них можно использовать в качестве компоненты внутренней цели. (В са-
мой программе в целевом утверждении задействовано правило show_books.
По желанию это правило можно заменить другим.)
Первое из правил есть
show_misc_things :-
owns(Owner, misc_thing(Whatever)),
write(Owner," ",Whatever), nl,
fail.
Это правило осуществляет
запрос: "Выдать все возможные предметы и
их владельцев".
Второе правило есть
show_books :-
owns(_,book(_,Title)),
write(" ",Title), nl,
fail.
На естественный язык это утверждение можно перевести приблизи-
тельно так: "Выдать названия книг, содержащиеся в базе данных."
Третье правило - это
show_records :-
owns(Owner,record(_,Album,_)),
write(" ",Owner," ",Album), nl,
fail.
Перевод этого правила: "Выдать имена всех коллекционеров пласти-
нок и названия альбомов
из их коллекций."
Применение альтернативных доменов делает программу более "управ-
ляемой", а программирование - более эффективным.
* Упражнение
3.13. Рассмотрим запрос: Перечислить названия всех популярных
(popular) музыкальных записей и имена их исполнителей. Постройте правило
Пролога для реализации этого запроса, включите его в программу и запусти-
те ее на счет. Что выдаст программа ?
3.4 Арифметика в Турбо-Прологе
Турбо-Пролог располагает двумя числовыми типами доменов: целыми
и действительными числами. Четыре основные арифметические операции -
это сложение, вычитание, умножение и деление. Для их реализации в Тур-
бо-Прологе используются предикаты. Программа "Числа" (листинг 3.11)
fail.
show_records.
/***** конец программы *****/
___________________________________________________________
В этой программе дополнительно присутствуют три правила. Каждое
из них можно использовать в качестве компоненты внутренней цели. (В са-
мой программе в целевом утверждении задействовано правило show_books.
По желанию это правило можно заменить другим.)
Первое из правил есть
show_misc_things :-
owns(Owner, misc_thing(Whatever)),
write(Owner," ",Whatever), nl,
fail.
Это правило осуществляет запрос: "Выдать все возможные предметы и
их владельцев".
Второе правило есть
show_books :-
owns(_,book(_,Title)),
write(" ",Title), nl,
fail.
На естественный язык это утверждение можно перевести приблизи-
тельно так: "Выдать названия книг, содержащиеся в базе данных."
Третье правило - это
show_records :-
owns(Owner,record(_,Album,_)),
write(" ",Owner," ",Album), nl,
fail.
Перевод этого правила: "Выдать имена всех коллекционеров пласти-
нок и названия альбомов из их коллекций."
Применение альтернативных доменов делает программу более "управ-
ляемой", а программирование - более эффективным.
* Упражнение
3.13. Рассмотрим запрос: Перечислить названия всех популярных
(popular) музыкальных записей и имена их исполнителей. Постройте правило
Пролога для реализации этого запроса, включите его в программу и запусти-
те ее на счет. Что выдаст программа ?
3.4 Арифметика в Турбо-Прологе
Турбо-Пролог располагает двумя числовыми типами доменов: целыми
и действительными числами. Четыре основные арифметические операции -
это сложение, вычитание, умножение и деление. Для их реализации в Тур-
бо-Прологе используются предикаты. Программа "Числа" (листинг 3.11)
66
Страницы
- « первая
- ‹ предыдущая
- …
- 64
- 65
- 66
- 67
- 68
- …
- следующая ›
- последняя »
