Любой цикл for можно переделать в while не особо думая:
for счетчик := начальное to конечное do
begin
что-то
end;
это тоже самое, что и
счетчик := начальное;
while счетчик <= конечное do
begin
что-то
счетчик := счетчик + 1;
end;
И там и там переменная счетчик сначала равна начальному значению, затем с ней что-то делают, и счетчик увеличивается. Если счетчик стал слишком большим, цикл прекращается.
Любой цикл for можно переделать в while не особо думая:
for счетчик := начальное to конечное do
begin
что-то
end;
это тоже самое, что и
счетчик := начальное;
while счетчик <= конечное do
begin
что-то
счетчик := счетчик + 1;
end;
И там и там переменная счетчик сначала равна начальному значению, затем с ней что-то делают, и счетчик увеличивается. Если счетчик стал слишком большим, цикл прекращается.
Переделанная программа может выглядеть так:
program more;
var
s, i: integer;
begin
s := 0;
i := 20;
while i <= 40 do
begin
if (i mod 2) = 0 then
s := s + i;
i := i + 1;
end;
writeln(s)
end.