Sunteți pe pagina 1din 2

Universitatea Constantin Brâncuși din Târgu-Jiu Sesiunea de iarnă 2021

Departamentul de Energie, Mediu și Agroturism


Programarea calculatoarelor și limbaje de programare–Bilet de examen nr. 6
(1 punct din oficiu)
I Precizat răspunsul corect:

I.1. (1 punct) Fie n un număr întreg fără semn de tipul unsigned long long int. Care dintre
următoarele expresii au ca rezultat restul împărțirii numărului n la 8?

a) n ^ ((1ull << 3) - 1); c) n & ((1ull << 3) - 1)


b) n >> 3; d) nici una dintre variantele a, b, c

I. 2. (1 punct) Se consideră următoarea secvență în C/C++:

unsigned int i = 0, j, k;
-------------
j = j % 5;
while ((j > 1) && (j < 5)) {
i++;
j *= j;
}
k = i * j;

Valoarea maximă posibilă pentru variabila k este:


a) 32 c) 50
b) 16 d) nici una dintre variantele a, b, c

I.3. (1 punct) Se consideră declarația:


double x[3][5];
Care din următoarele expresii C/C++ nu este echivalentă cu x[i][j]?

a) *(x[i] +j) c) *(*(x + i) + j)


b) *(x[0]+i*3+j) d) *(x[0]+i*5+j)

II. Fie următorul algoritm în pseudocod (limbaj algoritmic):

întreg n, i, p, a[0..9]; /* tabloul a este indexat de la 0 la 9 */


citește n;
p  1;
pentru i=0,9 execută
a[i]  0;
sfârșit pentru;
repetă
p  (p * (n % 10)) % 10;
a[p]  9 - a[p];
n  [n / 10];
până când n=0;

Director Departament Examinator


Prof. dr. ing. Cristinel Racoceanu Conf. dr. Mădălina Buneci
Universitatea Constantin Brâncuși din Târgu-Jiu Sesiunea de iarnă 2021
Departamentul de Energie, Mediu și Agroturism

pentru i=0, 9 execută


dacă a[i] ≠ 0 atunci
scrie a[i];
sfârșit dacă;
sfârșit pentru;
sfârșit program.

S-a notat x % y restul împărțirii numărului întreg x la y, iar cu [x/10] câtul împărțirii
numărului x la 10 în mulțimea numerelor întregi (partea întreagă a lui x/10)
a) Ce se va afișa pentru n= 1234567? (1 punct)
b) Scrieți algoritmul pseudocod care să fie echivalent cu algoritmul dat și care să conțină
o structură repetitivă cu test inițial în locul structurii repetitive cu test final (1 punct)
c) Scrieți programul C sau C++ corespunzător algoritmului dat. (1 punct)

III. (3 puncte) Se cere să se scrie un program în C sau C++ care rezolvă următoarea
problemă. Se dau (se introduc de la tastatură) două numere naturale m, n (1 <= m, n <=
100). Să se construiască și să se afișeze matricea cu m linii și n coloane ce se
completează cu termenii șirului definit prin recurență:
x0 = 1, x1 = 1, xk = (xk – 1 + xk – 2) % 100 pentru orice k >= 2
Completarea se face linie după linie. Să se determine în plus numărul de linii ce conțin
elemente divizibile cu 7.
Exemplu m = 3, n = 4

1 1 2 3
5 8 13 21
34 55 89 44

Director Departament Examinator


Prof. dr. ing. Cristinel Racoceanu Conf. dr. Mădălina Buneci

S-ar putea să vă placă și