Page 84 - MATINF Nr. 3
P. 84

˘
            84                                           PROBLEME DE INFORMATICA PENTRU EXAMENE


                  care se calculeaz˘a num˘arul de ore petrecute ˆın parcare, f˘acˆandu-se rotunjire prin adaos.
                  (6p.)

               3. Se consider˘a dou˘a tablouri unidimensio-             i=m; j=1; k=0;
                  nale: a ce cont , ine m elemente ordonate             while (...)
                  cresc˘ator s , i b ce cont , ine n elemente ordo-        if (a[i]>b[j])
                  nate descresc˘ator. Elementele vectorilor                   c[++k]=a[i--];
                  se presupun numerotate ˆıncepˆand de la                  else
                  1. Completat , i cele 3 puncte de suspen-                   c[++k]=b[j++];
                  sie ce reprezint˘a o expresie logic˘a s , i dou˘a     ..................
                  instruct , iuni, astfel ˆıncˆat, dup˘a executarea     ..................
                  secvent , ei de cod s˘a se obt , in˘a vectorul c
                  care cont , ine toate elementele din a s , i b,
                  ordonate descresc˘ator.             (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. Se cites , te de la tastatur˘a un num˘ar natural n de maxim 9 cifre. S˘a se scrie un program
                  C/C++ care determin˘a s , i afis , eaz˘a num˘arul m format din cifrele lui n, ˆın ordinea ˆın care
                  apar ˆın num˘arul n, eliminˆand prima cifr˘a maxim˘a s , i prima cifr˘a minim˘a, de la dreapta
                  num˘arului n.                                                                       (10p.)
                  Exemplu: Pentru n = 681213 se obt , ine m = 6123.
               2. Se cites , te de la tastatur˘a un num˘ar natural nenul n. Scriet , i un program C/C++ care
                  determin˘a dintre toate numerele mai mici sau egale decˆat n pe cel mai mic care are num˘ar
                  maxim de divizori naturali.                                                         (10p.)
                  Exemplu: Pentru n = 19 se va afis , a valoarea 18, acesta avˆand 6 divizori naturali (precum
                  are s , i num˘arul 12).
               3. Fis , ierul bac.txt cont , ine pe prima linie valoarea natural˘a nenul˘a a variabilei n, iar pe
                  urm˘atoarea linie un s , ir de n numere naturale de cel mult 9 cifre fiecare, numerele fiind
                  desp˘art , ite prin spat , ii. Se cere s˘a se stabileasc˘a dac˘a numerele din fis , ier formeaz˘a un s , ir
                  strict monoton (strict cresc˘ator sau strict descresc˘ator), ˆın ordinea ˆın care apar ˆın fis , ier.
                  Se va afis , a textul ”Da” dac˘a numerele formeaz˘a un s , ir strict monoton, respectiv ”Nu” ˆın
                  caz contrar.
                    a) Descriet , i ˆın limbaj natural un algoritm eficient de rezolvare a problemei.   (3p.)
                    b) Scriet , i un program C/C++ care cites , te datele din fis , ier s , i rezolv˘a problema. (7p.)

                  Exemplu: Dac˘a ˆın fis , ierul bac.txt se afl˘a numerele:
                  9

                  3 10 11 14 16 17 19 180
                  atunci pe ecran se va afis , a ”Da”.
   79   80   81   82   83   84   85   86   87   88   89