50 lines
1.0 KiB
Plaintext
50 lines
1.0 KiB
Plaintext
PROGRAM "loopsnested"
|
|
|
|
IMPORT "xst" ' for XstGetSystemTime
|
|
|
|
DECLARE FUNCTION Entry()
|
|
|
|
' Pseudo-random number generator
|
|
' Based on the rand, srand functions from Kernighan & Ritchie's book
|
|
' 'The C Programming Language'
|
|
DECLARE FUNCTION Rand()
|
|
DECLARE FUNCTION SRand(seed%%)
|
|
|
|
FUNCTION Entry()
|
|
DIM array%[10, 10]
|
|
XstGetSystemTime (@msec)
|
|
SRand(INT(msec) MOD 32768)
|
|
FOR row% = 0 TO 10
|
|
FOR col% = 0 TO 10
|
|
array%[row%, col%] = INT(Rand() / 32768.0 * 20.0) + 1
|
|
NEXT col%
|
|
NEXT row%
|
|
|
|
isFound% = $$FALSE
|
|
FOR row% = 0 TO 10
|
|
PRINT "Row:"; row%
|
|
FOR col% = 0 TO 10
|
|
PRINT " Col:"; col%; ", value:"; array%[row%, col%]
|
|
IF array%[row%, col%] = 20 THEN
|
|
isFound% = $$TRUE
|
|
EXIT FOR
|
|
END IF
|
|
NEXT col%
|
|
IFT isFound% THEN
|
|
EXIT FOR
|
|
END IF
|
|
NEXT row%
|
|
END FUNCTION
|
|
|
|
' Return pseudo-random integer on 0..32767
|
|
FUNCTION Rand()
|
|
#next&& = #next&& * 1103515245 + 12345
|
|
END FUNCTION USHORT(#next&& / 65536) MOD 32768
|
|
|
|
' Set seed for Rand()
|
|
FUNCTION SRand(seed%%)
|
|
#next&& = seed%%
|
|
END FUNCTION
|
|
|
|
END PROGRAM
|