1. Pentru definiia de mai jos a subprogramului f, ce se afieaz ca urmare a apelului f (121, 1);?
void f(long n, int i)
{if (n==0) cout<<i; if(n%3>0) f(n/3,i+1);} 2. Pentru definiia alturat a subprogramului f, ce se afieaz ca urmare a apelului f (125);? void f(int n) {cout<<n%10; if(n!=0) { cout<<n%10; f(n/100);}} 3. Pentru subprogramul f definit alturat, ce se afieaz ca urmare a apelului f (15, 2);? void f (int n, int x) { if(x>n) cout<<*; else { f(n,x+4);cout<<x%10; } } 4. Pentru definiia de mai jos a subprogramului f, ce se afieaz ca urmare a apelului f (10);? void f (int b) { if(3<=b) { f(b-2); cout<<*;} else cout<<b; } 5. Se consider subprogramul cu definiia alturat. Ce valoare se va afia n urma executrii instruciunii de mai jos? cout<<f(12); int f (int n){ int c; if (n!=0) {if (n%2==1) c=1+f(n/2); else c=f(n/2); cout<<n%2; return c; } else return 0; } a. 11002 b. 20011 c. 10102 d. 00112 6. Se consider subprogramul cu definiia alturat. Ce se va afia n urma apelului f(12345);? void f(long n){ if (n!=0){ if (n%2==0) cout<<n%10; f(n/10); if (n%2!=0) cout<<n%10; } else cout<<endl; } a. 531 24
b. 24 135
c. 531 42
d. 42 135
7. Funcia f are definiia mai jos. a) Ce valoare are f(16)?
b) Scriei o valoare de dou cifre pe care o poate avea n astfel nct f(n) s fie egal cu 2. int f(int n) { if (n<=0) return -1; if (n % 2==0) return 0; if (n % 3==0) return 0; return 1+f(n-10); } 8. Se consider subprogramul f cu definiia alturat. Ce se va afia n urma apelului f(12345);? void f(long n){ if (n!=0){ if (n%2!=0) cout<<n%10; f(n/10); if (n%2==0) cout<<n%10;} else cout<<endl; } a. 135 b. 135 c. 531 d. 531 24 42 24 42 9. Se consider subprogramul cu definiia alturat. Ce valoare are f(3,1)? int f(int n,int y) { if(n!=0) { y=y+1; return y+f(n-1,y); } else return 0; } a. 8 b. 9 c. 7 d. 6 10. Pentru funcia f, definit alturat, care este valoarea f (1711)? Dar f (23169)? int f(int n){ if (n==0) return 0; else if (n%2==0) return n%10+f(n/10); else return f(n/10); } 11. Funcia f are definiia alturat. a) Ce valoare are f (17)? b) Ce valoare are f (22)? int f(int n) {if (n<=9) return 0; if (n%4==0) return 0; return 1+f(n-3);} 12. Care este valoarea lui f(34) pentru funcia f definit alturat? Dar valoarea f(f(4))? long f(long x) { if (x==4) return x; else {if (x%10==4 || x%10==0) return x + f(x/10); else return x+f(x*2); } } 13. Funcia F are definiia alturat. Ce valoare are F (3)? int F(int n) {if(n==0 || n==1) return 1; else return 2*F(n-1)+2*F(n-2);} a. 1 b. 12 c. 6 d. 10
14. Subprogramul f are definiia alturat. Ce se va afia n urma apelului f(12345);?
void f(long n) {if (n>9) {cout<<n/100; f(n/10); } } a. 1231210 b. 123121 c. 1234123121 d. 123 15. Funcia f are definiia alturat. Ce se va afia n urma apelului f(12345,0);? void f(long n, int i) {if (i<n%10) {cout<<n%10; f(n/10,i+1); } } a. 54321 b. 543 c. 54 d. 5432 16. Funcia F are definiia alturat. Ce valoare are F(18)? int F(int x){ if (x<=1) return x; else return x+F(x-2); } a. 90 b. 171 c. 91 d. 18 17. Funcia F are definiia alturat. Ce valoare are F (5)? int F(int x) {if(x!=0) return x+F(x-1); else return x;} a. 5 b. 10 c. 15 d. 6 18. Se consider subprogramul, f, definit alturat. a) Ce valoare are f (20)? b) Scriei o valoare pe care o poate avea x astfel nct f(x) = 1. int f(int n) {if (n==0) return 0; return n%2+f(n/2); } 19. Considerm subprogramul recursiv definit alturat. Ce se va afia n urma apelului de mai jos? F (B); void f(char c) {if (c>A) f(c-1); cout<<c; if (c>A) f(c-1); } 20. Pentru subprogramul suma definit alturat scriei valoarea expresiei suma(3,2). int suma (int a,int b) { if ((a==0) && (b==0)) return 0; if (a==0) return 1+suma(a,b-1); return 1+suma(a-1,b); }