- 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.