Написать два варианта программы: с рекурсией и без - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Нужны два варианта программы.

Решение задачи: «Написать два варианта программы: с рекурсией и без»

textual
Листинг программы
const e=0.00001; //точность
function Summa(x,sn,st:real;n:integer):real;
//параметры:  х, начальный член ряда(1), начальный текущий член ряда(x^(2*n+1)), счетчик итераций(от 1)}
var t:real; // изменяющийся текущий член ряда
begin
Summa:=sn;
t:=st*x*x/(2*n)/(2*n-1);
if abs(t)<e then  exit;
Summa:=Summa(x,sn+t,t,n+1);
end;
var x,t,s:real;
    n:integer;
begin
write('x=');
readln(x);
writeln ('Сумма рекурсией=',Summa(x,1,1,1):0:5);
n:=0;
t:=1;
s:=t;
while abs(t)>e do
 begin
  n:=n+1;
  t:=t*x*x/(2*n)/(2*n-1);
  s:=s+t;
 end;
writeln('Сумма итеративно=',s:0:5);
writeln('ch(x)=',(exp(x)+exp(-x))/2:0:5);
end.

Объяснение кода листинга программы

Список элементов кода:

  1. Объявление константы e, которая представляет собой требуемую точность вычислений.
  2. Объявление функции Summa, которая принимает входные параметры x, sn, st и n.
  3. Значение переменной t инициализируется как произведение st на x в квадрате, деленное на (2n)/(2n-1).
  4. Если абсолютное значение t меньше или равно e, то функция немедленно возвращает значение Summa.
  5. Если условие выхода из функции не выполнено, то значение переменной Summa присваивается новое значение, равное сумме значений sn и t.
  6. Значение переменной t обновляется в соответствии с новым значением n.
  7. Значение переменной s инициализируется как t.
  8. Цикл while выполняется до тех пор, пока абсолютное значение t больше или равно e.
  9. Внутри цикла значение переменной n увеличивается на 1.
  10. Значение переменной t обновляется в соответствии с новым значением n.
  11. Значение переменной s увеличивается на значение t.
  12. После окончания цикла выводится значение переменной s с заданной точностью.
  13. Выводится значение функции ch(x).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.4 из 5
Похожие ответы