Тема № 3. Программирование задач с массивами
OpN
until U
где repeat – повторять, until – до тех пор пока, Op1 – оператор 1-й, OpN – оператор N-й, U – условие.
Это означает, что надо повторять операторы Op1, … OpN в цикле до тех пор, пока условие U не станет истинным; как только условие станет истинным, выйти из цикла.
Оператору цикла с постусловием может соответствовать фрагмент блок-схемы
Действия в теле цикла с постусловием могут выполняться как минимум 1 раз в случае, если условие выхода из цикла сразу становится истинным.
3. Оператор цикла с параметром позволяет выполнять заранее известное количество повторений в цикле, определяемое параметром цикла. Этот оператор имеет 2 разновидности.
а) Оператор цикла с параметром (при увеличении параметра) имеет вид:
for Par := Nz to Kz do Op
где for – для, to – до, do – делать, Par – параметр цикла, Nz – начальное значение, Kz – конечное значение, Op – оператор.
Это означает, что для параметра Par , увеличивающегося от начального значения Nz до конечного значения Kz с шагом 1, повторять оператор Op в цикле.
б) Оператор цикла с параметром (при уменьшении параметра) имеет вид:
for Par := Nz downto Kz do Op
где for – для, downto – вниз до, do – делать, Par – параметр цикла, Nz – начальное значение, Kz – конечное значение, Op – оператор.
Это означает, что для параметра Par , уменьшающегося от начального значения Nz до конечного значения Kz с шагом (-1), повторять оператор Op в цикле.
Параметр цикла (счётчик циклов) – переменная порядкового типа, изменяющаяся в цикле от начального до конечного значения с каким-либо шагом (параметр цикла может быть целым числом и не может быть дробным числом).
Оператору цикла с параметром могут соответствовать фрагменты блок-схемы
или
Задача 4.
Условие задачи. Вычислить значения функции при x, увеличивающемся от xн до xк с шагом Dx
(Введём обозначения: xн ® xn ; xк ® xk ; Dx ® dx ).
Блок-схема.
|
Программа.
Program z4;
Var
x,y,xn,xk,dx:real;
Begin
read(xn,xk,dx);
x:=xn;
while x<=xk do
begin
y:=sin(x)/cos(x);
writeln('при x=',x:10:3,' y=',y:7:2);
x:=x+dx;
end;
End.
Задача 5.
Условие задачи. Вычислить значения функции при x, изменяющемся от 0 до 10 с шагом 1.
а) Цикл с предусловием.
Блок-схема.
|
Программа.
Program z5a;
Var
x,y:real;
Begin
x:=0;
while x<=10 do
begin
y:=exp(x);
writeln(x,y);
x:=x+1;
end;
End.
б) Цикл с постусловием.
Блок-схема.
|
Программа.
Program z5b;
Var
x,y:real;
Begin
x:=0;
repeat
y:=exp(x);
writeln(x,y);
x:=x+1;
until x>10;
End.
в) Цикл с параметром.
Блок-схема.
|
Программа.
Program z5c;
Var
x:integer;
y:real;
Begin
for x:=0 to 10 do
begin
y:=exp(x);
writeln(x,y);
end;
End.
г) Цикл с использованием безусловного перехода.
Блок-схема.
|
Программа.
Program z5d;
Label 20;
Var
x,y:real;
Begin
x:=0;
20: y:=exp(x);
writeln(x,y);
x:=x+1;
if x<=10 then goto 20;
End.