Лекция: Оператор цикла с параметром. Привести фрагмент программы.

Оператор цикла с параметром организует выполнение одного оператора заранее известное количество раз.

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

for i:= a to b do s;

 

При выполнении оператора for сначала вычисляется начальное значение а, которое присваивается переменной i, называемой параметром цикла. Затем вычисляется конечное значение bи проверяется, имеет ли место равенство i = b.Если равенства нет, выполняется оператор s, который может быть составным, и переменная i увеличивается на единицу. После этого проверка (не равен ли параметр конечному значению), выполнение оператора s и увеличение переменной i на единицу выполняется циклически до тех пор, пока не наступает равенство i = b. Параметр циклаi, начальное и конечное значения aиbмогут принадлежать любому порядковому типу данных (например, integer). Если начальное значение превышает или равно конечному значению с самого начала, оператор s не выполняется ни разу.

Использованные здесь зарезервированные слова for,toи doимеют смысл от,доивыполнить, соответственно.

Возможна другая форма оператора цикла с параметром:

for i:= a down to b do s;

 

Здесь, чтобы выполнялся оператор s,начальное значение а должно превышать конечное значение b.Кроме того, в этом случае параметр i с каждым циклом уменьшается на единицу, пока не станет равным значению b.

Оператор цикла for имеет такие особенности:

· в теле цикла запрещается явно изменять значение параметра цикла;

· по завершении работы оператора forзначение параметра цикла считается неопределенным.

Примериспользования оператора цикла for:

program maxi; {программа нахождения наибольшего

элемента одномерного массива}

var

x: array [1..100] of real; {исходный массив}

n: integer; {число элементов массива}

k: integer; {параметр цикла}

max: real; {наибольший элемент массива}

begin

write (’n =’): readln (n);

for k:= 1 to n do

begin

write (’a[’, k:3,’]=’): readln (a[k]);

end;

max: = a[1];

for k:= 2 to n do

if a[k] > max then max: = a[k];

writeln (’наибольший элемент =’, max:10:4);

end.

 

еще рефераты
Еще работы по информатике