Buna, am nevoie de ajutorul vostru la informatica(programare), trebuie sa rezolv problema data in doua limbaje de programare Pascal si C++, va multumesc :))
Să se definească un subprogram care va efectua:
a) adunarea a două fracții;
b) înmulțirea a două fracții;
c) simplificarea unei fracții până la o fracție ireductibilă;
d) compararea a două fracții.
Răspunsuri la întrebare
Răspuns de
8
C++
#include <iostream>
using namespace std;
//subprogram suma fractii
//a,b,c,d termenii fractiilor, e si ef sunt rezultate finale
void suma_fractii(int a,int b,int c,int d,int &e,int &f){
e=a*d+b*c;
f=b*d;
}
void inmultire_fractii(int a,int b,int c,int d,int &e,int &f){
e=a*c;
f=b*d;
}
void fractie_ireductibila(int a,int b,int &e,int &f){
int copie_a=a,copie_b=b;
while(a!=b){
if(a>b){
a=a-b;
}
else{
b=b-a;
}
}
e=copie_a/a;
f=copie_b/b;
}
void comp_fractie(int a,int b,int c,int d){
if(a*d>b*c){
cout<<" mai mare ";
}
else if(a*d==b+c){
cout<<" egala ";
}
else{
cout<<" mai mica ";
}
}
int main(){
int a,b,c,d,e,f,opt;
cout<<"Introduceti denumitor,numitor prima fractie:";
cin>>a>>b;
cout<<"Introduceti denumitor,numitor a doua fractie:";
cin>>c>>d;
if(c==b||d==0){
cout<<"Numitorul unei fractii nu poate fi 0!!";
return 0;
}
cout<<"a)\n";
suma_fractii(a,b,c,d,e,f);
cout<<"Suma fractii:"<<e<<'/'<<f;
cout<<"\nb)\n";
inmultire_fractii(a,b,c,d,e,f);
cout<<"Inmultire fractii:"<<e<<'/'<<f;
cout<<"\nc)\n";
cout<<"Ce fractie vreti sa o faceti ireductibila 1 sau 2:";
cin>>opt;
if(opt==1){
fractie_ireductibila(a,b,e,f);
}
else{
fractie_ireductibila(c,d,e,f);
}
cout<<"Fractie ireductibila:"<<e<<'/'<<f;
cout<<"\nd)\n";
cout<<"Prima fractie este ";
comp_fractie(a,b,c,d);
cout<<"fata de fractia a doua";
return 0;
}
Pascal
program fractii;
procedure suma_fractii(a,b,c,d:integer;var e,f:integer);
begin
e:=a*d+b*c;
f:=b*d;
end;
procedure inmultire_fractii(a,b,c,d:integer;var e,f:integer);
begin
e:=a*c;
f:=b*d;
end;
procedure fractie_ireductibila(a,b:integer;var e,f:integer);
var copie_a,copie_b:integer;
begin
copie_a:=a;
copie_b:=b;
while a<>b do
begin
if a>b then
a:=a-b
else
b:=b-a;
end;
e:=round(copie_a/a);
f:=round(copie_b/b);
end;
procedure comp_fractie(a,b,c,d:integer);
begin
if a*d>b*c then
write(' mai mare ')
else if a*d=b*c then
write(' egala ')
else
write(' mai mica ');
end;
var a,b,c,d,e,f,opt:integer;
begin
writeln('Introduceti denumitor si numitor prima fractie');
read(a);
read(b);
writeln('Introduceti denumitor si numitor a doua fractie');
read(c);
read(d);
writeln('a)');
suma_fractii(a,b,c,d,e,f);
writeln('Suma fractii',e,'/',f);
writeln('b)');
inmultire_fractii(a,b,c,d,e,f);
writeln('Inmultire fractii',e,'/',f);
writeln('c)');
writeln('Ce fractie vreoti sa o faceti ireductibila 1 sau 2:');
read(opt);
if opt=1 then
fractie_ireductibila(a,b,e,f)
else
fractie_ireductibila(c,d,e,f);
writeln('Fractie ireductibila:',e,'/',f);
writeln('d)');
write('Prima fractie este: ');
comp_fractie(a,b,c,d);
write(' fata de fractia a doua.');
end.
#include <iostream>
using namespace std;
//subprogram suma fractii
//a,b,c,d termenii fractiilor, e si ef sunt rezultate finale
void suma_fractii(int a,int b,int c,int d,int &e,int &f){
e=a*d+b*c;
f=b*d;
}
void inmultire_fractii(int a,int b,int c,int d,int &e,int &f){
e=a*c;
f=b*d;
}
void fractie_ireductibila(int a,int b,int &e,int &f){
int copie_a=a,copie_b=b;
while(a!=b){
if(a>b){
a=a-b;
}
else{
b=b-a;
}
}
e=copie_a/a;
f=copie_b/b;
}
void comp_fractie(int a,int b,int c,int d){
if(a*d>b*c){
cout<<" mai mare ";
}
else if(a*d==b+c){
cout<<" egala ";
}
else{
cout<<" mai mica ";
}
}
int main(){
int a,b,c,d,e,f,opt;
cout<<"Introduceti denumitor,numitor prima fractie:";
cin>>a>>b;
cout<<"Introduceti denumitor,numitor a doua fractie:";
cin>>c>>d;
if(c==b||d==0){
cout<<"Numitorul unei fractii nu poate fi 0!!";
return 0;
}
cout<<"a)\n";
suma_fractii(a,b,c,d,e,f);
cout<<"Suma fractii:"<<e<<'/'<<f;
cout<<"\nb)\n";
inmultire_fractii(a,b,c,d,e,f);
cout<<"Inmultire fractii:"<<e<<'/'<<f;
cout<<"\nc)\n";
cout<<"Ce fractie vreti sa o faceti ireductibila 1 sau 2:";
cin>>opt;
if(opt==1){
fractie_ireductibila(a,b,e,f);
}
else{
fractie_ireductibila(c,d,e,f);
}
cout<<"Fractie ireductibila:"<<e<<'/'<<f;
cout<<"\nd)\n";
cout<<"Prima fractie este ";
comp_fractie(a,b,c,d);
cout<<"fata de fractia a doua";
return 0;
}
Pascal
program fractii;
procedure suma_fractii(a,b,c,d:integer;var e,f:integer);
begin
e:=a*d+b*c;
f:=b*d;
end;
procedure inmultire_fractii(a,b,c,d:integer;var e,f:integer);
begin
e:=a*c;
f:=b*d;
end;
procedure fractie_ireductibila(a,b:integer;var e,f:integer);
var copie_a,copie_b:integer;
begin
copie_a:=a;
copie_b:=b;
while a<>b do
begin
if a>b then
a:=a-b
else
b:=b-a;
end;
e:=round(copie_a/a);
f:=round(copie_b/b);
end;
procedure comp_fractie(a,b,c,d:integer);
begin
if a*d>b*c then
write(' mai mare ')
else if a*d=b*c then
write(' egala ')
else
write(' mai mica ');
end;
var a,b,c,d,e,f,opt:integer;
begin
writeln('Introduceti denumitor si numitor prima fractie');
read(a);
read(b);
writeln('Introduceti denumitor si numitor a doua fractie');
read(c);
read(d);
writeln('a)');
suma_fractii(a,b,c,d,e,f);
writeln('Suma fractii',e,'/',f);
writeln('b)');
inmultire_fractii(a,b,c,d,e,f);
writeln('Inmultire fractii',e,'/',f);
writeln('c)');
writeln('Ce fractie vreoti sa o faceti ireductibila 1 sau 2:');
read(opt);
if opt=1 then
fractie_ireductibila(a,b,e,f)
else
fractie_ireductibila(c,d,e,f);
writeln('Fractie ireductibila:',e,'/',f);
writeln('d)');
write('Prima fractie este: ');
comp_fractie(a,b,c,d);
write(' fata de fractia a doua.');
end.
1999Andy:
mersi sefu ;)) mi-ai salvat viata :*
Alte întrebări interesante
Engleza,
8 ani în urmă
Limba română,
8 ani în urmă
Biologie,
8 ani în urmă
Matematică,
9 ani în urmă