Конспект лекций по программированию для начинающих. Гладков В.П. - 116 стр.

UptoLike

Составители: 

118
begin s:=0; { находим сумму квадратов цифр }
while a>0 do
begin s:=s+sqr(a mod 10);
a:=a div 10
end;
a:=s { запоминаем новый член последовательности }
end;
end.
Пример 10.39. Вычислить s=1·2+2·3·4+3·4·5·6+...+n·(n-1)·...·2·n.
Решение 1. Нужно вычислить сумму, которая состоит из n слагаемых. Каждое
из слагаемых представляет собой произведение натуральных чисел. Если каждому
слагаемому поставить в соответствие его порядковый номер, то можно заметить,
что первый сомножитель любого слагаемого совпадает с его порядковым номером,
последний - равен удвоенному порядковому номеру слагаемого. Решение можно
получить, проделав два шага. На
первом шаге (фрагмент 35) вычисляется сумма:
{ фрагмент 35 }
s:=0;
i:=1;
while i<=n do
begin { вычисление очередного слагаемого p }
s:=s+p;
i:=i+1
end.
Вычисление очередного слагаемого - это вычисление произведения p=i·(i+1)
·...·(2·i) (фрагмент 36):
{ фрагмент 36 }
p:=1;
j:=i; { переменная цикла вычисления произведения }
while j<=2*i do
begin p:=p*j;
j:=j+1
end.
Для получения решения исходной задачи необходимо подставить фрагмент 36
в фрагмент 35 вместо комментария. Получим фрагмент 37.
{ фрагмент 37 }
s:=0;
i:=1;
while i<=n do
begin
p:=1;
j:=i; { переменная цикла вычисления произведения }
while j<=2*i do
begin
p:=p*j;
j:=j+1
end;
                                     118

         begin s:=0; { находим сумму квадратов цифр }
                 while a>0 do
                 begin s:=s+sqr(a mod 10);
                        a:=a div 10
                 end;
                 a:=s { запоминаем новый член последовательности }
         end;
      end.
      Пример 10.39. Вычислить s=1·2+2·3·4+3·4·5·6+...+n·(n-1)·...·2·n.
      Решение 1. Нужно вычислить сумму, которая состоит из n слагаемых. Каждое
из слагаемых представляет собой произведение натуральных чисел. Если каждому
слагаемому поставить в соответствие его порядковый номер, то можно заметить,
что первый сомножитель любого слагаемого совпадает с его порядковым номером,
последний - равен удвоенному порядковому номеру слагаемого. Решение можно
получить, проделав два шага. На первом шаге (фрагмент 35) вычисляется сумма:
      { фрагмент 35 }
      s:=0;
      i:=1;
      while i<=n do
      begin { вычисление очередного слагаемого p }
         s:=s+p;
         i:=i+1
      end.
      Вычисление очередного слагаемого - это вычисление произведения p=i·(i+1)
·...·(2·i) (фрагмент 36):
      { фрагмент 36 }
      p:=1;
      j:=i; { переменная цикла вычисления произведения }
      while j<=2*i do
      begin      p:=p*j;
                 j:=j+1
      end.
      Для получения решения исходной задачи необходимо подставить фрагмент 36
в фрагмент 35 вместо комментария. Получим фрагмент 37.
      { фрагмент 37 }
      s:=0;
      i:=1;
      while i<=n do
      begin
         p:=1;
         j:=i; { переменная цикла вычисления произведения }
         while j<=2*i do
         begin
                 p:=p*j;
                 j:=j+1
         end;