Sie sind auf Seite 1von 2

Programare Orientat pe Obiecte

Anul II

Tem
1. Numim numr extins un numr de forma a b p unde a, b sunt numere ntregi iar p este un
numr prim. S se defineasc clasa NrExt, clas care s implementeze lucrul cu numere de forma
definit anterior.
Cerine:
variabila p va fi declarat ca variabil de clas (cu valoarea 2)
elementul 0 va fi valoarea implicit pentru elementele clasei
se vor suprancrca operatorii =,+,*,>>

2. S se exemplifice utilizarea noiunilor: motenire simpl, motenire multipl, funcii virtuale,


clase abstracte prin realizarea unei aplicaii pentru evidena agajailor dintr-o firm.
Cerine:
funciile angajailor sunt organizate ntr-un sistem ierarhic
un manager poate fi CEO, ef departament sau Team leader. Un muncitor nu are nici un
subordonat. Un ef de departament poate avea subordonai mai muli team leaderi.
fiecare angajat va avea: Nume, Salariu, Functie, Departament i lista cu angajaii
subordonai
informaiile vor fi pstrate n fiiere
aplicaia trebuie s permit urmatoarele aciuni: afiarea informaiilor despre toi angajaii,
afiarea cheltuielilor cu salariile, introducerea unui nou angajat (angajarea unei persoane
n firm), modificarea salariului unui angajat

3. S se implementeze clasa ArboreBinar.


Cerine:
nodurile pot fi de orice tip: numere ntregi, reale, obiecte (va fi clas template)
clasa va conine metodele: creare arbore, parcurgere n inordine, parcurgere n postordine,
parcurgere in preordine
Metode specifice arborilor binari :
parcurgerea n inordine (stnga vrf dreapta SVD) se parcurge mai nti subarborele
stng, apoi vrful, apoi subarborele drept.
parcurgerea n preordine (vrf- stnga dreapta VSD) se parcurge mai nti varful, apoi
subarborele stng, apoi subarborele drept.
parcurgerea n postordine (stnga dreapta vrf SDV) se parcurge mai nti subarborele
stng, apoi subarborele drept i la sfrit vrful.

1
parcurgere svd - n inordine
2 3 42516378
parcurgere vsd - n preordine
4 5 6 7 12453678
parcurgere sdv - n postordine
8 45268731

1
4. S se proiecteze i s se implementeze clasa Multime care s permit efectuarea operaiilor
specifice mulimilor: adaugare/eliminare elemente, intersecie, reuniune, diferen.

5. S se implementeze clasa NumarMare care va permite efectuarea operaiilor cu numere mari


(ntregi fr semn).
Cerine:
se vor suprancrca operatorii +,<,<=,==,>,>=
se va implementa o metod care va nmuli un numr mare cu o cifr (0-9). Prototipul
metodei poate fi void operator*=(char);
se va implementa o metod care va nmuli un numr mare cu un ntreg. Prototipul metodei
poate fi void operator*=(long);
s se suprancarce operatorul *
s se calculeze i s se afieze ntr-un fiier valoarea 1234!

6. S se implementeze clase pentru modelarea structurilor de tip list dublu nlnuit i de tip
coad circular.

7. S se implementeze un tip de date definit de utilizator pentru reprezentarea matricilor de numere


reale (clasa Matrice, cu alocare dinamic).
Cerine:
s se suprancarce operatorii + (suma),-(minus),* (produs).
operaia de accesare a unui element al matriciii va fi realizat suprancrcnd operatorul
apel de funcie cu doi parametri. Acest operator trebuie s returneze o referin
s se implementeze o metod pentru calcularea determinantului unei matrice ptratice
s se implementeze o metod pentru calcularea inversei unei matrice ptratice.

8. S se implementeze clasa Matrice Rar. Pentru detalii click aici.

9. S se implementeze clasa Coordonate3D, implementnd metode pentru translaie, rotaie,


calculul produsului scalar, calculul produsului vectorial i suprancrcnd operatorii +,-,=.

10. S se defineasc o ierarhie de clase care s permit gestiunea crilor dintr-o bibliotec.
Cerine:
se va defini clasa Carte, descris de: ISBN, Titlu, Autor, Numar de pagini, Pret
se va defini clasa Raft, descris de: ID, litera de inceput a denumirii cartilor care se afla pe
raft, litera de sfarsit a denumirii cartilor care se afla pe raft, o colectie de crti care se afla
pe raft (list de cri, pentru care se va valida faptul c titlul crii corespunde literelor
raftului)
se va defini clasa Biblioteca, descris de: numar de rafturi, un vector de rafturi
n clasa Biblioteca se vor defini metode pentru: adugarea unei cri (n raftul
corespunztor), tergerea unei cri, cutarea unei cri dup diverse criterii, determinarea
numrului total de cri etc.
informaiile se vor salva ntr-un fiier

Das könnte Ihnen auch gefallen