Thứ Sáu, 17 tháng 6, 2016

Số la mã


Program tinhsolama;
Var r: string;
Procedure nhap;
Begin
Write('Nhap so la ma:');
Readln(r);
End;
Function giatri(kt:char): integer;
Begin Case kt Of 'M','m': giatri := 1000;
'D','d': giatri := 500;
'C','c': giatri := 100;
'L','l': giatri := 50;
'X','x': giatri := 10;
'V','v': giatri := 5;
'I','1': giatri := 1;
Else giatri := 0;
End;
Function lama(ktlama:String,i:integer):integer;
Var x: integer;
  Begin
  x := giatri(r[i]);
  If i=length(r) Then lama := x else if x  Else lama := x+lama(r,i+1);
End;
BEGIN
writeln('Gia tri so la ma ',r,':',lama(r,1));
ReadlnEND.