Тема № 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.