Цикл с параметром
Использование операторов условного и безусловного перехода
Организация циклов
Большинство задач, решаемых на ЭВМ, невозможно представить в виде последовательности простых вычислений; часто приходится организовывать повторяемость одних и тех же вычислений.
1) Искусственно вводим счетчик числа шагов цикла
2) Проверяем условие окончания циклических расчетов
3) Если надо продолжить, увеличиваем значение счетчика
Задача. Вычислить таблицу квадратов и корней целых чисел от 1 до 100.
Здесь счетчиком чисел может служить само число. Дадим ему имя N.
Использовать операторы условного перехода в программе крайне не желательно!
Если число повторений цикла известно, используется цикл FOR, для которого нет необходимости принудительно увеличивать значение параметра цикла. Такое увеличение производится автоматически.
Общий вид оператора цикла с параметром:
А) Если начальное значение параметра меньше конечного, то используется форма вида:
FOR I: = M TO N DO оператор;
Б) Если начальное значение параметра цикла больше конечного, то используется форма вида:
FOR I: = N DOWNTO M DO оператор;
M и N- выражения задающие начальное и конечное значения
параметра I,
А- простой или составной оператор.
Если после слова DO необходимо записать несколько операторов, то следует воспользоваться составным оператором BEGIN оператор1;
оператор2;
оператор3
END;
Параметр цикла не может быть вещественным(действительным), а только целым или другим типом, который можно пронумеровать и сосчитать. Шаг всегда равен 1 или –1. Задать другой шаг нельзя!
Пример(тот же).
For n :=1 to 100 do
Writeln(‘n=’,n,’sqr(n)=’,sqr(n),’sqrt(n)=’,sqrt(n));
С помощью этого цикла процедура WRITELN будет последовательно выполняться для следующих значений переменной N: 1,2,…,100.
Для циклов FOR нет необходимости следить за их завершаемостью. Поскольку множество значений, которое присваивается параметру цикла, конечно, то после конечного числа выполнений тела цикла весь цикл обязательно завершится.
Ограничения.
1) Значения параметра цикла, начального и конечного значений параметра цикла изменять внутри цикла нельзя.
2) Войти в цикл можно только через его начало, а выйти- либо при исчерпании значений параметра цикла, либо при выполнении оператора перехода GOTOпо метке, расположенной вне данного цикла. При нормальном выходе из цикла значение его параметра равно конечному значению.
Итак, оператор цикла с параметром позволяет осуществить последовательный перебор значений параметра, но с приращением равным 1. В том случае, если шаг просмотра отличен от единицы или заранее не известно количество повторений тела цикла, необходимо применять один из двух других видов операторов цикла: с предусловием или с постусловием.