While <условие>Do <тело цикла>;
Выполнение оператора цикла с предусловием начинается с проверки условия, записанного после слова While. Если оно соблюдается, то выполняется <тело цикла>, затем вновь проверяется условие и т.д. Как только при очередной проверке окажется, что условие не соблюдается, <тело цикла> выполняться не будет.
Примечание
1. Если <тело цикла> состоит из нескольких операторов, то они объединяются операторными скобками.
2. В теле цикла обязательно должен быть оператор, влияющий на соблюдение условия, в противном случае произойдет зацикливание.
Пример 1
Подсчитать количество цифр заданного натурального числа n.
Решение
Подсчет количества цифр начнем с последней цифры числа. На очередном шаге цикла увеличим счетчик цифр на единицу, а число уменьшим в 10 раз (тем самым мы избавляемся от последней цифры числа). Далее с получившимся числом проделаем ту же последовательность действий и т.д., пока число не станет равным нулю.
Program Example_43;
Var m, n: Longint;
k: Integer; {счетчик цифр}
Begin
Writeln('Введите натуральное число');
{вводим натуральное число n>0}
Readln(n);
m:=n; k:=0;
While m<>0 Do
{пока (While) число m<>0 делать (Do)}
Begin
Inc(k); {k:=k+1;}
m:=m div 10;
{"выбрасываем" из числа последнюю цифру}
End;
Writeln('В числе ',n,' - ' ,
k,' цифр');
{вывод количества цифр}
Readln;
End.
Пример 2
Дана непустая последовательность натуральных чисел, за которой следует 0. Найти порядковый номер наименьшего элемента последовательности.