TURBO PASCAL

Новости       

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности 

Гостевая книга

Спонсор

От автора

 

1. 7. 4.  Оператор цикла с параметром

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

                                                          

                  For  i:= N1    To    N2  Do  "оператор";    

либо                                                       

                  For  i:= N1  DownTo  N2  Do "оператор"; 

                                                          

 

            Здесь i - параметр цикла (переменная порядкового типа),

N1,  N2 - начальное и конечное значения параметра цикла i.

N1,  N2 могут быть константами,  переменными или выражениями порядкового типа.

Напомним,  что  "оператор"  может иметь вид: Begin "операторы" end;

            Схема выполнения оператора цикла с параметром имеет вид:

                                                                        

                                   В случае связки  To  цикл выполняется

              FOR  i                        при условии  N1 <= N2  и происходит

                                   с единичным возрастанием параметра цикла i

                                   от N1 до N2. 

        от N1    до N2                             В случае связки  DownTo  цикл выполняется

                                   при условии  N1 >= N2  и происходит

                                   с единичным уменьшением параметра цикла i

            DO                          от N1 до N2.  

         "оператор"                     В операторе цикла не разрешается

                           присваивать параметру цикла какое-либо  значение.       

                                                                      

                                  После окончания цикла значение параметра цикла “i” неопределенно.

            Оператор цикла часто применяется для суммирования значений некоторой последовательности чисел или значений функции при известном числе операций суммирования.  Напомним некоторые определения,  связанные с расчетом суммы последовательности.

            Сумма членов последовательности величин a1,  a2,  a3, . . . , aN называется конечной суммой  SN= a1 + a2 + a3+ . . . + aN.  Для некоторых последовательностей известны формулы расчета конечных сумм,  например:

при  aN= aN-1 + d;  SN= (a1 + aN)*N/2;  - арифметическая прогрессия,

при  aN= aN-1 * q;  SN= (a1 - aN*q)/(1-q);  - геометрическая прогрессия,

где d и q  - постоянные числа.

            Здесь N-ый член последовательности выражается через (N-1)-ый член.  Такие зависимости называются реккурентными. 

            Конечная сумма последовательности может быть неизвестна,  тогда для ее расчета применяется алгоритм суммирования членов последовательности в цикле от 1 до N.   Приведем пример расчета конечной суммы последовательности:

 

            12 + 32 + 52 +. . . + (2*N-1)2;       SN = N*(4*N2-1)/3;  

 

PROGRAM SUM_K;                                                      { расчет конечной суммы }

  var  a,  S,  Sn,  i,  N:  word;

Begin  

              write('Введите число членов суммы N=');   readln(N);

   S:= 0;

         For i:= 1 to N do  begin                          {  цикл суммирования }

                        a:= Sqr(2*i-1);   S:= S+a   end;

   Sn:= N*(4*N*N-1) div 3;

 

   Writeln('Конечная сумма S=',  S:-10:2);       

   Writeln('Расчет конечной суммы по формуле Sn=',  Sn:-10:2);

   Writeln('Нажми Enter');      readln  

End.

 

На первую страницу

Rambler's Top100 PROext: Top 1000
Rambler's Top100

(с) Все права защищены.

По всем интересующим вопросам прошу писать электронный адрес

Hosted by uCoz