Page 84 - MATINF Nr. 8
P. 84

˘
            84                                           PROBLEME DE INFORMATICA PENTRU EXAMENE


                  strcpy(s, "ROMANIA ");
                  i= strlen(s);
                  for(j=3;       j >=0; j--)
                       {aux=s[i]; s[i]=s[i-j];
                       s[i-j]=aux; i=i-j;
                       }
               3. Variabilele i ¸si j sunt de tip ˆıntreg, iar variabila a memoreaz˘a un tablou bidimensional
                  cu 5 linii ¸si 7 coloane, numerotate ˆıncepˆand de la 0, cu elemente numere ˆıntregi, init , ial
                                        a
                                                                                                        a
                  toate egale cu 1. F˘ar˘ a utiliza alte variabile decˆat cele ment , ionate, scriet¸i o secvent¸˘ de
                                                     a
                  instruct¸iuni prin care se transform˘ ˆın memorie tabloul, astfel ˆıncˆat orice element aflat pe
                                                  a
                  prima linie sau pe prima coloan˘ s˘ aib˘ valoarea 1 ¸si oricare alt element din tablou s˘ fie
                                                                                                        a
                                                     a
                                                          a
                                     a
                                                         a
                  egal cu ultima cifr˘ a sumei celor dou˘ elemente al˘aturate lui, ˆın stˆanga, respectiv ˆın sus.
                  (6p.)
                SUBIECTUL al III-lea (30 de puncte)
                Scriet¸i pe foaia de examen r˘aspunsul pentru fiecare din cerint¸ele urm˘atoare.
                                                                                                          3
               1. Subprogramul identice are un singur parametru, n, un num˘ar natural (n ∈ [10, 10 ]).
                  Subprogramul returneaz˘a valoarea 1, dac˘a num˘arul n are cifrele egale, sau valoarea 0 ˆın
                                                        a
                  caz contrar. Scriet¸i definit¸ia complet˘ a subprogramului.
                  Exemplu: Dac˘a n = 2222, subprogramul returneaz˘a valoarea 1, iar dac˘a n = 212,
                  subprogramul returneaz˘ valoarea 0.                                                 (10p.)
                                           a
               2. Scriet , i un program C/C++ care cites , te de la tastatur˘a numere naturale: n (n ∈ [2, 20]), k
                                                                 9
                  (k ∈ [1, n]) s , i n · n numere din intervalul [0, 10 ], elemente ale unui tablou bidimensional
                                                               a
                  cu n linii s , i n coloane. Programul transform˘ tabloul ˆın memorie, deplasˆand circular spre
                  dreapta, cu cˆate o pozit , ie, toate elementele situate pe linia a k-a, ˆın stˆanga diagonalei
                  secundare, ca ˆın exemplu. Elementele tabloului obt , inut sunt afis , ate pe ecran, fiecare linie
                  pe cˆate o linie a ecranului, cu elementele fiec˘arei linii separate prin cˆate un spat , iu.
                   Exemplu: pentru n = 5, k = 2 s , i
                           2 3 4 5 6                          2 3 4 5 6
                           2 4 6 8 0                          6 2 4 8 0
                  tabloul 7 8 9 0 1 se obt¸ine tabloul 7 8 9 0 1 .                                    (10p.)
                           3 5 7 9 1                          3 5 7 9 1
                           7 3 8 5 6                          7 3 8 5 6
               3. S , irul de mai jos este definit astfel: f 1 = 1, f 2 = 2, f n = 3 · f n−1 − 2 · f n−2 (unde n este un
                  num˘ar natural n ≥ 3). 1, 2, 4, 8, 16, 32, . . .. Se cites , te de la tastatur˘a un num˘ar natural
                             9
                  x (x ≤ 10 ), valoare a unui termen al s , irului dat, ¸si se cere s˘a se scrie ˆın fi¸sierul text
                  bac.txt, ˆın ordine descresc˘atoare, separat , i prin cˆate un spat , iu, tot¸i termenii ¸sirului care
                  sunt p˘atrate perfecte mai mici sau egale cu x. Proiectat , i un algoritm eficient din punctul
                  de vedere al memoriei utilizate ¸si al timpului de executare.
                                  a
                  Exemplu: dac˘ se cites , te num˘arul 16 fi¸sierul bac.txt cont¸ine numerele 16 4 1
                    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.)
   79   80   81   82   83   84   85   86   87   88   89