Вычисление функции - Pascal (10071)
Формулировка задачи:
помогите ПРАВЕЛЬНО вычислить функцию:
а вот код:
Просто кажется ответ не верный
program summa; function fact (n:integer):real; begin if n=1 then fact:=1 else fact:=n*fact(n-1); end; function step (s:integer; var x:real):real; var i:integer; begin if s=0 then step:=1 else step:=step(s-1,x)*x; end; var k,x:real; begin x:=0.55; k:=(x-1)-step(2,x)/fact(3)+step(4,x)/fact(5); Writeln('Функция= ',k:6:2); readln; end.
Решение задачи: «Вычисление функции»
textual
Листинг программы
program summa; uses crt; function fact (n:integer):real; begin if n=1 then fact:=1 else fact:=n*fact(n-1); end; function step (s:integer; x:real):real; var i:integer; begin if s=0 then step:=1 else step:=step(s-1,x)*x; end; var k,x:real; begin clrscr; x:=0.55; k:=(x-1)-step(2,x-1)/fact(3)+step(4,x-1)/fact(5); Writeln('Kя= ',k:6:5); readln; end.
Объяснение кода листинга программы
- Создается программа
summa
, которая использует библиотеку crt. - Определяется функция
fact
с одним параметром типаinteger
, которая вычисляет факториал числа. Внутри функции проверяется базовый случай, когда число равно 1, и если это так, то функция возвращает 1. В противном случае функция вызывает саму себя, умножая текущее число на результат вызова функцииfact
для числа на 1 меньше. - Определяется функция
step
с двумя параметрами типаinteger
иreal
. Внутри функции проверяется базовый случай, когда сумма равна 0, и если это так, то функция возвращает 1. В противном случае функция вызывает саму себя, умножая текущую сумму на результат вызова функцииstep
для суммы на 1 меньше и текущего значения переменнойx
. - Определяются три переменные типа
real
:k
,x
иi
. - Выводится сообщение
Kя=
, гдеk
- это значение переменнойk
, за которым следует пробел и количество знаков после запятой, равное 6 с остатком 5 (так как вторая цифра после запятой не учитывается). - Вызывается функция
step
с аргументами2
иx-1
, и результат присваивается переменнойk
. - Выводится сообщение
Kя=
, гдеk
- это значение переменнойk
. - Запрашивается ввод с клавиатуры.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д