Sunteți pe pagina 1din 2

Randul I

1. Considerăm subprogramul f definit


alăturat. Ce valoare are f(11,7)?
int f(int x,int y) 7. Scrieţi ce se va afişa în urma executării
{if(x<=y) return x-y; subprogramului alăturat, la apelul F(57).
return f(y-x,x-1)+3; void F(int x)
} { if(x != 0)
{ F(x/2);
2. Pentru definiţia alăturată a cout << x%2; }}
subprogramului sc, stabiliţi ce valoare are
sc(901324)? 8. Se consideră subprogramul f, definit
int sc(long x) alăturat. Ce se afişează la apelul f(4)?
{if(x<10) return x; void f(int n)
return sc(x/10)+x%10; {cout<<"*";
} if(n>2)
{
3. Pentru definiţia alăturată a f(n-1);
subprogramului f, ce valoare are f(8)? cout<<"#"; }}
int f(int x)
{if(x<=4) return x*x-3; 9. Subprogramul f este definit alăturat. Ce
return f(x-3)+4; se afişează ca urmare a apelului de mai
} jos? f(1,4);
void f (int x,int y)
4. Pentru definiţia alăturată a { if (x<y){x=x+1;f(x,y);
subprogramului f, stabiliţi ce valoare are y=y-1;f(x,y);}
f(23461)? else
int f(int x) cout<<x<<y; }
{if(x<10)
{if(x%2!=0)return 0;
return x;}
if((x%2!=0)
return f(x/10);
return f(x/10)+x%10; }

5. Subprogramul f are definiţia alăturată. Ce


valoare are f(5,10)?
int f(int x,int y)
{if(x==y)return x;
else if(x<y)return f(x+1,y-1);
else return f(x-1,y);

6. Se consideră subprogramul f definit


alaturat. Ce se afişează la apelul f(1)?
void f(int i) Se acordă un punct din oficiu si un punct pentru
{if(i<=5){ fiecare răspuns corect.
cout<<i<<” ” ;
f(i+1);
cout<<i/2<<” ”;}
Randul II

Barem de notare

1. f(11, 7)= -11 (1punct)


2. sc(901324)=19 (1punct)
3. f(8)= 9 (1punct)
4. f(23461)=12 (1punct)
5. f(5,10)=7 (1punct)
6. f(1)=1 2 3 4 5 2 2 1 1 0 (1punct)
7. f(57)=111001 (1punct)
8. f(4)= ***## (1punct)
9. f(1,4)=4443333332 (1punct)

S-ar putea să vă placă și