Sunteți pe pagina 1din 8

Varianta 1

I. Determinați numărul de operații elementare din următoarele declarații.

Exemplu 1 Exemplu  2 Exemplu 3 3


int х,у,а; int a=5, b=3; int j, a; 
х=5; if (a>b)   for(j = 0; j < 7; j++) 
у=х*2+7;   if (b<0) c=a; else c=b;    a = j * j;
а=у/4;     else c=0;

Exemplu 4 Exemplu 5 Exemplu 6


int speed = 30;  int c=0; int t = 5,c=0,k=0;
while ( speed > 10 )  for (int i=1; i<=6; i++) while ( t < 60 )
speed -= 5;   for (int j=7; j>=4; j--) {
  c++;   k=3;
  while(--k) c++;
  t += 10;
}

II. Determinați necesasrul de memorie, necesar pentru urmatoarele declarații de variabile.

№ Declarația datelor Necesarul de memorie


1 int i,j; float x;
2 double s[8];
3 bool z[10][5];
4 char *q;
5 struct s { int a,b; char s[15];} q;
6 struct st { int b; float s[6]; char c} q[5];
7 struct stc { int b[10]; char c[10} *q;
8 union z { float x; char y; bool z[10];} p;

III. Determinati necesarul de memorie interna alocat pentru segmentul de date, stiva și heap.

#include<iostream>
using namespace std;
void func(int *r, char p)
{
    float a,b;
}
int main()
{
   int *ptr = new int;
   char ch;

Varianta 2
I.Determinați numărul de operații elementare din următoarele declarații.

Exemplu 1 Exemplu 2 Exemplu 3


int x,y; int x=3,y=2,a,b; int s[8];
x=y=5; switch (2*x+1) for(int k=0;k<8;k++)
x+=2; {    s[k]-=3;
y-=3;  case 3: a=x+1; b=y+1;
x*=y; break;
x/=++y;  case 5: a=x-1; b=y-1;
break;
 case 7: a=2*x; b=2*y;
break;
 default: a=x; b=y; break;
}
11 2+2+3+1+1 = 9 1+1+8(3)+8+1 = 35

Exemplu 4 Exemplu 5 Exemplu 6


int speed = 5; int c=0; int c = 30;
do for (int i=2; i<7; i+=2) while ( c > 10 )
{    for(int j = 4; j > 0; {
    speed += 10; j--)   for(int k=5; k>10; k--) 
}        c++;     c*=k;
 while ( speed <   c -= 5;
50 );  }
5(2) + 2 + 1 = 13 1+1+2(1+1+3)= 12 (4+1)(1+1+5(4)) + 1 = 111

II. Determinați necesasrul de memorie, necesar pentru urmatoarele variabile.

№ Declarația datelor Necesarul de memorie


1 int a; char c; 4+1=5
2 float x[7]; 4*7=28
3 int y[3][4]; 4(3*4)=48
4 short int *r; 8
5 struct s { char a[10],b[15]; float s;} q; 10+15+4=29
6 struct st { int b[5]; float s[10]; char c[15]} *q; 8
7 union z { float x; char y; bool z[10];} p; 4+1+10=15
8 union zt { float x[10]; char y; bool z[10];} p[10]; 10(40+1+10)=510

III. Determinati necesarul de memorie interna alocat pentru segmentul de date, stiva și heap.

#include<iostream>
using namespace std;
void func(float *x, int *y)
{
    float z;
    bool flag;
    //code

}
int main()
{
   float *p1 = new
float[20];
   int *p2 = new int[20];
   func(p1,p2);
   delete []p1;
   delete []p2; V(d)=8+8 = 16
} V(s)=4+4+8+8+4+1=29
V(h)=4*20+4*20=160

Varianta 3
I.Determinați numărul de operații elementare din următoarele declarații.

Exemplu 1 Exemplu  2 Exemplu 3


int х,у,а; int x=12,y; int f=1;
х=5; if(x<-1) y=2*x; for(int j = 4; j > 0;
у=х/2+1;   else if (x<=5) y=x+3; j--) 
а=4;     else if (x<12) f *= j;
а+=у; y=x*x;
       else y=2*x+3;

Exemplu 4 Exemplu 5 Exemplu 6


int speed = 5; int c = 0; int c = 5;
do for(int t=2; t<=30; do
{ t+=2)  {
    speed += 10;    for(int k=1; k<3; k+   c += 10;
} +)   for(int j=5; j<0; j--) 
 while ( speed <         c++;     c-=2;
50 );  }
while ( c < 50 );
II. Determinați necesasrul de memorie, necesar pentru urmatoarele declarații de variabile.

№ Declarația datelor Necesarul de


memorie
1 long int a; double c;
2 char x[9];
3 double y[4][4];
4 bool *r;
5 struct s { float a[5],b[7]; char s;} q,p;
6 struct st { char b[5]; int s[10]; bool c[15]}
*q;
7 union z { int x; bool y; float z[10];} p;
8 union zt { char x[10]; int y; char *z;} p[15];

III. Determinati necesarul de memorie interna alocat pentru segmentul de date, stiva și heap.

#include<iostream>
using namespace std;
float * func(int x[20], int
y[20])
{
    float *z;
    //code
    return z;
}
int main()
{
   int *p1 = new int[20];
   int *p2 = new int[20];

   float *rez = func(p1,p2);


   delete []p1;
   delete []p2;
}

Varianta 4
I. Calculati numarul de operții elementare.

Exemplu  1 Exemplu 2 Exemplu 3


int x,y; int x=12,y; int s[10];
х=у=5; if(x<-1) y=2*x; for(int k=0;k<5;k++)
х+=2;   else if (x<=5) y=x+3;    s [k]*=-1;
y-=3;          else 
х*=у;            if (x<12)
х%=++у; y=x*x;
               else
y=2*x+3;
int c=x+y;

Exemplu 4 Exemplu 5 Exemplu 6


int speed = 20; int c = 0,t=1; int c;
do for (int i=1; i<=10; i+=3)     for(int i=1; i<=3; i+
{ { +)
    speed -= 5;    for(int j=1; j<7; j++)     {
}      t+=2;         c = 5;
 while ( speed >    c = c + i;         do
10 ); }         {
            c += 10;
        }
        while ( c < 50 );
    }

II. Determinați necesasrul de memorie, necesar pentru urmatoarele declarații de variabile.

№ Declarația datelor Necesarul de memorie


1 bool i,j; char x;
2 long int s[6];
3 unsigned short int z[10][10];
4 float *q;
5 struct s { char a,b; int s[15];} q;
6 struct st { float b; char s[8]; int c} q[5];
7 struct stc { bool b[7]; int c[15} *q;
8 union z { char x; float y; int z[20];} p;

III. Determinati necesarul de memorie interna alocat pentru segmentul de date, stiva și heap.

#include<iostream>
using namespace std;
float func(int x[20], int
n)
{
    float z;
    //code
    return z;
}
int main()
{
   int *p1 = new int;
   char *p2 = new char[15];
   int a[20],m;

Varianta 5
I.Determinați numărul de operații elementare din următoarele declarații.

Exemplu 1 Exemplu  2 Exemplu 3


int х,у,а; int j, t; 
х=7; for(j = 1; j < 20; j+=3) 
у=3*х-2; t= 2 * j;
а=у%4;

Exemplu 4 Exemplu 5 Exemplu 6


int x[8]; int k = 5,c=0; int c=0;
int k; do for(int i=5;i>1;i--)
for(k=2;k<6;k++) { {
{   for(int i=0; i<4; i++)    for(int i=0; i<4; i++) 
   x[k]-=2;       c++;     c++;
}   } }
while ( k-- );

II. Determinați necesasrul de memorie, necesar pentru urmatoarele declarații de variabile.

№ Declarația datelor Necesarul de memorie


1 unsigned long int a; float c;
2 int x[10];
3 char y[5][7];
4 char *r;
5 struct s { bool a[10],b[15]; int s;} q;
6 struct st { float b[5]; char s[10]; char *c} *q;
7 union z { bool x; char y[10]; int z[10];} p;
8 union zt { float *x; char y[10]; int z[10];} p[10];
III. Determinati necesarul de memorie interna alocat pentru segmentul de date, stiva și heap.

#include<iostream>
using namespace std;
int func(char *r, int n, char
c)
{
    int z;
    //code
    return z;
}
int main()
{
   char *ptr = new char[20];
   int len;
   char ch;
   int k = func(ptr,len,ch);
   delete []ptr;
}

Varianta 6
I.Determinați numărul de operații elementare din următoarele declarații.

Exemplu  1 Exemplu 2 Exemplu 3


int i,j,s; int x=5,y; int sum = 0;
i=j=2;  if(x<1) y=2*x; for (int i=1; i<=10;
s=(i++)+(++j);   else if (x<=4) y=x+1; i+=3) 
     else  {
       if (x<10) y=x*x; sum = sum + i;
          else y=2*x+3; }

Exemplu 4 Exemplu 5 Exemplu 6


int speed = 20; int c=0; int c = 20,k=0;
do for(int j = 1; j < 20; do
{ j+=3)     {
    speed -= 5;    for(int k=0; k < 20;       c -= 5;
    cout<<speed<<" "; k+=5)       k=c;
}      c++;       while(k<=10)k+=5;
 while ( speed >     }
10 ); while ( c > 10 );

II. Determinați necesasrul de memorie, necesar pentru urmatoarele declarații de variabile.


№ Declarația datelor Necesarul de memorie
1 int a; float c;
2 char x[9];
3 double y[4][4];
4 long int *r;
5 struct s { int a[5],b[7]; float s;} q,p;
6 struct st { bool b[5]; char s[10]; int c[15]} *q;
7 union z { float x; int y; bool z[10];} p;
8 union zt { int x[10]; char y[10]; double *z;}
p[10];

III. Determinati necesarul de memorie interna alocat pentru segmentul de date, stiva și heap.

#include<iostream>
using namespace std;
bool func(float *r, int n)
{
    int a;
    bool z;
    return z;
}
int main()
{
   float *ptr = new
float[10];
   int cnt;
   bool rez = func(ptr,cnt);
   delete []ptr;
}

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