• Khung trình chiếu

Bài tập: Quy đồng mẫu số, cộng, rút gọn phân số

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: Quy đồng mẫu số, cộng, rút gọn phân số

Bài viết bởi huynhbuutam »

Viết chương trình nhập vào từ bàn phím 4 số tự nhiên là giá trị lần lượt của hai phân số. Thực hiện các yêu cầu sau:
- Kiểm tra tính hợp lệ của mẫu số;
- Quy đồng mẫu số hai phân số trên với mẫu chung là bội số chung nhỏ nhất của hai mẫu số.
- Tính tổng hai phân số trên.
Xuất ra màn hình phân số tổng ở dạng tối giản.

Chương trình ví dụ

Mã: Chọn tất cả

Moi ban nhap vao phan so thu nhat (tu/mau): 15 6
Moi ban nhap vao phan so thu hai (tu/mau): 62 40
Hai phan so da nhap: 15/6 62/40
Hai phan so sau khi quy dong: 300/120 186/120
Tong hai phan so: 486/120
Phan so duoc toi gian: 81/20

(Đề thi chọn Học sinh giỏi Tin học cấp THCS tỉnh An Giang năm 2018 - Câu 3)
(Đề thi chọn Học sinh giỏi Tin học cấp THPT tỉnh An Giang năm 2013 - Câu 1)

Mã nguồn:

Mã: Chọn tất cả

Uses Crt;
Var Tu, Mau, Tu1, Mau1, Tu2, Mau2, UCLN : LongInt;
	i, BCNN : LongInt;
Begin
	ClrScr;
	Repeat
		Write('Moi ban nhap vao phan so thu nhat (tu/mau): ');
		ReadLn(Tu1, Mau1);
	Until (Tu1 >= 0) And (Mau1 > 0);
	Repeat
		Write('Moi ban nhap vao phan so thu hai (tu/mau): ');
		ReadLn(Tu2, Mau2);
	Until (Tu2 >= 0) And (Mau2 > 0);
	WriteLn('Hai phan so da nhap: ', Tu1, '/', Mau1, ' ', Tu2, '/', Mau2);
	For i := Mau1 To Mau1*Mau2 Do
		If (i Mod Mau1 = 0) And (i Mod Mau2 = 0) Then Begin
			BCNN := i;
			Break;
		End;
	Tu1 := Tu1 * (BCNN Div Mau1);
	Mau1 := BCNN;
	Tu2 := Tu2 * (BCNN Div Mau2);
	Mau2 := BCNN;
	WriteLn('Hai phan so sau khi quy dong: ', Tu1, '/', Mau1, ' ', Tu2, '/', Mau2);
	Tu := Tu1 + Tu2;
	Mau := Mau1;
	WriteLn('Tong hai phan so: ', Tu, '/', Mau);
	For i := Tu DownTo 1 Do
		If (Tu Mod i = 0) And (Mau Mod i = 0) Then Begin
			UCLN := i;
			Break;
		End;
	Tu := Tu Div UCLN;
	Mau := Mau Div UCLN;
	Write('Phan so duoc toi gian: ', Tu, '/', Mau);
	ReadLn;
End.
Gửi hồi đáp
  • Similar Topics
    Các hồi đáp
    Lượt xem
    Bài viết cuối