Обычно программы реализуют некоторый алгоритм решения задачи. В любом алгоритме возникает необходимость выполнения определенной последовательности операторов в зависимости от истинности или ложности того или иного выражения. Для подготовки разветвляющихся программ в Maple-язык программирования включен оператор if, позволяющий создавать следующую конструкцию:
if булево выражение then последовательность операторов
|elif булево выражение then последовательность операторов |
|else последовательность операторов| end if;
В вертикальных черточках | | указаны необязательные элементы.
Этот оператор работает следующим образом: если истинно булево выражение после ключевого слова if
, то выполняется последовательность операторов после ключевого слова then
до первого встретившегося elif, else
или end if
; если значение булева выражения равно false
или FAIL
, то проверяется на истинность выражение после ключевого слова elif
, если оно задано, и в случае истинности выполняются операторы после второго ключевого слова then
.
![]() |
Если ни одно из булевых значений не истинно, то выполняются операторы блока |
Оператор if
в предыдущих версиях Maple завершался ключевым словом fi
. Для совместимости с предыдущими версиями его можно использовать и в Maple 6, однако при написании новых программ рекомендуется для завершения конструкции ветвления использовать ключевое слово end if
.
![]() |
В Maple нет оператора, реализующего конструкцию переключателя. Для этих целей следует использовать оператор
|
Синтаксис Maple позволяет использовать вложенные конструкии if
, т.е. последовательности операторов в блоках then
и else
могут содержать операторы ветвления.
На практике чаще всего используются следующие конструкции оператора if
:
if (условие сравнения) then (элементы) fi;
if (условие сравнения) then (элементы) else (элементы) fi;
В условиях используются любые логические конструкции со знаками сравнения (<,<=,>,>=,=,<>) и логические операторы and, or, not, конструкции с которыми возвращают логические значения true и false.
Для организации ветвлений в программах и отдельно в виде команды может быть использована операция `if`
(в ОБРАТНЫХ кавычках). Она имеет следующий синтаксис:
`if `( Условие, Выражение1, Выражение2)
Если Условие
истинно, то будет выполнено Выражение1
, в противном случае выполняется Выражение2
.
![]() |
> 5*(Pi + `if`(a > b,a,b)); 5 Pi + 25 > r:=5; r := 5 > `if`(r<0,print('Negative'),print('Positive')); Positive |
Ввиду компактности записи последняя форма условного выражения бывает предпочтительна, хотя она и менее наглядна.
http://detc.ls.urfu.ru/assets/amath0011/mp4.htm