unit stat; interface uses newdelay; const nmax=5; type tomb=array [1..nmax] of integer; procedure feltolt(n:integer; var x:tomb; m:integer; var y:tomb); function atlag(n:integer;x:tomb):real; function szoras(n:integer;x:tomb):real; function atlagabszelter(n:integer;x:tomb):real; function kovarancia(n:integer;x:tomb;m:integer;y:tomb):real; function korrelacio(n:integer;x:tomb;m:integer;y:tomb):real; implementation procedure feltolt(n:integer; var x:tomb; m:integer; var y:tomb); var i:integer; begin randomize; for i:=1 to n do begin x[i]:=random(MaxInt div 4); y[i]:=2*x[i]; end; end; function atlag(n:integer;x:tomb):real; var szum:real; i:integer; begin szum:=0; for i:=1 to n do begin szum:=szum+x[i]; end; atlag:=szum/n; end; function szoras(n:integer;x:tomb):real; var szum:real; atl:real; i:integer; begin atl:=atlag(n,x); szum:=0; for i:=1 to n do begin szum:=szum+(x[i]-atl)*(x[i]-atl); end; szoras:=sqrt(szum/n); end; function atlagabszelter(n:integer;x:tomb):real; var szum:real; atl:real; i:integer; begin atl:=atlag(n,x); szum:=0; for i:=1 to n do begin szum:=szum+abs(x[i]-atl); end; atlagabszelter:=szum/n; end; function kovarancia(n:integer;x:tomb;m:integer;y:tomb):real; var szum:real; atl:real; i:integer; begin for i:=1 to n do begin szum:=szum+( (x[i]-atlag(n,x)) * (y[i]-atlag(m,y)) ); end; kovarancia:=szum/n; end; function korrelacio(n:integer;x:tomb;m:integer;y:tomb):real; var kov,szorx,szory:real; begin kov:=kovarancia(n,x,m,y); szorx:=szoras(n,x); szory:=szoras(m,y); korrelacio:=kov/(szorx*szory); end; begin end.