Test 1
1. Subprogramul afis este definit alăturat.
Ce se va afişa în urma apelului afis(17);?
void afis(int x)
{ if (x>3)
{ cout<<x-1;
afis(x/3);
cout<<x+1;
}
}
long f(int n)
{
if(n<0) return 0;
else return f(n-2)+n;
}
3. Funcţia f are definiţia alăturată. Dacă f(x) are
valoarea 10100, care este valoarea lui x?
long f(int n)
{
if(n<=0) return 0;
else return f(n-1)+2*n;
}
4. Subprogramul f are definiţia alăturată. Ce
valoare are f(4)? Dar f(11)?
int f(int x)
{if(x<1)return 1;
else return f(x-3)+1;
}
5. Subprogramul f are definiţia alăturată. Ce
valoare are f(6,5)? Dar 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. Subprogramul f are definiţia alăturată. Ce
valoare are f(3)? Dar f(10)?
int f(int x)
{if(x==0)return 0;
else return f(x-1)+2;}
7. Subprogramul f are definiţia alăturată. Ce
valoare are f(7)? Dar f(100)?
int f(int x)
{if(x%6==0)return x;
else return f(x-1);
}
8. Pentru definiţia alăturată a subprogramului f, ce
valoare are f(3)? Dar f(8)?
int f(int x)
{
if(x<=4) return x*x-3;
return f(x-3)+4;
}
9. Pentru definiţia alăturată a subprogramului sc,
stabiliţi ce valoare are sc(10). Dar sc(901324)?
int sc(long x)
{
if(x<10) return x;
return sc(x/10)+x%10;}
Test 2
9. Subprogramul re este definit alăturat. Ce valoarea are re(1)? Dar re(14)?
Test 3
Test 2
1. Subprogramul f este definit alăturat.
Ce valoare are f(8,4)?
int f (int x,int y)
{
if(x<y)return 1+f(x+1,y);
if(y<x)return 1+f(y+1,x);
return 1;
}
2. Funcţia f are definiţia alăturată:
a) Ce valoare are f(16)?
b) Scrieţi cea mai mare valoare de două cifre pe care o
poate avea n astfel încât 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);
}
3. Funcţia f are definiţia alăturată.
a) Ce valoarea 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);
}
4. Pentru subprogramul suma definit alăturat,
scrieţi valoarea expresiei suma(5,4).
int suma (int a,int b)
{ if (a==0 && b==0) return 0;
else if (a==0) return 1+suma(a,b-1);
else return 1+suma(a-1,b);
}
5. Se consideră subprogramul, f, definit alăturat.
a. Ce valoare are f(100)?
b. Scrieţi o valoare pentru x astfel încât f(x)=1
int f(int n)
{ if(n==0) return 0;
else return n%2+f(n/2);
}
6. Funcţia F are definiţia alăturată. Ce valoare
are F(5)?
int F(int x)
{if(x!=0) return x+F(x-1);
else
return x;
}
7. Funcţia F are definiţia alăturată. Ce valoare
are F(18)?
int F(int x){
if (x<=1) return x;
else return x+F(x-2);
}
8. Funcţia F are definiţia alăturată. 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);}
9. Subprogramul re este definit alăturat. Ce valoarea are re(1)? Dar re(14)?
int re(int i)
{
if (i<9) return 3+re(i+2);
else
if (i==9) return -2;
else return 1+re(i-1);
}
Test 3
1. Se consideră subprogramul alăturat:
int f(int a, int b)
{if (b<1) return -1;
else
if (a%b==0)
return 1+f(a/b,b);
else
return 0; }
Ce valoare are f(15,2)? Dar f(128,2)?
2. Pentru definiţia de mai jos a subprogramului f,
ce se afişează ca urmare a apelului f(121,1);?
void f(long n, int i)
{ if(n!=0)
if(n%3>0)
{ cout<<i; f(n/3,i+1); }
}
3. Pentru definiţia de mai jos a subprogramului f,
ce se afişează ca urmare a apelului f(12345);?
void f(long n)
{ cout<<n%10;
if(n!=0)
{ f(n/100); cout<<n%10;}
}
4. Pentru definiţia alăturată a subprogramului f, ce se
afişează ca urmare a apeluluif(26);?
void f (int x)
{if(x>0)
if(x%4==0)
{ cout<<’x’;
f(x-1); }
else
{ f(x/3);
cout<<’y’; }}
5. Pentru definiţia alăturată a subprogramului f, ce se
afişează ca urmare a apeluluif(15,2);?
void f (int n, int x)
{ if(x>n)
cout<<0;
else
if(x%4<=1) f(n,x+1);
else
{ f(n,x+3);
cout<<1;
}
}
6. Pentru subprogramul f definit mai jos, ce se afişează
ca urmare a apeluluif(3,17)?
void f ( int a, int b)
{ if(a<=b)
{ f(a+1,b-2); cout<<’*’;}
else cout<<b;
}
7. Se consideră subprogramul f definit
alăturat. Ce se va afişa în urma apeluluif(12345);?
void f(long int n)
{ if (n!=0)
{if (n%2 == 0)
cout<<n%10;
f(n/10);
}
}
8. Se consideră subprogramul f, descris alăturat. Ce se
va afişa în urma apeluluif(3);?
void f(int n)
{ if (n!=0)
{ if (n%2==0)
cout<<n<<’ ’;
f(n-1);
cout<<n<<’ ’;
}
else cout<<endl;
}
9. Subprogramul f are definiţia alăturată. Ce se
va afişa în urma apeluluif(12345);?
void f(long n)
{if (n>9)
{cout<<n/100;
f(n/10);
}
}
(RALUCA SANDU)
Niciun comentariu:
Trimiteți un comentariu