HSG lớp 9 - Long An 2011 - Bài 1/3
Yêu cầu:
- Nhập vào từ bàn phím hai phân số, nếu mẫu số không hợp lệ yêu cầu nhập lại mẫu số. Xuất ra màn hình hai phân số đã nhập ở dạng tối giản.
- Quy đồng mẫu hai phân số trên với mẫu chung là bội chung nhỏ nhất của hai mẫu số. Xuất hai phân số sau khi quy đồng ra màn hình.
- 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.
Ví dụ:
Nhap phan so thu nhat:
Tu: 3
Mau: 10
Nhap phan so thu hai:
Tu: 5
Mau: 6
Phan so da nhap: 3/10; 5/6
Phan so sau khi quy dong: 9/30; 25/30
Tong hai phan so: 17/15
Lời giải tham khảo
Uses crt;
Var
tu1,tu2,mau1,mau2,a,b,c,d,e,e1,e2,e3,e4,k,h,t1,t2,m1,m2,x,z,y:longint;
BEGIN
clrscr;
writeln('Nhap phan so thu nhat:');
write(' tu: '); readln(tu1);
write(' mau: '); readln(mau1);
writeln('Nhap phan so thu hai:');
write(' tu: '); readln(tu2);
write(' mau: '); readln(mau2);
for a:=1 to tu1+mau1 do
begin
if tu1 mod a=0 then
if mau1 mod a=0 then b:=a;
end;
for c:=1 to tu2+mau2 do
begin
if tu2 mod c=0 then
if mau2 mod c=0 then d:=c;
end;
t1:=tu1 div b;
m1:=mau1 div b;
t2:=tu2 div d;
m2:=mau2 div d;
writeln('Hai phan da nhap la: ',t1,'/',m1,' va ',t2,'/',m2);
for e:=1 to m1*m2 do
begin
if e mod m1=0 then
if e mod m2=0 then break;
end;
k:=e div m1;
h:=e div m2;
e1:=t1*k;
e2:=m1*k;
e3:=t2*h;
e4:=m2*h;
writeln('Hai phan so sau khi quy dong la: ',e1,'/',e2,' va ',e3,'/',e4);
x:=e1+e3;
for y:=1 to x+e4 do
begin
if x mod y=0 then
if e4 mod y=0 then z:=y;
end;
writeln('tong hai phan so la: ',x div z,'/',e4 div z);
readln;
END.
No comments:
Post a Comment
Cảm ơn bạn đã nhận xét