begin comment calculate average and standard deviation; real array aa[1:100000]; integer n; real b, c; procedure vectRandom( v, ndim, seed); real array v; integer ndim, seed; begin integer i; integer m, a, b, s, r; m := 32768; a := 805; b := 6925; s := seed; for i :=1 step 1 until ndim do begin s := s*a+b; r := entier(s/m); s := s - r*m; v[i] := (entier((s+1)/(m+1)*10000)) / 10000 end end; procedure statAverageStDev(a, dim, avr, std); real array a; integer dim; real avr, std; begin real s; integer i; avr := 0; std := 0; for i := 1 step 1 until dim do begin avr := avr + a[i]; std := std + a[i]*a[i] end; avr := avr / dim; std := (std - dim*avr*avr) / (dim-1); std := sqrt (std ) end ; n := 10000; vectRandom(aa, n, n); statAverageStDev(aa, n, b, c); outstring (1,"average = "); outreal (1, b ); outstring (1,"st. dev = "); outreal (1, c ); outstring (1,"\n") end