Documente Academic
Documente Profesional
Documente Cultură
27.10.2014 10MI
Test subprograme
1. Se consider urmtoarea funcie dat prin prototipul ei:
void f(int a,float b,char c);
n care din urmtoarele funcii principale apare un apel corect al funciei f? ncercuii rspunsul corect.
a) int main()
{char a;float
b) int main()
{char a;float
c) int main()
{char c;float
d) int main()
{char b;float
b;int c; f(a,b,c);}
c;int b; f(b,a,c);}
a;int b; f(a,b,c);}
a;int c; f(c,a,b);}
Rspuns: ___________________________________
3. Se consider funcia:
int f (int &n,int m)
{
while(n%m==0)
{
n=n/m; m++;
}
return m-1;
}
3.1 Completai n csua din faa fiecrei afirmaii de mai jos litera A sau F dup cum propoziia este
adevrat, respectiv fals.
Parametrii funciei sunt transmii prin referin.
Funcia returneaz o singur valoare.
Valoarea variabilei n se modific la ntoarcerea din apelul funciei.
Valoarea variabilei m nu se modific n timpul execuiei funciei.
3.2 Pentru n=120, n urma apelului f(n,2) se va returna valoarea ____________. Valoarea variabilei n
dup apel este ____________.
3.3 tiind c valoarea returnat de funcie n urma apelului f(n,2) este 4, valoarea variabilei n naintea
apelului a fost: ____________.
Nume i prenume:
27.10.2014 10MI
3.4 Fie a,b i k variabile de tip int declarate n programul principal, a i b cu valori iniiale cunoscute. n
urma execuiei instruciunii k=f(a,b) se va obine a=1. Ce relaie exist ntre valorile iniiale ale
variabilelor a i b i valoarea variabilei k? ncercuii rspunsul corect.
a) a=1*2*3**k
b) a=1*2*3**b
c) a=b*(b+1)*(b+2)**k
d) a=k*(k+1)*(k+2)**b
4. Deducei irul de valori care se vor afia n urma execuiei 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;
Rspuns: ___________________________________
i=dif(u,q);
j=dif(v,p);
}
int main()
{i=2;j=3;
calcul(i,j); cout<<i<< <<j<< ;
calcul(j,i); cout<<i<< <<j<< ;
}
elementele nenule ale vectorului dup nlocuirea fiecrei valori cu o nou valoare obinut prin
eliminarea tuturor apariiilor cifrei maxime i a cifrei minime ale acestuia.
Exemplu: pentru n=6 i v=(2135, 777, 9896, 7825, 10617, 3333, 1932 )
Se va afia: 2
23 8 75 161 32