Примеры №7 и №8: Оператор FOR в языке Турбо-Паскаль
В этом посте мы рассмотрим примеры работы оператора цикла FOR в языке Турбо-Паскаль.
В качестве иллюстрации применения оператора FOR рассмотрим программу взятую с форума программистов, осуществляющую ввод с клавиатуры произвольного целого числа n и вычисление суммы всех целых чисел от 1 до n (пример 7).
Пример 7
1 2 3 4 5 6 7 8 9 10 11 12 |
uses Crt; var i, n, s : integer; BEGIN ClrScr; write(‘Введите N: ’); readln(n); s:=0; {устанавливаем начальное значение} for i:=1 to n do s:=s+i; writeln(‘Сумма равна: ’,s) END. |
Существует и другая форма оператора FOR:
1 2 |
FOR пар-цикла := нач-знач DOWNTO кон-знач DO оператор |
Замена зарезервированного слова TO на DOWNTO означает, что переменная пар-цикла на каждом шаге уменьшается на единицу, а управляющее условие приобретает вид пар-цикла>=кон-знач.
В случае использования оператора FOR … DOWNTO программа примера 6 примет следующий вид (пример 8).
Пример 8
1 2 3 4 5 6 7 8 9 10 11 12 |
uses Crt; var i, n, s : integer; BEGIN ClrScr; write(‘Введите N: ’); readln(n); s:=0; for i:=n downto 1 do s:=s+i; writeln(‘Сумма равна: ’,s) END. |
Обратите внимание на оператор
s:=s+i;
Переменной s присваивается сумма ее же значения и значения другой переменной. Такой прием называется накоплением суммы и является одним из основных приемов программирования. Существует также прием накопления произведения:
p:=p*i;
Необходимо отметить, что перед использованием этих приемов соответствующим переменным должны быть присвоены начальные значения.