Se consideră subprogramul C/C++ f, definit mai jos.
void f (int x)
{ cout<<"*";
if(x>0) {
cout<<x;
f(x/100);
cout<<"*";
}
}
Ce se afișează în urma apelului:
f(12345);
Subprogramul afis este definit mai jos.
void afis(int x)
{ if (x>3)
{ cout<<x-1; | printf("%d",x-1);
afis(x/3);
cout<<x+1; | printf("%d",x+1);
}
}
Ce se afişează în urma apelului următor?
afis(17);
Subprogramul f este definit mai jos.
void f(long n, int i)
{ if(n!=0)
if(n%3>0)
{ cout<<i; f(n/3,i+1); }
}
Ce se afişează în urma apelului de mai jos?
f(121,1);
Pentru o valoare naturală mai mare decât 1 memorată în variabila globală n, subprogramul recursiv de mai jos afişează cel mai mare divizor al lui n, mai mic decât n, la apelul divi(n). Cu ce trebuie înlocuite α şi β ?
void divi(long i)
{
if( α == 0)
cout<< β;
else divi(i-1);
} | Varianta 1 |
α: |
| Varianta 2 |
α: |
| Varianta 3 |
α: |
| Varianta 4 |
α: |
Subprogramul f este definit mai jos.
void f(long n)
{ cout<<n%10;
if(n!=0)
{ f(n/100); cout<<n%10;}
}
Ce se afişează în urma apelului următor?
f(12345);
Subprogramul f este definit mai jos.
void f(int i)
{
if(i<=5){
cout<<i<<" " ;
f(i+1);
cout<<i/2<< " ";
}
}
Ce se afişează la apelul f(1);?
Subprogramul f este definit mai jos.
void f (int x)
{
if(x>0)
if(x%4==0)
{ cout<<'x';
f(x-1); }
else
{ f(x/3);
cout<<'y';
}
}
Ce se afişează în urma apelului următor?
f(26);
Subprogramul f este definit mai jos.
void f(int i)
{
if(i<=5){
cout<<i<<" " ;
f(i+1);
}
cout<<i/2<< " ";
}
Ce se afişează la apelul f(1);?
Subprogramul f este definit mai jos.
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;
}
}
Ce se afişează în urma apelului următor?
f(15,2);
Subprogramul C/C++ f este definit mai jos.
void f(int x)
{
if(x) {
if(x%3==0){
cout<<3; | printf("3");
f(x/3);
}
else{
f(x/3);
cout<<x%3; | printf("%d",x%3);
}
}
}
Ce se afişează la apelul f(38);?