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

В паскале или блок схему,но лучше в паскале ваще не шарю-.-
Гость
Ответ(ы) на вопрос:
Гость
В подобных формулах, когда присутствует некоторое количество слагаемых, каждое из которых состоит из некоторого количества сумм или произведений, проще всего, конечно, использовать рекурсивные функции. Это позволяет писать программы быстро и кратко, но расплатой бывает быстрое переполнение программного стека при росте глубины рекурсии и длительное время счёта. Эффективнее, особенно при значительном количестве слагаемых, использовать итерацию, для чего первоначальное выражение следует немного преобразовать. [latex]\displaystyle S= \frac{1}{a}+\frac{1}{a(a+1)}+\dots+\frac{1}{a(a+1)\dots(a+n)}= \sum_{i=0}^n\prod_{j=0}^i\frac{1}{a+j}; \\ p_i=\prod_{j=0}^i\frac{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.[/latex] 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
Не нашли ответ?
Ответить на вопрос
Похожие вопросы