Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции к экзамену ГТК.docx
Скачиваний:
16
Добавлен:
26.09.2019
Размер:
339.82 Кб
Скачать

2.3. Программирование циклов

Для реализации алгоритма циклической структуры в языке Pascal используются следующие операторы.

  1. Оператор цикла с предусловием позволяет выполнять заранее неизвестное количество повторений в цикле, условие выхода из которого проверяется перед действиями в теле цикла.

Этот оператор имеет вид:

while U do Op

где while – пока, do – делать, U – условие, Op – оператор.

Это означает, что пока условие U истинное, повторять оператор Op в цикле; как только условие станет ложным, выйти из цикла.

Оператору цикла с предусловием может соответствовать фрагмент блок-схемы

Действия в теле цикла с предусловием могут не выполняться ни разу в случае, если условие продолжения цикла сразу становится ложным.

  1. Оператор цикла с постусловием позволяет выполнять заранее неизвестное количество повторений в цикле, условие выхода из которого проверяется после действий в теле цикла.

Этот оператор имеет вид:

repeat

Op1;

OpN

until U

где repeat – повторять, until – до тех пор пока, Op1 – оператор 1-й, OpN – оператор N-й, U – условие.

Это означает, что надо повторять операторы Op1, … OpN в цикле до тех пор, пока условие U не станет истинным; как только условие станет истинным, выйти из цикла.

Оператору цикла с постусловием может соответствовать фрагмент блок-схемы

Действия в теле цикла с постусловием могут выполняться как минимум 1 раз в случае, если условие выхода из цикла сразу становится истинным.

  1. Оператор цикла с параметром позволяет выполнять заранее известное количество повторений в цикле, определяемое параметром цикла. Этот оператор имеет 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к с шагом x

(Введём обозначения: xн  xn ; xк  xk ; x  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.