Цикл - это замечательное изобретение, которое, в сущности, и делает компьютеры такими ценными. Он позволяет многократно повторить любую часть программы. Цикл не может выполняться вечно, он заканчивается по какому-либо условию. Проверка этого условия может производиться в начале каждого повторяющегося шага, в этом случае цикл называется ПОКА. При проверке условия в конце каждого шага цикл называется ДО. Разновидностью цикла ДО является цикл ПЕРЕСЧЕТ.
10.1.Оператор цикла WHILE (цикл ПОКА).
Формат оператора: WHILE логическое выражение DO;
Оператор будет повторятся пока истинно логическое выражение. Перед каждым повторением оператора значение логического выражения вычисляется заново. Если необходимо повторить несколько операторов, их следует объединить в составной оператор, т.е. заключить в операторные скобки begin ... end. Этот цикл может не выполниться ни разу, если условие при входе в него оказалось ложным. Таким образом, цикл ПОКА содержит условие повторения цикла.
Пример 1. Программа подсчета суммы S первых 1000 членов гармонического ряда 1+1/2+1/3+1/4+...1/N.
Program Summa; Var S:real; N:integer; Begin S:=0;N:=0; While n<1000 do Begin N:=n+1; S:=s+1/n End; Writeln(s); Readln End.
Задача 1 Var i,sum:integer; mas:array [1..10] of integer; Begin for i:=1 to 10 do begin mas[i]:=random(20); write(' ',mas[i]); sum:=sum+mas[i]; end; writeln; write('Среднее арифметическое этих чисел = ',sum/10); End.
Задача 2 Var i,max:integer; Begin readln(i); while (i<>0) do begin if (i>max) then max:=i; readln(i); end; Writeln('Максимальное число: ',max); End.
10.1.Оператор цикла WHILE (цикл ПОКА).
Формат оператора:
WHILE логическое выражение DO;
Оператор будет повторятся пока истинно логическое выражение. Перед каждым повторением оператора значение логического выражения вычисляется заново. Если необходимо повторить несколько операторов, их следует объединить в составной оператор, т.е. заключить в операторные скобки begin ... end. Этот цикл может не выполниться ни разу, если условие при входе в него оказалось ложным. Таким образом, цикл ПОКА содержит условие повторения цикла.
Пример 1. Программа подсчета суммы S первых 1000 членов гармонического ряда 1+1/2+1/3+1/4+...1/N.
Program Summa;
Var S:real;
N:integer;
Begin
S:=0;N:=0;
While n<1000 do
Begin
N:=n+1;
S:=s+1/n
End;
Writeln(s);
Readln
End.
Var i,sum:integer;
mas:array [1..10] of integer;
Begin
for i:=1 to 10 do begin
mas[i]:=random(20);
write(' ',mas[i]);
sum:=sum+mas[i];
end;
writeln;
write('Среднее арифметическое этих чисел = ',sum/10);
End.
Задача 2
Var i,max:integer;
Begin
readln(i);
while (i<>0) do begin
if (i>max) then max:=i;
readln(i);
end;
Writeln('Максимальное число: ',max);
End.