Page 76 - MATINF Nr. 6
P. 76

˘
            76                                           PROBLEME DE INFORMATICA PENTRU EXAMENE


                                                        Testul 2



                                                                                            Maria T˘atulea  3



                 Limbajul C/C++

                Filier˘a teoretic˘a, profil real, specializare matematic˘a-informatic˘a / matematic˘a-informatic˘a
            intensiv informatic˘a, Filier˘a vocat , ional˘a, profil militar, specializare matematic˘a-informatic˘a
            ◦ Toate subiectele sunt obligatorii. Se acord˘a 10 puncte din oficiu.
            ◦ Timpul de lucru efectiv este de 3 ore.
            ◦ Identificatorii utilizat , i ˆın rezolv˘ari trebuie s˘a respecte preciz˘arile din enunt , (bold), iar ˆın
            lipsa unor preciz˘ari explicite, notat , iile trebuie s˘a corespund˘a cu semnificat , iile asociate acestora
            (eventual ˆın form˘a prescurtat˘a). Datele de intrare se consider˘a corecte, validarea lor nefiind
            necesar˘a.
              ˆ
            ◦ In grafurile din cerint , e oricare arc/muchie are extremit˘at , i distincte s , i oricare dou˘a arce/muchii
            difer˘a prin cel put , in una dintre extremit˘at , i.


                SUBIECTUL I (20 de puncte)

                Pentru fiecare dintre itemii de la 1 la 5, scriet¸i pe foaia de examen litera cores-
            punz˘atoare r˘aspunsului corect.
               1. Variabila n reprezint˘a un num˘ar natural cu exact 2 cifre. Care dintre expresiile urm˘atoare
                  are valoarea 1 dac˘a s , i numai dac˘a cifrele lui n au paritate diferit˘a?         (4p.)

                    a) n/2==n%2                                     c) !n/10%2!=n%2
                    b) n/10==n%10                                   d) (n/10+n%10*10)%2==n%2

               2. Se consider˘a urm˘atoarea funct , ie
                  void f(int x, int y)
                  {     if(x*y)
                        {     if(x%3)
                              cout <<x<<" "; | printf ("%d ",x);
                              f(x-1,y -1);
                              cout <<y<<" "; | printf ("%d ",y);
                        }
                        cout <<(x+y)/2<<" "; | printf ("%d ",(x+y)/2);
                  }
                  Cˆate valori se afis , eaz˘a ˆın urma apelului f(4,3)?                                (4p.)
                    a) 0                    b) 9                    c) 8                    d) 1

               3. Utilizˆand metoda backtracking se genereaz˘a toate s , irurile de cel put , in 2 s , i cel mult 4
                  elemente disticte din mult , imea 1,2,3,4,5,6. Care este a 10-a solut , ie?         (4p.)
                    a) 2,4                  b) 1,2,5,4              c) 1,3,4,5              d) 1,3

               4. Fie un arbore cu 5 noduri. Care dintre s , irurile de mai jos poate reprezenta s , irul gradelor
                  nodurilor acestui arbore?                                                           (4p.)
                    a) 1 0 2 0 2            b) 1 1 1 0 1            c) 1 1 2 0 4            d) 2 3 1 1 1

               5. Se consider˘a un graf neorientat corespunz˘ator matricei de adiacent , ˘a:
               3
                Profesor, Colegiul Nat , ional ,,Dinicu Golescu”, Cˆampulung, mariatatulea@yahoo.com
   71   72   73   74   75   76   77   78   79   80   81