Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Podprogrammy.doc
Скачиваний:
37
Добавлен:
23.08.2019
Размер:
1.92 Mб
Скачать

Операторы цикла

Операторы цикла используются для организации циклов (повторов). Цикл представляет собой последовательность операторов, которая может выполняться более одного раза. Группу повторяемых операторов называют телом цикла. Для построения цикла в принципе можно использовать условный оператор и оператор перехода. Однако в большинстве случаев удобно использовать операторы цикла. Всего имеется три вида операторов цикла:

  • с параметром;

  • с предусловием;

  • с постусловием.

Обычно, если количество повторов известно заранее, то применяется оператор цикла с параметром, в противном случае – операторы с пост- или предусловием (чаще используются оператор с предусловием).

Выполнение оператора цикла любого вида может быть прервано с помощью оператора перехода goto или предназначенной для этих целей процедуры без параметров Break, которая передает управление на следующий за оператором цикла оператор.

С помощью процедуры без параметров continue можно задать досрочное завершение очередного повторения тела цикла, что равносильно передаче управления в конец тела цикла.

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

Оператор цикла с параметром

Оператор цикла с параметром имеет два следующих формата:

for <Параметр> := <Выражение1> to <Выражение2> do <Оператор>;

И

for <Параметр> := <Выражение1> downto <Выражение2> do <Оператор>;

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

Оператор цикла обеспечивает выполнение тела цикла, которым является оператор после слова do, до полного перебора всех значений параметра цикла от начального до конечного с соответствующим шагом. Шаг параметра всегда равен 1 для первого формата цикла и -1 – для второго формата. То есть значение параметра последовательно увеличивается (for.. .to) или уменьшается (for.. .downto) на единицу при каждом повторении цикла.

Цикл может не выполниться ни разу, если для цикла f o r . . . t o значение начального выражения больше конечного, а для цикла for.. .downto, наоборот, значение начального выражения меньше конечного.

Пример. Циклы с параметром.

var n, k: integer; s := 0;

for n := 1 to 10 do s := s + m[n];

for к := 0 to 2 do

for n := 5 to 10 do begin

arrl[к, n] := 0;

arr2[k, n] := 1;

end;

В первом цикле выполняется расчет суммы из десяти значений массива т. Во втором случае два цикла вложены один в другой, и в них пересчитываются значения элементов двумерных массивов arrl и аrr2.

Оператор цикла с предусловием

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

Формат оператора цикла с предусловием: while <Условие> do <Оператор>;

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

Пример. Оператор цикла с предусловием.

Рассмотрим расчет суммы из десяти значений массива т.

var x: integer; sum: real; т: array[l .. 10] of real;

x : = 1; sum := 0;

while x <= 10 do begin

sum := sum + m[x];

x := x + 1;

end;

Если перед первым выполнением цикла условие не выполняется (значение логического выражения равно False), то тело цикла не выполняется ни разу, и происходит переход на следующий за оператором цикла оператор.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]