Sunteți pe pagina 1din 1

PROGRAMARE PROCEDURALA Anul I, Sem I, EXAMEN SESIUNEA: __________________________________ Numele si prenumele ____________________________________________ Grupa __________ ===================================================================== [10p] Oficiu

Subiectul 2 [5p] a) Fie functia Subiectul 1 void f( ... ) {a++; *b--; *c = a + *b;} [5p] a) Fie definitia: int a = 5, b = 3, c = 1, Se stie ca x, y si z sunt variabile intregi. d = 3; Intitial x = 11 si y = 6, iar dupa apelul f(x, &y, &z), valorile celor trei variabile sunt x = Care dintre urmatoarele expresii logice au 11, y = 5 si z = 17. Care dintre urmatoarele valoarea 1 (adevarat): constructii reprezint antetul corect al 1) a < b || c functiei? 2) (b == d && c || a >= b) a) void f(int *a, int b, int *c) 3) (c && d > b) b) void f(int a, int b, int c) 4) a > b || !(d<a) c) void f(int a, int *b, int *c) 5) (a == b) && c d) void f(int *a, int *b, int *c) Rspuns: __________________ [5p] b) Se considera programul #include <stdio.h> void aplic(int x, int *y){ x+=3; (*y)-=2; printf("%d, %d", x, *y); } void main(void){ int x=12, y=20; aplic(x, &x); printf(",%d,",x); printf("%d,",y);aplic(y,&y); } Ce se va afisa in urma executarii acestuia? Rspuns: ___________________________________ [15p] b) Scriei o funcie cu prototipul int f(int *); care returneaza numarul de biti egali cu 1 ai valorii intregi specificate de catre unicul parametru al functiei. Pentru instructiunile repetitive, sa se specifice proprietatea invarianta. Subiectul 3 [20p] Sa se scrie o functie care pentru orice tabloul bidimensional patratic (cu numere float), alocat in afara functie dar transmis ca parametru, afiseaza, dinspre exterior spre interior, suma numerelor situate pe laturile patratelor concentrice.

Subiectul 4 [20p] S se scrie un program C, modular, care citeste - de la mediul standard de intrare - un sir de n numere double, determina cea mai lunga subsecventa formata numai din numere crescatoare precum si timpul unitatii centrale necesar pentru afisarea secventei gasite. Subiectul 5 [20p] Sa se scrie un program C care preia din linia de comanda un numar intreg fara semn n (cel mult 50000), numele (calea) unui fisier text (f1) in care se vor genera numerele de la 1 la n (crescator, cu pasul 1) si calea unui al doilea fisier text (f2). Sa se obtina dupa citirea fisierului f1, fisierul text f2, care contine numai numerele prime mai mici decat n. Se vor folosi functiile specifice C (cele din stdio.h) Timp de lucru: 2ore 30 minute =======================================================================

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