Лекция: Оператор For

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

 

Оператор For состоит из заголовка, в котором определяется порядок изменения переменной параметра цикла и тела цикла, являющегося многократно повторяющимся алгоритмом.

Общий вид оператора:

· For – <параметр цикла>: = <начальное значение> to <конечное значение> do оператор; {тело цикла}.

Этот оператор применяется, если начальное значение < конечного значения;

· For – параметр цикла:= <начальное значение> downto <конечное значение> do оператор;

применяется, если начальное значение > конечного значения.

 

Пример: найти сумму квадратов целых чисел от 8 до 12.

i sqr(i) s:=s+sqr(i); s
     
0+64=64
64+81=145
145+100=245
245+121=366
366+144=510

 

Program Prim7_1;

Var i,s: integer;

BEGIN s:=0;

for i:= 8 to 12 do

s:=s+sqr(i); // тело цикла

writeln('Сумма s= ',s);

END.

 

Работа программы. В разделе Var выделяется ячейка памяти с именем i и s для хранения величин. Поскольку в S мы должны накапливать сумму, то вначале занесем в S ноль. Затем присваивается i=8. Далее выполняется тело цикла: извлекается содержимое ячейки S (а там у нас 0) и к этому содержимому прибавляется sgr(i), т.е. i2=64. Результат присваивается ячейке S, т.е. в S теперь 64.

Проверяется, не стал ли параметр цикла больше конечного значения параметра 12. Это не произошло, поэтому переменной i присваивается следующее значение, равное 9, и вновь выполняется тело цикла, т.е. S:=64+81. Можно сказать так: S присвоить тому S, которое было раньше, + следующее i2. Так как цикл еще не закончился, то i станет равным 10, а S присвоится тому S, которое было раньше, т.е. 145, и к нему прибавится еще текущее i2, т.е. 100. Этот процесс повторяется до тех пор, пока параметр цикла не станет равным 12. Тогда в последний раз 122 прибавляется к накапливаемой сумме.

 

 

При i=13 происходит выход из цикла и переход к оператору writeln (' Сумма S=' ,S);

 

еще рефераты
Еще работы по информатике