В программе часто требуется организовать циклические повторения одних и тех же выражений. Для организации циклических вычислений используется оператор цикла while, оператор do и оператор for. В операторе while процесс циклического выполнения вычислений организуется следующим образом. Перед тем как очередной (в том числе и первый) раз передать управление оператору внутри цикла, вычисляется значение условия цикла. Если вычисленное значение отлично от нуля, то выполняется оператор внутри цикла. Если вычисленное значение равно нулю, то выполнение цикла прекращается и управление передается оператору, расположенному непосредственно после оператора цикла.
Формат:
while ( Условие ) Оператор_цикла;
Аргументы:
| Аргумент
| Значение
|
| Условие
| Логическое выражение, значение которого проверяется перед очередной итерацией.
|
| Оператор_цикла
| Оператор, который будет выполняться при соответствующем значении условия цикла.
|
В тех случаях, когда действия, подлежащие выполнению в цикле, не могут быть записаны одним оператором, удобно применять составной оператор.
Цикл while завершается в следующих случаях:
· Значение условия в заголовке цикла обратилось в нуль;
· В теле цикла встретился оператор break;
· В теле цикла встретился оператор return;
· В теле цикла встретился оператор quit.
В первых двух случаях управление передается на оператор, располагающийся непосредственно за циклом. В третьем случае происходит возврат из функции. В последнем случае завершается выполнение всей программы.
Пример. Найти сумму чисел от 1 до n.
var @summa = 0, @num = 1;
var @n = 5;
while(@num <= @n)
{
@summa = @summa + @num;
@num = @num + 1;
}
select @summa as SUMMA from TABLES;