C
Se citesc m, n numaratorul si numitorul unei fractii. Sa se simplifice aceasta fractieAnaliza problemei - elaborarea algoritmului: Capcana consta in a efectua simplificarea pas cu pas, cautind pe rind fiecare divizor comun al numaratorului si numitorului. In plus, ar trebui sa avem grija ca, pentru unii divizori comuni, este nevoie de o simplificare repetata. Deci, doua cicluri imbricate ! -pentru a obtine o fractie ireductibila este suficient sa o simplificam o singura data cu cmmdc al numitorului si al numaratorului,eliminindu-se astfel simplificarile succesive -vom folosi subalgoritmul (Euclid) care calculeaza cmmdc al numaratorului si al numitorului. program simplificare; var m,n:word; function cmmdc(m,n:word):word; begin while m<>n do if m>n then m:=m-n else n:=n-m; cmmdc:=m; end; BEGIN write('numaratorul fractiei m= ');readln(m); write('numitorul fractiei n= ');readln(n); if n=0 then writeln('Fractie inexistenta.') else if m=0 then writeln(m,'/',n,'=',0) else writeln(m,'/',n,' = ',m div cmmdc(m,n),'/',n div cmmdc(m,n)); readln; END.
|