RosettaCodeData/Task/Statistics-Basic/Sidef/statistics-basic.sidef

27 lines
524 B
Plaintext

func generate_statistics(n) {
var(sum=0, sum2=0);
var hist = 10.of(0);
n.times {
var r = 1.rand;
sum += r;
sum2 += r**2;
hist[10*r] += 1;
}
var mean = sum/n;
var stddev = Math.sqrt(sum2/n - mean**2);
say "size: #{n}";
say "mean: #{mean}";
say "stddev: #{stddev}";
var max = hist.max;
hist.range.each {|i|
printf("%.1f:%s\n", 0.1*i, "=" * 70*hist[i]/max);
}
print "\n";
}
[100, 1000, 10000].each {|n| generate_statistics(n) }