Sunteți pe pagina 1din 3

Examen de licen 2014, specializarea Informatic model de subiect

1. Algoritmic i programare (circa 60')

Scriei un program ntr-unul din limbajele de programare Python, C++, Java, C# care:
a. Definete o clas B avnd un atribut b de tip ntreg i o metod de tiprire care afieaz
atributul b la ieirea standard.
b. Definete o clas D derivat din B avnd un atribut d de tip ir de caractere i de asemenea o
metod de tiprire pe ieirea standard care va afia atributul b din clasa de baz i atributul
d.
c. Definete o funcie care construiete o list coninnd: un obiect o1 de tip B avnd b egal cu
8; un obiect o2 de tip D avnd b egal cu 5 i d egal cu D5; un obiect o3 de tip B avnd b
egal cu -3; un obiect o4 de tip D avnd b egal cu 9 i d egal cu D9.
d. Definete o funcie care primete o list cu obiecte de tip B i returneaz o list doar cu
obiectele care satisfac proprietatea: b>6.
e. Pentru tipul de dat list utilizat n program, scriei specificaiile operaiilor folosite.

Se pot folosi biblioteci existente pentru structuri de date (Python, C++, Java, C#). Nu se cere
implementare pentru operaiile listei.

2. Baze de date (circa 30')

A. Se cere o baz de date relaional, cu tabele n 3NF, ce gestioneaz urmtoarele informaii


dintr-o firm de soft:
activiti: cod activitate, descriere, tip activitate;
angajai: cod angajat, nume, list activiti, echipa din care face parte, liderul echipei;
unde:
o activitate este identificat prin "cod activitate";
un angajat este identificat prin "cod angajat";
un angajat face parte dintr-o singur echip, iar echipa are un lider, care la rndul su este
angajat al firmei;
un angajat poate s participe la realizarea mai multor activiti, iar la o activitate pot s
participe mai muli angajai;
Justificai c tabelele obinute sunt n 3NF.
B. Pentru baza de date de la punctul A, s se rezolve, folosind algebra relaional sau Select-SQL,
urmtoarele interogri:
i. Numele angajailor care lucreaz la cel puin o activitate de tipul "Proiectare" i nu lucreaz
la nici o activitate de tipul "Testare".
ii. Numele angajailor care sunt liderii unei echipe cu cel puin 10 angajai.
3. Sisteme de operare (circa 30')

A. Prezentai pe scurt strile READY, RUN i WAIT ale unui proces i evenimentele care cauzeaz
trecerea unui proces dintr-una ntr-alta.

B. Completai programul urmtor astfel nct procesul printe s trimit prin PIPE variabila n
procesului fiu i s primeasc napoi valoarea ei dublat. Evitai ca procesul fiu s tipreasc pe
ecran sau s devin zombie.

1. int main() {
2. int n=1;
3. if(fork() == 0) {
4. }
5. printf(%d\n, n);
6. return 1;
7. }

C. Explicai funcionarea scriptului SH de mai jos i semnificaia rezultatului tiprit pe ecran.


Modificai scriptul astfel nct rezultatul tiprit pe ecran s se aplice doar fiierelor cu mai mult de
10 linii.

1. N=0
2. for F in *.txt; do
3. K=`wc l $F|cut d f1`
4. N=`expr $N + $K`
5. done
6. echo $N
Barem 1. Algoritmic i programare:

Oficiu 1p
Definirea clasei B 1p
Definirea clasei D 1.5p
Definirea funciei de la pct c) 1.5p
Definirea funciei de la pct d) 3p
Specificaiile operaiilor Listei 2p

La fiecare dintre punctele detaliate anterior se va ine cont de:


utilizarea corect a claselor i obiectelor
utilizarea corect a operaiilor listei (respectarea specificaiilor)
corectitudinea subprogramelor
ncapsularea datelor
respectarea specificului tipului de dat List n proiectarea operaiilor caracteristice.
nume sugestive, indentri, comentarii dac este cazul.

Barem 2. Baze de date:


1 punct din oficiu
A: 3 puncte pentru tabele n 3NF; 1 punct pentru justificare.
B: 2.5 puncte pentru B.i; 2.5 puncte pentru B.ii.

Barem 3. Sisteme de operare:


Oficiu 1p
Problema A 3p
Problema B 3p
Problema C Functionare si interpretarea rezultatelor 1p
Problema C - Modificare (executarea liniei 4 doar daca K este mai mare decat 10) 2p

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