PROGRAM "nth" VERSION "0.0002" DECLARE FUNCTION Entry() INTERNAL FUNCTION Suffix$(n&&) INTERNAL FUNCTION PrintImages (loLim&&, hiLim&&) FUNCTION Entry() PrintImages( 0, 25) PrintImages( 250, 265) PrintImages(1000, 1025) END FUNCTION FUNCTION Suffix$(n&&) nMod10@@ = n&& MOD 10 nMod100@@ = n&& MOD 100 SELECT CASE TRUE CASE (nMod10@@ = 1) AND (nMod100@@ <> 11): RETURN ("st") CASE (nMod10@@ = 2) AND (nMod100@@ <> 12): RETURN ("nd") CASE (nMod10@@ = 3) AND (nMod100@@ <> 13): RETURN ("rd") CASE ELSE: RETURN ("th") END SELECT END FUNCTION FUNCTION PrintImages(loLim&&, hiLim&&) FOR i&& = loLim&& TO hiLim&& PRINT TRIM$(STRING$(i&&)); Suffix$(i&&); " "; NEXT PRINT END FUNCTION END PROGRAM