И еще, я взял у одногруппника его задание, он говорил можно переделать, но я не знаю как
Код:
program Aplomba;
Type
mas=array[1..100] of real;
Var
A,B,XM,XN,DX,xo,G1,G2,H,EPS,I1,I2:real;
U,N:byte;
X,Y: mas;
I,J,KM,K:integer;
function F(x:real):real;
begin
F:=a*b*sqr(sin(2*3.14*x))/sqrt(x);
end;
Begin
writeln('vvedite G1, G2, EPS, KM, A, XN, DX, N');
readln (G1, G2, EPS, KM, A, XN, DX, N);
writeln ('G1=', G1:5:2, 'G2=', G2:5:2, 'EPS=', EPS:5:3, 'KM=', KM:5);
B:=xo;
I1:=0;
K:=4;
for J:=1 to KM do
begin
xo:=xo + H; I2:=I2+F(xo); H:=(G2-G1) / K; I:=1;
repeat
xo:=xo+H;
I2:=I2+F(xo);
inc(I);
until I>=K;
I2:=I2*H;
if abs (I1-I2)>EPS then
begin
I1:=I2;
K:=2*K;
end
else
begin
{ J:=KM;} {Переменная не известного значения. Указывает на цикл в цикле}
writeln('integral=', I2:10:5);
exit;
end;
B:=I2;
begin
U:=1;
x[u]:=XN;
FOR U:=1 TO N DO
X[u]:=x[u-1] + DX;
end;
FOR U:=1 TO N DO
begin
writeln('B=',B:10:7);
Y[u]:=A*B*(sqr(sin(2*3.14*x[u]))/sqrt(x[u]));
writeln('X[',u,']=',X[u]:10:5,'Y[',u,']=', Y[u]:10:5);
end;
writeln('reshenie ne naideno');
end;
End.