ПАСКАЛЬ: ЦИКЛ "ПОКИ" ТА ЙОГО ВИКОРИСТАННЯ
За означенням, n!=1 2 … n, тобто 1!=1, 2!=1! 2, 3!=2! 3 тощо, n!=(n-1)! n. Обчислимо 1! та порівняємо з A; якщо 1!
спочатку n:=1, f:=1, і
поки f
Перекладемо цей алгоритм на Паскаль. Скористаємося while-оператором із умовою продовження f
n:=1; f:=1;
while f
begin n:=n+1; f:=f*n end;
{f>=A, f=n! , тому значення n – шукане}
Коментар після циклу містить умову f>=A – по суті, заперечення умови продовження f
Оформлення алгоритму у вигляді функції з параметром A залишається як вправа.
Досвідчені програмісти в деяких випадках користуються "нескінченним циклом" вигляду while true do оператор. Засоби, якими задається вихід із тіла циклу незалежно від значення умови продовження, ми розглянемо в підрозділах 5.3, 5.4.
Задачі
1.* Проімітувати виконання послідовності операторів:
а) i:=1; x:=1; y:=2;
while x
begin
i:=i+1; x:=x*i; y:=y*2;
writeln(i, ' ', x, ' ', y)
end;
б) i:=1; x:=1; y:=2;
while i<=10 do
begin
i:=i+1; x:=x*i; y:=y*2;