Sunteți pe pagina 1din 2

TEST DE EVALUARE

"Subprograme"
1.S se precizeze valorile afiate n urma funcinrii programelor urmtaore:
a) #include <iostream.h>
d) #include <iostream.h>
int s,f;
int f ( int a=5, int b=2)
int sf ( int a)
{ return - -a +2*b++; }
{ f - = a; return (a*a); }
void main ()
void main ()
{ f=10; s=sf(f); cout<<s<<f;
{ cout<<f(); }
f=10; s=sf(10); s*=sf(f); cout<<s<<f;
f=10; s=sf(f); s*=sf(10); cout<<s<<f; }
b) #include <iostream.h>
int fc ( int a=1, int b=2, int b=3)
{ return a+b+c; }
void main ()
{int m,n,p,q;
m= fc();
n=fc(10);
p=fc(12,19);
q=fc(11,23,18);
cout<<m<<n<<p<<q;}
c) #include<iostream.h>
void calcul ( int *u, int *v)
{ for (i=0; i<3; i++)
{v[i]=1-u[i]; u[u]=0; }}
void main ()
{ int u[5], v[5],i;
for (i=0; i<3; i++)
{ u[i]=i%2; v[i]=0;}
calcul (u,v);
for (i=0; i<3; i++) cout<<u[i];
for (i=0; i<3; i++) cout<<v[i]; }

e) #include<iostream.h>
void f(int x, int &y)
{ y=y+x;
x=x+y;}
void main ()
{ int x=2;
f();
cout<<x;}

2.Care dintre urmtoarele subprograme returneaz media aritmetic dintre


ctul i restul mpririi a 2 numere ntregi:
a) int M (int x,y)
b) float M ( int x, int y)
{ return (x/y+x%y)/2;}
{ float medie;
b) float M ( int x, int y)
medie=x/y+x%y;
{ return x/y+x%y;}
return medie/2;}
3.Fie subprogramul:

void ( char a, char &b)


{ char aux; aux=a; a=b; b=aux;}
Dac s1 i s2 sunt 2 variabile de tip caracter, care memoreaz valorile '1'
respectiv '2'; ce valori se vor afia dup executarea secvenei de instruciuni:
sch ( s1, s2);
cout<<s1<<" "<<s2;
4.Ce valori se afieaz dac a[7]={1,1,1,2,2,2,2,} i n=7:
void p()
{ int p=0, pmax=0, lung=0, lungmax=0,i,aux=a[0];
for (i=1; i<n; i++)
if (a[i]==aux) lung ++;
else { if (lung>lungmax) {lungmax=lung; pmax=p;}
p=i; lung=1; aux=a[i];}
cout<<pmax<<" "<<lungmax;}

Punctaj sub 1 5p
sub 2 1p
sub 3 1p
sub 4 1p
din oficiu 2p

S-ar putea să vă placă și