calcolo di media

esci algebraturbo.htm

 

Program media3;
(* elaborazione statistica .*)
uses crt;
const k=20;
VAR
a,valori:integer;
n:array[1..k] of real;
s:array[1..k] of real;
sa:array[1..k] of real;
sq:array[1..k] of real;
somma,media,scarto,varianza,scartoqm,sommasa,sommava:real;
scartosmr,scartoqmr:real;

procedure cancella;
begin
clrscr;
end;

procedure pausa;
begin
write('premi ENTER ');readln;
end;

procedure testo;
begin
clrscr;
writeln('media aritmetica = somma dati/numero dati ');
writeln('scarti semplici = dato - media aritmetica');
writeln('valore assoluto = abs(scarto semplice) ');
writeln('scarto semplice medio = media valori assoluti scarti semplici');
writeln('scarti quadratici = quadrati degli scarti semplici');
writeln('varianza = media scarti quadratici ');
writeln('scarto quadratico medio = radice quadrata della varianza ');
writeln('scarto semplice medio relativo = scarto medio semplice/media ');
writeln('scarto quadratico medio relativo = scarto quadratico medio/media');
writeln('-----------------------------------------------------------------');
end;

procedure dati;
begin
writeln('numero valori...scrivi 5 ');
writeln('valori da elaborare:scrivi :18,22,24,28,30 ');
end;

procedure pro1; (* inserimento dati *)
begin
testo;
dati;
somma:=0;media:=0;
for a:=1 to valori do
begin
write('scrivi valore da elaborare ');readln(n[a]);
somma:=somma+n[a];
end;
media:=somma/valori;
writeln('numero dati =',valori);
writeln('somma dati =',somma:0:3);
writeln('media aritmetica=',media:0:3);
end;


procedure pro2; (* calcolo valori statistici vari *)
begin
testo;
scarto:=0;varianza:=0;sommasa:=0;sommava:=0;
writeln('dato':10,'x-M':10,'|x-M|':10,'|x-M|^2':10);writeln;
for a:=1 to valori do
begin
s[a]:=n[a]-media;sommasa:=sommasa+s[a];
sa[a]:=abs(s[a]);sommava:=sommava+sa[a];
sq[a]:=(s[a])*(s[a]);
scarto:=scarto+sa[a];
varianza:=varianza+sq[a];
writeln(n[a]:10:3,s[a]:10:3,sa[a]:10:3,sq[a]:10:3);
end;
scarto:=scarto/valori;
scartosmr:=scarto/media;

writeln;
writeln('somma scarti semplici=',sommasa:0:3);
writeln('somma valori assoluti=',sommava:0:3);
writeln('scarto semplice medio=',scarto:0:3);
writeln;
writeln('somma quadrati scarti=',varianza:0:3);
varianza:=varianza/valori;
writeln('varianza =',varianza:10:3);
writeln;
scartoqm:=sqrt(varianza);
scartoqmr:=scartoqm/media;
writeln('scarto quadratico medio =',scartoqm:10:3);
writeln('scarto semplice medio relativo:',scartosmr:10:3);
writeln('scarto quadratico medio relativo:',scartoqmr:10:3);
end;


begin
clrscr;
writeln('determinazione valori statistici');
writeln('per provare ,usa i dati indicati ');
dati;
write('indicare numero di dati da inserire < 21 ');readln(valori);
clrscr;
pro1;pausa;pro2;pausa;
end.