logo search
2012_METODICh_POSOBIE_PASCAL

Лабораторная работа № 5. Программирование алгоритмов циклической структуры с известным числом повторений.

При выполнении работы необходимо знать:

Теоретический минимум:

  1. Структуры циклических алгоритмов.

Алгоритмы циклической структуры бывают нескольких видов.

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

На каждом проходе цикла к счетчику добавляется некоторое число (шаг). В начале каждого прохода цикла проверяется, не превысило ли значение счетчика конечное значение. Таким образом, счетчик подсчитывает количество повторений и цикл прекращается при превышении счетчиком конечного значения.

Структура цикла с известным числом повторений:

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

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

Оператор цикла FOR.

Для многократного повторения одних и тех же действий в Turbo Pascal предусмотрены три оператора цикла. Если число повторений цикла (или итераций) заранее не известно, но известно условие завершения цикла, в таких случаях применяются операторы REPEAT и WHILE. Если число повторений известно, то используется оператор FOR.

Оператор цикла FOR, известный как оператор цикла с параметром, выглядит так:

for i:=a to b do s;

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

Параметр цикла i, а также начальное и конечное значения и b) могут принадлежать любому порядковому типу (например, Integer или Char). (Но при этом все они должны быть одного типа.) Если начальное значение превышает конечное значение или равно ему с самого начала, оператор s не выполнится ни разу.

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

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

for i:=a downto b do s;

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

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