Page 92 - MATINF Nr. 3
P. 92

˘
            92                                           PROBLEME DE INFORMATICA PENTRU EXAMENE


                    citeste a,b (numere naturale)
                    p←1
                    cat timp(a*b>0 si a%10=b%10) executa
                    |   a←[a/10]
                    |   b←[b/10]
                    |_ p←p*10
                    a←a*p
                    scrie a


                    a) Ce valoare se afi¸seaz˘a dac˘a se citesc valorile 12345 ¸si 145 ?                (6p.)
                    b) Dac˘a pentru b se cite¸ste valoarea 89, scriet¸i care este num˘arul numerelor cu patru
                       cifre distincte, ce pot fi citite pentru variabila a, astfel ˆıncˆat valoarea afi¸sat˘a s˘a fie
                       divizibil˘a cu 50?                                                              (6p.)
                    c) Scriet¸i ˆın pseudocod un algoritm echivalent cu cel dat care s˘a cont¸in˘a, ˆın locul
                       structurii cˆat timp...execut˘a, o structur˘a repetitiv˘a de alt tip.           (6p.)
                    d) Scriet¸i programul C/C++ corespunz˘ator algoritmului dat.                      (10p.)
                  ˆ
               2. In declararea urm˘atoare, cˆampurile x ¸si y ale ˆınregistr˘arii pot memora numere naturale
                  ce reprezint˘a, ˆın ordine, extremitatea init¸ial˘a, respectiv extremitatea final˘a a unui graf
                  orientat. Scriet¸i o expresie C/C++ care s˘a aib˘a valoarea 1 dac˘a ¸si numai dac˘a arcele
                  distincte a1 ¸si a2 sunt incidente.                                                  (6p.)

                  typedef struct
                              {
                                 int x,y;
                              } arc;
                  arc a1 ,a2;

                  ˆ
               3. In secvent¸a urm˘atoare, variabilele i, j ¸si x sunt de tip int, iar variabila M memoreaz˘a o
                  matrice cu 5 linii ¸si 5 coloane numerotate de la 1 la 5, cu elemente ˆıntregi. Scriet¸i care
                  este cea mai mare valoare memorat˘a ˆın matrice ¸si care sunt coordonatele elementului din
                  matrice (linia ¸si coloana) ce memoreaz˘a aceast˘a valoare, la finalul execut˘arii secvent¸ei.
                  (6p.)

                  x=0;
                  for(i=1;i <=5;i++)
                     for(j=1;j <=5;j++)
                          {
                              if(i%2!=j%2) x=x+2;
                              else x--;
                              M[i][j]=x;
                          }


                SUBIECTUL al III-lea (30 de puncte)

               1. Un ¸sir cu maximum 255 de caractere cont¸ine cuvinte scrise cu litere mici. Dou˘a cuvinte
                  al˘aturate sunt separate printr-un singur spat¸iu. Scriet¸i programul C/C++ care cite¸ste un
                  astfel de ¸sir ¸si ˆınlocuie¸ste fiecare cuvˆant ce cont¸ine cel put¸in trei litere cu un nou cuvˆant,
                  format cu prima ¸si ultima liter˘a a cuvˆantului. S¸irul obt¸inut se afi¸seaz˘a pe ecran. (10p.)
                  Exemplu: Pentru s , irul am vazut o raza de soare se afis , eaz˘a am vt o ra de se
   87   88   89   90   91   92   93   94   95   96   97