lbi.rolbi.ro/~laura/info/axa/subprograme.docx · web viewse citeste un numar n (1

21
1.Se citeste un numar n (1<=n<=50).Sa se verifice daca are cifre distincte. Se va folosi o functie care primeste ca parametru un numar si o cifra si returneaza de cate ori apare cifra in numar. 1. Se citeste un sir de numere intregi pana la intalnirea lui 0 ( 0 nu face parte din sir).Sa se afiseze numerele prime din sir. Se va folosi o functie care primeste ca parametru un numar si verifica daca este prim. 2. Se citeste un sir de numere intregi pana la intalnirea lui 0 ( 0 nu face parte din sir).Sa se afiseze toate numerele care au toate cifrele pare. Se va folosi o functie care primeste ca parametru un numar si verifica daca are toate cifrele pare. 3. Se citeste un numar intreg n de maxim 4 cifre.Sa se afiseze suma puterilor din descompunerea lui n in factori primi.Se va folosi o functie care primeste ca parametri 2 numare a si b si returneaza puterea lui b din descompunerea lui a in factori primi. 4. Se citeste un numar intreg n de maxim 4 cifre.Sa se verifice daca n este perfect ( suma divizorilor lui n este egala cun, dar nu se aduna la suma divizorilor numarul n). Se va folosi o functie care primeste ca parametru un numar n si returneaza suma divizorilor sai. 5. Se citeste un numar n (1<=n<=50) si apoi un sir de n numere intregi.Sa se scrie un program care afiseaza cel mai mare numar din sir.Se va folosi o functie care primeste ca parametru un vector si numarul sau de elemente n si returneaza minimul sau. 6. Se citeste un numar n (1<=n<=50) si apoi un sir de n numere intregi.Sa se scrie un program care afiseaza cel mai mare numar din sir si de cate ori apare el in sir. Se va folosi 2 functii 1) care primeste ca parametri un vector si numarul sau de elemente n si returneaza maximul vectorului. 2) care primeste ca parametri un vector, numarul sau de elemente n, un numar x si returneaza de cate ori apare x in vector. 7. Se citeste un numar n (1<=n<=50) si apoi un sir de n numere intregi.Sa se scrie un program care afiseaza media aritmetica a numerelor pozitive din sir. Se va folosi o functie care primeste ca parametru un numar n si verifica daca n este pozitiv. 8. Se citeste un numar n (1<=n<=50), apoi un vector de n elemente. Sa se afiseze elementele distincte din vector. Se va folosi o functie ce primeste ca parametric un vector , numarul de elemente din vector, un numar x si returneaza de cate ori apare x in vector. 9. Se citeste un numar n (1<=n<=50) si apoi un sir de n numere intregi.Sa se scrie un program care afiseaza cate numere palindrom sunt in sir.Se va folosi o functie care verifica daca un numar primit ca parametru este palindrom. 10. Se citeste un numar n (1<=n<=50) si apoi un sir de n numere intregi.Sa se scrie un program care afiseaza “cifra de control “ a fiecarui numar din sir (“cifra de control a unui numar “ este obtinuta astfel: se face suma cifrelor, apoi suma cifrelor sumei obtinute s.a.m.d pana cand se obtine un numar<10). Se va folosi o functie care returneaza suma cifrelor unui numar primit ca parametru. 1

Upload: others

Post on 03-Mar-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

1.Se citeste un numar n (1<=n<=50).Sa se verifice daca are cifre distincte. Se va folosi o functie care primeste ca parametru un numar si o cifra si returneaza de cate ori apare cifra in numar.1. Se citeste un sir de numere intregi pana la intalnirea lui 0 ( 0 nu face parte din sir).Sa se afiseze numerele

prime din sir. Se va folosi o functie care primeste ca parametru un numar si verifica daca este prim.2. Se citeste un sir de numere intregi pana la intalnirea lui 0 ( 0 nu face parte din sir).Sa se afiseze toate

numerele care au toate cifrele pare. Se va folosi o functie care primeste ca parametru un numar si verifica daca are toate cifrele pare.

3. Se citeste un numar intreg n de maxim 4 cifre.Sa se afiseze suma puterilor din descompunerea lui n in factori primi.Se va folosi o functie care primeste ca parametri 2 numare a si b si returneaza puterea lui b din descompunerea lui a in factori primi.

4. Se citeste un numar intreg n de maxim 4 cifre.Sa se verifice daca n este perfect ( suma divizorilor lui n este egala cun, dar nu se aduna la suma divizorilor numarul n). Se va folosi o functie care primeste ca parametru un numar n si returneaza suma divizorilor sai.

5. Se citeste un numar n (1<=n<=50) si apoi un sir de n numere intregi.Sa se scrie un program care afiseaza cel mai mare numar din sir.Se va folosi o functie care primeste ca parametru un vector si numarul sau de elemente n si returneaza minimul sau.

6. Se citeste un numar n (1<=n<=50) si apoi un sir de n numere intregi.Sa se scrie un program care afiseaza cel mai mare numar din sir si de cate ori apare el in sir. Se va folosi 2 functii1) care primeste ca parametri un vector si numarul sau de elemente n si returneaza maximul vectorului.2) care primeste ca parametri un vector, numarul sau de elemente n, un numar x si returneaza de cate ori

apare x in vector.7. Se citeste un numar n (1<=n<=50) si apoi un sir de n numere intregi.Sa se scrie un program care afiseaza

media aritmetica a numerelor pozitive din sir. Se va folosi o functie care primeste ca parametru un numar n si verifica daca n este pozitiv.

8. Se citeste un numar n (1<=n<=50), apoi un vector de n elemente. Sa se afiseze elementele distincte din vector. Se va folosi o functie ce primeste ca parametric un vector , numarul de elemente din vector, un numar x si returneaza de cate ori apare x in vector.

9. Se citeste un numar n (1<=n<=50) si apoi un sir de n numere intregi.Sa se scrie un program care afiseaza cate numere palindrom sunt in sir.Se va folosi o functie care verifica daca un numar primit ca parametru este palindrom.

10. Se citeste un numar n (1<=n<=50) si apoi un sir de n numere intregi.Sa se scrie un program care afiseaza “cifra de control “ a fiecarui numar din sir (“cifra de control a unui numar “ este obtinuta astfel: se face suma cifrelor, apoi suma cifrelor sumei obtinute s.a.m.d pana cand se obtine un numar<10). Se va folosi o functie care returneaza suma cifrelor unui numar primit ca parametru.

11. Se citeste un numar n (1<=n<=50) si apoi un sir de n numere intregi.Sa se scrie un program care afiseaza, pentru fiecare numar, cel mai mic divizor prim al lui. Se va folosi o funtie care primeste ca parametru un numar si afiseaza cel mai mic divizor prim.

12. Se citesc 2 numere intregi a si b.Sa se afiseze cifrele lor comune. Se va folosi o functie care primeste ca parametri un numar si o cifra si returneaza de cate ori apare cifra in numar.

13. Se citesc 2 numere intregi m si n de maxim 4 cifre.Sa se verifice daca sunt prime intre ele. Se va folosi o funtie care rpimeste ca parametric 2 numere si returneaza cmmdc-ul lor.

14. Ce este greşit în definiţia următoarei funcţii:void func2 (int x){int y,z; if(x>0) y=2*x; else y=3*x;

if(x%2==0) z=7; else z=4; cout<<y<<’ ‘<<z;}

a) tipul void b) instrucţiunea cout<<… c) declararea variabilelor y şi z d) nimic

15. Care e rezultatul apelului func(3,5) pentru funcţia:void func(int x, int y){if (x>y) return x;

1

Page 2: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

else return y-x;}a) 2 b) 0 c) 3 d) eroare la compilare

16. Care este rezultatul funcţiei:int f (int a, int b){int c; for (c=1; c<=a; c++) if(c==b) break; return c; }

a) a-b b) min {a,b} c) a d ) b

17. Care este efectul apelului func(6, 65) pentru funcţia:void func (int n, char c){int x; for (x=1; x<=n; x++) cout<<c; }

a) scrie 666665 b) scrie AAAAAA c) scrie 656565656565 d) dă eroare

18. Fie funcţia: float func (int x) {if (x!=0) return 1.0/x; else return 0;}. Ce afişează instrucţiunea cout<<f(1)<<’ ‘<<f(2)<<’ ‘<<f(0)<<’ ‘<<f(3);

a) 1000 b) 10.500.33333 c) 1203 d) eroare

19. O funcţie poate modifica o variabilă globală?a) da b) nu c) numai dacă este redefinită în funcţie d) numai funcţia main

20. Fie variabila globală int x=3 şi funcţia:int f (int t){int z; z=t*x+1; x++; return z+t;}. Ce afişează cout<<f(5)<<f(5);

a) aceeaşi valoare de două ori c) dă eroare la compilareb) 2121 d) 2126

21. Fie variabila globală int x=5 şi funcţiile:void f1() {cout<<x+1;} int f2() {return x+2;} void f3(int x) {cout<<x+3;} int f4(int x) {return x+4;}

Ce afişează instrucţiunile: f1(); cout<<f2(); f3(2); cout<<f4(2);a) 6789 b) 6666 c) 6756 d) eroare

22. Ce va conţine ultimul rând al funcţiei factorial, definită astfel:long factorial(int x){ long p=1; int i; for(i=1; i<=x; i++) p=p*i; …………………..}

a) cout<<p; b) return p; c) return i; d) cout<<x;

23. Care din apelurile unei funcţii cu antetul void func(int x, long y) este corecta) func(6,7,0) b) func(6) c) func(6.3,100) d) func(3000000, 4000000)

24. Precizaţi ce va tipări programul următor:#include<iostream.h>int f(int a) a) 2 4 2;

2

Page 3: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

{ a++; return a*a;}int main(){ int a=2; cout<<a;cout<<’ ‘; cout<<f(a); cout<<’ ‘; cout<<a; return 0;}

b) 2 9 2;c) 2 4 4;d) eroare

25. Precizaţi ce va tipări programul următor:#include<iostream.h>int a=3;in ff(int a, int &b) {int i;for(i=1;i<=a;i++) b+=2;return a*b; }void main(){ cout<<a<<’ ‘<<f(a,a)<<’ ‘<<a;}

a) 3 81 27b) 3 9 6c) 3 27 9d) eroare

26. Precizaţi care dintre următoarele linii de program reprezintă corect, din punct de vedere sintactic, lista de parametrii şi valoarea returnată de o funcţie cu numele test, dacă cerem ca parametrii formali să fie doua variabile de tip întreg, x, y şi o variabilă de tip real z şi să returneze un rezultat întreg.

a) int test (int x, y, float z)b) int test (int x, y; float z)

c) void test(int x, int y, float z)d) int test (int x, int y, float z)

27. Fie funcţia: void sch (char a, char &b) { char aux; aux=a; a=b; b=aux;} Daca s1 si s2 sunt doua variabile de tip caracter ce memoreaza valorile ‘1’ respectiv ‘2’, ce valori se vor afisa

dupa executarea secventei de instructiuni: sch(s1, s2); cout<<s1<<” “<<s2;a) 1 2 b) 2 1 c) 2 2 d) 1 1

28. Funcţia intersch realizează interschimbarea valorilor a două variabile întregi transmise prin intermediul parametrilor x şi y. Antetul subprogramului este:a) int intersch(int x, int y) c) void intersch(int x, int &y)b) void intersch(int x,y) d) int intersch(int &x, int &y)

29. Precizaţi valorile afişate în urma executării programului următor: #include <iostream.h>

int s,f; int sf ( int a) { f - = a; return (a*a); } void main () { f=10; s=sf(f); cout<<s<<f; f=10; s=sf(10); s*=sf(f); cout<<s<<f; f=10; s=sf(f); s*=sf(10); cout<<s<<f; }

a) 0 0 0 0 0 0 c) 100 0 100 10 100 100b) 100 10 100 10 100 10 d) 100 0 0 0 10000 0

30. Precizaţi valorile afişate în urma executării programului următor: #include <iostream.h>

int a=5 ;int fc ( int x, int y) { return a+x+y; }

3

Page 4: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

int main () {int x ; x=a ; a= fc(a,a,a) ; x=f(a,x,x); cout<<a<<’ ‘<<x; return 0;}

a) 5 0 b) 15 25 c) 5 15 d) 15 15

31. Precizaţi valorile afişate în urma executării programului următor:

e) #include<iostream.h> void f(int x, int &y) { y=y+x; x=x+y;} void main () { int x=2; f(x,x); cout<<x;}

a) 4 b) 6 c) 8 d) 2

32. Care este definiţia corectă a funcţiei modul:a) void modul (float x) {if (x<0) return –x; else return x;}b) float modul(float x) {if (x<0) return –x;}c) float modul (float x) {if(x>=0) return x; else return –x;}d) int modul(float x) {if(x<0) return –x; else return x;}

33. Care este rezultatul corect, dacă a este o variabilă întreagă cu valoarea10, iar f este dat de:float f (float x){ return x>=0 ? x : -x;} pentru expresia: a * 2 + f(a) % 3:

a) 23 b) 14 c) 24 d) eroare

1) Spuneti, cu justificare ce returneaza urmatorul program:int x,y;void p(int a,int& b){ a=10; b=20; a+=x; b+=y; cout<<a<<b; }

main() { x=1;y=2; p(x,y); cout<<x << y; }

2) Se da functia:void functie (int x[10], int n)

{for(int h=2;h<=n;h++)

if(x[h]= = x[h-1]) return 1;

return 0;}

Aceasta functie intoarce 1 daca:a) oricare doua elemente sunt egale;b) oricare doua elemente aflate pe pozitii alaturate

sunt disticte;c) exista doua elemente de pe pozitii alaturate

egale;d) exista doua elemente disticte;e) exista doua elemente egale;f) nici un raspuns nu e corect;

4

Page 5: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

3) Se da urmatorul program:int x, y;void g(int a, int& b){a+=5;b+=a;}void main(){x=1;y=2;g(x,y); cout<<x<y;g(x,x); cout<<x<y;}

Precizati cu justificarea raspunsului care dintre urmatoarele liste de valor sunt afisate in urma executiei programului:

a) 6878;b) 1878;c) 681117;d) 1867;e) nici unul dintre aceste liste;

4) Spuneti, cu justificare ce returneaza urmatorul program::int a,b;

int f(int& m, int& n){ m=n+b;n+=1;return n+b+m;}

main(){ b=5;a=6;cout<<a<<b;cout<<f(a,b);cout<<a<<b;}

5) Spuneti, cu justificare ce returneaza urmatorul program::int a,b;int f(int m, int n){ m=n+b;n+=1;return n+b+m;}

main(){ b=5;a=6;cout<<a<<b;cout<<f(a,b);cout<<a<<b;}

6) Spuneti, cu justificare ce returneaza urmatorul program::int a,b;int f(int m, int &n){ m=n+b;n+=1;return n+b+m;}

main(){ b=5;a=6;cout<<a<<b;cout<<f(a,b);cout<<a<<b;}

7) Spuneti, cu justificare ce returneaza urmatorul program:int a,b;int f(int &m, int n){ m=n+b;n+=1;return n+b+m;}

main(){ b=5;a=6;cout<<a<<b;cout<<f(a,b);cout<<a<<b;}

8) Spuneti, cu justificare ce returneaza urmatorul program:int f(int &x){ return ++x;}

int g(int x, int y){return x+y;}

main(){int y=2; cout<<f(y)<<g(y,y)<<g(y,f(y))<<y;}

9)Se considera urmatorul algoritm citeste npentru k=1,n executa citeste Akk2

pentru i=1,k executapentru j=i+1,k executa

daca Ai<Aj atunci

5

Page 6: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

xAiAi=AjAj=x

pentru i=1,k executascrie Ai

a)Care sunt valorile afisate daca se furnizeza ca date de intrare valorile: 6 12 4 8 7 1 9b) Scrieti un program in C++, dar care sa foloseasca o singura structura iterativa.

10) Spuneti, cu justificare ce returneaza urmatorul program:int i,j,k;void b(int x, int &y){ y=x+2; x--; }

void c(int t, int &h){ int u,r;

u=t-j; b(u,h); b(h+i,r); h+=r; }

main(){ i=2,j=2,k=-3; c(i,j); cout<<i<<j<<k<<”\t”; c(j,k); cout<<i<<j<<k<<”\t”; c(k,k); cout<<i<<j<<k<<”\t”;}

11) Se considera algoritmul:Citeste nc0cat timp n>9 executa

cc+n%10nn div 10daca n<10

nn+cc0

scrie n

a) Ce se afiseza daca n=533;b) Stabiliti daca exista doua valori distincte ale lui n

care, citite la intrare la doua rulari diferite ale programului, pentru care sa se furnizeze acelasi rezultat, iar in caz afirmativ scrieti doua astfel de valori;

12) Se considera urmatorul algoritmciteste npentru k=1,n executa citeste Akk1pentru i=2,n executa

daca Ai<Ak atuncik=i

Scrie Ak

a) Ce se afiseza daca se furnizeza ca date de intrare valorile: 6 12 4 8 7 1 9

b) Formulati o problema ce poate fi rezolvata de acest algoritm

c) Scrieti o varianta echivalenta a acestui algoritm.

13) Spuneti, cu justificare ce afiseza urmatorul program: int i;void y (int &h, int i){ int j=3*i;

h=j+2;i+=1;cout<<h;}

main(){ int k=1;

i=4;y(k,i);cout<<i<<k; }

14) Spuneti, cu justificare ce afiseza urmatorul program:

6

Page 7: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

int i;void y (int &h, int& i){ int j=3*i;

h=j+2;i+=1;cout<<h;

}

main(){ int k=1;

i=4;y(k,i);cout<<i<<k;

15) Spuneti, cu justificare ce afiseza urmatorul program:

int i;void y (int h, int& i){ int j=3*i;

h=j+2; i+=1;cout<<h;}

main(){ int k=1;i=4;

y(k,i);cout<<i<<k; }/

16) Spuneti, cu justificare ce afiseza urmatorul program:

int i;void y (int h, int& i){ int j=3*i;

h=j+2;i+=1;cout<<h<<”\n”;}

main(){

i=4;y(i,i);cout<<i;}

17) Spuneti, cu justificare ce afiseza urmatorul program:

int i;void y (int &h, int& i){ int j=3*i;

h=j+2;i+=1;cout<<h<<”\n”;}

main(){

i=4;y(i,i);cout<<i;}

18) Se considera urmatoarea functie:int p(int n){ int d=2;

int a=(int)sqrt(n);int f=1;while(d<=a && f){ f =f && n%d;

d++; }return f;}

Sa se precizeze ce prelucrare se realizeaza:a) determinarea factorilor primi al lui n;b) determinarea numerelor prime pana la radacina

patrata din n;c) vrificarea numarui n daca e prim;d) verificarea impartirii exacte a lui n la d;

21) a) Ce realizeaza urmatoarea functie? b) Puteti scrie o varianta echivalenta a functiei?Secret (int s[100], int n){int c,k,j; for(k=0,j=n-1; k<j ; k++, j--){ c=s[k]; s[k]=s[j]; s[j]=c; }}

22) Ce realizeaza urmatoarea functie?Secret (int s[100], int c, int & x){int k,j; for(k=j=0 ; k<x; k++)

if(s[k]!=c) s[j++]=s[k];

x=j-1;}

7

Page 8: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

23) Ce se afiseaza dupa executia urmatoarei secvente de program? ( se stie ca n=2, m=6 si tabloul este1 5 -2 3 -6 75 2 -4 9 -4 5

found=0;for(k=0;k<n &&!found; k++)

for(j=0;k<m &&!found; j++)found=v[i][j]<0?i:0;

cout<<found;

8

Page 9: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

24) Ce se afiseza daca se furnizeaza ca data de intrare valoarea 17? Dar 27?

main(){ int n,i=1; cin>>n;

while(++i<n)if(n%i==0) break;

cout<<i==n?1:0;}

36) Codul care tipareste122333444455555estea) for(a = 1; a <=5; a++){ for(b = 1; b <= 5; b = b +1)

printf(“%d”,a);printf(“\n”);}b) for(a = 1; a <=5; a++)

{ for(b = 1; b <= a; b = b +1)printf(“%d”,a);printf(“\n”);}

c) for(a = 1; a <=5; a = a + 1){ for(b = 1; b <= 5; b = b +1)

printf(“%d”,b);printf(“\n”);}d) for(a = 1; a <=5; a++){for(b = 1; b <= a; b++)

printf(“%d\n”,a);}e) for(a = 1; a <>5; a++){for(b = 1; b <= 5; b = b +1)

printf(“%d”,a);printf(“\n”);}

.

45) Ce se afiseaza?int f (int *x){ return ++(*x); }

main(){ int n=5, v=7, *p; p=&v;cout<<f(p)<<f(&n); }

46) Ce se afiseaza?int g (int *x){ return ++(*x); }

main(){ int n=5, v=7, *p; p=&v;cout<<g(p)<<g(&n); }

47) Fie int m,* x,* y. Care atribuiri sunt corecte ?a) x=m;b) *x= *m;c) *y= *x;d) y=&m;e) y=x;

48) Fie int a=2,b; int *x, *y; Ce se afiseza ?x=&a; a=5;cout<<*x;b=a-2; y=&b; b+=*y+4;cout<<b;*y = *x;cout<<*y;x=y; cout<<*x <<*y<<a<<b;

49) Care dintre declaratiile si initializarile urmatoare sunt corecte? a) int &r;b) int *n;c) float *p=25;d) int k; int & r=k; r=25;e) float &y=k, k;

50) Fie declaratia int x[10]; Operatia x++ determina:a) modificarea valorii adresei de inceput a vectoruluib) modificarea valorii primului element al vectorului;c) eroare pentru ca operatorul de incrementare nu poate fi aplicat unei variabile de tip pointer;d) eroare din alte cauze;

51) Ce se afiseza in urma executarii urmatoarei secvente?

9

Page 10: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

float a[ ]={ 5., 3., 2., 1. };float p,q;p=&a[0]q=a;cout<<*a<<*(p+1);p++; q=p+1;cout<<*q<<*p;1

2

3

4

5

6

10

Page 11: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

7

8

9

10

11

Page 12: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

11

12

13

14

15

1. Identificati functia ce primeste ca parametru un numar natural n(cu cel mult 8 cifre) si returneaza numarul de cifre ale acestuia

//aint functie (long n)

//cvoid functie (long n, int &c)

12

Page 13: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

{ int c=0, i; for(i=1;i<=n;i++) { c++; n=n/10; }return c;}

{ c=0; while(n!=0) { c++; n=n/10; }return c;}

//bint functie (long n){ int c=0; while(n!=0) { c++; n=n/10; }return c;}

//dint functie (long n){ int c=1; while(n>=0) { c++; n=n/10; }return c;}

2. Spuneti ce afiseza urmatorul program:

#include<iostream.h>int a,b;int f(int &m, int n){ m=n+b;n+=1;return n+b+m;}

main(){ b=5;a=6;cout<<a<<b;cout<<f(a,b);cout<<a<<b;}

3. Subprogramul f realizează interschimbarea valorilor a două variabile întregi transmise prinintermediul parametrilor x şi y. Care este antetul corect al subprogramului f?

a. void f(int &x, int &y) b. int f(int x,int y)c. void f(int x, int &y) d. void f(int &x, int y)

4. Care dintre următoarele variante reprezintă antetul corect al unui subprogram care primeşte prin parametrii x şi y două numere întregi şi returnează, prin parametrul m, cea mai micădintre cele două valori x şi y?

a. int minim(int x,int y,int m) b. void minim(int x,int y,int &m)c. int minim(int x,int y) d. void minim(int x,int y,int m)

5. Scrieţi doar antetul subprogramului sum care primeşte prin intermediul parametrului n un număr natural nenul (n≤100), iar prin intermediul parametrului x un tablou unidimensional cu n componente întregi, de maximum patru cifre fiecare. Subprogramul returneazã suma elementelor tabloului x.

6. Subprogramul Cifra, cu doi parametri, n şi x, primeşte prin intermediul parametrului n un număr natural de cel mult nouă cifre şi furnizează prin parametrul x cea mai mare cifră a numărului transmis prin parametrul n.

13

Page 14: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

a) Scrieţi definiţia completă a subprogramului Cifra. b)Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n, n<1000000000, şi afişează pe ecran mesajul Da în cazul în care numărul citit este format doar din cifre aparţinând mulţimii {0,1,2,3,4} şi afişează mesajul Nu în caz contrar.

7. Ce se va afisa in urma executarii urmatoarelor instructiuni:char a[ ]="MAre"; cout<<a+1<<a+2<<a+3;

8. Ce se va afisa in urma executarii urmatoarelor instructiuni:char a[ ]="Elevul merge; la scoala"; cout<<a+13;

14

Page 15: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

1. (15 puncte) Identificati functia ce primeste ca parametru un numar natural n (cu cel mult opt cifre) si furnizeazã prin intermediul parametrului c, numarul de cifre ale numãrului n

//1int functie (long n, int &c){ int i; for(i=1;i<=n;i++) { c++; n=n/10; }return c;}

//2void functie (long n, int &c){ c=0; while(n!=0) { c++; n=n/10; }}

//3int functie (long n){ int c=0; while(n!=0) { c++; n=n/10; }return c;}

//4int functie (long n, int c){ c=0; while(n>0) { c++; n=n/10; }return c;}

2. (15 puncte) Spuneti ce afiseza urmatorul program:#include<iostream.h>int a,b;int f(int m, int& n){ m=n+b;n+=1;return n+b+m;}

main(){ b=5;a=6;cout<<a<<b;cout<<f(a,b);cout<<a<<b;}

3. (10 puncte) Se consideră subprogramul P, definit alăturat. Ştiind că valoarea variabilei întregi a este înainte de apel 4, care este valoarea ei după apelul P(a)?void P(int &x){ x=x+5; }

a. 10 b. 4 c. 9 d. 5

4. (15 puncte) Care dintre următoarele variante reprezintă antetul corect al unui subprogram care primeşte prin parametrii x şi y două numere întregi şi returnează cea mai mare dintre cele două valori x şi y?

a. int maxim(int x,int y, int &m) b. void maxim(int x,int y,int &m)c. int maxim(int x,int y) d. void maxim(int x,int y)

5. (15 puncte) Scrieţi doar antetul subprogramului funct care primeşte prin intermediul parametrului n un număr natural nenul (n≤100), iar prin intermediul parametrului x un tablou unidimensional cu n

15

Page 16: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

componente întregi, de maximum patru cifre fiecare. Subprogramul returneazã prin intermediul parametrului z, câte din elementelor tabloului x sunt pozitive.

6. (20 puncte) Se consideră subprogramul divizor, care:– primeşte prin intermediul parametrului a un număr natural nenul de cel mult 4 cifre, strictmai mare ca 1;– returneazã cel mai mic divizor al lui a strict mai mare decât 1.a) Scrieţi subprogramul divizor.

b) Folosind subprogramul de la punctul a)scrieti programul principal ce rezolva urmatoarea cerintaScrieţi declarările de date şi programul principal C/C++ care citeşte de la tastatură un număr natural x (x>1), şi, prin apeluri utile ale subprogramului divizor, verifică dacă x este număr prim. Programul va afişa pe ecran, în caz afirmativ, mesajul DA, iar în caz contrar mesajul NU.

7. Ce se va afisa in urma executarii urmatoarelor instructiuni daca de la tastatura se introduce sirul de caractere: Buna dimineata ?char a[30];char *b; cin.get(a,20);b=a+3; cout<<b-a;

8.Ce se va afisa in urma executarii urmatoarelor instructiuni:char a[20]="Ana",b[20]="Ioana"; char *p;p=b;cout<<a+1<<p+2;

1. Identificati functia ce primeste ca parametru un numar natural n(cu cel mult 8 cifre) si returneaza numarul de cifre ale acestuia

//aint functie (long n){ int c=0, i; for(i=1;i<=n;i++) { c++; n=n/10; }return c;}

//cvoid functie (long n, int &c){ c=0; while(n!=0) { c++; n=n/10; }return c;}

//bint functie (long n){ int c=0; while(n!=0) { c++; n=n/10; }return c;}

//dint functie (long n){ int c=1; while(n>=0) { c++; n=n/10; }return c;}

2. Spuneti ce afiseza urmatorul program:#include<iostream.h>int a,b;int f(int &m, int n){ m=n+b;n+=1;

return n+b+m;}main(){ b=5;a=6;cout<<a<<b;cout<<f(a,b);

16

Page 17: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

cout<<a<<b; }3. Subprogramul f realizează interschimbarea valorilor a două variabile întregi transmise

prinintermediul parametrilor x şi y. Care este antetul corect al subprogramului f? a. void f(int &x, int &y) b. int f(int x,int y)c. void f(int x, int &y) d. void f(int &x, int y)

5. Care dintre următoarele variante reprezintă antetul corect al unui subprogram care primeşte prin parametrii x şi y două numere întregi şi returnează, prin parametrul m, cea mai micădintre cele două valori x şi y?

a. int minim(int x,int y,int m) b. void minim(int x,int y,int &m)c. int minim(int x,int y) d. void minim(int x,int y,int m)

5. Scrieţi doar antetul subprogramului sum care primeşte prin intermediul parametrului n un număr natural nenul (n≤100), iar prin intermediul parametrului x un tablou unidimensional cu n componente întregi, de maximum patru cifre fiecare. Subprogramul returneazã suma elementelor tabloului x.

6. Subprogramul Cifra, cu doi parametri, n şi x, primeşte prin intermediul parametrului n un număr natural de cel mult nouă cifre şi furnizează prin parametrul x cea mai mare cifră a numărului transmis prin parametrul n.a) Scrieţi definiţia completă a subprogramului Cifra. b)Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n, n<1000000000, şi afişează pe ecran mesajul Da în cazul în care numărul citit este format doar din cifre aparţinând mulţimii {0,1,2,3,4} şi afişează mesajul Nu în caz contrar.

17

Page 18: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

1. (15 puncte) Identificati functia ce primeste ca parametru un numar natural n (cu cel mult opt cifre) si furnizeazã prin intermediul parametrului c, numarul de cifre ale numãrului n

//1int functie (long n, int &c){ int i; for(i=1;i<=n;i++) { c++; n=n/10; }return c;}

//2void functie (long n, int &c){ c=0; while(n!=0) { c++; n=n/10; }}

//3int functie (long n){ int c=0; while(n!=0) { c++; n=n/10; }return c;}

//4int functie (long n, int c){ c=0; while(n>0) { c++; n=n/10; }return c;}

2. (15 puncte) Spuneti ce afiseza urmatorul program:#include<iostream.h>int a,b;int f(int m, int& n){ m=n+b;n+=1;return n+b+m;}

main(){ b=5;a=6;cout<<a<<b;cout<<f(a,b);cout<<a<<b;}

3. (10 puncte) Se consideră subprogramul P, definit alăturat. Ştiind că valoarea variabilei întregi a este înainte de apel 4, care este valoarea ei după apelul P(a)?void P(int &x){ x=x+5; }

a. 10 b. 4 c. 9 d. 5

4. (15 puncte) Care dintre următoarele variante reprezintă antetul corect al unui subprogram care primeşte prin parametrii x şi y două numere întregi şi returnează cea mai mare dintre cele două valori x şi y?

a. int maxim(int x,int y, int &m) b. void maxim(int x,int y,int &m)c. int maxim(int x,int y) d. void maxim(int x,int y)

5. (15 puncte) Scrieţi doar antetul subprogramului funct care primeşte prin intermediul parametrului n un număr natural nenul (n≤100), iar prin intermediul parametrului x un tablou unidimensional cu n componente întregi, de maximum patru cifre fiecare. Subprogramul returneazã prin intermediul parametrului z, câte din elementelor tabloului x sunt pozitive.6. (20 puncte) Se consideră subprogramul divizor, care:– primeşte prin intermediul parametrului a un număr natural nenul de cel mult 4 cifre, strictmai mare ca 1;– returneazã cel mai mic divizor al lui a strict mai mare decât 1.a) Scrieţi subprogramul divizor. b) Folosind subprogramul de la punctul a)scrieti programul principal ce rezolva urmatoarea cerinta

18

Page 19: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1

Scrieţi declarările de date şi programul principal C/C++ care citeşte de la tastatură un număr natural x (x>1), şi, prin apeluri utile ale subprogramului divizor, verifică dacă x este număr prim. Programul va afişa pe ecran, în caz afirmativ, mesajul DA, iar în caz contrar mesajul NU

5. (15 puncte) Scrieţi doar antetul subprogramului funct care primeşte prin intermediul parametrului n un număr natural nenul (n≤100), iar prin intermediul parametrului x un tablou unidimensional cu n componente întregi, de maximum patru cifre fiecare. Subprogramul returneazã prin intermediul parametrului z, câte din elementelor tabloului x sunt pozitive.6. (20 puncte) Se consideră subprogramul divizor, care:– primeşte prin intermediul parametrului a un număr natural nenul de cel mult 4 cifre, strictmai mare ca 1;– returneazã cel mai mic divizor al lui a strict mai mare decât 1.a) Scrieţi subprogramul divizor. b) Folosind subprogramul de la punctul a)scrieti programul principal ce rezolva urmatoarea cerintaScrieţi declarările de date şi programul principal C/C++ care citeşte de la tastatură un număr natural x (x>1), şi, prin apeluri utile ale subprogramului divizor, verifică dacă x este număr prim. Programul va afişa pe ecran, în caz afirmativ, mesajul DA, iar în caz contrar mesajul NU.

19

Page 20: lbi.rolbi.ro/~laura/INFO/aXa/Subprograme.docx · Web viewSe citeste un numar n (1