PROGRAM "romandec" VERSION "0.0000" DECLARE FUNCTION Entry () DECLARE FUNCTION romToDec (roman$) FUNCTION Entry () PRINT "MCMXCIX = "; romToDec("MCMXCIX") PRINT "MDCLXVI = "; romToDec("MDCLXVI") PRINT "XXV = "; romToDec("XXV") PRINT "CMLIV = "; romToDec("CMLIV") PRINT "MMXI = "; romToDec("MMXI") END FUNCTION FUNCTION romToDec (roman$) num = 0 prenum = 0 FOR i = LEN(roman$) TO 1 STEP -1 x$ = MID$(roman$, i, 1) SELECT CASE x$ CASE "M" : n = 1000 CASE "D" : n = 500 CASE "C" : n = 100 CASE "L" : n = 50 CASE "X" : n = 10 CASE "V" : n = 5 CASE "I" : n = 1 END SELECT IF n < prenum THEN num = num-n ELSE num = num+n prenum = n NEXT i RETURN num END FUNCTION END PROGRAM