RosettaCodeData/Task/Nth/ANSI-BASIC/nth.basic

29 lines
710 B
Plaintext

100 REM Nth
110 DECLARE EXTERNAL FUNCTION Suffix$
120 DECLARE EXTERNAL SUB PrintImages
130 CALL PrintImages(0, 25)
140 CALL PrintImages(250, 265)
150 CALL PrintImages(1000, 1025)
160 END
170 REM
180 EXTERNAL SUB PrintImages(LoLim, HiLim)
190 FOR I = LoLim TO HiLim
200 PRINT STR$(I); Suffix$(I); " ";
210 NEXT I
220 PRINT
230 END SUB
240 REM
250 EXTERNAL FUNCTION Suffix$(N)
260 LET NMod10 = MOD(N, 10)
270 LET NMod100 = MOD(N, 100)
280 IF NMod10 = 1 AND NMod100 <> 11 THEN
290 LET Suffix$ = "st"
300 ELSEIF NMod10 = 2 AND NMod100 <> 12 THEN
310 LET Suffix$ = "nd"
320 ELSEIF NMod10 = 3 AND NMod100 <> 13 THEN
330 LET Suffix$ = "rd"
340 ELSE
350 LET Suffix$ = "th"
360 END IF
370 END FUNCTION