Для використання будь-яких умовних конструкцій потрібно застосовувати таку послідовність операторів:
if < умовний вираз > then < дія >
|elif < умовний вираз > then < дія >|
|else < дія >|
fi
Обов'язковим є вживання службових слівif,then,fi. Якщо умова складна, то застосовуються конструкції elif.. then (що тотожно if.. else.. then).
Умовний вираз може бути будь-яким булевим виразом, що сформувався, використовуючи реляційні оператори (<, <=, >, >=,=, <>), логічні оператори (і, або, не) і логічні імена (false, true). Крім того, умовний вираз повинен бути в круглих дужках.
Спочатку вказується змінна, за якою ведеться цикл, після словаfrom пишеться початкове значення циклу, з конкретним кроком післяby. Далі пишеться або словоto, якщо відомо конкретне кінцеве значення, або while для зазначення умови виходу з циклу. Тіло циклу береться в операторні дужкиdo/od.
Приклад
# знаходження суми чисел від 6 до 100 з кроком 2
> sum:=0;
> for i from 6 by 2 while i < 100 do
> sum:=sum+i
> od;
Можна також використовувати неповний запис циклу у такому вигляді:
|while (умова)| |do| |(дії)| |od|
Приклад
> c:=1;
> whille (c<5) do print(c) od;
Вправа. Табуляція функцій
1 Знайти значення функції y=x3-5x2+2x+1 в інтервалі [-0.46 ,1.2] з кроком 0.15.
2 Записати циклічну структуру, яка обчислює значення факторіала заданого цілого числа N:
a) N=5;
b) N=27;
c) N=50.
3 Обчислити функцію на інтервалі (0, Pi).
Функції
Для того щоб самостійно задати певну функцію, що не входить до складу стандартних, вимагається використання функціонального оператора ->. Саме визначення функції повинно мати вигляд <змінні> -> <результат>. Таким чином, можна визначати функції і від багатьох змінних.
Приклад
> f := x -> 3*x + 5;
f := x -> 3 x + 5
> f(2);
> g := (x,y) -> sin(x)*cos(y) + x*y;
g := (x,y) -> sin(x) cos(y) + x y
> g(Pi/2, Pi);
Існує ще один варіант задання функцій за допомогою команди unapply. Спочатку треба надати змінній конкретний вираз, а потім зробити виклик команди у вигляді <ім’я функ.>:= unapplay< ім’я функ , змін>.