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

29 lines
940 B
Plaintext

0 REM ROSETTACODE.ORG
1 REM N'TH
2 REM WRITE A FUNCTION/METHOD/SUBROUTINE/... THAT WHEN GIVEN AN INTEGER GREATER
3 REM THAN OR EQUAL TO ZERO RETURNS A STRING OF THE NUMBER FOLLOWED BY
4 REM AN APOSTROPHE THEN THE ORDINAL SUFFIX.
5 REM BASED ON APPLESOFT BASIC VERSION @ ROSETTACODE.ORG
6 REM
7 REM *************************
8 PRINT CHR$(14): REM CHANGE TO LOWER/UPPER CASE CHAR SET
9 OP = 1
10 FOR N = 0 TO 25 : GOSUB 100 : NEXT : PRINT
20 FOR N = 250 TO 265 : GOSUB 100 : NEXT : PRINT
30 FOR N = 1000 TO 1025 : GOSUB 100 : NEXT : PRINT
40 END
50 REM *************************
100 GOSUB 200
110 PRINT NTH$ " ";
120 RETURN
130 REM ************************
200 M1 = N - INT(N / 10) * 10
210 M2 = N - INT(N / 100) * 100
220 NTH$ = "TH"
230 IF M1 = 1 AND M2 <> 11 THEN NTH$ = "ST"
240 IF M1 = 2 AND M2 <> 12 THEN NTH$ = "ND"
250 IF M1 = 3 AND M2 <> 13 THEN NTH$ = "RD"
260 IF NOT OP THEN NTH$ = "'" + NTH$
270 NTH$ = STR$(N) + NTH$
280 RETURN