Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Yazyk_Turbo-Paskal.doc
Скачиваний:
17
Добавлен:
15.04.2015
Размер:
754.69 Кб
Скачать

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

Программы циклической структуры используются, когда необходимо несколько раз выполнить однотипные действия с различными данными. Если количество повторений тела цикла известно перед началом цикла, он называется арифметическим, если нет – итеративным. Для организации арифметического цикла в блок-схеме алгоритма используется блок "модификатор", а в программе – соответствующий ему оператор "for...".

Итеративный цикл строится с использованием блока "решение", в котором один из альтернативных путей представляет выход из тела цикла. В программе такой цикл может выполняться с помощью специальных операторов итеративных циклов или оператора условного перехода. В данной работе будет использоваться только "if..." оператор.

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

Оператор состоит из заголовка и тела цикла. Заголовок имеет вид:

for <имя параметра цикла> := <начальное значение> to <конечное значение> do

или

for <имя параметра цикла> := <начальное значение> downto <конечное значение> do

Далее идет тело цикла: простой или составной оператор (до символа ";"). Если оператор составной оператор представляет собой группу операторов, он заключается в операторные скобки begin ... end;

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

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

Тело цикла выполняется, пока счетчик не станет больше конечного значения (если счетчик равен конечному значению – цикл выполняется). Если требуется организовать цикл, в котором параметр уменьшается на единицу с каждым возвратом, то используют ключевое слово "downto", вместо "to".

Арифметическому оператору соответствует структура, изображенная на рисунке

Рисунок 9. Структура оператора арифметического цикла

Примеры написания оператора:

for i:=1 to 25 do write('*'); {вывод строки из 25 *}

for k:=L+1 to N-1 do { значения L и N должны }

begin { быть определены до цикла }

. . .

end;

for i:=N downto 2 do S:=S+i; {Сумма целых чисел 2..N}

Если нужно менять счетчик с другим шагом (не единица), используют второй счетчик, изменяющийся в теле цикла по рекуррентной формуле, например j:=j+3; или вычисляемый через первый счетчик, например: j:= 2+(i-1)*3;

Внутри тела цикла можно использовать операторы продолжения (continue) и операторы прерывания (break) цикла. Например, операторы, вычисляющие произведение N чисел с пропуском отрицательных, и досрочно прекращающих перемножение при вводе нуля, могут выглядеть так:

P := 1;

for i:=1 to N do

begin

WriteLn(‘Введите сомножитель’);

ReadLn (A);

if A=0 then break;

if A<0 then continue;

P := P * A;

end;

. . .

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