calcolo di media

esci algebraturbo.htm

 

Program media1;
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: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('-----------------------------------------------------------------');
end;

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

procedure pro2; (* stampa dati,somma,media *)
begin
testo;
writeln;
media:=somma/valori;
for a:=1 to valori do
writeln(n[a]:0:3);
writeln;
writeln('numero dati =',valori);
writeln('somma dati =',somma:0:3);
writeln('media aritmetica=',media:0:3);

end;

procedure pro3;(* calcolo scarto semplice medio *)
begin
TESTO;
for a:=1 to valori do
begin
s[a]:=n[a]-media;
sa[a]:=abs(s[a]);
end;

end;

procedure pro4; (* calcolo scarto semplice medio *)
begin
testo;
scarto:=0;
writeln('dato':10,'x-M':10,'|x-M|':10);writeln;
for a:=1 to valori do
begin
scarto:=scarto+sa[a];
writeln(n[a]:10:3,s[a]:10:3,sa[a]:10:3);
end;
scarto:=scarto/valori;
writeln('scarto semplice medio=',scarto:0:3);

end;

procedure pro5; (* calcolo della varianza *)
begin
testo;
varianza:=0;
writeln('dato':10,'x-M':10,'|x-M|':10,'|x-M|^2 ':10);writeln;
for a:=1 to valori do
begin
sq[a]:=(s[a])*(s[a]);
varianza:=varianza+sq[a];
writeln(n[a]:10:3,s[a]:10:3,sa[a]:10:3,sq[a]:10:3);
end;
writeln('somma quadrati scarti=',varianza:0:3);
varianza:=varianza/valori;
writeln('varianza =',varianza:10:3);
scartoqm:=sqrt(varianza);
writeln('scarto quadratico medio =',scartoqm:10:3);
end;


begin
clrscr;
writeln('determinazione valori statistici');
write('indicare numero di dati da inserire < 21 ');readln(valori);
clrscr;
pro1;pausa;pro2;pausa;pro3;pausa;pro4;pausa;pro5;pausa;
end.