Page 137 - MATINF Nr. 1
P. 137

˘
            PROBLEME DE INFORMATICA PENTRU EXAMENE                                                       137


                  Se consider˘a dou˘a variabile ˆıntregi a = 200, b = 300. Ce valoare va avea suma a + b dup˘a
                  apelul f(a, b)?

               a) 500                  b) 501                  c) 600                  d) 401
               5. Fie secvent , a de cod
                  int i, j, s=0;
                  for(i=0;i<n;i++)
                        for(j=0;j<n;j++){
                             if(a[i][j] % 2) continue;
                             s+=a[i][j];
                             }

                  unde a este o matrice p˘atratic˘a de numere ˆıntregi, avˆand dimensiunea n, cu liniile s , i
                  coloanele numerotate de la 0. Ce se va salva ˆın variabila s dup˘a executarea secvent , ei?
               a) Suma elementelor pare.                       b) Primul element par.
               c) Suma elementelor impare.                     d) Primul element impar.

               6. Se consider˘a urm˘atoarea secvent , ˘a de cod:
                  int **a;
                  int x[3]={2 ,7 ,3};
                  int y[3]={33 ,44 ,22};
                  a = new int *[2];
                  a[0]=y;
                  a[1]=x;
                  x[1]=55;
                  int s=0;
                  for(int i=0;i<2;i++)
                        s+=a[i][i];
                  cout <<s;

                  Care va fi valoarea variabilei s dup˘a executarea acesteia?
               a) 88                   b) 40                   c) 46                   d) 50

               7. Fie v un vector sortat cu n elemente ˆıntregi, pe pozit , ii numerotate de la 1 la n. Secvent , a
                  de cod de mai jos realizeaz˘a c˘autarea binar˘a a num˘arului x ˆın vectorul v.

                        int p=1, u=n, poz=-1;
                        while(p<=u)
                        {
                             int m=(p+u)/2;
                             if(v[m]==x)
                             {
                                   poz=m;
                                   break;
                             }
                             if(x<v[m])
                                   u=m-1;
                             else
                                   p=m+1;
                        }
                        cout <<poz;

                  Dac˘a v = (2, 4, 7, 10, 25, 36, 45, 78, 89, 92, 95, 98, 100), n = 13 s , i x = 2, num˘arul de
                  ˆınjum˘at˘at , iri ale intervalului este:
   132   133   134   135   136   137   138   139   140   141   142