Обычно программы реализуют некоторый алгоритм решения задачи. В любом алгоритме возникает необходимость выполнения определенной последовательности операторов в зависимости от истинности или ложности того или иного выражения. Для подготовки разветвляющихся программ в 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



