Цитата:
Сообщение от Rume
лично я в ней нечего не понимаю
|
Я тоже. Тем более, там решается нелинейное уравнение, а мы вроде как договорились, что В ищем через интеграл. И в любом случае - не вижу в упор, зачем в этой задаче нужны массивы. По-моему, они тут "не пришей кобыле хвост".
Цитата:
Сообщение от Rume
Вот только если можно, не сможете сделать так, чтобы были не константы, а значения, которые пользователь вводит сам.
|
Пожалуйста:
Код:
Const
a0=2.51;
b0=-0.69;
Var
x,a,b,Xn,Xk,Dx,An,Ak,Da:Real;
Na,Nx,i,j:Byte;
Function I0(x:real):Real;
begin
I0:=0.5*Sin(x*2);
end;
Function I1(x:real):Real;
begin
I1:=Cos(x*2)/4+x*Sin(x*2)/2;
end;
Function I2(x:real):Real;
begin
I2:=x/2*Cos(x*2)+(sqr(x)/2-0.25)*Sin(x*2);
end;
Function I3(x:real):Real;
begin
I3:=(sqr(x)*0.75-0.375)*Cos(x*2)+(x*sqr(x)/2-0.75*x)*Sin(x*2);
end;
Function I4(x:real):Real;
begin
I4:=sqr(sqr(x))*Sin(x*2)/2-2.0*((sqr(x)*0.75-0.375)*Sin(x*2)-(x*sqr(x)/2-x*0/75)*Cos(x*2));
end;
Function f(xf,af:real):real;
begin
If xf<1 then f:=Sin(af*xf/b) else
f:=Sqrt(sqr(af)*sqr(sqr(xf))+sqr(b))/xf/sqr(xf);
end;
BEGIN
b:=(I4(b0)+I3(b0)*2+I2(b0)*5+I1(b0)*4+I0(b0)*4)-(I4(a0)+I3(a0)*2+I2(a0)*5+I1(a0)*4+I0(a0)*4);
Write('Xn= ');
Readln(Xn);
Write('Xk= ');
Readln(Xk);
Write('Dx= ');
Readln(Dx);
Write('An= ');
Readln(An);
Write('Ak= ');
Readln(Ak);
Write('Da= ');
Readln(Da);
Nx:=ROUND((Xk-Xn)/Dx);
Na:=ROUND((Ak-An)/Da);
for i:=0 to Na do
begin
a:=An+Da*i;
for j:=0 to Nx do
begin
x:=Xn+Dx*j;
Writeln('x=',x:3:1,' a=',a:3:1,' f=',f(x,a):0:5);
end;
end;
Readln;
END.
Цитата:
Сообщение от Rume
И все, я перестану вам докучать.
|
Да нет, обращайтесь, чем сможем - поможем.