* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
1042
Программирование в системах компьютерной алгебры
В нем выводятся значения переменной i в ходе выполнения цикла. Нетрудно заметить, что она и впрямь меняется от значения 1 до значения 5 с шагом +1. Сле дующий пример показывает, что границы изменения управляющей переменной можно задать арифметическими выражениями:
> for i from 7/(2+5) to 2+3 do print(i) od;
1 2 3 4 5 А еще один пример показывает задание цикла, у которого переменная цикла меняется от значения 1 до 10 с шагом 2:
> for i from 1 to 10 by 2 do print(i) od;
1 3 5 7 9 В этом случае выводятся нечетные числа от 1 до 9. Шаг может быть и отрица тельным:
> for i from 9 to 1 by -2 do print(i) od;
9 7 5 3 1 Следует отметить, что если expr1>expr2 задать заведомо невыполнимое усло вие, например expr1>expr2, и положительное значение шага, то цикл выпол няться не будет. Цикл можно прервать с помощью дополнительного блока while
. Цикл с таким блоком выполняется до конца или до тех пор, пока усло вие expr4 истинно:
> for i from 1 to 10 by 2 while i<6 do print(i) od;
1 3 5 Таким образом, конструкция цикла в Maple языке программирования вобрала в себя основные конструкции циклов for и while. Есть еще одна, более специфи ческая конструкция цикла:
|for | |in | |while | do od;
Здесь expr1 задает список значений, которые будет принимать управляющая переменная name. Цикл будет выполняться, пока не будет исчерпан список и пока выполняется условие, заданное выражением expr2. Следующий пример иллюст рирует сказанное: