Sunteți pe pagina 1din 3

1.

Pentru definiia de mai jos a subprogramului f, ce se afieaz ca urmare a apelului f(121,1);?


voidf(longn,inti)
{if(n!=0)
if(n%3>0)
{cout<<i;f(n/3,i+1);}
}
2. Pentru definiia de mai jos a subprogramului f, ce se afieaz ca urmare a apelului
f(12345);?
voidf(longn)
{cout<<n%10;
if(n!=0)
{f(n/100);cout<<n%10;}
}
3. Pentru definiia alturat a subprogramului f, ce se afieaz ca urmare a apelului f(26);?
voidf(intx)
{
if(x>0)
if(x%4==0)
{cout<<x;
f(x1);}
else
{f(x/3);
cout<<y;
}
}
4. Pentru definiia alturat a subprogramului f, ce se afieaz ca urmare a apelului f(15,2);?
voidf(intn,intx)
{if(x>n)cout<<0;
else
if(x%4<=1)f(n,x+1);
else
{f(n,x+3);
cout<<1;
}
}
5. Pentru subprogramul fdefinit mai jos, 2. ce se afieaz ca urmare a apelului f(3,17)?
voidf(inta,intb)
{if(a<=b)
{f(a+1,b2);cout<<*;}
elsecout<<b;
}
6. Se consider subprogramul alturat: Ce valoare are f(128,2)?
intf(inta,intb){
if(b<1)return1;
else
if(a%b==0)
return1+f(a/b,b);
else

return0;}

7.Se consider subprogramul fdefinit alturat. Ce se va afia n urma apelului f(12345)?


voidf(longintn)
{if(n!=0)
{if(n%2==0)
cout<<n%10;f(n/10);
}
}
a. 513b. 24c. 42d. 315
8. Se consider subprogramul f, descris alturat. Ce se va afia n urma apelului f(3);?
voidf(intn)
{if(n!=0)
{if(n%2==0)
cout<<n<<;
f(n1);
cout<<n<<;
}
elsecout<<endl;}
9. Se consider subprogramul fcu definiia alturat. Ce valoare are f(1213111,1)?
intf(longintn,intk){
if(n!=0)
if(n%10==k)
return1+f(n/10,k);
elsereturn0;
elsereturn0;}
a. 5b. 3c. 2d. 1
10. Se consider subprogramul, f, definit alturat. Ce valoare are f(100)?
intf(intn)
{if(n==0)return0;
elsereturnn%2+f(n/2);
}
11. Considerm subprogramul recursiv definit alturat. Ce se va afia n urma apelului: f(C)
voidf(charc)
{if(c>A)f(c1);
cout<<c;
if(c>A)f(c1);
}
12. Pentru subprogramul sumadefinit alturat, scriei valoarea expresiei suma(5,4).
intsuma(inta,intb)
{if(a==0&&b==0)return0;
elseif(a==0)return1+suma(a,b1);
elsereturn1+suma(a1,b);
}

13. Funcia fare definiia alturat. a) Ce valoarea are f(17)? b) Ce valoare are f(22)?
intf(intn)
{if(n<=9)return0;
if(n%4==0)return0;
return1+f(n3);}
14. Funcia fare definiia alturat:a) Ce valoare are f(16)? b) Scriei cea mai mare valoare de dou cifre
pe care o poate avea nastfel nct f(n)s fie egal cu 2.
intf(intn)
{if(n<=0)return1;
if(n%2==0)return0;
if(n%3==0)return0;
return1+f(n10);
}
15. Subprogramul scrieeste definit alturat. Ce se afieaz ca urmare a apelului scrie(1,7);
voidscrie(intx,inty)
{cout<<x<<y;
if(x<y)
{scrie(x+1,y1);
cout<<(x+y)/2;
}
}
16.Subprogramul feste definit alturat. Ce valoarea are f(8,4)?
intf(intx,inty)
{if(x<y)return1+f(x+1,y);
if(y<x)return1+f(y+1,x);
return1;
}
17. Ce se afieaz ca urmare a apelului p(123); dac subprogramul pare definiia alturat.
voidp(intx)
{cout<<x;
if(x!=0){p(x/10);
cout<<x%10;
}
}
18. Se consider subprogramul recursiv f1definit alturat. Ce se va afia n urmaapelului f1(5)?
voidf1(intx)
{if(x<=9)
{cout<<x+1;
f1(x+2);
cout<<x+3;
}
}