RosettaCodeData/Task/Random-numbers/FutureBasic/random-numbers.futurebasic

32 lines
571 B
Plaintext

include "ConsoleWindow"
local fn RandomZeroToOne as double
dim as double result
BeginCCode
result = (double)( (rand() % 100000 ) * 0.00001 );
EndC
end fn = result
local fn RandomGaussian as double
dim as double r
r = fn RandomZeroToOne
end fn = 1 + .5 * ( sqr( -2 * log(r) ) * cos( 2 * pi * r ) )
dim as long i
dim as double mean, std, a(1000)
for i = 1 to 1000
a(i) = fn RandomGaussian
mean += a(i)
next
mean = mean / 1000
for i = 1 to 1000
std += ( a(i) - mean )^2
next
std = std / 1000
print " Average:"; mean
print "Standard Deviation:"; std