Проект закрыт, ничего заказать и купить нельзя! Существует лишь для ностальгии создателя!

Цикл с параметром - For

Pascal 2016-02-28 в 16:44 2056

Цикл с параметром (for) используется в Паскале для реализации циклического процесса с известным числом повторений. Цикл с параметром предусматривает повторное выполнение некоторого другого оператора с одновременным изменением по правилу арифметической прогрессии значения, присваиваемого управляющей переменной (параметру) этого цикла.

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

Синтаксис

Конструкция оператора цикла с параметром следующая:


for <имя-параметра> := <выражение_1> to <выражение_2> do
 <один_оператор>

Либо:


for <имя-параметра> := <выражение_1> downto <выражение_2> do
 <один_оператор>

<Оператор> выполняется в цикле for для каждого значения параметра <имя_параметра> начиная со значения <выражение_1>, которое задаёт начальное значение параметра цикла, до значения <выражение_2>, задающего конечно значение параметра цикла, включительно.

Алгоритм

При использовании ключевого слова to значение параметра цикла увеличивается, при использовании downto - уменьшается.

Шаг изменения значения параметра цикла зависит от типа этой переменной, для целого типа - равен единице

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

  1. Параметр цикла, начальное и конечное значения должны быть одного типа (простого, кроме вещественного).
  2. Запрещено изменять в теле цикла значения параметра <имя_параметра>, <выражение_1> и <выражение_2>.
  3. Запрещено передавать управление в тело цикла извне минуя заголовок for, так как начальное и конечное значение вычисляется один раз при первоначальном входе в цикл.
  4. Тело цикла не выполняется, если начальное значение при to больше (при downto меньше), чем конечное.
  5. После выхода из цикла for значение <имя_параметра> не определено и не может быть использовано в дальнейших вычислениях.
  6. После служебного слова do может быть записан только один оператор, поэтому в случае, когда в теле цикла содержится несколько операндов их необходимо заключить в операторные скобки begin ... end;, организуя составной оператор

Пример

Определение значения факториала n!=1*2*...*n

Цикл с параметром


program faktorial;
var
 i, N, F: integer;
begin
write('Введите число: ');
readln(N);
writeln('Факториал числа ', N, ' : ');
F := 1;
for i := 1 to N do
 F := F * i;
writeln('N, '! = ', F);
end.

Разбор кода

Объясним непосредственно сам цикл (подсвечен в коде).

  1. Параметру цикла i присваивается значение единица;
  2. Выполняется выражение F := F * i, в данном случае единица умножается на единицу;
  3. К параметру цикла i прибавляется единица, то есть i=2
  4. Выполняется выражение F := F * i, только теперь единица умножается на два, так как изменился параметр цикла;
  5. К параметру цикла i прибавляется единица, то есть i=3
  6. Выполняется выражение F := F * i, только теперь двойка умножается на три, так как переменная F изменилась на предыдущем этапе;
  7. Итак просходит до тех пор, пока параметр цикла не станет равен переменной N включительно, то есть когда i=N произойдет последняя итерация и управление перейдет к следующему за циклом for оператору.

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

Не можете справиться с заданием?
Специалисты нашего проекта помогут вам справиться с любыми заданиями по программированию!
Чтобы оставлять комментарии, необходимо войти или зарегистрироваться