Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/23: Рейтинг темы: голосов - 23, средняя оценка - 4.87
11 / 11 / 7
Регистрация: 23.12.2009
Сообщений: 300
1

Ln(1+x)

25.02.2010, 19:18. Показов 4595. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Описать функцию Ln(x,e) вещественного типа (параметры x,e-вещественные, |x|<1,e>0), находящую приближенное значение функции Ln(1+x);
Ln(1+x)=x-x*x/2+x*x*x/3-...+((-1)^n)*(x^n+1)/(n+1)+... . {x^y це х в степени у.
я прост не знаю как написать}
В сумме учитывать все слагаемые, модуль которых больше e. С помощью Ln1 найти приближенное значение Ln(1+x) для даного х при шести даных e.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 uses crt;{pidklu4enie moduliv}
const N=6;{kil-t povtoriv programi}
var i,j:integer;{s4ot4iki}
    x,e,V:real;{kut,eps,vidpovid}
function Ln1(x,e:real):real;{opis funczii}
var s:real;
begin
 s:=x;
 for i:=1 to 10 do {--------------}
  begin
   if(odd(i)=true) then if(e<abs((-1)*Exp((2*i+1)*ln(x))/(i+1))) then s:=s-Exp((i+1)*ln(x))/(i+1)
    else if(e<abs(Exp((i+1)*ln(x))/(i+1))) then s:=s+Exp((i+1)*ln(x))/(i+1);
  end;
 Ln1:=s;
end;
begin
clrscr;{o4istka ekrana}
write('Vvedite 4islo x(|x|<1) -> ');
read(x);{vvod x}
for j:=1 to n do {povtor programi}
 begin
  write('Vvedite E(E>0) -> ');
  read(e);{vvod e}
  V:=Ln1(x,e);
  writeln('Ln(1+',x,')=',V:1:3);{vivod rezultatu}
 end;
readln;{zaderzka ekrana}
readln;
end.
Что тут не так? Помогите пожалуйста
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.02.2010, 19:48 2
Я бы написал так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
uses crt;
function Ln1(x,e:real):real;
var s,t:real;
    n:integer;
begin
s:=0;
n:=0;
t:=-1;
while abs(t)>=e do
 begin
  n:=n+1;
  t:=-t*x;
  s:=s+t/n
 end;
Ln1:=s;
end;
var x,e:real;
    i:integer;
begin
clrscr;
repeat
write('Введите |x|<1  x=');
readln(x);
until abs(x)<1;
e:=0.01;
for i:=1 to 6 do
 begin
  writeln('e=',e:0:7,'  Ln(x+1)=',Ln1(x,e):0:6);
  e:=e/10;
 end;
write('Аналитически Ln(x+1)=',ln(x+1):0:6);
readln
end.
2
11 / 11 / 7
Регистрация: 23.12.2009
Сообщений: 300
25.02.2010, 19:52  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
e:=0.01;
е нада вводить а за задачу спасибо
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.02.2010, 19:54 4
Hovercat, Так вводи, я же для проверки, чтобы быстрее сделать.
1
11 / 11 / 7
Регистрация: 23.12.2009
Сообщений: 300
25.02.2010, 20:05  [ТС] 5
стоп стоп стоп
я не пойму что мне нужно переделать
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
uses crt;
function Ln1(x,e:real):real;
var s,t:real;
    n:integer;
begin
s:=0;
n:=0;
t:=-1;
while abs(t)>=e do
 begin
  n:=n+1;
  t:=-t*x;
  s:=s+t/n
 end;
Ln1:=s;
end;
var x,e:real;
    i:integer;
begin
clrscr;
repeat
 write('Ââåäèòå |x|<1  x=');
 readln(x);
until abs(x)<1;
for i:=1 to 6 do
 begin
  write('Vvedite E(E>0) -> ');
  read(e);{vvod e}
  writeln('  Ln(x+1)=',Ln1(x,e):0:6);
 end;
readln
end.
так или не так
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
25.02.2010, 20:18 6
В принципе так. Я бы все же немного добавил.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
uses crt;
function Ln1(x,e:real):real;
var s,t:real;
    n:integer;
begin
s:=0;
n:=0;
t:=-1;
while abs(t)>=e do
 begin
  n:=n+1;
  t:=-t*x;
  s:=s+t/n
 end;
Ln1:=s;
end;
var x,e:real;
    i:integer;
begin
clrscr;
repeat
 write('Vvedite |x|<1  x=');
 readln(x);
until abs(x)<1;
for i:=1 to 6 do
 begin
  repeat
  write('Vvedite E(E>0) -> ');
  readln(e);{vvod e}
  until e>0;
  writeln('  Ln(x+1)=',Ln1(x,e):0:6);
 end;
write('Analiticheski Ln(x+1)=',ln(x+1):0:6);
readln
end.
1
25.02.2010, 20:18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru