Page 103 - MATINF Nr.2
P. 103

˘
            PROBLEME DE INFORMATICA PENTRU EXAMENE                                                       103


                    a) Scriet¸i num˘arul ce se va afi¸sa dac˘a pentru a se cite¸ste valoarea 204, iar pentru b se
                       cite¸ste valoarea 213.                                                          (6p.)
                    b) Dac˘a pentru variabila a se cite¸ste valoarea 28 scriet¸i toate valorile care, citite pentru
                       variabila b, determin˘a afi¸sarea num˘arului 3.                                  (6p.)
                    c) Scriet¸i programul C/C++ corespunz˘ator algoritmului dat.                      (10p.)
                    d) Scriet¸i ˆın pseudocod un algoritm echivalent cu algoritmul dat ˆın care s˘a se ˆınlocuiasc˘a
                       structura repetitiv˘a pentru...execut˘a cu o structur˘a repetitiv˘a de un alt tip. (4p.)

                SUBIECTUL al II-lea (30 de puncte)


               1. Se consider˘a o coad˘aˆın care init , ial au fost introduse,ˆın aceast˘a ordine, elementele cu valorile
                  1,2,3,4,5. Se noteaz˘a cu AD(x) operat , ia prin care se adaug˘a elementul cu valoarea x ˆın
                  coad˘a s , i cu EL operat , ia prin care se elimin˘a un element din coad˘a. Cˆate elemente va cont , ine
                  coadaˆın urma execut˘arii secvent , ei de operat , ii: AD(8);EL;EL;AD(7);EL;AD(9)? (4p.)
               2. Cˆate grafuri neorientate, distincte, cu 8 vˆarfuri, se pot construi? Dou˘a grafuri se consider˘a
                  distincte dac˘a matricele lor de adiacent , ˘a sunt diferite.                        (4p.)
               3. Se consider˘a declararea:     char s[50],       strcpy(x,s+4);
                  x[50]; Ce se afis , eaz˘a ˆın urma execut˘arii   strcpy(s+4 ,"123");
                  secvent , ei de program scris˘a al˘aturat dac˘a  strcat(s,x);
                  variabila s memoreaz˘a s , irul bacalaureat?    cout <<s; | printf ("%s", s);
                  (6p.)

               4. Ce se va afis , a ˆın urma execut˘arii secvent , ei  i=0;
                  de instruct , iuni al˘aturate dac˘a variabila i  while (i<strlen(s)-1)
                  este de tip ˆıntreg, iar variabila s memo-            if (s[i]!=s[i+1])
                  reaz˘a s , irul de caractere xxyxztxxyyztt?                 strcpy(s+i,s+i+1);
                  (6p.)                                                 else
                                                                              i=i+1;
                                                                  cout <<s; | printf ("%s", s);


               5. Scriet , i un program C/C++ care cites , te de la tastatur˘a dou˘a numere naturale nenule n s , i
                  m (2≤m≤10, 2≤n≤10) s , i care construies , te ˆın memorie s , i apoi afis , eaz˘a o matrice A cu
                  n linii (numerotate de la 1 la n) s , i m coloane (numerotate de la 1 la m) cu proprietatea
                  c˘a fiecare element A ij memoreaz˘a suma dintre valorile indicilor i s , i j (1≤i≤n, 1≤j≤m).
                  Matricea se va afis , a pe ecran, cˆate o linie a matricei pe cˆate o linie a ecranului, elementele
                  fiec˘arei linii fiind separate prin cˆate un spat , iu.                               (10p.)
                                                                                      2 3 4 5
                                                                                      3 4 5 6
                  Exemplu: Pentru n=4 s , i m=4 se va afis , a matricea al˘aturat˘a.
                                                                                      4 5 6 7
                                                                                      5 6 7 8

                SUBIECTUL al III-lea (30 de puncte)

               1. Se consider˘a subprogramul f        definit      long f(int n)
                  al˘aturat.  Ce valoare are f(5)?       Dar      {
                  f(1000)?                            (4p.)       if(n<0) return 0;
                                                                  else return f(n -4)+n;
                                                                  }
   98   99   100   101   102   103   104   105   106   107   108