Информатика, вопрос задал Eric11234123 , 8 лет назад

в паскале или блок схему,но лучше в паскале
ваще не шарю-.-

Приложения:

Ответы на вопрос

Ответил Аноним
0
В подобных формулах, когда присутствует некоторое количество слагаемых, каждое из которых состоит из некоторого количества сумм или произведений, проще всего, конечно, использовать рекурсивные функции. Это позволяет писать программы быстро и кратко, но расплатой бывает быстрое переполнение программного стека при росте глубины рекурсии и длительное время счёта. Эффективнее, особенно при значительном количестве слагаемых, использовать итерацию, для чего первоначальное выражение следует немного преобразовать.
displaystyle S= frac{1}{a}+frac{1}{a(a+1)}+dots+frac{1}{a(a+1)dots(a+n)}= sum_{i=0}^nprod_{j=0}^ifrac{1}{a+j}; \ p_i=prod_{j=0}^ifrac{1}{a+j} to S=sum_{i=0}^np_i; \ p_i= left { {{displaystyle frac{1}{a}, qquad i=0} atop {displaystyle frac{a_{i-1}}{a+i}, quad i textgreater  0}} right.

var
  a,p,s:real;
  n,i:integer;
begin
  Write('a='); Read(a);
  Write('n='); Read(n);
  p:=1/a;
  s:=p;
  for i:=1 to n do begin
    p:=p/(a+i);
    s:=s+p
    end;
  Writeln('S=',s)
end.

Пример
a=2
n=5
S=0.718253968253968
Новые вопросы