romara1
program romani; (* genera tabella da formato arabico a romano *) (* visualizza tabella da formato romano ad arabico *) uses crt; var numero,k,limite,arabico,a:integer; M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I,sigla:string; romano1:array[1..3999] of string[10]; procedure scrivinumero; begin numero:=k;romano1[k]:='';end; procedure calcola(nume:integer;sigla:string); var numex:integer; begin numex:=nume; if numero>=numex then repeat begin romano1[k]:=romano1[k]+sigla; numero:=numero-nume; end; until numero<nume; end; (* procedure stampa; begin write(k,'=',romano1[k],'.. '); end; *) (* possibile visualizzare tabella generata *) 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;*)(* possibile visualizzare tabella generata *) 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; repeat writeln('scrivi limite per trasformazione 10..100..400 <3999:');readln(limite); until limite<3999; limite:=limite+1; (* generazione tabella da arabico a romano *) repeat inizio; k:=k+1; until k=limite; writeln; (* visualizzazione tabella da romano ad arabico *) for a:=1 to limite do begin write(romano1[a],'=',a,'...'); end; readln; clrscr; end.
listato per traduzione da arabico a romano scrivi limite per trasformazione 10..100..400 <3999: 100 I=1...II=2...III=3...IV=4...V=5...VI=6...VII=7...VIII=8...IX=9...X=10...XI=11... XII=12...XIII=13...XIV=14...XV=15...XVI=16...XVII=17...XVIII=18...XIX=19...XX=20 ...XXI=21...XXII=22...XXIII=23...XXIV=24...XXV=25...XXVI=26...XXVII=27...XXVIII= 28...XXIX=29...XXX=30...XXXI=31...XXXII=32...XXXIII=33...XXXIV=34...XXXV=35...XX XVI=36...XXXVII=37...XXXVIII=38...XXXIX=39...XL=40...XLI=41...XLII=42...XLIII=43 ...XLIV=44...XLV=45...XLVI=46...XLVII=47...XLVIII=48...XLIX=49...L=50...LI=51... LII=52...LIII=53...LIV=54...LV=55...LVI=56...LVII=57...LVIII=58...LIX=59...LX=60 ...LXI=61...LXII=62...LXIII=63...LXIV=64...LXV=65...LXVI=66...LXVII=67...LXVIII= 68...LXIX=69...LXX=70...LXXI=71...LXXII=72...LXXIII=73...LXXIV=74...LXXV=75...LX XVI=76...LXXVII=77...LXXVIII=78...LXXIX=79...LXXX=80...LXXXI=81...LXXXII=82...LX XXIII=83...LXXXIV=84...LXXXV=85...LXXXVI=86...LXXXVII=87...LXXXVIII=88...LXXXIX= 89...XC=90...XCI=91...XCII=92...XCIII=93...XCIV=94...XCV=95...XCVI=96...XCVII=97 ...XCVIII=98...XCIX=99...C=100...=101...