Page 81 - MATINF Nr. 3
P. 81

˘
            PROBLEME DE INFORMATICA PENTRU EXAMENE                                                         81


                    c) for(i=1;i<=k;i++)                         d) for(i=1;i<=k;i++)
                                   x[n+i]=x[i];                                  x[i]=x[i+k+1];
                        for(i=1;i<=n;i++)
                                   x[i]=x[i+k];
               5. Variabilele x, y s , i z sunt de tipˆıntreg. Care  x = 3; y = 5; z = 1;
                  este num˘arul de atribuiri care se efectueaz˘a  do {x = y + z;
                  ˆın urm˘atoarea secvent , ˘a s , i valoarea variabi-  y = y - 2;
                  lelor x, y s , i z la final?          (4p.)            z = z + 1;
                                                                        } while(z < y);

                    a) 9 3 5 1             b) 6 5 1 3             c) 3 5 1 3            d) 9 5 1 3


                SUBIECTUL al II-lea (40 de puncte)
                Scriet¸i pe foaia de examen r˘aspunsul pentru fiecare dintre cerint¸ele urm˘atoare.
               1. Se consider˘a algoritmul urm˘ator, scris ˆın pseudocod. S-a notat cu [x] partea ˆıntreag˘a a
                  num˘arului real x iar cu x%y restul ˆımp˘art , irii num˘arului ˆıntreg x la num˘arul ˆıntreg nenul
                  y.
                        citeste x (numar natural)
                        cat timp x6=0 executa
                        |     z←10
                        |     y←x%10
                        |     cat timp x>9 executa
                        |       |     x←[x/10] -1
                        |       |     y←x%10*z+y
                        |       |_    z←z*10
                        |       scrie y
                        |_      citeste x (numar natural)


                    a) Scriet¸i ce se va afis , a dac˘a se citesc ˆın aceast˘a ordine valorile: 138 57 9 2148 5708 300
                       0.                                                                              (6p.)
                    b) Precizat¸i un s , ir de 4 valori distincte ce pot fi citite astfel ˆıncˆat s˘a se afis , eze doar
                       valori nule (egale cu zero).                                                    (6p.)
                    c) Scriet¸i ˆın pseudocod un algoritm echivalent cu cel dat care s˘a utilizeze structuri
                       repetitive de alt tip.                                                          (6p.)
                    d) Scriet¸i programul C/C++ corespunz˘ator algoritmului dat.                      (10p.)

               2. Pentru un punct dat A pentru care se cunosc coordonatele x s , i y s˘a se scrie o condit , ie
                  care are valoarea 1 dac˘a s , i numai dac˘a punctul se g˘ases , te pe una din axe s , i zero ˆın caz
                  contrar.                                                                             (6p.)
               3. S¸tiind c˘a s este un tablou unidimensional cu maxim 50 numere naturale de maxim o cifr˘a,
                  numerotarea acestora ˆıncepˆand de la 0, s , i c˘a init , ial are valoarea (0, 1, 2, 3, 4, 5, 6, 7, 8, 9),
                  iar aux, i, j, di, dj sunt variabile de tip ˆıntreg, s˘a se precizeze care va fi valoarea s , irului
                  ˆın urma execut˘arii urm˘atoarei secvent , e de program C/C++?                       (6p.)
                        di=1; dj=2;        i=0; j=9;
                        while (i < j)
                              { aux=s[i]; s[i]=s[j]; s[j]=aux;
                                 i=i+di; j=j-dj;
                                 di=di+dj; dj=di -dj; di=di -dj;
                              }
   76   77   78   79   80   81   82   83   84   85   86