Данный оператор цикла используется, когда неизвестно число повторений, данный оператор может не выполниться ни разу.
Цикл имеет следующую структуру:

Описывается следующим образом:
<установка начального значения>;
while <логическое выражение> do
begin
<тело цикла>;
<изменение параметров>;
end;
Выполняется следующим образом:
1. Вычисляется логическое выражение.
2. Если результат равен true, то выполняется оператор после do и снова вычисляется логическое выражение.
3. Если результат логического выражения равен false, то действия после do пропускается и выполняется действие далее по программе.
Пример программы:
Program ma;
var
k: integer;
a: char;
begin
writeln (‘Введите символ’);
readln (a);
k:=0;
while a<>’.’ do
begin
k:=k+1;
writeln (‘Введите следующий символ’);
readln (a);
end;
k:=k-1;
writeln (k);
end.