Documente Academic
Documente Profesional
Documente Cultură
2015 – 10MI
Test – subprograme
5.1 (0.6p) Completați în căsuța din fața fiecărei afirmații de mai jos litera A sau F după cum propoziția
este adevărată, respectiv falsă.
int f (int &n,int m)
Parametrii funcției sunt transmiși prin referință. { while(n%m==0)
Funcția returnează o singură valoare. { n=n/m; m++;}
return m-1;
Valoarea variabilei n se modifică la întoarcerea din apelul funcției. }
Valoarea variabilei m nu se modifică în timpul execuției funcției.
5.2 (0.8p) Pentru n=120, în urma apelului f(n,2) se va returna valoarea ____________. Valoarea
variabilei n după apel este ____________.
5.3 (0.7p) Știind că valoarea returnată de funcție în urma apelului f(n, 2) este 4, valoarea variabilei n
înaintea apelului a fost: ____________.
6. (0.8p) Deduceţi şirul de valori care se vor afişa în urma execuţiei programului de mai jos:
#include <iostream>
int i,j,k;
int dif(int x,int y)
{return x-y;}
void calcul(int p, int q)
{int u,v;
u=p-i; v=q+j;
i=dif(u,q);
Răspuns: ___________________________________
j=dif(v,p);
}
int main()
{i=2;j=3;
calcul(i,j); cout<<i<<’ ’<<j<<’ ’;
calcul(j,i); cout<<i<<’ ’<<j<<’ ’;
}
Scrieţi programul C++ care citeşte din fişierul DATE.IN numărul întreg n, apoi cele n valori întregi
ale unui vector v. Folosind subprogramele definite anterior, afişaţi:
- câte dintre valorile vectorului au toate cifrele egale
- elementele nenule ale vectorului după înlocuirea fiecărei valori cu o nouă valoare obţinută prin
eliminarea tuturor apariţiilor cifrei maxime, respectiv a cifrei minime ale acesteia.
Exemplu: pentru n=6 şi v = (2135, 777, 9896, 7825, 10617, 3333, 1932 )
Se va afişa: 2
23 8 75 161 32