Page 75 - MATINF Nr. 6
P. 75

˘
            PROBLEME DE INFORMATICA PENTRU EXAMENE                                                         75


                  S˘a se scrie o secvent , ˘a de program C/C++ care determin˘a ˆın variabila u suma unghiurilor
                  u1 s , i u2.                                                                         (6p.)

                SUBIECTUL al III-lea (30 de puncte)

                Scriet¸i pe foaia de examen r˘aspunsul pentru fiecare din cerint¸ele urm˘atoare.

               1. Scriet¸i un program ˆın C/C++ care cite¸ste elementele ˆıntregi ale unui tablou bidimensional
                  x cu n linii numerotate de la 1 la n s , i m coloane numerotate de la 1 la m (n, m numere
                  naturale nenule, n, m<15) s , i determin˘a s , i afis , eaz˘a media aritmetic˘a a elementelor x[i][j]
                                                                               ∗
                  din tablou care ˆındeplinesc proprietatea c˘a i+j=k, unde k∈ N , k≤n+m, citit de la tastatur˘a.
                  Rezultatul se va afis , a cu dou˘a zecimale.                                         (10p.)
                                                                    †                   
                                                                         7   3   2   9
                                                                         6   5   4   1
                  Exemplu: pentru n=4, m=4 ¸si k=5 s , i tabloul                           , se va afis , a 2.50
                                                                         4 −6 2 −9
                                                                         3 −8 7      2
                  ((9+4-6+3)/4).

               2. Un num˘ar se numes , te super multiplu de k dac˘a atˆat num˘arul, cˆat s , i toate prefixele sale
                  sunt multipli de k.
                  Exemplu: n=846 este supermultiplu de k=2, deoarece 846, 84, 8 sunt multipli ai
                  num˘arului 2.
                    a) Scriet¸i definit¸ia complet˘a a subprogramului bac cu doi parametri: n s , i k numere
                       natural nenule, care prime¸ste prin intermediul acestora dou˘a numere naturale de
                       maxim 9 cifre fiecare. Subprogramul returneaz˘a valoarea 1 dac˘a num˘arul n este
                       supermultiplu de k ¸si 0 ˆın caz contrar.                                       (6p.)
                    b) Scriet¸i un program C/C++ care cite¸ste de la tastatur˘a 3 numere naturale nenule
                       a, b s , i c, de maxim 9 cifre fiecare, apoi folosind apeluri utile ale subprogramului
                       de la punctul a) determin˘a ¸si afi¸seaz˘a pe ecran toate numerele din intervalul ˆınchis
                                                                         ˆ
                       determinat de a s , i b care sunt supermultipli de c. In cazul ˆın care nu exist˘a ˆın interval
                       numere supermultipli de c, se va afi¸sa un mesaj corespunz˘ator.                 (4p.)
                       Exemplu: pentru a=50, b=1000 ¸si c=7, se vor afi¸sa numerele 70, 77, 700, 707, 770,
                       777.
               3. Fi¸sierul text bac.in cont¸ine pe primul rˆand dou˘a numere natural nenule, n s , i k, n≤10000,
                  k≤n, iar pe al doilea rˆand n numere reale.

                    a) Folosind un algoritm eficient din punct de vedere al timpului de executare, scriet¸i un
                       program C/C++ care cite¸ste numerele din fi¸sier ¸si determin˘a num˘arul de secvent , e de
                       lungime k de numere de pe al doilea rˆand din fis , ier care ˆıncep s , i se termin˘a cu aceeas , i
                       valoare. Rezultatul se va afi¸sa pe ecran, iar dac˘a ˆın fis , ier nu exist˘a nicio secvent , ˘a cu
                       aceast˘a proprietate, se va afis , a un mesaj corespunz˘ator.                    (6p.)
                       Exemplu: dac˘a fi¸sierul bac.in are urm˘atorul cont¸inut:
                             12 3

                             3 2 9 6 9 15 -3 15 -3 16 24 31
                       se va afi¸sa 3 (9 6 9; 15 -3 15; -3 15 -3).
                    b) Descriet¸i ˆın limbaj natural metoda utilizat˘a justificˆand eficient¸a acesteia.  (4p.)
   70   71   72   73   74   75   76   77   78   79   80