Page 94 - MATINF Nr. 7
P. 94

˘
            94                                           PROBLEME DE INFORMATICA PENTRU EXAMENE


                  dup˘a fiecare num˘ar impar adaug˘a valoarea 1. Tabloul modificat este transmis tot prin
                  parametru v.                                                                        (10p.)
               2. Scriet , i un program C/C++ care cites , te de la tastatur˘a un num˘ar natural n ∈ [3, 10] s , i
                  construies , te ˆın memorie un tablou bidimensional cu n linii s , i n coloane numerotate de la 1
                  astfel ˆıncˆat fiecare linie a sa are propriet˘at , ile:


                     • elementele situate pe diagolana principal˘a au valoarea n;
                     • ˆıncepˆand de la diagonala principal˘a spre dreapta, valoarea elementului scade cu cˆate
                       o unitate, valoarea par˘a a lui n se memoreaz˘a, iar ˆın locul celei impare se va memora
                                                         ˆ
                       suma coordonatelor ˆın tablou. Incepˆand de la diagonala secundar˘a spre stˆanga,
                       valoarea elementului scade cu cˆate o unitate, valoarea par˘a a lui n se memoreaz˘a, iar
                       ˆın locul celei impare se va memora suma coordonatelor ˆın tablou.

                  Programul afis , eaz˘a pe ecran tabloul construit, fiecare linie a tabloului pe cˆate o linie a
                  ecranului, cu elementele aflate pe aceeas , i linie separate prin cˆate un spatiu.   (10p.)
                                                                         5 4 4 2 6
                                                                         4 5 4 6 2
                  Exemplu: Dac˘a n = 5 se afis , eaz˘a pe ecran tabloul 4 4 5 4 8
                                                                         2 6 4 5 4
                                                                         6 2 8 4 5
                                                                                                  5
               3. Fis , ierele bac1.txt s , i bac2.txt cont , in numere naturale din intervalul [0, 10 ]: fis , ierul
                  bac1.txt cont , ine pe prima linie un num˘ar n1, iar pe a doua linie un s , ir de n1 numere,
                  iar fis , ierul bac2.txt cont , ine pe prima linie un num˘ar n2, iar pe a doua linie un s , ir de
                  n2 numere. Numerele aflate pe aceeas , i linie a unui fis , ier sunt ordonate cresc˘ator s , i sunt
                  separate prin cˆate un spat , iu. Se cere s˘a se afis , eze pe ecran suma numerelor prime. Se
                  s , tie c˘a un num˘ar poate s˘a apar˘a de mai multe ori ˆıntr-unul sau ˆın ambele fis , iere, acesta
                  va fi ad˘augat la sum˘a o singur˘a data. Dac˘a nu exist˘a niciun num˘ar prim, se va afis , a pe
                  ecran mesajul nu exista. Proiectat , i un algoritm eficient din punct de vedere al memoriei
                  utilizate s , i al timpului de executare.
                  Exemplu:

                  Dac˘a fis , ierul bac1.txt cont , ine numerele   iar fisierul bac2.txt cont , ine numerele
                  5                                               8

                  1 9 10 11 14                                    2 5 9 9 17 23 101 138

                  Pe ecran se afis , eaz˘a 159.
                    a) Descriet , i ˆın limbaj natural algoritmul proiectat, justificˆand eficient , a acestuia. (2p.)
                    b) Scriet , i programul C/C++ corespunzator algoritmului proiectat.                (8p.)
   89   90   91   92   93   94   95   96   97   98   99