10.04.2017

Phân số

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