17.11.2012 Views

n - Index of

n - Index of

n - Index of

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Trasformazione in lettere 51<br />

Per risolvere il problema con un algoritmo relativamente semplice, si può scomporre il valore<br />

di partenza in fasce: unità, decine, centinaia e migliaia (la conversione di valori superiori<br />

genererebbe soltanto una serie lunghissima di «M» che risulta poi troppo difficile da leggere).<br />

INTEGER_TO_ROMAN (N)<br />

LOCAL DIGIT_1 INTEGER<br />

LOCAL DIGIT_2 INTEGER<br />

LOCAL DIGIT_3 INTEGER<br />

LOCAL DIGIT_4 INTEGER<br />

DIGIT_1 := 0<br />

DIGIT_2 := 0<br />

DIGIT_3 := 0<br />

DIGIT_4 := 0<br />

DIGIT_1_TO_ROMAN (DIGIT)<br />

IF DIGIT = 0<br />

THEN<br />

RETURN ""<br />

ELSE IF DIGIT = 1<br />

THEN<br />

RETURN "I"<br />

ELSE IF DIGIT = 2<br />

THEN<br />

RETURN "II"<br />

ELSE IF DIGIT = 3<br />

THEN<br />

RETURN "III"<br />

ELSE IF DIGIT = 4<br />

THEN<br />

RETURN "IV"<br />

ELSE IF DIGIT = 5<br />

THEN<br />

RETURN "V"<br />

ELSE IF DIGIT = 6<br />

THEN<br />

RETURN "VI"<br />

ELSE IF DIGIT = 7<br />

THEN<br />

RETURN "VII"<br />

ELSE IF DIGIT = 8<br />

THEN<br />

RETURN "VIII"<br />

ELSE IF DIGIT = 9<br />

THEN<br />

RETURN "IX"<br />

END IF<br />

END DIGIT_1_TO_ROMAN<br />

DIGIT_2_TO_ROMAN (DIGIT)<br />

IF DIGIT = 0<br />

THEN<br />

RETURN ""<br />

ELSE IF DIGIT = 1<br />

THEN<br />

RETURN "X"<br />

ELSE IF DIGIT = 2<br />

THEN<br />

RETURN "XX"<br />

ELSE IF DIGIT = 3<br />

THEN<br />

RETURN "XXX"<br />

ELSE IF DIGIT = 4<br />

THEN

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!