Page 90 - MATINF Nr. 11-12
P. 90

˘
            90                                           PROBLEME DE INFORMATICA PENTRU EXAMENE


                                                                                           a
                                        a
                      a
                  Dac˘ d este o variabil˘ de tip float, care este expresia ce poate fi utilizat˘ pentru a avea ˆın
                  d lungimea segmentului?                                                              (6p.)
               3. Se consider˘a secvent , a de instruct , iuni din  char x[100] = "Admitere InfoCUPIT ";
                  dreapta. Ce se va afis , a pe ecran? (6p.)            int i;
                                                                       for(i=0;i<strlen(x);i++)
                                                                          if(!(x[i]>='A'&&x[i]<='Z ')){
                                                                              strcpy(x+i,x+i+1);
                                                                              i--;
                                                                            }
                                                                       cout <<x;



                SUBIECTUL al III-lea (30 de puncte)

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

               1. Subprogramul NrPrim are trei parametri, n, a s , i b, prin care primes , te dou˘a numere
                                             a
                  naturale a < b si returneaz˘ ˆın n suma dintre cel mai mic s , i cel mai mare num˘ar prim din
                            a
                  [a, b]. Dac˘ ˆın [a, b] nu exist˘a numere prime, atunci se va returna 0.            (10p.)
                  Exemplu: dac˘a a=12, b=25 atunci subprogramul returneaz˘a valoarea n=36 (13+23 = 36).
                       a
                                      a
               2. Se d˘ de la tastatur˘ n num˘ar natural din intervalul [1, 100]. Se cere s˘ se construiasc˘ ˆın
                                                                                         a
                                                                                                         a
                  memorie un tablou p˘atratic cu dimensiunea n ˆın care:
                  - elementele diagonalei principale s , i secundar˘a sunt egale cu caracterul *;
                  - elementele triunghiului de sus s , i jos delimitate de diagonale sunt egale cu caracterul @;
                  - elementele triunghiului din stˆanga s , i din dreapta delimitate de diagonale sunt egale cu
                  caracterul %.
                       a
                  Dup˘ construirea tabloului se va afis , a pe ecran ca ˆın exemplul urm˘ator.         (10p.)
                  Exemplu: pentru n = 5 se va afis , a:

                  *@@@*

                  %*@*%
                  %%*%%
                  %*@*%

                  *@@@*
                  ˆ
               3. In fis , ierul bac.txt se afl˘a pe o linie separate prin cˆate un spat , iu cel mult 1000000 de
                  numere cu maxim 9 cifre fiecare. Se cere s˘a se determine pentru fiecare cifr˘a impar˘a ˆın
                  cˆate numere din fis , ier se g˘ases , te. Se va scrie un algoritm eficient din punct de vedere al
                  memoriei s , i al timpului de execut , ie.
                                  a
                  Exemplu: dac˘ fis , ierul bac.txt cont , ine numerele 109 11134 30133 41 5 se va afis , a pe
                  ecran: 1-4ori 3-2ori 5-1ori 7-0ori 9-1ori.

                    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.)
   85   86   87   88   89   90   91   92   93   94   95