В этом посте мы рассмотрим оператор цикла FOR в языке паскаль. Разберём несколько примеров этого оператора.
Часто одно и то же действие нужно повторить несколько раз. Для этого используются циклы.
В языке Турбо-Паскаль есть три различных оператора, с помощью которых можно организовать цикл. Это статья посвещена одному из основных и самых мощных операторов: оператору FOR.
Оператор FOR
Оператор FOR имеет следующую структуру:
FOR пар-цикла := нач-знач TO кон-знач DO
оператор
где FOR, TO, DO – зарезервированные слова;
пар-цикла – параметр цикла, переменная типа integer;
нач-знач, кон-знач – начальное и конечное значения цикла, любые вы-ражения целого типа;
оператор — любой оператор языка Турбо-Паскаль.
При выполнении оператора FOR вначале вычисляется выражение нач-знач и осуществляется присваивание пар-цикла:=нач-знач. После этого циклически повторяется:
— проверка условия пар-цикла<=кон-знач, если условие не выполняется, оператор FOR завершает свою работу;
- выполнение оператора оператор;
- увеличение переменной пар-цикла на единицу. Этот оператор используется, когда какое-либо действие нужно повторить заданное число раз. Например, чтобы получить значение xn нужно ровно n раз умножить число x само на себя:
. . .
x_n:=1; {устанавливаем начальное значение}
for i:=1 to n do
x_n:=x_n*n;
. . .
Примеры работы цикла
В качестве иллюстрации применения оператора FOR рассмотрим программу осуществляющую ввод с клавиатуры произвольного целого числа n и вычисление суммы всех целых чисел от 1 до n.
Первый пример
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:
FOR пар-цикла := нач-знач DOWNTO кон-знач DO
оператор
Замена зарезервированного слова TO на DOWNTO означает, что переменная пар-цикла на каждом шаге уменьшается на единицу, а управляющее условие приобретает вид пар-цикла>=кон-знач.
В случае использования оператора FOR … DOWNTO программа из предыдущего примет следующий вид:
Второй пример
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;
Необходимо отметить, что перед использованием этих приемов соответствующим переменным должны быть присвоены начальные значения.


Комментарии
Комментариев пока нет - будьте первым.