Табулирование и программирование - Pascal
Формулировка задачи:
Помоги написать программу как в задание пожалуйста!!!
Составить программу для вычисления значения функции
с помощью разложения функции в степенной ряд
Решение задачи: «Табулирование и программирование»
textual
Листинг программы
var x,eps,t,y:real; n:integer; begin repeat write('Введите |x|<1 x='); readln(x); until abs(x)<1; repeat write('eps>0 eps='); readln(eps); until eps>0; if eps>=abs(x)then y:=2*x else begin n:=0; t:=x; y:=t; while abs(t)/(2*n+1)>eps do begin n:=n+1; t:=t*x*x; y:=y+t/(2*n+1) end; y:=2*y; end; writeln('Сумма=',y:0:6); write('Аналитически Ln((1+x)/(1-x))=',ln((1+x)/(1-x)):0:6); end.
Объяснение кода листинга программы
- Объявление переменных:
x
,eps
,t
,y
с типом данныхreal
n
с типом данныхinteger
- Ввод значения переменной
x
:- Выполняется цикл с запросом ввода значения
x
с дополнительной проверкой: пока значениеx
по модулю меньше 1, пользователю будет предлагаться ввести новое значение.
- Выполняется цикл с запросом ввода значения
- Ввод значения переменной
eps
:- Выполняется цикл с запросом ввода значения
eps
, с условием, чтоeps
должно быть больше 0.
- Выполняется цикл с запросом ввода значения
- Вычисление значения переменной
y
:- Если значение
eps
больше или равно модулюx
, то значениеy
устанавливается равным2*x
. - В противном случае выполняется блок кода, в котором:
- Устанавливается начальное значение переменной
n
равным 0. - Устанавливается значение переменной
t
равнымx
. - Устанавливается значение переменной
y
равнымt
. - Выполняется цикл, в котором:
- Пока модуль
t
делённое на(2*n+1)
больше, чемeps
:n
увеличивается на 1,t
умножается наx*x
,y
увеличивается наt/(2*n+1)
.
- Пока модуль
- Затем значение
y
умножается на 2.
- Устанавливается начальное значение переменной
- Если значение
- Вывод результатов:
- Выводится значение переменной
y
с форматированием до 6 знаков после запятой. - Вычисляется значение функции
Ln((1+x)/(1-x))
и выводится с форматированием до 6 знаков после запятой.
- Выводится значение переменной
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д