RosettaCodeData/Task/Pick-random-element/ALGOL-68/pick-random-element.alg

23 lines
630 B
Text
Raw Permalink Normal View History

2024-10-16 18:07:41 -07:00
BEGIN # pick a random element from an array of strings #
2023-07-01 11:58:00 -04:00
2024-10-16 18:07:41 -07:00
OP PICKRANDOM = ( []STRING list )STRING:
BEGIN
2023-07-01 11:58:00 -04:00
2024-10-16 18:07:41 -07:00
INT number of elements = ( UPB list - LWB list ) + 1;
INT random element =
ENTIER ( next random * ( number of elements ) );
2023-07-01 11:58:00 -04:00
2024-10-16 18:07:41 -07:00
list[ LWB list + random element ]
END; # PICKRANDOM #
# can define additional operators for other types of array #
2023-07-01 11:58:00 -04:00
2024-10-16 18:07:41 -07:00
BEGIN
[]STRING days = ( "Sunday", "Monday", "Tuesday", "Wednesday"
, "Thursday", "Friday", "Saturday"
);
2023-07-01 11:58:00 -04:00
2024-10-16 18:07:41 -07:00
print( ( PICKRANDOM days, newline ) )
END
END