Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte.
Subprogramul f este definit alăturat. Indicați valoarea f(1,10).
int f(int n,int m)
{ if(n>=m) return 0;
else return 1+f(n+1,m-2);
}
Subprogramul alăturat, f, este incomplet definit. Indicați expresia cu care pot fi înlocuite punctele de suspensie, astfel încât, în urma apelului de mai jos, să se afișeze 7.
f(35,17);
void f(int n, int d)
{ if(n%d==0)
cout<<d; | printf("%d",d);
else f(........);
}
Variabila k este de tip întreg, iar variabila s permite memorarea unui șir de maximum 20 de caractere. Indicați valoarea variabilei k în urma executării secvenței alăturate.
Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte.
Identificatorii utilizați în rezolvări trebuie să respecte precizările din enunț (bold), iar în lipsa unor precizări explicite, notațiile trebuie să corespundă cu semnificațiile asociate acestora (eventual în formă prescurtată). Datele de intrare se consideră corecte, validarea lor nefiind necesară.
Subprogramul f este definit alăturat. Indicați un apel în urma căruia se afișează pe ecran secvența:
13579
Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte.
Subprogramul f este definit alăturat. Indicați valoarea f(35,3).
Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte.
Identificatorii utilizați în rezolvări trebuie să respecte precizările din enunț (bold), iar în lipsa unor precizări explicite, notațiile trebuie să corespundă cu semnificațiile asociate acestora (eventual în formă prescurtată). Datele de intrare se consideră corecte, validarea lor nefiind necesară.
Subprogramul f este definit alăturat. Indicați valoarea parametrului x pentru care f(x,3) are valoarea 2022.
Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte.
Variabilele x și valoare sunt declarate alăturat. Indicați o instrucțiune de atribuire corectă din punctul de vedere sintactic.
Subprogramul f este definit incomplet, alăturat. Indicați o expresie cu care pot fi înlocuite punctele de suspensie pentru ca f(n,3) să aibă valoarea 1 pentru orice număr prim n (n∈[2,10⁴]) și valoarea 0 în caz contrar.
int f(int x, int y)
{ if(x!=2 && x%2==0) return 0;
if(y*y>x) return 1;
if(x%y==0) return 0;
return f(x,.........);
}
Utilizând metoda backtracking se generează toate valorile naturale formate cu cifre ale numărului 2021 și care sunt strict mai mici decât acesta. Primele 12 soluții generate sunt, în această ordine, 0, 1, 10, 100, 1000, 1001, 1002, 101, 1010, 1011, 1012, 102. Indicați două soluții care se generează pe poziții consecutive, în această ordine.
a. 2002, 2020
b. 2020, 21
c. 122, 1221
d. 21, 22
Subprogramul f este definit alăturat. Indicați valorile pe care le pot avea parametrii n și c, astfel încât, în urma apelului, f(n,c) să aibă valoarea 2021.
int f(int n,int c)
{ if(n==0) return 0;
else
if(n%10==c) return f(n/10,c);
else return n%10+10*f(n/10,c);
}
a. n=2021 și c=0
b. n=200211 și c=2
c. n=312032 și c=3
d. n=720721 și c=7
Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte.
Știind că variabila x memorează un tablou unidimensional cu elementele (2,0,2,6,8), în această ordine, numerotate de la 0 la 4, indicați valoarea f(0,4,x).
Un mozaic este alcătuit din plăcuțe de formă pătrată, cu dimensiuni egale, de culoare albă sau roșie, așezate pe două rânduri și aliniate ca în exemplu. Mozaicul are un model în zig-zag dacă oricare două plăcuțe cu o latură comună au culoare diferită. Se știe că plăcuțele de pe latura din dreapta au culori diferite.
Variabilele j și ok sunt întregi, iar variabila a este un tablou bidimensional cu două linii și 12 coloane, cu elemente de tip char, în care fiecare linie, în ordine, memorează succesiunea de plăcuțe aflate pe un rând al mozaicului, notându-se cu litera R cele roșii și cu litera A cele albe. Liniile și coloanele sunt numerotate începând de la 0.
Indicați expresia care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței C/C++ obținute, variabila ok să aibă valoarea 1, dacă mozaicul are un model în zig-zag, sau valoarea 0 în caz contrar.
Exemplu: în urma executării secvenței pentru tabloul de mai jos, unde sunt evidențiate două zone în care nu se respectă modelul, ok=0.
ok=1;
for(j=0;j<11;j++)
if(........) ok=0;
R A A R A R A R A R A R
A R R A R A R A R R R A
a. a[0][j]==a[0][j-1] || a[0][j]==a[1][j-1]
b. a[0][j]==a[0][j+1] || a[0][j]==a[1][j+1]
c. a[0][j]==a[0][j-1] || a[0][j]==a[1][j+1]
d. a[0][j]==a[0][j+1] || a[0][j]==a[1][j]
Variabila m, declarată alăturat memorează, pentru un medicament codul, procentul de compensare și data expirării (ziua, luna și anul). Indicați o expresie C/C++ cu valoarea 1 dacă și numai dacă medicamentul expiră în anul 2025, după luna octombrie.
struct data
{ int zi,luna,an;};
struct medicament
{ int cod;
float compensare;
data expira;
}m;
a. m.data.an==2025 && m.data.luna>10
b. data.an.m==2025 && data.luna.m>10
c. m.expira.an==2025 && m.expira.luna>10
d. m.an.expira==2025 && m.luna.expira>10
Subprogramul f este definit alăturat, iar variabila întreagă r are valoarea 0 înainte de apel. Indicați apelul în urma căruia variabila r are valoarea 2.
void f(int x, int y, int&z)
{ if((x%2)*(y%2)!=0) z=1;
else { f(x/2,y/2,z); z=z+1; }
}
a. f(21,22,r);
b. f(20,21,r);
c. f(19,20,r);
d. f(18,19,r);
Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte.
Identificatorii utilizați în rezolvări trebuie să respecte precizările din enunț (bold), iar în lipsa unor precizări explicite, notațiile trebuie să corespundă cu semnificațiile asociate acestora (eventual în formă prescurtată). Datele de intrare se consideră corecte, validarea lor nefiind necesară.
Știind că variabila x memorează un tablou unidimensional cu elementele (7,1,2,5,4), în această ordine, numerotate de la 0 la 4, indicați valoarea f(0,4,x).
Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte.
Variabila x este declarată alăturat. Indicați secvența care, în urma executării, afișează pe ecran ziua, luna și anul corespunzătoare unei date calendaristice memorate în variabila x.
struct data
{
int zi, luna, an;
}x;
a. cout<<x.zi<<" "<<x.luna<<" "<<x.an; | printf("%d %d %d",x.zi,x.luna,x.an);
b. cout<<zi.x<<" "<<luna.x<<" "<<an.x; | printf("%d %d %d",zi.x,luna.x,an.x);
c. cout<<x(zi," ",luna," ",an); | printf("%d %d %d",x(zi,luna,an));
d. cout<<data.x.zi<<" "<<data.x.luna<<" "<<data.x.an;
| printf("%d %d %d",data.x.zi,data.x.luna,data.x.an);
Utilizând metoda backtracking se generează toate valorile naturale formate cu cifre ale numărului 289 și care sunt strict mai mici decât acesta. Primele șase numere generate sunt, în această ordine, 2, 22, 222, 228, 229, 28. Indicați al câtelea număr generat este 8.
a. al 10-lea
b. al 9-lea
c. al 8-lea
d. al 7-lea