Цитата:
Сообщение от SpiresVili
Напишите пожалуйста программу на Паскаль
|
Код:
Const
a=2.0;
Var
x:Real;
i:byte;
function L_n(t:real):real;
var
n:byte;
c,S:real;
begin
n:=0;
c:=(t-1)/(t+1);
S:=c;
for n:=1 to 10 do
begin
c:=c*Sqr(t-1)/Sqr(t+1)*(2*n-1)/(2*n+1);
S:=S+c;
end;
L_n:=S*2;
end;
function Z1(a1,x1:real):real;
begin
if x1>=a1 then Z1:=a1*L_n(x1) else Z1:=x1*L_n(a1);
end;
function Z2(a2,x2:real):real;
begin
if x2>=a2 then Z2:=a2*Ln(x2) else Z2:=x2*Ln(a2);
end;
Begin
Writeln(' x Result Accurate');
for i:=0 to 6 do
begin
x:=3.0+0.5*i;
writeln(x:3:1,Z1(a,x):15:5,Z2(a,x):15:5);
end;
Readln
End.
Между прочим, в формуле задания, как обычно в методичках, лажа. Показатели степени в разложении логарифма должны быть (2n+1) как в числителе, так и в знаменателе.