home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / TURBOPAS / PAS_ENG.ZIP / MEANS.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1985-07-19  |  946 b   |  53 lines

  1. program means;  { -> 26 }
  2. {find mean and standard deviation }
  3.  
  4. const max = 80;
  5.  
  6. type ary  = array[1..max]of real;
  7.  
  8. var x : ary;
  9.  i,n : integer;
  10.  mean,std: real;
  11.  
  12.  
  13. procedure meanstd
  14.   (x  : ary; {array of values}
  15.    length  : integer;
  16.    var mean : real;
  17.    var std_dev : real);
  18.  
  19. var
  20.   i  : integer;
  21.   sum_x,sum_sq : real;
  22.  
  23.  
  24.  
  25. begin {main}
  26.  sum_x:=0;
  27.  sum_sq:=0;
  28.  for i:=1 to length do
  29.  begin
  30.   sum_x:=sum_x+x[i];
  31.   sum_sq:=sum_sq+x[i]*x[i]
  32.  end;
  33.  mean:=sum_x/length;
  34.  std_dev:=sqrt((sum_sq-sqr(sum_x)/length)/(length-1))
  35. end { procedure meanstd };
  36.  
  37. begin { MAIN program }
  38.  clrscr;
  39.  writeln;
  40.  writeln('Calculation of mean and standard deviation');
  41.  repeat
  42.  write('How many points? ');
  43.  readln(n)
  44.  until n<=max;
  45.  for i:=1 to n do
  46.  begin
  47.   write(i:3,':');
  48.   readln(x[i])
  49.  end;
  50.  meanstd(x,n,mean,std);
  51.  writeln(chr(7),'For ',n:3,' points, mean= ',mean:8:4,' sigma= ',std:8:4)
  52. end. { MAIN program }
  53.