Вычислить значение суммы - Free Pascal (645)

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

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

Вычислить значение суммы(значение n вводиться с клавиатуры) 1+x/1!+x2/2!+x3/3!+...+xn/n! (x задано)
Через рекурсивные алгоритмы

Решение задачи: «Вычислить значение суммы»

textual
Листинг программы
  1. uses crt;
  2. function expx(x:real;n:integer):real;
  3. function t(x:real;n:integer):real;
  4. begin
  5. if n=0 then t:=1
  6. else t:=t(x,n-1)*x/n;
  7. end;
  8. begin
  9. if n=0 then expx:=t(x,0)
  10. else expx:=expx(x,n-1)+t(x,n);
  11. end;
  12. var x:real;
  13.     n:integer;
  14. begin
  15. clrscr;
  16. write('x=');
  17. readln(x);
  18. write('n=');
  19. readln(n);
  20. writeln('S=',expx(x,n):0:4);
  21. write('exp(x)=',exp(x):0:4);
  22. readln
  23. end.

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

  1. Объявлены две функции: expx и t.
  2. В функции t проверяется базовый случай: если n равно 0, то возвращается 1.
  3. В функции t для остальных случаев рекурсивно вызывается функция t с аргументами x и n-1, умноженными на x/n.
  4. В функции expx проверяется базовый случай: если n равно 0, то возвращается результат функции t с аргументами x и 0.
  5. В функции expx для остальных случаев рекурсивно вызывается функция expx с аргументами x и n-1, к которому добавляется результат функции t с аргументами x и n.
  6. Объявлены две переменные: x и n.
  7. В основной части программы происходит считывание значений x и n с помощью функций readln.
  8. Вызывается функция expx с аргументами x и n, и результат выводится на экран с помощью функции writeln, с указанием формата вывода числа с плавающей точкой и количеством знаков после запятой.
  9. Вызывается функция exp с аргументом x, и результат выводится на экран с помощью функции writeln, с указанием формата вывода числа с плавающей точкой и количеством знаков после запятой.
  10. Программа ожидает ввода с помощью функции readln.

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


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

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

15   голосов , оценка 4.067 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут