Лабораторная работа 10.
Циклические конструкции. Оператор цикла с параметром
Оператор цикла с параметром
Оператор цикла с параметром организует выполнение одного оператора заранее известное количество раз.
Структура оператора
Существует два варианта оператора.
Вариант первый:
FOR i:= start ТО finish DO <оператор>
Вариант второй:
FOR i:= start DOWNTO finish DO <оператор>
В этих структурах: i - параметр цикла; start - начальное значение параметра; finish - конечное значение параметра; <оператор> - тело цикла.
Тип переменной цикла i и значений start и finish должен быть порядковым! (целочисленным)
Порядок выполнения оператора:
Вычисляются и запоминаются начальное - start, и конечное - finish, значения параметра цикла. Start и finish могут быть представлены в виде конкретного значения (в этом случае нет необходимости в вычислениях) или в виде выражения, значение которого вычисляется в начале выполнения цикла.
Параметру цикла i присваивается значение start.
Значение параметра цикла i сравнивается со значением finish. Оператор "тело цикла" будет выполнен при выполнении следующего условия:
первый вариант оператора: i<= finish;
второй вариант оператора: i>= rinisn.
В противном случае происходит прекращение выполнения циклического оператора.
Параметру цикла присваивается:
первый вариант оператора: следующее большее значение; второй вариант оператора: следующее меньшее значение.
Выполняется пункт 3 данной схемы.
Часто говорят, что первый вариант оператора цикла с параметром, -цикл с возрастающим параметром; второй вариант, - с убывающим параметром.
Если при первой-же проверке, параметр цикла не будет удовлетворять условий пункта 3, тело цикла не выполнится ни разу.
Телом цикла может быть только один оператор. Для того, чтобы в теле цикла с параметром выполнить несколько операторов, их необходимо объединить операторными скобками BEGIN END.
После прекращения выполнения оператора, значение параметра цикла не определено, за исключением случаев, когда выход из оператора был осуществлён с помощью GOTO или стандартной процедуры Break.
Break
Процедура Bгеак может использоваться во всех циклических операторах. Эта процедура позволяет досрочно выйти из цикла, не дожидаясь выполнения условия выхода.
Continue
Процедура Continue может использоваться во всех циклических операторах. Она позволяет перейти к "началу" цикла, или к следующему выполнению тела цикла, даже если выполнение тела цикла не завершено. Другими словами, эта процедура позволяет прекратить выполнение тела цикла. При этом выполнение самого циклического оператора не прекращается.
Примеры применения
Пример 1. Вычислить сумму S = 1 + 1/2 + 1/3 +…1/50.
PROGRAM ех_1;
VAR i:integer; s:real;
BEGIN
s :=0;
for i:=l to 50 do s:=s + 1/i;
Writeln(‘Сумма равна: ‘, s);
END.
Пpимep 2. Вычислить сумму синусов чисел от 1 до 1000. Суммировать и выводить на экран только положительные значения синусов.
PROGRAM ех_2;
VAR i: integer; s: real;
BEGIN
s := 0;
FOR i:=l TO 1000 DO
Begin
If sin(i) < 0 then continue;
s:= s + sin(i);
writeln(‘ sin(‘,i,’) = ‘, sin(i)) ;
End;
Writeln(‘Сумма равна: ‘, s);
Readln;
END.
Контрольные вопросы.
1 Сколько раз выполняется оператор цикла с параметром?
2 Сколько существует вариантов цикла с параметром?
3 Что называют параметром цикла, начальным и конечным значением пара* метра цикла?
4 Что называют телом цикла с параметром?
5 Объясните порядок выполнения цикла с параметром.
6 Объясните блок-схемы цикла с параметром.
7 Объясните назначение и применение процедур Згеак и Continue.
8 Приведите примеры применения цикла с параметром.
Задания для самостоятельного выполнения лабораторной работы 10.
1 Вычислите сумму ряда S = 1 + 1/х + 1/2х + 1/Зх + ... 1/nх, для n введённого с клавиатуры.
2 Определите значения функции у=0,4х2-1/х для х изменяющегося от 2 до 10 с шагом 0,5.
3 Bычислить значение n! для n введённого с клавиатуры.
4 Bычислить сумму ряда Y=l!+2!+3! + ... n!, для n введённого с клавиатуры.
5 Вычислить А(А+1)(А+2)...(A+N), для А и N введённых с клавиатуры.
Do'stlaringiz bilan baham: |