• Khung trình chiếu

Bài tập: Chuyển đổi số hệ 10 sang La Mã và ngược lại

Các mã nguồn được viết bằng ngôn ngữ Pascal
Gửi hồi đáp
Ảnh đại diện người dùng
huynhbuutam
Nhà sáng lập
Nhà sáng lập
Các bài viết: 114
Đã gia nhập lúc: T3 31 Th8, 2021 22:04
Địa điểm: Trường THCS Châu Lăng
Tên thật: Huỳnh Bửu Tâm

Bài tập: Chuyển đổi số hệ 10 sang La Mã và ngược lại

Bài viết bởi huynhbuutam »

Viết chương trình nhập vào từ bàn phím một số La Mã có giá trị nhỏ hơn 1000. In ra màn hình số tự nhiên ở hệ thập phân có giá trị tương ứng.
Cho biết:

Mã: Chọn tất cả

Ký tự    | I | V | X  | L  |  C  |  D  |  M   
Giá trị  | 1 | 5 | 10 | 50 | 100 | 500 | 1000 
Chương trình ví dụ:

Mã: Chọn tất cả

MOI BAN NHAP VAO SO LA MA MUON DOI: XLVII
KET QUA: 47
Mã nguồn (10 sang La Mã):

Mã: Chọn tất cả

Program 10_LaMa
Uses Crt;
Var N, i: Integer;
	M1: Array[1..13] Of Integer;
	M2: Array[1..13] Of String;
	Flag: Boolean;
	R: String;
Begin
	ClrScr;
	Flag:= True;
	i:= 1;
	ReadLn(N);
	R:= '';
	M1[1]:= 1000; M1[2]:= 900;
	M1[3]:= 500; M1[4]:= 400;
	M1[5]:= 100; M1[6]:= 90;
	M1[7]:= 50; M1[8]:= 40;
	M1[9]:= 10; M1[10]:= 9;
	M1[11]:= 5; M1[12]:= 4;
	M1[13]:= 1;
	M2[1]:= 'M'; M2[2]:= 'CM';
	M2[3]:= 'D'; M2[4]:= 'CD';
	M2[5]:= 'C'; M2[6]:= 'XC';
	M2[7]:= 'L'; M2[8]:= 'XL';
	M2[9]:= 'X'; M2[10]:= 'IX';
	M2[11]:= 'V'; M2[12]:= 'IV';
	M2[13]:= 'I';
	While Flag Do Begin
		While N >= M1[i] Do Begin
			N:= N-M1[i];
			R:= R+M2[i];
			If N<1 Then Flag:= False;
		End;
		Inc(i);
	End;
	WriteLn(R);
	Readln;
End.
Max nguồn (La Mã sang 10):

Mã: Chọn tất cả

Program LaMa_10
Uses Crt;
Var St: String;
	len, i, S: Integer;
	M: Array[1..100] Of Integer;
Begin
	ClrScr;
	Write('Nhap so la ma: ');
	Readln(St);
	S:= 0;
	len:= Length(St);
	For i:= 1 To len Do
		Case St[i] Of
			'I': M[i]:= 1;
			'V': M[i]:= 5;
			'X': M[i]:= 10;
			'L': M[i]:= 50;
			'C': M[i]:= 100;
			'D': M[i]:= 500;
			'M': M[i]:= 1000;
		End;
	S:= M[len];
	For i:= len DownTo 2 Do
		If (M[i] > M[i-1]) Then S:= S - M[i-1]
		Else If (M[i] <= M[i-1]) Then S:= S + M[i-1];
	Write(S);
	Readln;
End.
Gửi hồi đáp
  • Similar Topics
    Các hồi đáp
    Lượt xem
    Bài viết cuối