ВУЗ:
Составители:
Рубрика:
28
Visual Prolog выполняет автоматическое преобразование типов между
доменами string и symbol. Однако, по принятому соглашению,
символическую строку в двойных кавычках нужно рассматривать как string, а
без кавычек – как symbol:
Symbol - имена, начинающиеся с символа нижнего регистра и
содержащие только символы, цифры, и символы подчеркивания.
String – в двойных кавычках могут содержать любую комбинацию
символов, кроме #0, который отмечает
конец строки.
Visual Prolog поддерживает и другие типы стандартных доменов
данных, например, для работы с внешними БД или объектами.
Предикаты описываются в разделе predicates. Предикат представляет
собой строку символов, первым из которых является строчная буква.
Предикаты могут не иметь аргументов, например «go» или «repeat». Если
предикаты имеют аргументы, то они определяются при описании предикатов
в
разделе predicates:
Пример 21:
predicates
mother (symbol, symbol)
father (symbol, symbol).
Факты и правила определяются в разделе clauses, а вопрос к программе
задается в разделе goal – в этом случае цель называется внутренней целью. В
Visual Prolog раздел goal в тексте программы является обязательным. Разница
в режимах исполнения программы состоит в разном использовании утилиты
Test Goal. Если утилита создается для запуска любой программы, то при этом
ищутся все решения, если утилита создается для автономного запуска
программы – то ищется одно решение.
2.9 Использование составных термов
В Прологе функциональный терм или предикат можно рассматривать
как структуру данных, подобную записи в языке Паскаль. Терм,
представляющий совокупность термов, называется составным термом или
структурой. Составные структуры данных в Прологе объявляются в разделе
domains. Если термы структуры относятся к одному и тому же типу доменов,
то этот объект называется однодоменной структурой данных. Если термы
структуры относятся к разным типам доменов, то такая структура данных
называется многодоменной структурой данных. Использование доменной
структуры упрощает структуру предиката.
Аргументами составного терма данных могут быть простые типы
данных, составные
термы или списки.
Синтаксически составной терм выглядит так же, как и предикат: у
терма есть функтор и список аргументов, заключенных в круглые скобки.
Составной терм может быть унифицирован с простой переменной или
составным объектом (при этом переменные могут быть использованы как
часть внутренней структуры терма). Это означает, что составной объект
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »