Microsoft Small Basic

Program Listing: TVJ007
'**********************************
' Roman numerals
' www.miskei.hu
' 2014. 10. 10.
'**********************************
a[0]=1000
a[1]=900
a[2]=500
a[3]=400
a[4]=100
a[5]=90
a[6]=50
a[7]=40
a[8]=10
a[9]=9
a[10]=5
a[11]=4
a[12]=1

r[0]="M"
r[1]="CM"
r[2]="D"
r[3]="CD"
r[4]="C"
r[5]="XC"
r[6]="L"
r[7]="XL"
r[8]="X"
r[9]="IX"
r[10]="V"
r[11]="IV"
r[12]="I"

For sz=1 to 200
valt()
TextWindow.Write(sz)
TextWindow.Write(" = ")
TextWindow.WriteLine(rn)
EndFor

'*****************************************************************
Sub valt
i=0
rn=""
d=sz
While (d<>0)
While (d>=a[i])
d=d-a[i]
rn=rn+r[i]
EndWhile
i=i+1
EndWhile
EndSub