araroma3
program romani; (* trasforma da formato arabico in romano serie numeri forniti *) (* da 1 a valore massimo da indicare *) (* variante di araroma1 pi veloce.. *) uses crt; var numero,risposta,k,nume,numex,h:integer; romano,M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I,sigla:string; procedure scrivinumero; begin clrscr; numero:=k; romano:=''; end; procedure calcola(nume:integer;sigla:string); var numex:integer; begin numex:=nume; if numero>=numex then repeat begin romano:=romano+sigla; numero:=numero-nume; end; until numero<nume; end; procedure stampa; begin writeln(k,'=',romano); writeln('premi invio per proseguire'); end; procedure inizio; begin scrivinumero; calcola(1000,M); calcola(900,CM); calcola(500,D); calcola(400,CD); calcola(100,C); calcola(90,XC); calcola(50,L); calcola(40,XL); calcola(10,X); calcola(9,IX); calcola(5,V); calcola(4,IV); calcola(1,I); stampa; readln; end; begin M:='M'; CM:='CM'; D:='D'; CD:='CD'; C:='C'; XC:='XC'; L:='L'; XL:='XL'; X:='X'; IX:='IX'; V:='V'; IV:='IV'; I:='I'; clrscr; write('indica limite per traduzione 10..100..1000..3999..');readln(h); repeat inizio; k:=k+1; until k=h; end.
listato per traduzione da arabico a romano indica limite per traduzione 10..100..1000..3999.. 1=I premi invio per proseguire 2=II premi invio per proseguire 3=III premi invio per proseguire