PROGRAM CHEB; CONST n=20; bodu=100; pi=3.141592654; a=-10; b=10; TYPE vektor = ARRAY [1..n] OF real; FUNCTION func(x:real):real; VAR t:real; BEGIN t:=(x*(b-a)+(a+b))/2; func:=t*t*t*t*ln(10+abs(t))*cos(t); END; FUNCTION trans(x:real):real; BEGIN trans:=(2*x-(a+b))/(b-a); END; FUNCTION c(j:integer):real; VAR i:integer; y:real; BEGIN y:=0; FOR i:=1 TO n DO y:=y+func(cos(pi/n*(i-0.5)))*cos(pi/n*(i-0.5)*(j-1)); c:=2*y/n; END; PROCEDURE T(x:real; VAR tt:vektor); VAR i:integer; BEGIN tt[1]:=1; tt[2]:=x; FOR i:=3 TO n DO tt[i]:=2*x*tt[i-1]-tt[i-2]; END; VAR i,j:integer; x,y,krok,x0,x1: real; ci,ti:vektor; fileout:text; BEGIN ASSIGN(fileout,'vystup.dat'); REWRITE(fileout); FOR i:=1 TO n DO ci[i]:=c(i); krok:=(b-a)/bodu; x:=a; FOR i:=1 TO bodu DO BEGIN T(trans(x),ti); y:=0.5*ci[1]; FOR j:=2 TO n DO y:=y+ci[j]*ti[j]; WRITELN(fileout,x,' ',y); x:=x+krok; END; CLOSE(fileout); WRITELN('hotovo'); READLN; END.