Titolo: Conversione da numero arabo a numero romano
Categoria: Codice |
|
Ultimo Aggiornamento: 28/10/05 |
Per completare l'argomento iniziato con
la faq precedente ecco il metodo di conversione di un numero in notazione araba in notazione romana.
C_STRING(255;$0;$risultatoRomano_S)
C_INTEGER($1;$numeroArabo_I)
C_BOOLEAN($finito_B)
C_STRING(2;$decina_S;$cinquina_S;$unità_S)
C_STRING(4;$prefissi_S)
`inizializzazione
$finito_B:=
False$numeroArabo_I:=$1
$risultatoRomano_S:=""
MATHERROR:=0
`calcolo
Repeat $num:=$numeroArabo_I
Case of : ($num>999)
$prefissi_S:="M"*Num(Substring(String($numeroArabo_I);1;1))
: ($num>99)
$unità_S:="C"
$cinquina_S:="D"
$decina_S:="M"
: ($num>9)
$unità_S:="X"
$cinquina_S:="L"
$decina_S:="C"
Else $unità_S:="I"
$cinquina_S:="V"
$decina_S:="X"
End case If ($num<1000)
$num:=Num(Substring(String($numeroArabo_I);1;1))
$prefissi_S:=""
Case of : ($num<4)
$prefissi_S:=$unità_S*$num
: ($num=4)
$prefissi_S:=$unità_S+$cinquina_S
: ($num=5)
$prefissi_S:=$cinquina_S
: ($num<9)
$prefissi_S:=$cinquina_S+($unità_S*($num-5))
: ($num=9)
$prefissi_S:=$unità_S+$decina_S
End case End if $risultatoRomano_S:=$risultatoRomano_S+$prefissi_S
$numeroArabo_I:=Num(Substring(String($numeroArabo_I);2))
$finito_B:=($numeroArabo_I<=0)
Until ($finito_B=
True)
$0:=$risultatoRomano_S
Inviato da: PierPaolo Sichera |
|
Visite: 12650 |
Se accedi con utente e password, puoi aggiungere dei commenti.