Цикл - это замечательное изобретение, которое, в сущности, и делает компьютеры такими ценными. Он позволяет многократно повторить любую часть программы. Цикл не может выполняться вечно, он заканчивается по какому-либо условию. Проверка этого условия может производиться в начале каждого повторяющегося шага, в этом случае цикл называется ПОКА. При проверке условия в конце каждого шага цикл называется ДО. Разновидностью цикла ДО является цикл ПЕРЕСЧЕТ.
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.
Const n=5; var a:array[1..n,1..n] of integer; b:array[1..n] of integer; i,j,max,min,s:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(21); write(a[i,j]:4); end; writeln; end; max:=a[1,n]; for i:=2 to n do if a[i,n-i+1]>max then max:=a[i,n-i+1]; writeln('1. max = ',max); for i:=1 to n do begin min:=a[i,1]; for j:=2 to n do if a[i,j]<min then min:=a[i,j]; b[i]:=min; end; s:=0; writeln('2. Массив B'); for i:=1 to n do begin write(b[i]:4); s:=s+b[i]; end; writeln; writeln('3. среднее = ',s/n); for i:=1 to n do if b[i]>s/n then write(b[i]:4); writeln; end.