- function cmmdc(x.y:integer):integer;
Se consideră subprogramul CMMDC care primeşte prin cei doi parametri, x şi y, două
numere naturale (1≤x≤10000, 1≤y≤10000) şi returnează cel mai mare divizor comun al lor.
a) Scrieţi numai antetul subprogramului CMMDC. (4p.)
b ) Fişierul text NUMERE.IN conţine, pe fiecare linie, câte două numere naturale nenule mai
mici sau egale decât 10000, despărţite printr-un spaţiu, reprezentând numitorul şi
numărătorul câte unei fracţii. Scrieţi un program PASCAL care, pentru fiecare linie k din
fişierul NUMERE.IN, citeşte numitorul şi numărătorul fracţiei de pe această linie şi scrie în
fişierul text NUMERE.OUT , tot pe linia k, numitorul şi numărătorul acestei fracţii, adusă la
forma ireductibilă, ca în exemplu. Se vor utiliza apeluri apeluri utile ale subprogramului
CMMDC. (6p.)
Exemplu: dacă fişierul
NUMERE.IN are conţinutul
alăturat:
12 14
11 12
2 2
4 8
atunci fişierul
NUMERE.OUT va avea
următorul conţinut:
6 7
11 12
1 1
1 2
la punctul a) ce inseamna antetul subprogramului?
doar asta?:
la punctul b. ar putea fi ceva de genu'?
- program calcul;
- var fin,fout:text;
- x,y:integer;
- function cmmdc(a,b:integer):integer;
- var r:integer;
- begin
- r:=0;
- repeat
- r:=a mod b;
- a:=b;
- r:=b;
- until r=0;
- cmmdc:=a;
- end;
- begin
- assign(fin,'numere.in');
- reset(fin);
- assign(fout,'numere.out');
- rewrite(fout);
- while (not eof(fin)) do
- begin
- while not eoln(fin) do
- begin
- readln(fin,x,y);
- writeln(fout,cmmdc(x,y));
- end;
- end;
- close(fin);
- close(fout);
- end.



) si in felul acesta va fi mai usor si pentru altii care au intrebari referitoare la tema asta... sau titlul cartii, subiectul nu stiu cat, sau asa... si va fi mai usor pentru toti cei care vor naviga


