Выберите приоритеты так, чтобы 'если' стал главным функтором. Затем определите отношение 'если' так, чтобы оно стало как бы маленьким интерпретатором выражений типа 'если-то-иначе'. Например, такого
если Вел1 > Вел2 то Перем := Вел3
иначе Перем := Вел4
где Вел1, Вел2, Вел3 и Вел4 - числовые величины (или переменные, конкретизированные числами), а Перем - переменная. Смысл отношения 'если' таков: если значение Вел1 больше значения Вел2, тогда Перем конкретизируется значением Вел3, в противном случае - значением Вел4. Приведем пример использования такого интерпретатора:
?- Х = 2, Y = 3,
Вел2 is 2*X,
Вел4 is 4*X,
Если Y>Вел2 то Z:=Y иначе Z:=Вел4.
Если Z > 5 то W := 1 иначе W :=0.
Х = 2
Y = 3
Z = 8
W = 1
Вел2 = 4
Вел4 = 8
Посмотреть ответ
Резюме
Список - часто используемая структура. Он либо пуст, либо состоит из
В данной главе рассмотрены следующие операции над списками: принадлежность к списку, конкатенация, добавление элемента, удаление элемента, удаление подсписка.
Новые операторы определяются с помощью директивы ор, в которой указываются его имя, тип и приоритет.
Как правило, с оператором не связывается никакой операции; оператор это просто синтаксическое удобство, обеспечивающее альтернативный способ записи термов.
Арифметические операции выполняются с помощью встроенных процедур. Вычисление арифметических выражений запускается процедурой is, а также предикатами сравнения <, =< и т.д.
Понятия, введенные в данной главе:
список, голова списка, хвост списка
списковая нотация
операторы, операторная нотация
инфиксные, префиксные и постфиксные
операторы
приоритет операторов
арифметические встроенные процедуры
Назад | Содержание | Вперёд
Назад | Содержание | Вперёд
Глава 4
ИСПОЛЬЗОВАНИЕ СТРУКТУР:
ПРИМЕРЫ
Структуры данных вместе с сопоставлением, автоматическими возвратами и арифметикой представляют собой мощный инструмент