Выберите приоритеты так, чтобы  'если' стал главным функтором. Затем определите отношение 'если' так, чтобы оно стало как бы маленьким интерпретатором выражений типа 'если-то-иначе'. Например, такого

        если Вел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

ИСПОЛЬЗОВАНИЕ СТРУКТУР:

ПРИМЕРЫ

Структуры данных вместе с сопоставлением, автоматическими возвратами и арифметикой представляют собой мощный инструмент

Вы читаете Prolog
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату