begin comment calculate median; real array aa(1::100000); integer n; real b, c; procedure vectRandom(real array v(*); integer value 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 vectBubbleSort(real array v(*); integer value ndim); begin integer i, flag; real acc; start:; flag := 0; for i := 1 step 1 until (ndim-1) do begin if (v(i) > v(i+1) ) then begin acc := v(i); v(i) := v(i+1); v(i+1) := acc; flag := flag + 1; end end; comment outinteger (1, flag); if flag ~= 0 then goto start end; real procedure statMedian(real array a(*); integer value dim); begin vectBubbleSort( a, dim); a(dim div 2) end ; n := 10000; vectRandom(aa, n, n); b := statMedian(aa, n);; write("median = ", b ); end