Page 78 - MATINF Nr. 6
P. 78

˘
            78                                           PROBLEME DE INFORMATICA PENTRU EXAMENE


                  a utiliza alte variabile decˆat cele ment¸ionate, scriet¸i secvent¸a de instruct¸iuni urm˘atoare,
                  ˆınlocuind punctele de suspensie astfel ˆıncˆat, ˆın urma execut˘arii secvent¸ei obt¸inute, variabila
                  a s˘a memoreze tabloul al˘aturat.                                                    (6p.)

                  for(i=0;i <=5;i++)                               1 2 3 4 5 6
                        for(j=0;j <=5;j++)                         6 5 4 3 2 1
                              ............                         1 2 3 4 5 6
                                                                   6 5 4 3 2 1
                                                                   1 2 3 4 5 6
                                                                   6 5 4 3 2 1


                SUBIECTUL al III-lea (30 de puncte)
                Scriet¸i pe foaia de examen r˘aspunsul pentru fiecare din cerint¸ele urm˘atoare.

               1. Scriet¸i definit¸ia complet˘a a unui subprogram calcul cu doi parametri:
                                                                             9
                     - n, prin care prime¸ste un num˘ar natural (1 ≤ n ≤ 10 );
                     - x, prin care furnizeaz˘a media aritmetic˘a a cifrelor impare ale num˘arului n, sau -1
                       dac˘a acesta nu are cifre impare.
                  Exemplu: pentru n=3254, dup˘a apel, x va avea valoarea 4, iar pentru n=246, dup˘a apel,
                  x va avea valoarea -1.                                                             (10p.)
               2. Un ¸sir cu maximum 255 de caractere cont¸ine cuvinte formate numai din litere mici ale
                  alfabetului englez. Cuvintele sunt desp˘art¸ite prin unul sau mai multe spat¸ii, virgul˘a sau
                  punct. Scriet¸i un program C/C++ care cite¸ste un astfel de ¸sir s , i afis , eaz˘a pe ecran, separate
                  printr-un singur spatiu, cuvintele din s , ir care au aceleas , i consoane ca s , i primul cuvˆant, ˆın
                  aceeas , i ordine dar nu neap˘arat pe aceleas , i pozit , ii.                       (10p.)
                  Exemplu: pentru ¸sirul
                  mara are un borcan cu miere, rame si cirese amare
                  se va afi¸sa
                  mara miere amare
               3. Numim secvent , ˘a munte a unui s , ir de numere naturale un subs , ir al acestuia, format din
                  termeni aflat , i pe pozit , ii consecutive ˆın s , irul dat, cu proprietatea c˘a formeaz˘a un s , ir nevid
                  strict cresc˘ator pˆan˘a la un moment dat, apoi formeaz˘a un s , ir nevid strict descresc˘ator.
                  Lungimea secvent , ei este egal˘a cu num˘arul de termeni ai acesteia. O secvent , ˘a munte are
                  cel put , in 3 elemente.
                                                                  9
                                                                                                          9
                  Fis , ierul bac.txt cont , ine un s , ir de cel mult 10 numere naturale din intervalul [0,10 ].
                  Numerele sunt separate prin cˆate un spat , iu. Se cere s˘a se afis , eze pe ecran lungimea
                  maxim˘a a unei secvent , e munte s , i num˘arul de secvent , e munte din s , ir. Cele dou˘a valori
                  se vor afis , a pe o singur˘a linie, separate printr-un spat , iu. Proiectat , i un algoritm eficient
                  din punct de vedere al memoriei s , i al timpului de executare.
                  Exemplu: dac˘a fis , ierul bac.txt cont , ine numerele

                  1,2,3,4,3,2,2,4,3,1,1,4,6,1
                  atunci pe ecran se va afis , a 6 3.

                    a) Scriet¸i programul C/C++ corespunz˘ator.                                        (8p.)
                    b) Descriet , i ˆın limbaj natural algoritmul proiectat, justificˆand eficient , a acestuia. (2p.)
   73   74   75   76   77   78   79   80   81   82   83