Knuth shuffle: Difference between revisions

Content added Content deleted
m (→‎{{header|Picat}}: Added {{out}})
(Knuth shuffle in True BASIC)
Line 1,125: Line 1,125:
When it has finished, the screen will show (for example):
When it has finished, the screen will show (for example):
<pre>lcjbpxekzsaygumwnovfdtiqrh</pre>
<pre>lcjbpxekzsaygumwnovfdtiqrh</pre>

==={{header|True BASIC}}===
{{trans|BASIC}}
<lang qbasic>OPTION BASE 0
RANDOMIZE

DIM cards(51)

PRINT "before:"
FOR L0 = 0 TO 51
LET cards(L0) = L0
PRINT LTRIM$(STR$(cards(L0))); " ";
NEXT L0

FOR L0 = 51 TO 0 STEP -1
LET card = INT(RND * (L0 + 1))
IF card <> L0 THEN
LET t = cards(lb + L0)
LET cards(lb + L0) = cards(lb + card)
LET cards(lb + card) = t
END IF
NEXT L0

PRINT
PRINT "after:"
FOR L0 = 0 TO 51
PRINT LTRIM$(STR$(cards(L0))); " ";
NEXT L0
END</lang>
{{out}}
<pre>Same as BASIC entry.</pre>


==={{header|BBC BASIC}}===
==={{header|BBC BASIC}}===