Random numbers: Difference between revisions
→{{header|BASIC}}: Added ANSI BASIC.
m (→EasyLang) |
(→{{header|BASIC}}: Added ANSI BASIC.) |
||
(6 intermediate revisions by 5 users not shown) | |||
Line 158:
=={{header|BASIC}}==
==={{header|ANSI BASIC}}===
{{works with|QuickBasic|4.5}}▼
{{trans|FreeBASIC}}
RANDOMIZE TIMER 'seeds random number generator with the system time▼
{{works with|Decimal BASIC}}
pi = 3.141592653589793#▼
<syntaxhighlight lang="basic">
DIM a(1 TO 1000) AS DOUBLE▼
100 REM Random numbers
CLS▼
110 RANDOMIZE
FOR i = 1 TO 1000▼
120 DEF
130 DIM R(0 TO 999)
NEXT i▼
140 LET Sum = 0
150 FOR I = 0 TO 999
160 LET R(I) = 1 + RandomNormal / 2
170 LET Sum = Sum + R(I)
180 NEXT I
190 LET Mean = Sum / 1000
200 LET Sum = 0
210 FOR I = 0 TO 999
220 LET Sum = Sum + (R(I) - Mean) ^ 2
230 NEXT I
240 LET SD = SQR(Sum / 1000)
250 PRINT "Mean is "; Mean
260 PRINT "Standard Deviation is"; SD
270 PRINT
280 END
</syntaxhighlight>
{{out}} Two runs.
<pre>
Mean is 1.00216454061435
Standard Deviation is .504515904812839
</pre>
<pre>
Mean is .995781408878628
Standard Deviation is .499307289407576
</pre>
==={{header|Applesoft BASIC}}===
Line 427 ⟶ 452:
a(i) = 1 + 0.5 * RandomNormal()
Next</syntaxhighlight>
==={{header|QuickBASIC}}===
▲{{works with|QuickBasic|4.5}}
<syntaxhighlight lang="qbasic">
a(i) = 1 + SQR(-2 * LOG(RND)) * COS(2 * pi * RND)
</syntaxhighlight>
==={{header|Run BASIC}}===
Line 791 ⟶ 828:
.
for v in a[]
avg += v / len a[]
.
print "Average: " & avg
for v in a[]
Line 800 ⟶ 836:
s = sqrt (s / len a[])
print "Std deviation: " & s
</syntaxhighlight>
Line 909 ⟶ 946:
=={{header|Elena}}==
{{trans|C#}}
ELENA
<syntaxhighlight lang="elena">import extensions;
import extensions'math;
Line 924 ⟶ 961:
real tAvg := 0;
for (int x := 0
{
a[x] := (randomNormal()) / 2 + 1;
Line 934 ⟶ 971:
real s := 0;
for (int x := 0
{
s += power(a[x] - tAvg, 2)
Line 2,676 ⟶ 2,713:
Other implementations of Standard ML have their own random number generators. For example, Moscow ML has a <code>Random</code> structure that is different from the one from SML/NJ.
{{works with|
The SML Basis Library does not provide a routine for uniform deviate generation, and PolyML does not have one. Using a routine from "Monte Carlo" by Fishman (Springer), in the function uniformdeviate, and avoiding the slow IntInf's:
<syntaxhighlight lang="
val urandomlist = fn seed => fn n =>
let
Line 2,816 ⟶ 2,853:
=={{header|Wren}}==
<syntaxhighlight lang="
var rand = Random.new()
|