Решение уравнения - Pascal ABC (13467)
Формулировка задачи:
Написать программу (желательно с циклами и функциями) для решения уравнения.
За начало брать x=0,1
Решение задачи: «Решение уравнения»
textual
Листинг программы
var x,e,t,s:real;
n:integer;
begin
repeat
write('Введите }x}>1 x=');
readln(x);
until abs(x)>1;
e:=0.0001;
n:=0;
t:=1/x;
s:=t;
while abs(t)/(2*n+1) >e do
begin
n:=n+1;
t:=t*(2*n-1)/x/x/2/n;
s:=s+t/(2*n+1);
end;
write('s=',s:0:4);
end.
Объяснение кода листинга программы
- Создается переменная
xтипаrealи присваивается значение0.0001. - Создается переменная
eтипаrealи присваивается значение0.0001. - Создается переменная
nтипаintegerи присваивается значение0. - Создается переменная
tтипаrealи присваивается значение1/x, гдеx- значение переменнойx. - Создается переменная
sтипаrealи присваивается значениеt. - Запускается цикл
while, который выполняется до тех пор, покаabs(t)/(2*n+1)большеe. - Внутри цикла переменная
nувеличивается на единицу. - Переменная
tпересчитывается какt*(2*n-1)/x/x/2/n. - Переменная
sпересчитывается какs+t/(2*n+1). - После выхода из цикла значение переменной
sзаписывается в файл. - Конец программы.