Sunteți pe pagina 1din 5

Probleme examen partial SDA

1. Sa se ceeze o lista dublu inlantuita cu


coordonatele spatiale ale mai multor puncte din
spatiu si apoi sa se afiseze pe ecran punctele cu
coordonatele lor de la inceput spre sfarsit si
invers

2. Sa se creeze o lista simplu inlantuita de
articole cu structura:cod produs un camp numeric
de maximum 4 caractere, denumirea produsului un
camp alfanumeric de maximum 15 caractere,
unitatea de masura un camp de 2 caractere
alfabetice(bc,kg,mp,ml,mc,l,hl, etc.) si pretul
produsului, in ordinea introducerii de la
tastatura si apoi sa se afiseze pe ecran lista.


3. Se considera o lista dublu inlantuita de
studenti cu structura:cod matricol, nume, prenume
si media. Sa se scrie programul in C pentru
crearea, ordonarea dupa medie si afisarea listei
studentilor folosindu-se cate o functie adecvata
pentru fiecare operatie (creare, ordonare si
listare).

4. Se considera o lista simplu inlantuita de
studenti cu structura:cod matricol, nume si
media. Sa se scrie programul in C pentru crearea,
actualizare (adaugari si stergeri) si afisarea
listei studentilor promovati, a studentilor
bursieri(peste media 8) si a studentilor
restantieri




















5. Se considera o stiva de containere cu
caracteristicile:cod container un numar cuprins
intre 1 si 99, continut un camp alfanumeri de
20 caractere, data ambalarii (zi, luna si an)
si greutatea in kg. Sa se simuleze activitatile
de stivuire si de incarcare intr-un mijloc de
transport a containerelor din stiva.



6. Evenimentele care pot avea loc cu aceasta stiva
de containere sunt: sosirea unui nou container
pentru stivuire simulata prin apasarea tastei S
si incarcarea intr-un mijloc de transport a unui
container simulata prin apasarea tastei I. Pentru
un container sosit pentru stivuire se vor
cere:codul, continutul, data ambalarii si
greutatea iar la incarcarea sa intr-un mijloc de
transport pentru plecare se afisaza aceleasi
informatii. Stiva containerelor se va implementa
ca o lista simplu inlantuita, identificata prin
variabila varf care arata containerul vizibil din
varful stivei, adica primul element din lista de
containere (ultimul asezat in stiva). Intrucat
toate operatiile asupra unei stive se fac pe la
capatul de inceput al listei, nu este necesara
memorarea adresei ultimului element din lista
(care a fost asezat primul in stiva). Functia
push() va simula asezarea unui nou container in
stiva si va returna valoarea 0 in cazul in care
nu s-a reusit alocarea dinamica a spatiului de
memorie necesar pentru introducerea unui nou
element (informatiile containerului) in stiva de
containere si valoarea 1 in caz contrar. Functia
pop() va oferi informatii, prin intermediul
parametrilor sai, despre containerul scos din
stiva pentru expediere si va returna valoarea 1
daca in stiva nu mai sunt containere si valoarea
0 in caz contrar.




7. Se considera o coada de masini, la o statie de
alimentare cu benzina, cu caracteristicile:
numarul de inmatriculare un camp alfanumeric de
10 caractere, tipul masinii un camp alfanumeric
de 15 caractere, culoarea un camp alfanumeric de
10 caractere. Sa se simuleze activitatile de
alimentare cu benzina ale masinilor din coada:
adaugarea unei masini la coada, eliminarea din
capul cozii a masinii alimentate si listarea
tuturor masinilor din coada folosindu-se cate o
functie adecvat definite.


8. Evenimentele care pot avea loc cu aceasta coada
sunt: adaugarea unei noi masini la coada,
simulata prin apasarea tastei a, eliminarea din
coada a masinii alimentate simulata prin apasarea
tastei e si listarea masinilor din coada simulata
prin apasarea tastei l. Pentru o masina sosita la
coada se vor cere:numarul de inmatriculare,
tipul, culoarea si capacitatea rezervorului iar
la plecarea masinii dupa ce a fost alimentata se
vor afisa aceleasi informatii. Listarea masinilor
din coada presupune afisarea acelorasi informatii
pentru toate masinile care sunt la coada si
urmeaza sa se alimenteze cu benzina. Coada
masinilor se va implementa ca un tablou de
pointeri spre articole de tip structura care se
initializeaza cu valoarea NULL. Toate operatiile
asupr unei cozi se fac pe la ambele capate ale
listei si constau fie din adaugarea unei
structuri de tip masina la sfarsitul cozii fie
din extragerea (stergera) unei structuri de tip
masina la inceputul cozii. Functia qstore() va
simula asezarea unei noi masini la coada si
verifica daca lista este completa. Functia
qretrieve() simuleaza eliberarea unei masini din
coada si va returna NULL daca nu mai sunt masini
in coada si va returna pozitia urmatoarei masini
care va fi eliberata, permitand in acest mod
afisarea informatiilor despre masina care va fi
eliberata.

9. Sa se creeze o lista dublu inlantuita cu
angajatii unei firme ordonata dupa numele si
prenumele angajatilor si sa se actualizeze
aceasta lista (adaugarea la locul potivit a unui
nou angajat, stergerea cat si modificarea datelor
unui angajat) urmata de listarea la cerere a
tuturor angajatilor.





10. Sa se creeze o lista dublu inlantuita cu
stocurile articolelor de marfuri dintr-o firma
ordonata dupa codurile marfurilor si sa se
actualizeze aceasta lista (adaugarea la locul
potivit a unui articol , stergerea cat si
modificarea datelor unui articol ca urmare a
intrarilor si iesirilor de articole) urmata de
listarea la cerere a tuturor articolelor, a celor
care au suerit modificari, a celor sterse si a
celor noi adaugate in lista.

11. Sa se simuleze activitatile legate de
incarcarea vagoanelor de marfuri (sosirea si
plecarea) si sa se afiseze lista tuturor
vagoanelor care au fost incarcate si au plecat,
lista vagoanelor care asteapta sa fie incarcate
impreuna cu toate caracteristicile acestora.


12. Sa se creeze o lista dublu inlantuita de
produse dintr-un nomenclator de produse cu
structura: cod produs, denumire, unitate de
masura si pret) si sa se ordoneze crescator lista
de produse dupa cod de produs, dupa denumire si
dupa pret afisandu-se aceste liste si in ordine
descrescatoare prin parcurgerea inversa a acestor
liste.









Probleme examen partial SDA

1. Sa se defineasca programul ce construieste o
lista inlantuita contine titlul si autorul unor
carti, precum si editura la care au fost
tiparite. Sa se afiseze acele carti din lista
care au fost editate la o anumita editura.

2. Sa se defineasca programul ce construieste o
lista de numere intregi, iar apoi sa se stearga
din lista inlantuita (de numere intregi) toate
nodurile ce contin valori mai mari decat o
anumita valoare, si sa se tipareasca elementele
ramase.


3. Sa se defineasca programul ce construieste o
lista de numere intregi ordonate crescator, iar
apoi sa se adauge un numar a.i. elementele in
lista sa ramana ordonate.

4. Definiti un program care construieste un arbore
binar de cautare, care contine cuvinte, introduse
de la tastatura, pana cand se citeste un cuvant
vid. Sa se afiseze cuvintele in ordine
alfabetica, precum si inaltimea arborelui,
numarul de noduri, frunze, si numarul de noduri
care nu au doi descendenti.



5. Definiti un program care construieste un arbore
binar de cautare, care contine numere, introduse
de la tastatura, pana cand se citeste EOF. Sa se
afiseze numerele in ordine descrescatoare, precum
si inaltimea arborelui, numarul de noduri,
frunze, si numarul de noduri care nu au doi
descendenti.