Sunteți pe pagina 1din 2

3.

3. Functia m() are doi parametri reali si furmizeaza cea mai mica valoare dintre cei doi
parametri. Care dintre urmatoarele instructiuni afiseaza cea mai mica valoare dintre a, b si c
a) cout<<m(a,b,c); b) cout<<m(m(a,b),m(b,c));
c) cout<<m(m(a,b),c);
Ce realizeaz urmtorul program:(1p)

#include<iostream.h>
int n,x,k;
int v[10];
void aparitii(int &k)
{
int k=0;
for (int i=0;i<n;i++)
if(v[i]= =x) k++;
n++;
}
void main()
{
cin>>n;
for (int i=0;i<n;i++)
cin>>v[i];
cout<<"x=";
cin>>x;
aparitii(k);
cout<<k<<n;
}
2. n cazul n care se dorete scrierea unei functii procedurale, cu numele calcul, si care s
calculeze si s returneze perimetrul (p) si aria (aria) a unui dreptunghi de lungime a si latime b
(a si b-nr. Reale strict pozitive), care din antetele de mai jos sunt corecte?
a) void calcul(float a,b,&p,&aria)
b) void calcul(float a, float b, float &p, float &aria)
c) void calcul(float &a, float &b:real, float p, float aria)
d) nic una din variantele anterioare
3. Se consider programul:
#include <iostream.h>
Cerinta :
int a,b; float x;
int f(int c)
{ int a,b;
//linia 5
a=10; b=5;
return (a+b+c);
}
void main()
{a=3; b=1;
x=f(a-b)%10;
cout<<a<< <<b<< <<x<<endl;
}

3.1) Ce se va afisa daca:


a) lipseste linia 5 din program
b) nu lipseste linia 5 din program
Justificai rspunsul.
3.2)a) Ci parametri actuali sunt in program ?
R:__________
b) Incercuiti-i.

b) Scriei un subprogram care determina daca un caracter (transmis ca si parametru) este cifr,
litera sau alt semn, returnand codificat raspunsul prin literele C, L sau S.
b) Scriei un subprogram care returneaza valoarea a n-a din sirul lui Fibonacci, unde n este
numr natural transmis ca parametru
4. a) Scriei un subprogram, cu parametri, care inverseaz elementele egal deprtate de
extremitile unui sir de n elemente nr. ntregi de cel mult 4 cifre.
5. Se citeste un sir de n (2n100) numere naturale din intervalul [2,65535]. Folosind
subprograme, s se afiseze numrul de zerouri cu care se sfarseste produsul celor n numere, fara
a efectua efectiv produsul. Se va folosi cel putin:
- un subprogram de citire a unui sir de numere
0,50p
- un subprogram de citire a unui numar cu protectie la intervalul de definire
0.50 p
- un subprogram care returneaz frecventa divizorului
0.751p
- functia main
5.Deducei care vor fi elementele vectorului v dup execuia secvenei de program:
{int n,k,x,v[7]={5,14,-3,8,-1};
n=5; x=v[0];
for (k=1; k<n; k++)
v[k-1] = v[k];
v[n-1]=x;}
a) (-1,5,14,-3,8,0,0,)
b) (14,-3,8,-1,0,0,5)
c) (14,-3,8,-1,5,0,0)
d) (0,0,5,-3,14,-1,8)
e) (0,0,-1,14,-3,8,5)
8.Se consider o matrice a cu n linii * n coloane i un vector v cu n elemente.
Precizai care vor fi elementele vectorului v dup execuia secvenei urmtoare:
{ int nr,n,i,j,x,v[20];
int a[3][3] = {{7,1,7}, {-7,7,0}, {2,4,11}};
n=3; x=7;
for(i=0; i<n; i++)
{for (j=0; j<n; j++)
if ( a[i][j]==x) nr++;
v[i] = nr; } }
a) nedefinite
b) v=(0,0,0)
c) v=(1,2,3)
d) v=(2,0,1)
e) v=(2,1,0)