Sunteți pe pagina 1din 10

Lucrarea de laborator № 5

Elaborarea algoritmilor și design-ului algoritmilor


ambalării fizice a structurilor de date de listă compusă
Indicaţii metodice
Structura de date ca noţiune ne oferă informaţia componenţa elementelor

şi repartizarea lor într-o anumită totalitate independent de mediul în care această

totalitate este realizată. Această structură poate fi realizată pe diverşi suporţi de

date. În dependenţă de varietatea acestor suporţi structura de date va fi realizată

în mod divers. De aceea organizarea şi realizarea oricărei structuri de date logice

într-un mediu fizic concret se consideră împachetare (ambalare) a acestei

structuri. Această împachetare fizică se mai numeşte catalizare.

În prezent SDLC pot fi ambalate prin intermediul următoarelor 4 metode:

1. Metoda succesivă;
2. Metoda în lanţ;
3. Metoda în cuib;
4. Metoda în nod.
Primele două metode se referă la structurile de date liniare, ce operează

numai cu elemente simple.

Metoda succesivă se aplică numai pentru structurile succesive. În acest

caz în memorie se organizează numai domeniul înregistrărilor deoarece

înregistrarea şi citirea lor are loc graţie organizării contorului structurii ce se

indică în programa de prelucrare a structurii.


Metoda în lanţ este utilizată pentru structurile de date în şir. Aici în afară

de domeniul înregistrărilor se mai organizează şi domeniul listei, care este nu

altceva decât programa de transcriere a datelor structurii din memoria externă în

cea internă şi de citire a acestei structuri din memoria internă pentru a fi

prelucrată logic şi aritmetic.

Metoda în cuib se referă la SDLC. În acest caz de asemenea se

organizează două domenii – a cuiburilor şi a listelor. Ca şi la structurile în şir

aici domeniul listei este organizat în memoria internă, iar domeniul

înregistrărilor (cuiburilor) se organizează în memoria externă. Conţinutul şi

componenţa domeniilor de listă este divers în depindere de metoda de

împachetare.

Metodele menţionate până acum se deosebesc esenţial de următoarea


metodă (în nod) prin aceea că ele sunt aplicate pentru a realiza fiecare listă în
parte în mod fizic. Metoda de împachetare fizică în nod se deosebeşte de celelalte
metode prin aceea că ea este utilizată pentru a organiza şi realiza multiliste.
Aceste multiliste graţie dispunerii de elemente informaţionale comune se
intersectează şi din acest motiv ele pot fi organizate sub formă de o listă comună.
La nivel fizic în metoda studiată, în afară de domeniile înregistrărilor de listă se
mai organizează şi domeniul indicatorilor listelor ce se include în multilista unică.
Spre deosebire de structurile în şir, structurile de listă compusă sînt
interpretate (descrise) atât analitic, cât şi grafic. În scopuri de instruire şi
studiere a acestor structuri pentru interpretarea analitică sînt utilizate
parantezele, virgulele şi virgulele şi literele mici latine. Numărul parantezelor
deschise trebuie să fie egal cu numărul celor închise. Totodată acest şir este
predeterminat de gradul de complicaţie a structurii listei (componenţa
nivelurilor ierarhice structurale).

De asemenea trebuie de avut în vedere că orice listă (cît de complicată n-ar fi) se
consideră sublistă şi de aceea se ia în paranteze. Pentru interpretarea grafică a
acestor structuri sînt utilizate aceleaşi figuri geometrice ca şi la structurile în şir.
Numai că aici aceste figuri se repartizează spaţial (la diferite nivele), precum şi
în dependenţă de metoda de construire a listelor (uni-; bidirecţională şi inelară)
şi de metoda de adresare (comună, separată).

PROBLEMĂ – MODEL
Este dat un fişier de date ce constă din 8 înregistrări cu lungimea fixată, fiecare
din ele ocupând câte 5 celule în memoria operativă. Adresa de început a
domeniului de înregistrare este 1000, adresa de început a domeniului de listă
este 100. Pentru domeniul de listă se alocă 23 de celule în memoria operativă.
Cuiburile în domeniul de listă dispun de o lungime fixată de 3 celule pentru
fiecare cuib.

E necesar:

1. De organizat domeniul înregistrărilor şi domeniul de listă


pentru metodele de ambalare fizică a structurilor de listă succesivă,
în lanţ şi în cuib;
2. De introdus două înregistrări noi, una în mijlocul listei
date şi o înregistrare la sfârşitul ei;
3. De exclus din listă 3 înregistrări (1, 3, 6).

REZOLVARE:
1. Ambalarea succesiva a listei compuse.

Această metodă de ambalare se limitează numai la organizarea


domeniului de înregistrări în memoria externă (ME), de aceea pentru a transcrie
înregistrările din ME în memoria internă (MI) e suficient de organizat contorul
structurii, care ar asigura citirea înregistrării noi după fiecare 5 celule citite în
mod automat.
În aşa mod fiecare înregistrare constă din 5 cuvinte, iar fiecare cuvânt
ocupă câte o celulă. Reieşind din aceasta conţinutul înregistrărilor este următorul:
Adresele
Numărul
celulelor Conţinutul înregistrărilor
înregistrărilor
înregistrate
1 1000 a1 b1 c1 d1 e1
2 1005 a2 b2 c2 d2 e2
3 1010 a3 b3 c3 d3 e3
4 1015 a4 b4 c4 d4 e4
5 1020 a5 b5 c5 d5 e5
6 1025 a6 b6 c6 d6 e6
7 1030 a7 b7 c7 d7 e7
8 1035 a8 b8 c8 d8 e8

2. Împachetarea fizică prin metoda în lanţ.


a) Această metodă afară de domeniului de
înregistrări necesită de asemenea organizarea domeniului
de listă, care este nu alt ceva decât schema de transcriere
a datelor din ME în MI. Înainte de a organiza domeniul
de listă e necesar de determinat structura şi componenţa
listei.
În exemplul dat convenţional se determină că structura de date listă compusă
(SDLC) după numele înregistrărilor este următoarea:
8→5→3→4→6→1→2→7
În aşa caz domeniul de listă va fi organizat în următorul mod:

Conţinutul
Adresele adreselor
Adreselor
celulelor în MI înregistrărilor în
de legătură
ME
100 15 113
ILCL*
ILCO** 101 10 109
102 104
103 1010 124
104 117
105 1030 TL***
106 110
107 119
108 120
109 1035 121
110 112
111 1025 116
112 107
113 102
114 1005 105
115 106
116 1000 114
117 123
118 115
119 108
120 122
121 1020 103
122 TL
123 118
124 1015 111
* ILCL – indicatorul listei celulelor libere
** ILCO – indicatorul listei celulelor ocupate
*** TL – terminator listă

b) În această structură adăugăm două


înregistrări noi cu numerele 9 şi 10.
Astfel, conform condiţiilor iniţiale componenţa structurii va fi următoarea:
8 → 5 → 3 → 4 → 10 → 6 → 1 → 2 → 7 →9
Domeniul înregistrărilor va avea următorul conţinut nou:

Adresele
Numărul
celulelor Conţinutul înregistrărilor
înregistrărilor
înregistrate
9 1040 a9 b9 c9 d9 e9
10 1045 a 10 b 10 c 10 d 10 e 10

Domeniul de listă va avea următorul conţinut:


Adresele celulelor în Conţinutul
MI adreselor înregistrărilor Adreselor
în ME de legătură
100 13 113
101 12 109
102 104
103 1010 124
104 117
105 1030 118
106 1045 111
107 119
108 120
109 1035 121
110 112
111 1025 116
112 107
113 102
114 1005 105
115 110
116 1000 114
117 123
118 1040 TL
119 108
120 122
121 1020 103
122 TL
123 115
124 1015 116

c) Excludem din această structură 3 înregistrări


cu numerele 3, 6 şi 1.
În acest caz structura va avea următorul conţinut:
8 → 5 → 4 → 10 → 2 → 7 →9
Domeniul de listă va avea următorul conţinut:
Conţinutul
Adresele celulelor în
MI adreselor înregistrărilor Adreselor
în ME de legătură
100 16 113
101 9 109
102 104
103 111
104 117
105 1030 118
106 1045 114
107 119
108 120
109 1035 121
110 112
111 116
112 107
113 102
114 1005 105
115 110
116 TL
117 123
118 1040 TL
119 108
120 122
121 1020 124
122 103
123 115
124 1015 106

3. Împachetarea fizică prin metoda în cuib.


În acest caz fiecare dispune de o lungime fixă de 3 (trei) celule. De aceea
într-un cuib vor fi repartizate nu mai mult de 2 (două) înregistrări. În baza
componenţei fişierului iniţial dat şi a lungimii stabilite conţinutul informaţional al
fiecărui cuib va fi următorul:
C1: 8 → 5 C3: 6 → 1
C2: 3 → 4 C4: 2 → 7
Reieşind din aceste condiţii domeniul de listă va avea următorul conţinut:
Conţinutul
Adresele
adresa de
celulelor cuvânt de terminator Indicatori
legătură
în MI trecere listă (TL)
(AL)
100 114 ICL
101 120 ICO
102 0 0 1010
103 0 0 1015 CO2
104 1 0 111
105 1 0 123
106 CL2
107
108 0 1
109 CL4
110
111 0 0 1025
112 0 0 1000 CO3
113 1 0 117
114 1 0 105
CL1
115
116
117 0 0 1005
118 0 0 1030 CO4
119 0 1
120 0 0 1035
121 0 0 1020 CO1
122 1 0 102
123 1 0 108
CL3
124

Indicatori: ICL – indicatorul cuiburilor libere; CO – indicatorul cuiburilor ocupate


CL1 – cuibul liber nr.1; CO1 – cuibul ocupat nr.1 etc.

SARCINĂ
Împachetarea (ambalarea) fizică a structurilor
de date sub formă de liste compuse (SDLC)

Problema № 1
Ne este dat un fişier ce conţine 8 înregistrări cu lungimea fixă a cîte 55
octeţi fiecare. Adresa de început a domeniului înregistrărilor este 1000, iar a
domeniului de listă – 100. Domeniul de listă are lungimea de 25 cuvinte. Cuiburile
în domeniul de listă au de asemenea lungime fixă a câte 3 cuvinte fiecare.

E necesar:
a) de organizat şi de prezentat domeniul înregistrărilor şi domeniul de listă a
fişierului cu ajutorul metodelor succesivă, în cuib şi în lanţ;
b) de introdus (inclus) două înregistrări noi: una în mijlocul listei (10), iar alta -
la sfârşitul ei (9);
c) de exclus din listă 3 înregistrări (1, 3, 6)
Structura listei iniţiale este următoarea: 5  3  1  7  2  4  8  6

Problema № 2
Ne este dat un fişier ce constă din 9 înregistrări cu lungime variabilă.
Lungimea înregistrărilor este următoarea:
Numărul Lungimea
înregistrărilor (în cuvinte)
1 6
2 5
3 7
4 4
5 6
6 7
7 8
8 6
9 14
Înregistrările noi, ce se includ în componenţa fişierului, au o lungime de 9
cuvinte fiecare. Adresa de început a domeniului înregistrărilor este 1250, iar a
domeniului de listă – 300. Lungimea domeniului de listă constituie 20 de cuvinte
E necesar:
a) de organizat şi de prezentat domeniul înregistrărilor şi domeniul de listă a
fişierului cu ajutorul metodelor succesivă, în cuib şi în lanţ;
b) de introdus (inclus) două înregistrări noi: una în mijlocul listei (10), iar alta -
la sfârşitul ei (12);
c) de exclus din listă 3 înregistrări (2, 6, 1)
Structura listei iniţiale este următoarea:
427536198.

Problema № 3
Fie că 10 studenţi au susţinut examenul pe disciplina SIESD pe următoarele
note:
1. Avramescu –8 6. Măcărescu –4
2. Berghi –9 7. Pălărie –8
3. Bejan –9 8. Prisăcaru –6
4. Bumbac –9 9. Rusnac –9
5. Niculiţă –6 10. Stegărescu –4

E necesar de împachetat fizic această listă de examinare a studenţilor.

Problema № 4
Fie că 10 studenţi au susţinut examenele la 5 disciplini pe următoarele note:
Nr. N.P.P. Disciplina
d/o studentului 1 2 3 4 5
1. Buşuleanu 6 4 6 4 4
2. Gavriliţa 9 8 8 9 6
3. Macovei 8 6 8 8 9
4. Secu 8 4 6 4 6
5. Marin 9 8 9 6 8
6. Melescu 6 4 4 6 4
7. Pelin 9 8 8 6 9
8. Roşioru 9 8 8 6 9
9. Tudoreanu 8 9 9 9 8
10. Ciobanu 6 8 4 8 8
Studenta Secu a susţinut a doua oară examenul pe disciplina a doua pe nota
6, iar pe disciplina a patra pe nota 8. Studentul Pelin de asemenea a susţinut a doua
oară examenul pe disciplina a treia pe nota 6, iar studentul Ciobanu-pe nota 8.
Studentele Buşuleanu şi Melescu au fost exmatriculate din instituţie din cauza
nereuşitei .
E necesar:
a) de împachetat (ambalat) această listă;
b) de efectuat anumite corectări în lista studenţilor şi valorile notelor din fişierul
iniţial.

Problema № 5
Ne este dată totalitatea de elemente p, q, r, s, t, u, pe baza cărora se poate
forma următoarea multilistă: q, s, u, p
s, p, r
u, t, s,
r, q, u, t, s
E necesar:
a) de împachetat (ambalat) această listă prin metoda în nod;
b) de efectuat corectarea listei iniţiale prin introducerea unei liste noi: p, s, q, r.

Problema № 6
În baza elementelor d, e, f, j, i, g se formează următoarea multilistă:
e, f, g, d
f, d, i, j
g, e, i
E necesar:
a) de împachetat această listă prin metoda în nod;
b) de efectuat corectarea multilistei iniţiale cu scopul de a forma o multilistă
nouă cu următorul conţinut: e, f, g, d
f, d, i, j
g, e, i
d, f, e

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