Page 81 - REVISTA MATINF Nr. 5
P. 81

˘
            PROBLEME DE INFORMATICA PENTRU EXAMENE                                                         81


                  virgul˘a, perechile de cuvinte din text cu proprietatea c˘a toate caracterele din al doilea
                  cuvˆant se reg˘asesc ˆın primul cuvˆant, ˆın aceeas , i ordine, nu neap˘arat pe pozit , ii consecutive.
                  Dac˘a nu a fost g˘asit˘a nicio pereche se va afis , a mesajul ”nu exist˘a”.
                  Exemplu: pentru textul
                  dupa    ore de mers prin pestera, se puteau observa pe tavan              forme conice
                  se vor afis , a perechile
                  forme ore, pestera se, observa se, puteau pe, pestera pe.                          (10p.)

               3. Se consider˘a s , irul 1, 1, 1, 8, 29, 85, 246, 715 ... definit astfel: f 1 = f 2 = f 3 = 1,
                  f n = 3 · f n−1 − f n−2 + 2 · f n−3 + 4 (unde n este un num˘ar natural, n ≥ 4). Se citesc de
                  la tastatur˘a trei numere naturale x, y, z (numere naturale cu maxim 9 cifre), valorile a
                  trei termeni aflat , i pe pozit , ii consecutive ˆın s , irul dat, s , i se cere s˘a se scrie ˆın fis , ierul text
                  bac.txt, ˆın ordine descresc˘atoare, separat , i prin cˆate un spat , iu, tot , i termenii s , irului care
                  sunt mai mici sau egali cu z. Proiectat , i un algoritm eficient din punctul de vedere al
                  memoriei utilizate s , i al timpului de executare.
                  Exemplu: dac˘a se citesc numerele 85 246 715, fis , ierul bac.txt cont , ine numerele 715 246
                  85 29 8 1 1 1 .
                    a) Scriet , i programul C/C++ corespunz˘ator algoritmului proiectat.               (8p.)
                    b) Descriet , i ˆın limbaj natural algoritmul proiectat, justificˆand eficient , a acestuia. (2p.)




                                                        Testul 2


                                                                                  Cristina Constantinescu   2


                Limbajul C/C++
                SUBIECTUL I (20 de puncte)

                Pentru fiecare dintre itemii de la 1 la 5, scriet , i pe foaia de examen litera cores-
            punz˘atoare r˘aspunsului corect.

               1. Variabila x este de tip ˆıntreg s , i poate memora un num˘ar din intervalul [1000,2000].
                  Indicat , i valoarea minim˘a pe care o poate avea expresia C/C++: (x-999)%1000.      (4p.)

                    a) 0                    b) 2                    c) 999                  d) 1000
               2. Subprogramul f este definit mai jos. Indicat , i ce se afis , eaz˘a ˆın urma apelului: f(9); (4p.)

                  void f(int x)
                  { if(x >=2)
                     { if(x%2==0) cout <<0; | printf ("0");
                        f(x/2);
                     }
                     else cout <<7; | printf ("7");
                     cout <<x; | printf ("%d",x);
                  }





               2
                Profesor, Colegiul Nat , ional ,,Zinca Golescu”, Pites , ti, cristina.constantinescu70@gmail.com
   76   77   78   79   80   81   82   83   84   85   86