Ця вказівка має вид: WHILE вираз DO вказівка;
або WHILE вираз DO
Begin
вказівка1;
вказівка2;
вказівка3; . . .
end;
Вказівка цикла з передумовою дозволяє багаторазово виконувати одні і ті ж дії в залежності від деякої умови, яка записується між словами WHILE і DO і повинно бути виразом бульового типу.
Цей цикл працює так: спочатку, задавши початкове значення, при вході в цикл обчислюється умова. Якщо вона дорівнює False тобто – Неправда, то входження в цикл не виконується і управління передається вказівці, що стоїть безпосередньо за вказівкою тіла циклу. Якщо ж умова дорівнює True – тобто Істина, то виконується входження в цикл і одноразове виконання його тіла. Як тільки досягнуто кінця циклу і зроблено прирощення значення, управління знову передається на заголовок циклу, де знову обчислюється умова. Якщо значення умови все ще істинно, то тіло циклу виконується ще раз, і так далі. Якщо значення умови дорівнює False, робота циклу завершується.
Запишемо текст попередньо розглянутої програми, використовуючи вказівку циклу з передумовою :
PROGRAM SUMMA1;
VAR n,s,i: integer;
BEGIN
WRITE (‘Введіть кількість чисел ’);
READLN(N);
S:=0;
I:=1;
WHILE I<=N DO BEGIN
IF I MOD 2=0 THEN S:=S+I;
I:=I+1;
END;
WRITELN (‘Сума парних чисел від 1 до ’ , N, ’ дорівнює ’, S);
END.