загрузка...
 
3. 8 Оператор цикла
Повернутись до змісту

3. 8 Оператор цикла

while  условие   do

последовательность операторов

end

Как и для if, “условие” может представлять собой переменную или выражение. Если переменная или результат вычисления больше нуля, тогда вычисляется последовательность операторов между словами do и end. После этого вновь проверяется “условие”. Если результатом проверки условия оказалось число ? 0, то происходит выход из цикла.

При использовании функции в языке SPL результаты их работы можно возвращать или с помощью оператора return или через глобальные переменные, которые описываются в начале программы вне области действия какой-либо из функций. Как и для других языков высокого уровня, в SPL допускаются рекурсии, когда функция может вызывать саму себя.

Ниже приводится пример программы на SPL, в которой, кроме главной функции main( ), также используется функция возведения в степень аb. Назовем ее exp ( ).


exp (а, b)

begin

int z;

z=1;

while b do

if b %2  then 

z=z*a

end;

a=a*a;

b=b/2

end;

return z

end

main ( )

begin

int x, y;

read x;

read y;

print exp (x, y)

end


В главной функции описаны и введены с клавиатуры две локальные переменные x, y. Затем в строке   print exp (x, y)  происходит вызов функции exp (), в которую вместо формальных параметров a и b подаются соответствующие фактические параметры x и y. Функция exp ( ) с помощью оператора return z возвращает в main ( ) результат, который выводится на экран.

Алгоритм возведения ab предлагается рассмотреть самостоятельно, например, вычисляя 27.



загрузка...