Вычислить значение суммы - Free Pascal (645)
Формулировка задачи:
Вычислить значение суммы(значение n вводиться с клавиатуры)
1+x/1!+x2/2!+x3/3!+...+xn/n!
(x задано)
Через рекурсивные алгоритмы
Решение задачи: «Вычислить значение суммы»
textual
Листинг программы
uses crt; function expx(x:real;n:integer):real; function t(x:real;n:integer):real; begin if n=0 then t:=1 else t:=t(x,n-1)*x/n; end; begin if n=0 then expx:=t(x,0) else expx:=expx(x,n-1)+t(x,n); end; var x:real; n:integer; begin clrscr; write('x='); readln(x); write('n='); readln(n); writeln('S=',expx(x,n):0:4); write('exp(x)=',exp(x):0:4); readln end.
Объяснение кода листинга программы
- Объявлены две функции:
expx
иt
. - В функции
t
проверяется базовый случай: еслиn
равно 0, то возвращается 1. - В функции
t
для остальных случаев рекурсивно вызывается функцияt
с аргументамиx
иn-1
, умноженными наx/n
. - В функции
expx
проверяется базовый случай: еслиn
равно 0, то возвращается результат функцииt
с аргументамиx
и 0. - В функции
expx
для остальных случаев рекурсивно вызывается функцияexpx
с аргументамиx
иn-1
, к которому добавляется результат функцииt
с аргументамиx
иn
. - Объявлены две переменные:
x
иn
. - В основной части программы происходит считывание значений
x
иn
с помощью функцийreadln
. - Вызывается функция
expx
с аргументамиx
иn
, и результат выводится на экран с помощью функцииwriteln
, с указанием формата вывода числа с плавающей точкой и количеством знаков после запятой. - Вызывается функция
exp
с аргументомx
, и результат выводится на экран с помощью функцииwriteln
, с указанием формата вывода числа с плавающей точкой и количеством знаков после запятой. - Программа ожидает ввода с помощью функции
readln
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д