Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции2семестр.doc
Скачиваний:
60
Добавлен:
15.04.2015
Размер:
228.35 Кб
Скачать

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

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

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;

. . .

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

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

Могут быть только два варианта условий окончания цикла – по исходным данным (если они вводятся в теле цикла), или по достижении заданных результатов расчета. Иными словами, признаком конца может выступать появление определенного значения, заранее принятого в качестве обозначения конца данных; или достижение такого результата расчета, значение которого удовлетворяет заданному отношению (сравнению) к определенной константе.

Организация итеративного цикла может быть выполнена одним из трех способов:

- используя операторы условного (и безусловного) перехода;

- используя оператор итеративного цикла с предусловием;

- используя оператор итеративного цикла с постусловием.

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