Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,48 @@
|
|||
Main:
|
||||
!------------------------------------------------
|
||||
! CALLS THE romToDec FUNCTION WITH THE ROMAN
|
||||
! NUMERALS AND RETURNS ITS DECIMAL EQUIVELENT.
|
||||
!
|
||||
|
||||
PRINT "MCMXC = "; romToDec("MCMXC") !1990
|
||||
PRINT "MMVIII = "; romToDec("MMVIII") !2008
|
||||
PRINT "MDCLXVI = "; romToDec("MDCLXVI") !1666
|
||||
PRINT:PRINT
|
||||
PRINT "Here are other solutions not from the TASK:"
|
||||
PRINT "MCMXCIX = "; romToDec("MCMXCIX") !1999
|
||||
PRINT "XXV = "; romToDec("XXV") !25
|
||||
PRINT "CMLIV = "; romToDec("CMLIV") !954
|
||||
PRINT "MMXI = "; romToDec("MMXI") !2011
|
||||
PRINT:PRINT
|
||||
PRINT "Without error checking, this also is 2011, but is wrong"
|
||||
PRINT "MMIIIX = "; romToDec("MMIIIX") !INVAID, 2011
|
||||
|
||||
STOP
|
||||
|
||||
|
||||
FUNCTION romToDec(roman AS STRING) AS INTEGER
|
||||
!------------------------------------------------------
|
||||
! FUNCTION THAT CONVERTS ANY ROMAN NUMERAL TO A DECIMAL
|
||||
!
|
||||
prenum=0!num=0
|
||||
ln=LEN(roman)
|
||||
FOR i=ln TO 1 STEP -1
|
||||
x$=MID(roman,i,1)
|
||||
n=1000
|
||||
SELECT CASE x$
|
||||
CASE "M":n=n/1
|
||||
CASE "D":n=n/2
|
||||
CASE "C":n=n/10
|
||||
CASE "L":n=n/20
|
||||
CASE "X":n=n/100
|
||||
CASE "V":n=n/200
|
||||
CASE "I":n=n/n
|
||||
CASE ELSE:n=0
|
||||
END SELECT
|
||||
IF n < preNum THEN num=num-n ELSE num=num+n
|
||||
preNum=n
|
||||
next i
|
||||
|
||||
romToDec=num
|
||||
|
||||
END FUNCTION
|
||||
Loading…
Add table
Add a link
Reference in a new issue