esercizi von turbo pascal v.5-7
su trasformazione di numeri da formato arabico a romano e viceversa
rogram romani;
(* variante di araroma4 *)
(* traduce e visualizza simultaneamente serie consecutiva di *)
(* numeri forniti automaticamente da primo e ultimo da indicare
*)
program romani; (* variante di araroma4 *) (* traduce e visualizza simultaneamente serie consecutiva di *) (* numeri forniti automaticamente da primo e ultimo da indicare *) uses crt; var numero,risposta,k,limite,nx:integer; romano,M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I,sigla:string; procedure scrivinumero; begin numero:=k+nx; 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 write(k+nx,'=',romano,'.. '); 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; 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('scrivi limite per trasformazione 10..100..400..1000..');readln(limite); write('scrivi da quale numero iniziare 0..10..20..');readln(nx); limite:=limite+1; repeat inizio; k:=k+1; until k=limite-nx; readln; clrscr; end.