Page 79 - MATINF Nr. 8
P. 79

˘
            PROBLEME DE INFORMATICA PENTRU EXAMENE                                                         79


                SUBIECTUL al III-lea (30 de puncte)

                Scriet , i pe foaia de examen r˘aspunsul corect pentru fiecare dintre cerint , ele
            urm˘atoare.
               1. Subprogramul f are doi parametri:

                                                                           5
                     • n, prin care primes , te un num˘ar natural (n ∈ [2, 10 ]);
                     • m, prin care furnizeaz˘a cel mai mare num˘ar din intervalul ˆınchis [2, n] care are
                                                              ˆ
                       num˘arul factorilor primi divizibil cu 3. In cazul ˆın care nu exist˘a, m primes , te valoarea
                       −1.

                  Scriet , i definit , ia complet˘a a subprogramului.
                  Exemplu: dac˘ n = 32 atunci, ˆın urma apelului, m = 30.                             (10p.)
                                  a
                                                                         a
               2. Scriet , i un program C/C++ care cites , te de la tastatur˘ num˘arul natural n (n ∈ [5, 50]) s , i
                  elementele unui tablou bidimensional cu n linii s , i n coloane, numere naturale din intervalul
                       2
                                            a
                  [0, 10 ]. Programul afis , eaz˘ pe ecran cele mai mari valori din cele 4 zone (nord-sud-est-vest)
                                                    a
                  delimitate de diagonala principal˘ s , i cea secundar˘a, neincluzˆand diagonalele.
                                                                        a
                  Exemplu: pentru n=7 s , i tabloul al˘aturat, se afis , eaz˘ pe ecran 9, 9, 8, 8.
                  1 2 3 4 5 5 6
                  7 8 9 0 3 1 2

                  4 6 8 0 1 1 3
                  8 6 3 6 2 4 7

                  5 7 9 2 2 5 8
                  1 4 7 0 5 3 6
                  9 2 5 8 5 9 1                                                                       (10p.)
                                                                                                       9
                                                                 6
               3. Fis , ierul bac.txt cont , ine un s , ir de cel mult 10 numere naturale din intervalul [0, 10 ]. Se
                        a
                  cere s˘ se determine s , i s˘ se afis , eze pe ecran, separate printr-un spat , iu, numerele cuprinse
                                          a
                  in intervalul [0, 99] care nu apar ˆın compozit , ia numerelor din fis , ier. Proiectat , i un algoritm
                  eficient din punctul de vedere al memoriei utilizate s , i al timpului de executare.
                  Exemplu: Dac˘a fis , ierul cont , ine numerele 222 345 821 se vor afis , a numerele ˆıntregi din
                  intervalul [0, 99], {22, 34, 45, 82, 21}

                    a) Descriet , i ˆın limbaj natural algoritmul proiectat, justificˆand eficient , a acestuia. (2p.)
                    b) Scriet , i programul C/C++ corespunz˘ator algoritmului proiectat.               (8p.)
   74   75   76   77   78   79   80   81   82   83   84