Page 115 - MATINF Nr. 1
P. 115

˘
            PROBLEME DE INFORMATICA PENTRU EXAMENE                                                       115


                    a) pow(c1,2)+pow(c2,2)                          c) sqrt(c1+c2)
                    b) sqrt(pow(c1,2)+pow(c2,2))                    d) pow(c1,2)+pow(c2,2)+2*c1*c2

               2. Se consider˘a secvent , a de cod C/C++ de mai jos, ˆın care n memoreaz˘a valoarea unui
                  num˘ar natural nenul dat, iar toate celelalte variabile sunt de tip ˆıntreg.         (4p.)
                  ucp = 1;
                  for (d=1; d<=n; d++)
                              if (n%d==0)
                              ......

                  Expresia care poate ˆınlocui punctele de suspensie astfel ˆıncˆat la sfˆars , itul secvent , ei C/C++
                  obt , inute variabila ucp s˘a memoreze ultima cifr˘a a produsului tuturor divizorilor variabilei
                  n este:                                                                              (4p.)

                    a) ucp=(ucp+d)%10;                              c) ucp=d%10*ucp;
                    b) ucp=n/d%10*upc;                              d) ucp=(ucp*d)%10;

                  Scriet , i r˘aspunsul pentru fiecare din cerint , ele urm˘atoare.
               3. Se consider˘a dou˘a date de nas , tere definite prin variabile ˆıntregi zi1, luna1, an1, respectiv
                  zi2, luna2, an2. Scriet , i o expresie C/C++ care s˘a aib˘a valoarea 1 dac˘a cele dou˘a persoane
                  sunt n˘ascute ˆın aceeas , i zi s , i aceeas , i lun˘a, dar ani diferit , i.         (6p.)
               4. Pentru un num˘ar natural, cifra de ordin 1 este cifra unit˘at , ilor, cifra de ordin 2 este cifra
                  zecilor, cifra de ordin 3 este cifra sutelor, s , .a.m.d. Rotunjirea unui num˘ar la cifra de ordin
                  k se realizeaz˘a ˆın funct , ie de valoarea cifrei imediat din dreapta. De exemplu, pentru
                  n=27432 rotunjirea la cifra de ordin k=2 (cifra zecilor) conduce la num˘arul 27430 pentru
                  c˘a cifra unit˘at , ilor este mai mic˘a decˆat 5, iar pentru n=27472 rotunjire la cifra de ordin
                  k=3 (cifra sutelor) conduce la 27500 pentru c˘a cifra zecilor este mai mare sau egal˘a decˆat
                  5.

                    a) Scriet , i un algoritm ˆın pseudocod care cites , te dou˘a numere naturale n s , i k (n≥1,
                       k≥1) s , i determin˘a num˘arul natural obt , inut prin rotunjirea lui n la ordinul k dac˘a
                       variabila k are valoarea mai mic˘a decˆat num˘arul de cifre ale lui n, iar ˆın caz contrar
                       afis , eaz˘a mesajul ,,Eroare”.                                                 (10p.)
                    b) Ment , ionat , i rolul fiec˘arei variabile s , i specificat , i care sunt datele de intrare s , i care sunt
                       datele de ies , ire ale problemei.                                              (6p.)

                SUBIECTUL al III-lea (30 de puncte)

                Scriet , i pe foaia de examen r˘aspunsul corect pentru fiecare dintre cerint , ele
            urm˘atoare:

               1. Indicat , i expresia care poate ˆınlocui punctele de suspensie astfel ˆıncˆat, ˆın urma execut˘arii
                  secvent , ei obt , inute, s˘a se afis , eze matricea de mai jos.                      (4p.)

                  for(i=1;i <=4;i++)                                                             0 0 0 0
                  { for(j=1;j<=4;j++)                                                            0 1 2 3
                           cout < <......; | printf ("%d" ,......);
                                                                                                 0 1 3 4
                    cout <<endl; | printf ("%n"); }
                                                                                                 0 2 4 6
   110   111   112   113   114   115   116   117   118   119   120