85 lines
904 B
Plaintext
85 lines
904 B
Plaintext
PROGRAM:DEC2ROM
|
|
:"="→Str1
|
|
:Lbl ST
|
|
:ClrHome
|
|
:Disp "NUMBER TO"
|
|
:Disp "CONVERT:"
|
|
:Input A
|
|
:If fPart(A) or A≠abs(A)
|
|
:Then
|
|
:Goto PI
|
|
:End
|
|
:A→B
|
|
:While B≥1000
|
|
:Str1+"M"→Str1
|
|
:B-1000→B
|
|
:End
|
|
:If B≥900
|
|
:Then
|
|
:Str1+"CM"→Str1
|
|
:B-900→B
|
|
:End
|
|
:If B≥500
|
|
:Then
|
|
:Str1+"D"→Str1
|
|
:B-500→B
|
|
:End
|
|
:If B≥400
|
|
:Then
|
|
:Str1+"CD"?Str1
|
|
:B-400→B
|
|
:End
|
|
:While B≥100
|
|
:Str1+"C"→Str1
|
|
:B-100→B
|
|
:End
|
|
:If B≥90
|
|
:Then
|
|
:Str1+"XC"→Str1
|
|
:B-90→B
|
|
:End
|
|
:If B≥50
|
|
:Then
|
|
:Str1+"L"→Str1
|
|
:B-50→B
|
|
:End
|
|
:If B≥40
|
|
:Then
|
|
:Str1+"XL"→Str1
|
|
:B-40→B
|
|
:End
|
|
:While B≥10
|
|
:Str1+"X"→Str1
|
|
:B-10→B
|
|
:End
|
|
:If B≥9
|
|
:Then
|
|
:Str1+"IX"→Str1
|
|
:B-9→B
|
|
:End
|
|
:If B≥5
|
|
:Then
|
|
:Str1+"V"→Str1
|
|
:B-5→B
|
|
:End
|
|
:If B≥4
|
|
:Then
|
|
:Str1+"IV"→Str1
|
|
:B-4→B
|
|
:End
|
|
:While B>0
|
|
:Str1+"I"→Str1
|
|
:B-1→B
|
|
:End
|
|
:ClrHome
|
|
:Disp A
|
|
:Disp Str1
|
|
:Stop
|
|
:Lbl PI
|
|
:ClrHome
|
|
:Disp "THE NUMBER MUST"
|
|
:Disp "BE A POSITIVE"
|
|
:Disp "INTEGER."
|
|
:Pause
|
|
:Goto ST
|