% Функция для вычисления факториала
factorial(0, 1).
factorial(N, F) :-
N1 is N – 1,
factorial(N1, F1),
F is N * F1.
% Функция для вычисления приближённого значения функции
approx_exp(X, N, Y) :-
X1 is X – 1,
fact_pow(X1, N, P),
Y is P / N.
% Функция для возведения числа в степень
pow(_, 0, 1).
pow(X, N, Result) :-
N > 0,
N1 is N – 1,
pow(X, N1, Result1),
Result is Result1 * X.
% Функция для вычисления ряда Тейлора
expser(X, N, Result) :-
expser(X, N, 0, Result).
expser(_, 0, Acc, Acc).
expser(X, N, Acc, Result) :-
N > 0,
N1 is N – 1,
factor(N, Fact),
pow(X, N, Power),
Term is Power / Fact,
NewAcc is Acc + Term,
expser(X, N1, NewAcc, Result).
% Пример использования
start_exp :-
write(‘Введите количество членов ряда N: ‘),
read(N),
write(‘Введите значение переменной X: ‘),
read(X),
sum_series(X, N, ApproximateY),
ExactY is exp(X),
writeln(ApproximateY),
writeln(ExactY).
[enter image description here](https://i.sstatic.net/pRFgkRfg.png)
Фото с заданием
Должно отображаться поле ввода для N и X после start_exp. но выводится ошибка что в прикреплённом фото. Сама задача добавить в программу правила для определения приближенного значения функции с помощью ряда указанного на фото.
Elerance- Anaiers is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.