Решение задач
Цикл while
Цикл с условием
while do begin
{тело цикла}
end;
- можно использовать сложные условия: если в теле цикла только один оператор, слова begin и end можно не писать:
- можно использовать сложные условия:
- если в теле цикла только один оператор, слова begin и end можно не писать:
while (a b) and (b c) do begin
{тело цикла}
end;
while a
a := a + 1;
= b do begin {тело цикла} i := i - 1; end; for i:=a downto b do begin {тело цикла} end; Замена цикла for на while возможна всегда . Замена while на for возможна только тогда, когда можно заранее рассчитать число шагов цикла . " width="640"
Замена for на while и наоборот
i := 1;
while i
{тело цикла}
i := i + 1;
end;
for i:=1 to 10 do begin
{тело цикла}
end;
i := a;
while i = b do begin
{тело цикла}
i := i - 1;
end;
for i:=a downto b do
begin
{тело цикла}
end;
Замена цикла for на while возможна всегда .
Замена while на for возможна только тогда, когда можно заранее рассчитать число шагов цикла .
№ 1. Дано натуральное число N. Написать программу для вычисления суммы вида: 15 +20+25...+N
program while;
var n, i, sum: integer;
begin write('N =');
read(n);
sum:=0;
i:= 15 ;
while i
i:=i+ 5 ; end;
write('Cумма равна ', sum);
end.
20-15=5
25-15= 5
№ 2. Дано натуральное число N. Написать программу выводящую первых N чисел 1,2,3,4,5,6,7,8,9 входные данные n=10 выходные данные 1 3 5 7 9 10
program while3;
uses crt;
var n, i, sum: integer;
begin
write('N ='); read(n);
i:=1;
while i
i:=i+1;
end;
end.
Нечетные числа
while i
i:=i+2;
=M do begin sum:=sum+i; i:=i-3; end; write('Сумма равна ',sum); end. " width="640"
Дано натуральное число M. Написать программу для вычисления суммы вида: 45+42+39+...+M.
входные данные n=38 выходные данные 126
program while12;
var m, i, sum: integer;
begin
write('M =');
read(m);
sum:=0;
i:=45;
while i=M do begin
sum:=sum+i;
i:=i-3; end;
write('Сумма равна ',sum); end.