Sunteți pe pagina 1din 88

Lucrarea de laborator N3

Elaborarea algoritmilor structurilor de date lineare (succesive(secvenţiale)


şi în şir)
Indicaţii metodice generale
Structurile de date succesive şi în şir sunt supuse numai intrepretării (decrierii

grafice), aşa cum intrpretarea analitică a lor este identică cu cea iniţală, adică

elementele lor sunt enumerate în ordinea iniţial existentă şi se iau în o singură

paranteză.

Prezentarea grafică a acestor structuri solicită aplicarea dreptunghiurilor şi

săgeţilor (arcurilor orinetate).

Pornind de la cele menţionate până acum, e evident că conceptual structura

succesivă se prezintă în mod grafic sub formă de şir de dreptunghiuri, în care

se înscriu elementele constituante ale entităţii informaţionale şi care sunt

conexate între ele prin săgeţi unidirecţionale, cum ar fi, de exemplu, unitatea

constitutivă (cuvântul) „examen”:

E X A M E N

Deosebirea principală dintre structurile de date în şir şi cele succesive constă

în aceea, că ele conţin informaţii asociative ce asigură interconexiunea

elementelor structurale fizic repartizate în diverse spaţii ale memoriei. Faptul

că aceste structuri se consideră liniare se explică prin aceea că ordinea logică

a elementelor în structură permite de a le repartiza la unul şi acelaşi nivel.


Totodată, structurile în şir nu pot fi considerate drept structuri de listă

compusă, deoarece ele constau numai din elemente de date simple (simbol,

câmp, înregistrare).

Aşa cum în structurile în şir relaţia ordinii parcurgerii elementelor

constituante este realizată prin intermediul informaţiilor asociative sub formă

de adrese de legătură, interpretarea (descrierea lor) grafică solicită imaginarea

nu numai a valorilor elementelor (informaţiilor propriu-zise), dar şi a adrselor

de legătură ale fiecărui element cu celelalte elemente ale structurii. Din acest

motiv fiecare element strucural constă din două părţi: însăşi elementul şi

adresa (adresele) de legătură ale lui cu alte elemente. Prin urmare, pentru a

organiza aceste structuri e necesar ca fiecare element să conţină două varietăţi

de informaţii:

1. informaţie de conţinut (informativă) a elementului sau propriu


valoarea lui (textuală sau cifrică);
2. informaţie asociativă sau adresa de legătură cu următorul
(precedentul) element al structurii repartizat în alt spaţiu al memoriei.
Afară de aceasta, toate structurile asociative, inclusiv şi cele în şir, de

asemenea a diverşilor indicatori şi terminatori. Primii conţin adresele

primelor (ori primelor şi ultimelor) elemente a structurii sau numărul

ciclurilor de citire a datelor. Terminatorul de obicei se conţine în ultimul

element al structurii şi se prezintă sub formă de zero ori anumite semne

speciale.După metoda de construire se evidenţiază următoarele tipuri de

structuri de date în şir:


1. structuri de date în şir unidirecţionale, în care consultarea datelor se
efectuează într-o singură direcţie (directă sau inversă).
2. structuri bidirecţionale, în care consultarea elementelor în una şi
aceeaşi structură se poate efectua în ambele direcţii (directă şi
inversă);
3. structuri inelare, în care se realizează consultarea datelor un număr
anumit de ori. La rândul său, structurile inelare pot fi uni – şi
bidirecţionale.
În cazul organizării structurilor unidirecţionale, fiecare element conţine

numai o singură adresă de legătură cu următorul element al structurii. De

asemenea, se organizează indicatorul structurii ce conţine adresa primului

element, iar ultimul element conţine delimitator (terminator).

În structurile bidirecţionale fiecare element conţine două adrese de legătură

(cu următorul şi precedentul element), iar indicatorul structurii conţine în

prima parte adresa primului element, iar în partea a doua – adresa ultimului

element al structurii. Terminatorii se conţin în ultimul şi primul element

(citire intensă ) al structurii.

Structurile de date inelare, de asemenea, conţin diverse elemente asociative

(adrese de legătură), în dependenţă de aceea dacă ele sunt uni – sau

bidirecţionale. În cazul, când ele sunt unidirecţionale în indicatorul structurii

se conţine adresa indicatorului inelar. După cum se vede, aici se organizează

un element asociativ nou sub formă de indicator inelar. În acest indicator în

prima parte se conţine numărul de ori de consultare a structurii, iar în partea a

doua – adresa primului element al structurii.

De menţionat faptul structurile în şir inelare se mai deosebesc de celelalte


două tipuri de structuri (uni- şi bidirecţionale) prin aceea că ele nu conţin

terminatori. În locul acestor terminatori se înscriu adresele de legătură cu

indicatorul inelar. Stoparea consultării structurii în acest caz are loc atunci,

când ea este citită de numărul de ori înscris în prima parte a indicatorului

inelar.

Dacă structura în şir e bidirecţională, atunci se organizează doi indicatori

inelari, iar în indicatorul structurii în prima parte se indică adresa

indicatorului inelar de citire a structurii în direcţie directă, iar în partea a doua

– adresa indicatorului inelar de citire în direcţie inversă.

În depindere de metoda de păstrare a elementelor şirului (în comun în unul şi

aceleaşi spaţiu al valorilor lor informative cu adresele de legătură sau separat

– valoarea într-un spaţiu, iar adresa de legătură – în alt spaţiu), aşa structură

poate fi imaginată grafic în următorul mod:

 stuructură în şir unidirecţională:


a) în cazul păstrării în comun a elemntului cu adresa de legătură:
A.E. – adresa spaţiului memorial, în care sunt amplasate elementul cu adresa lui de legătură
cu alt element
V.E. – valoarea elementului
A.L.U.E – adresa de legătură a următorului element
b) în cazul păstrării separate a elementului şi a adresei de legătură:
A.V.L.E. – adresa verigii de legătură a elementului
V.L.E. – veriga
de legătură a A.L.U.E. – adresa de legătură cu următorul element
elementului
A.E
A.E.
sau: V.E.

A.V.L.E.
V.L.E
A.E A.L.U.E.
A.E.
V.E.

Începutul şirului, adică adresa primului elemnt al ei, se con’ine ]n indicatorul


A.E1.
structurii:
A.I.S – adresa indicatorului structurii
A.E1. V.E1.
I.S. –indicatorul structurii A.L.E2.

Aşa imagine e proprie pentru cazul păstrării în comun a elementului cu adresa

de legătură. Dacă el se păstrează separat de adresa de legătură, atunci aşa

imagine este următoarea:

A.I.S. A.V.L.E1.
A.V.L.E1. A.E1. A.V.L.E2.
I.S. A.E1.
V.E1.
Teminatorul (sfârşitul) structurii în şir are următoarea interpretare grafică (în

cazul păstrării în comun a vaorii ultimului element – V.U.E. şi a adresei de

legătură):

A.U.E. – adresa ultimului element A.U.E.

V.U.E. – valoarea ultimului element V.U.E.


sau
– semnul convenţionbal al terminatorului 
Dacă adresa de legătură şi valoarea ultimului elemnt (V.U.E) se păstrează

separat, atunci imaginarea grafică a terminatorului este următoarea:

A.V.L.U.E. – adresa verigii de legătură a ultimului A.V.L.U.E.


element al structurii
A.U.E. A.U.E. 

A.U.E. – adresa ultimului element A.U.E.


V.U.E. sau V.U.E.

 structură în şir bidirecţională:


a) elementele se păstrează în comun cu de adresele de legătură:
A.E.

V.E.
A.L.U.E
A.L.P.E – adresa de legătură cu elemental precedent

b) elementele se păstrează separat de adresele lor de legătură:


A.V.L.E.
A.L.U.E.
A.L.P.E.
A.E
A.E.
V.E.

Indicatorul structurii grafice se interpretează în următorul mod:

a) elementele se păstrează în comun cu de adresele de legătură:


A.I.S. A.E1. A.E2. A.EN-1. A.EN.
A.E1. V.E1. V.E2. ... V.EN-1. V.EN.
A.EN. A.E1. A.L.E.N-2.

I.S. A.L.E2. A.L.E3. A.E.N. A.L.E.N-2.


in interpretarea prezentată este evident că şirul constă din N elemente.

b) elementele se păstrează separat de adresele lor de legătură:

A.I.S. A.V.L.E1. A.V.L.E2. A.V.L.EN-1. A.V.L.EN..


A.V.L.E1. A.V.L.E1. A.V.L.E3. ... A.V.L.EN.
A.V.L.EN. A.V.L.E1. A.V.L.E.N-2. A.L.EN-1.

I.S. A.E1. A.E2. A.E.N-1. A.E.N.

A.E1. A.E2. A.EN-1. A.EN.


V.E1. V.E2. V.EN-1. V.EN.

 structură în şir inelară unidirecţională:


a) elementele şi adresele lor de legătură sunt amplasate într-un spaţiu
fizic comun:
A.I.I.
A.I.S. n
A.I.I. A.E1.
I.S. I.I.
A.E1. A.E2. A.EN-1. A.EN.
V.E1. V.E2. ... V.EN-1. V.EN.
A.L.E2. A.L.E3. A.E.N. A.L.E.N-2.

Din prezentarea dată e evident că structura e necesar să fie consultată de n

ori, iar A.I.I. semnifică adresa indicatorului inelar, I.I. – indicatorul inelar.

b) elementele şi adresele lor de legătură sunt amplasate în spaţii fizice


diferite în mod separat:
A.I.I.
A.I.S. n
A.I.I. A.V.L.E1
.
I.S. I.I.
A.V.L.E1. A.V.L.E2. A.V.L.EN.
A.E1. A.V.L.E2. A.E2. A.V.L.E3. ... A.EN. A.I.I.

A.E1. A.E2. A.EN.


V.E1. V.E2. V.EN.
 structură în şir inelară bidirecţională:
a) elementele şi adresele de legătură se păstrează în comun în spaţiul
fizic memorial neîntrerupt:
A.I.S. A.I.I.D.D
A.I.I.D.D. n1
A.I.I.D.O. A.E1.
I.I.D.D
I.S.
A.E1. A.E2. A.E3. A.EN.

A.I.I.D.D V.E1. V.E2. V.E3. ... V.EN.

n2 A.L.E2. A.E1. A.E2. A.EN-1.


A.EN. A.I.I.D.O. A.L.E3. A.L.E4. A.I.I.D.D.
I.I.D.O

În imaginea prezentă sunt admise următoarele semnificări: I.I.D.D.– indicator

inelar în direcţie directă, I.I.D.O.– indicator inelar în direcţie opusă,

A.I.I.D.D.– adresa indicatorului inelar în direcţie directă, A.I.I.D.O.– adresa

indicatorului inelar în direcţie opusă, n1– numărul de consultări al structurii

în direcţie directă, n2– numărul de ocnsultări al structurii în direcţia opusă.

b) elementele şi adresele de legătură se păstrează separat în diverse spaţii


fizice memoriale:
A.I.S. A.I.I.D.D
A.I.I.D.D. n1
A.I.I.D.O. A.V.L.E1.
I.I.D.D
I.S.
A.V.L.E1. A.V.L.E2. A.V.L.E3. A.V.L.EN.

A.I.I.D.D A.V.L.E2. A.V.L.E3. A.V.L.E4. A.I.I.D.O.


...
n2 A.I.I.D.O. A.V.L.E1. A.V.L.E2. A.V.L.EN-1
A.V.L.EN. A.E1. A.E2. A.E3. A.EN.
I.I.D.O
A.E1. A.E2. A.E3. A.EN.
V.E1. V.E2. V.E3. V.EN.
În cazul elaborării structurilor de date de cnţinut real (concret) atât liniar,
cât şi neliniare e necesar ca mai întâi să fie alocat spaţiul memorial necesar şi
numai după aceasta să fie leaborate şi realizate structurile respective.
Pornind de la cele elucidate până acum şi în baza particularităţilor
menţionate, prezentăm mai jos următoarea problemă-model.

Sarcina 1. Structuri de date liniare (succesive (secvenţiale) şi în şir).


PROBLEMĂ - MODEL
Condiţii iniţiale: Este dată totalitatea de elemente informaţionale (litere)
organizate sub formă de unitatea informaţională (cuvântul) „SISTEM”.
E necesar în baza acestei totalităţi de elemente de organizat în memoria
internă a calculatorului şi de prezentat unitatea informaţională nominalizată
sub formă de structuri de date secvenţială şi în şir. Structurile de date în şir e
necesar să fie elaborate sub formă de structuri uni-, bidirecţionale şi inelare,
luând în considerare următoarele condiţii:
1. adresa (veriga) de legătură şi valoarea elementului informaţional se
înscriu în unul şi acelaşi spaţiu neîntrerupt al memoriei şi se păstrează în
comun;
2. informaţia asociativă (adresele sau verigele de legătură) şi valorile
elementelor se păstrează separat, în diverse spaţii memoriale;
3. numerotarea adreselor fizice ale elementelor informaţionale sunt atribuite
în mod arbitrar.
REZOLVARE:
1. Alocarea spaţiului memorial necesar pentru componentele structurii
Pentru a elabora şi prezenta structurile de date liniare e necesar mai întâi de

alocat spaţiu de memorie. El poate fi distribuit în felul următor:

Memoria internă (MI) Adresa


Adresa elementului
Elementele Adresa Adresa de
verigilor de în memoria
elementului legătură
legătură externă (ME)
S 102 311 518 1000
I 103 123 101 1001
S 104 311 518 1002
T 105 206 203 1003
E 106 507 435 1004
M 107 607 711 1005

Adresa indicatorului structurii (I.S.) = 216


2. Elaborarea structurilor de date successive (secvențiale):
a) în mod analitic: (S, I, S, T, E, M)
b) în mod grafic:
102 103 104 105 106 107
1000 1001 1002 1003 1004 1005
S I S T E M

2. Elaborarea structurilor în şir:


a) în mod analitic: (S, I, S, T, E, M)
b) în mod grafic:
 structură unidirecţională:
a) elementele asociative (metainformaţionale) şi elementele informaţionale
(valoarile lor) se păstrează în comun:
216 311 123 311 206 507 607
311 1000 1001 1002 1003 1004 1005
IS 123 311 206 507 607
S I S T E M

b) elementele asociative şi cele informaţionale se păstrează separat:


216 518 101 518 203 435 711
518 101 518 203 435 711

IS 311 123 311 206 507 607

311 123 206 507 607


1000 1001 1003 1004 1005

S I T E M
 structură bidirecţională:

a) elementele asociative (metainformaţionale) şi elementele informaţionale


(valoarile lor) se păstrează în comun:
216 311 123 311 206 507 607
311 1000 1001 1002 1003 1004 1005
607 123 311 206 507 607
311 123 311 206 507
IS

S I S T E M
b) elementele asociative şi cele informaţionale se păstrează separat:
216 518 101 518 203 435 711
518 101 518 203 435 711
711 518 101 518 203 435
311 123 311 206 507 607
IS

311 123 206 507 607


1000 1001 1003 1004 1005
S I T E M

– structură inelară:
 unidirecţională:
Pentru a organiza această structură e necesar de alocat un anumit spaţiu de
memorie pentru indicatorul inelar de direcţie directă (I.I.D.D.). În exemplul
dat convenţional se consideră că acest indicator ocupă o celulă cu numărul
304, în care se păstrează numărul de citiri a structurii – l.
a) elementele asociative (metainformaţionale) şi elementele
informaţionale (valoarilor lor) se păstrează în comun.
304 I. I.D.D.
216 l 311 123 311 206 507 607
304 311 1000 1001 1002 1003 1004 1005
IS I.I.D.D. 123 311 206 507 607 304

S I S T E M

b) elementele asociative şi cele informaţionale se păstrează separat:

304 518 101 518 203 435 711


216 l 101 518 203 435 711 216
304 518 311 123 311 206 507 607
I.S. I.I.D.D.
311 123 206 507 607
1000 1001 1003 1004 1005
S I T E M
 bidirecţională:
În acest scop se alocă spaţiu de memorie suplimentar pentru indicatorul inelar
de direcţie opusă (I.I.D.O.). În problema dată acestui indicator i se alocă
celula cu numărul 407; numărul de transcrieri constituie cifra k.
a) elementele asociative (metainformaţionale) şi elementele
informaţionale (valoarile lor) se păstrează în comun:
304 I. I.D.D.
216 l 311 123 311 206 507 607
304 311 1000 1001 1002 1003 1004 1005
407 407 123 311 206 507 607 304
IS k 407 311 123 311 206 507
607 S I S T E M

I. I.D.O.
b) elementele asociative şi cele informaţionale se păstrează separat:
304
I. I.D.D.
216 l 518 101 518 203 435 711
304 518 101 518 203 435 711 304
407 407 407 518 101 518 203 435
IS k 311 123 311 206 507 607
711
311 123 206 507 607
1000 1001 1003 1004 1005
S I T E M
I. I.D.O.
Complexul de probleme
Elaborarea şi realizarea structurilor de date succesive
(secvenţiale) şi în şir
Problema № 1
Este dată totalitatea de elemente (cuvântul) «INSULĂ».
E necesar în baza acestei totalităţi de elaborat structurile de date
succesivă şi în şir. Structura în şir trebuie să fie elaborată sub formă uni-,
bidirecţională şi inelară (uni-, bidirecţională).
Elaborarea acestor structuri e necesar de efectuat pornind de la
următoarele condiţii:
a) elementele asociative şi elementele informative sînt repartizate în
memorie în comun;
b) informaţiile asociativă şi informativă a elementelor sînt repartizate în
memorie separat;

Problema № 2
Este dată totalitatea de elemente (număr) «20362332».
În baza acestei totalităţi e necesar de elaborat structurile succesivă şi în
şir.
Structura de date în şir e necesar de elaborat sub formă uni-,
bidirecţională şi inelară (uni-, bidirecţională). Elaborarea acestei structuri e
necesar de efectuat reIeşind din repartizarea în comun şi separată a informaţiilor
asociative şi propriu-zisă (valorică) ale elementelor.
Problema № 3
Este dat un fişier ce conţine 9 înregistrări de lungime variabilă cu
următoarele chei:
Numărul Lungimea Cheile
înregistrărilor înregistrărilor (octeţi) înregistrărilor
1 7 B, D, E
2 9 B, G, D
3 13 B, E, O
4 5 C, L, M
5 7 C, L, N
6 11 C, S
7 9 C, M, O
8 6 A, B, E
9 4 A, E, B
Adresa de început a câmpului memoriei alocată pentru repartizarea
fişierului are numărul 0302.
E necesar:
1) de prezentat schema repartizării fişierului în memorie;
2) de determinat adresele înregistrărilor cu numerele 2, 5, 7, 8, 9.
Problema № 4
Fişierul conţine2472 de înregistrări cu lungimea fixată a câte 85 octeţi
fiecare înregistrare. Fişierul este repartizat în memorie, începând cu câmpul
memoriei cu adresa 2080. Fiecare înregistrare are câte două chei cu următoarele
valori posibile:
A=(k, l, m, n, o, p, q, r, s, t).
E necesar:
1) de prezentat schema repartizării fişierului în memorie;
2) de determinat adresele înregistrărilor cu următoarele câmpuri-chei: 9, 31,
72, 156, 248, 803, 1586, 2003, 2472.
La îndeplinirea punctelor numărul înregistrărilor se determină în mod
arbitrar, dar nu mai puţin de 12.
COMPLEXUL DE PROBLEME № 4
Elaborarea algoritmilor și design-ului structurilor de
date de listă compusă
PROBLEMĂ – MODEL №1
Este dată următoarea totalitate de elemente: a, b, k, l, m şi n ce se includ
în următoarea structură de listă compusă ((a, b), m, (n (b) l), k, a.
E necesar:
1. De evidenţiat în această structură elememtele compuse (subiltele) şi
elementele simple;
2. De alocat spaţiu de memorie pentru elementele structurii şi informaţia
asociativă;
3. De construit această structură unidirecţională, bidirecţională şi inelară.

REZOLVARE:
1. Evidenţiem componenţa elememtelor în structura dată:
a) subliste 1 → (a, b) 2 → (n (b) ) 3 → (b)
b) elemente simple 1→m 2→k 3→ a
2. Alocăm spaţiul memorial:
Adresele de Adresele Adresele
Adresele
Elementele legătură a verigilor de verigilor
elementelor
elementelor legătură sublistelor
m 105 120 731
SL1 – 314
k 110 138 84
a 113 152 531
SL2 – 427
b 123 163 645
n 101 374 275
SL3 – 316
l 171 262 324
Adresa indicatorului structurii: I.S. = 555
1. a) Construim lista compusă sub formă de structură unidirecţională:

555 314 731 427 784 531


314 731 427 784 531

IS 531 120 275 324 138 152

275 316
316 324 262
531 645
645 374 645 645

152 163
163

152 163 120 374 262 138


113 123 105 101 171 110
b) Construim lista compusă sub formă de structură bidirecţională:
555 314 731 427 784 531
314 731 427 784 531
531 314 731 427 784
IS 531 120 275 324 158 152
645 316
531 645 275 316 316
645 316 324 262
531 275
152 163 374 645 645

163
152 163 120 374 262 138
113 123 105 101 171 110

a b m n l k
c) Organizăm structura de listă compusă inelară:
În acest scop e necesar de organizat indicatori inelari pentru fiecre
sublistă şi pentru listă în comun. Indicatorul inelar pentru întrega structură are
adresa 777, iar numărul de citiri (n) = l; I.I.1 = 222, n = k; I.I.2 = 333, n = m;
I.I.3 = 444, n = q.
555 777
777 l 333 444
IS k m
731 784 531
333 731 444 784 531 777
120 427 138 152
222
q 324
427
222 324 444

374 316 262


531 645
645 333 316
222
152 163
163

152 163 120 374 262 138


113 123 105 101 171 110
PROBLEMĂ – MODEL №2
Este dată următoarea figură geometrică:
A B

D C

E necesar de dat interpretarea analiică a structurii date şi de determinat


rangul.

REZOLVARE:
Interpretarea analitică a structurii este următoarea:
(AB (BC (CD) DA)), iar rangul: R = 4;

SARCINĂ
Elaborarea şi realizarea structurilor de date
sub formă de liste compuse (SDLC)

Problema № 1
Ne este dată totalitatea de elemente a, b, k, l, m, n, ce sînt incluse în
componenţa structurii de listă cu următoarea interpretare analitică: ((a,b), m,
(n(b)e), k, a, (a(l(m)))).
E necesar de elaborat prezentarea grafică a acestei structuri sub formă de
listă uni-, bidirecţională şi inelară, reieşind din următoarele condiţii:
a) informaţia asociativă şi informaţia informativă sînt repartizate în memorie
în comun;
b) informaţia asociativă şi informaţia informativă sînt repartizate în memorie
separat;
De determinat valoarea rangului şi omogenitatea structurii, precum şi
nivelul structural al fiecărui element al listei.

Problema № 2
Pe baza structurii de listă şi a condiţiilor din problema 1 e necesar de
efectuat următoarele corectări cu scopul de a forma noi liste: ((a, b),m, (n (b) e),
k, a, (a(l (m))))((a, b, m), n, ((b) l)(a, r (l (m (n))))(a, (b), m, (n, b), r, l,
(n, m)).
Lista iniţială trebuie să fie unidirecţională. De determinat valoarea
rangului şi omogenitatea structurii, precum şi nivelul structural al fiecărui
element al listei.

Problema № 3
Interpretarea analitică a structurii de listă este următoarea:
(a, (b, c), d, (d (b, c), ( l )))
Reieşind din condiţiile problemei 1 de elaborat interpretarea grafică a
listei uni-, bidirecţionale şi inelare. De asemenea de determinat omogenitatea şi
valoarea rangului listei, nivelul structural al fiecărui element.
LUCRAREA DE LABORATOR № 5
Elaborarea algoritmilor și design-ului ambalăriifizică
a structurilor de date delistă 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:


Conţinutul
Adresele celulelor în
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:

Adresele celulelor în
Conţinutul
adreselor înregistrărilor Adreselor
MI
î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
115 CL1
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
Lucrarea de laborator N 6
Algoritmizarea și design-ul structurilor de date
arborescente
Indicaţii metodice
Drept arborescentă se consideră aşa structură de date în care prin
intermediul adreselor de legătură se asigură repartizarea elementelor
informaţionale pe nivele ierarhice. Primul nivel se repartizează numai un singur
element, iar pentru elementele următoarelor nivele se organizează adrese de
legătură cu elementele următorului nivel ierarhic. Elementul ce se repartizează
la primul nivel se consideră rădăcină a arborelui.
Din acest motiv şi reieşind din particularităţile constructive ale calculatorului frecvent sînt utilizate
structurile de date arborescente binare.
Drept binară se consideră structura de date în care fiecare element
informaţional conţine nu mai mult de 2 adrese de legătură cu el-le nivelului
ierarhic următor şi o singură adresă de legătură cu elementul nivelului ierarhic
superior u=0 şi u=2.
Există structuri de date arborescente binare (S.D.A.) complete şi
incomplete. Cele complete conţin elemente structurale la toate nivelele. Cele
incomplete conţin elemente de această categorie parţial numai la ultimul şi
precedente nivele. În cazul când elementul penultimului nivel nu are relaţii cu
elementele ultimului nivel, atunci se consideră că acest nivel conţine
terminatoare.
De asemenea S.D.A. pot fi:
- simetrice
- asimetrice.
Cele simetrice conţin elemente pe deplin la toate nivelele, iar cele
asimetrice pot să fie incomplete. Orice S.D.A. se caracterizează prin următorii 2
parametri:
1. rang, ce caracterizează nr. de nivel ale structurii;
R=M – 1, unde: M – nr. de nivele
2. grupa, ce caracterizează nr. de elemente incidente (derivate)de la unul şi
acelaşi element al nivelului structural precedent.
Pentru a prezenta grafic orice S.D.A. binară e necesar de procedat în
următorul mod:
În cazul când succesiunea elementelor structurii nu este ordonată se ia
primul element din succesiune şi se repartizează la nivelul superior,
considerându-se rădăcină. În continuare se ia al doilea element din succesiune,
valoarea lui se compară cu valoarea rădăcinii. Dacă valoarea elementului este
mai mare decât rădăcina, atunci el se desenează la următorul nivel şi se trage arc
de la rădăcină; când valoarea elementului este mai mică, acest element se
plasează la următorul nivel pe partea stângă.
Tot aşa se va proceda şi cu următoarele elemente ale succesiunii, de fiecare dată comparându-le
începând cu valoarea rădăcinii.
În cazul când se întâlnesc elemente egale cu rădăcina ele se înscriu pe
partea dreaptă a elementului incident.
În cazul, când succesiunea de el-te este ordonată, se ia elementul din
mijloc al succesiunii şi se înscrie ca rădăcină, după ce din partea dreaptă a
succesiunii se găseşte el-tul din mijloc şi se înscrie pe partea dreaptă a rădăcinii.
Iar elementul de mijloc a succesiunii din stânga se înscrie pe partea stângă a
rădăcinii, ş.a.m.d.
Pentru SDA binare în prezent sunt cunoscute 2 metode de bază de
împachetare fizică a lor:
1. metoda săgeţilor (indicatorilor, adreselor de legătură);
2. metoda „trace notation”
Esenţa primei metode constă în aceea că fiecare element a structurii
conţine o anumită componenţă de adrese de legătură. Această componenţă
(număr) de adrese de legătură depinde de numărul de elemente cu care are
relaţii elementul dat la nivelul precedent (succedent). Pentru SDA binare orice
element, în afară de rădăcină şi de frunze maximal poate să conţină 3 adrese de
legătură:
– cu elementul incident, de la nivelul precedent;
– cu 2 elemente de la următorul nivel.
Rădăcina conţine numai 2 adrese cu elementele de la nivelul 1, iar fiecare
element frunză (de la ultimul nivel) conţine numai o singură adresă de legătură
cu elementul precedent şi 2 terminatori. Dacă elementul se conţine numai la
penultimul, ori chiar şi la alt nivel superior, atunci în loc de terminator conţine
un anumit simbol ce semnifică finele poziţiei în structură.
Sensul metodei „trace” constă în aceea că elementele structurii în loc de
adresă de legătură conţine numărul nivelului şi a elementului cu care are relaţie
elementul concret.
Această metodă se realizează prin numerotarea succesivă a elementelor
de la nivel la nivel. Ea se aplică pentru a economisi spaţiul pentru elementele
asociative. Însă, dacă rangul structurii este considerabil, e posibil ca „trace”-ul
să fie mai voluminos decât adresa de legătură. În acest caz se trece la adresele
de legătură.

PROBLEMĂ – MODEL № 1
Este dată următoarea succesiune de chei ale înregistrărilor unui fişier:
35, 30, 40, 37, 45, 28, 33, 26, 32, 29, 48, 43, 36, 38, 34.

E necesar:
1. de elaborat structura de date arborescente binară pentru organizarea
fişierului;
2. de ambalat fizic structura arborescentă obţinută cu ajutorul metodelor
săgeţilor (indicatorilor, adreselor de legătură) şi „trace”;
3. de prezentat grafic ambalarea fizică a fişierului dat prin metoda săgeţilor.

REZOLVARE:
1. Elaborăm structura de date arborescentă binară.
Deoarece structura de elemente este neordonată în rădăcina structurii se
înscrie primul element din succesiune. Următoarele elemente se compară cu
elementul rădăcină şi dacă este mai mare se plasează în partea dreaptă, iar dacă
este mei mic în stânga, ş.a.m.d.

35

30 40

28 33 37 45

26 29 32 34 36 38 43 48

2. a) Ambalăm fizic structura arborescentă prin metoda săgeţilor


Convenţional considerăm libere următoarele adrese în memoria internă:
200-205; 230-233; 240; 245; 250-252

Adresele Indicatorii
Elementele
elementelor stâng drept invers
200 35 201 202 –
201 30 205 230 200
202 40 203 204 200
203 37 250 251 202
204 45 245 240 202
205 28 231 233 201
230 33 232 252 201
231 26 TA TA 205
232 32 TA TA 230
233 29 TA TA 205
240 48 TA TA 204
245 43 TA TA 204
250 36 TA TA 203
251 38 TA TA 203
252 34 TA TA 230
TA – terminator arbore;
În cazul când structura arborescentă este simetrică, dar nedeplină pentru nodurile ce nu se
găsesc la ultimul nivel al structurii în identificatorii respectivi se înscrie semnul TP – terminatorul
poziţiei.

b) Efectuăm ambalarea fizică a succesiunii de chei prin metoda


„trace”

35 1

1.1 30 40 1.2

28 33 37 45
1.1.1 1.1.2 1.2.1 1.2.2

26 29 32 34 36 38 43 48

1.1.1.1 1.1.1.2 1.1.2.1 1.1.2.2 1.2.1.1 1.2.1.2 1.2.2.1 1.2.2.2

3. Prezentăm grafic ambalarea fizică a fişierului dat prin metoda


săgeţilor 200
35
201
202
201 202
30 40
205 203
230 204

201 201 201 201


30 30 30 30
205 205 205 205
230 230 230 230

201 201 201 201 201 201 201 201


30 30 30 30 30 30 30 30
205 205 205 205 205 205 205 205
230 230 230 230 230 230 230 230
PROBLEMĂ – MODEL № 2
Se dă următoarea succesiune ordonată de chei ale înregistrărilor:
11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 28, 30, 31
Elaborăm structura de date arborescentă binară:
20

15 25

13 18 22 30

11 14 17 19 21 23 28 31

PROBLEMĂ – MODEL № 3
E necesar de prezentat sub formă de listă compusă analitică următoarea
structură arborescentă:
a

b h

c d e k l

Elaborăm structura
f g arborescentă sub formă
m de
n listă compusă:
a (b (c, d (f, g), e), h (k, l, (m, n, )))

PROBLEMĂ – MODEL № 4
Se dă următoarea listă compusă: a (b (e, g (h)), c (m, f, (k))). E necesar de
elaborat structura arborescentă.
Structura arborescentă este următoarea:

b h

e g m f

h k
SARCINĂ
Prezentarea şi împachetarea (ambalarea) fizică a
structurilor de date arborescente (SDA)
Problema № 1
Sunt date două fişiere cu următoarele chei de valori ale înregistrărilor:
I.35, 30, 40, 37, 45, 20, 33, 26, 32, 22, 48, 43, 36, 38, 34;
II.11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 28, 30, 31.
E necesar:
a) de format pe baza acestor fişiere arbori binari, de determinat valorile
rangurilor, ordinelor şi dimensiunilor grupelor lor;
b) pe baza arborilor formaţi de elaborat fişiere cu valorile cheilor ordonate
(sortate) în ordine crescîndă;
c) de împachetat (ambalat) arborii elaboraţi prin metodele «trace notation»
şi cu ajutorul săgeţilor (adreselor de legătură). Împachetarea cu adrese de
legătură de efectuat în următorul tabel:
Adresele Indicatori
Valorile
cuvintelor
cheilor stâng drept invers
(celulelor)

Lista adreselor libere este următoarea:


200 – 204, 250 – 252, 265 – 270, 275 – 277, 280, 285, 300 – 302, 310 şi
311.
d) de efectuat interpretarea grafică a arborilor împachetaţi cu ajutorul
săgeţilor (adreselor de legătură).
e) de prezentat arborii construiţi grafic sub formă de liste compuse în
interpretare analitică.

Problema № 2
Sunt date două fişiere cu următoarele valori ale cheilor înregistrărilor:
I. 25, 24, 27, 35, 20, 50, 18, 16, 28, 22, 38, 26, 33, 109, 22;
II. 1, 5, 6, 8, 10, 12. 17, 22, 33, 50, 65, 70, 81, 82.
E necesar de îndeplinit aceiaşi, ce şi în problema 1 cu utilizarea aceleiaşi
liste de celule (cuvinte) libere şi tabel de împachetare a arborilor formaţi.

Problema № 3
Sunt date două fişiere cu următoarele valori ale cheilor înregistrărilor:
I. 7, 26, 14, 16, 13, 9, 7, 8, 11, 24, 14, 10, 15, 14;
II. 15, 17, 19, 20, 21, 22, 27, 28, 30, 41, 45, 50, 61, 70.
E necesar de îndeplinit aceiaşi, ce şi în problema 1 cu utilizarea aceleiaşi
liste de celule (cuvinte) libere şi tabel de împachetare a arborilor formaţi

Problema № 4
Sunt date două fişiere cu următoarele valori ale cheilor înregistrărilor:
I. 13, 6, 1, 18, 12, 17, 13, 23, 6, 19, 28;
II. 1, 3, 5, 6, 10, 28, 30, 45, 50, 52, 53, 87.
E necesar de îndeplinit aceiaşi, ce şi în problema 1 cu utilizarea aceleiaşi
liste de celule (cuvinte) libere şi tabel de împachetare a arborilor formaţi.

Problema № 5
Sunt date două fişiere cu următoarele valori ale cheilor înregistrărilor:
I. 24, 21, 33, 147, 7, 51, 41, 38, 3, 3, 39, 19, 37, 170, 256, 63, 8, 180,
286, 165, 100, 50, 53, 267;
II. 111, 123, 147, 151, 165, 170, 173, 176, 178, 201, 223, 247, 253,
259, 267.
E necesar de îndeplinit aceiaşi, ce şi în problema 1 cu utilizarea aceleiaşi
liste de celule (cuvinte) libere şi tabel de împachetare a arborilor formaţi.

Problema № 6
Fără a prezenta în prealabil sub formă de arbori binari de împachetat
(ambalat) fizic cu ajutorul metodei săgeţilor (adreselor de legătură) următoarele
fişiere de valori de chei a înregistrărilor:
I. 15, 20, 16, 13, 30, 25, 44, 17, 35;
II. 33, 16, 45, 44, 30, 12, 10, 8, 27;
III. 12, 10, 9, 8, 22, 23, 27;
IV. 4, 18, 3, 7, 5, 26, 41.
În procesul de împachetare de utilizat lista adreselor libere din problema
1 a sarcinii date.
De efectuat interpretarea grafică a arborilor împachetaţi.
De prezentat arborii împachetaţi sub formă de liste compuse în
interpretare grafică.
Problema № 7
Sînt date următoarele structuri arborescente:

a a

b h b f

c d e k l c d e g h

f g m n

b k m s

c d e n o t

i f g h p q r

b c d
E necesar să fie prezentate sub
formă de structuri de
liste compuse în
e f g interpretare analitică şi
grafică aceste grafuri.

h k l
COMPLEXUL DE PROBLEME № 8
Structuri de date tabelare
Indicaţii metodice
Tabelare (matriciale) se consideră acele structuri de date ce asigură

interconexiunea obiectelor şi caracteristicilor lor prin intermediul matricei

valorilor caracteristicilor.

Cea mai simplă structură de date matricială în matricea valorilor

caracteristicilor se conţin atâtea rânduri câte denumiri de obiecte sunt

implicate, şi atâtea coloane câte coloane, câte denumiri de caracteristici se

referă la obiectele fixate în structură. Aceste structuri se mai numesc structuri

pe obiecte şi caracteristici. Structurile tabelare compuse conţin mai multe

liste şi subliste de obiecte şi caracteristici plasate pe mai multe niveluri.

Structurile în cauză pot fi de 2 categorii:

1. SDT cu parametrii stabili – se caracterizează prin aceia că


componenţa obiectelor şi caracteristicilor proprii pentru fiecare obiect nu se
schimbă;
2. SDT cu parametrii variabili – se caracterizează prin aceia că
numărul obiectelor şi caracteristicilor pentru fiecare obiect se schimbă.
Comparativ cu celelalte structuri de date, SDT ocupă un spaţiu mai mare de

memorie şi asigură o căutare a datelor mai eficientă. Însă, renovarea


organizării datelor. În afară de aceasta, aceste structuri nu neapărat pot fi

aplicate pentru organizarea multor date ceea ce limitează esenţial aplicarea

lor.

În cazul transformărilor sub formă de liste compuse de date, ele se prezintă

fiind compuse din 3 liste:

– lista denumirilor obiectelor;


– lista denumirilor caracteristicilor obiectelor;
– lista matricei valorilor caracteristicilor.
Ambalarea fizică a SDT este orientată spre economisirea spaţiului memoriei

în care se repartizează structura. De menţionat următoarea particularitate a

SDT: Împachetarea fizică se referă numai la matricea valorilor deoarece

listele denumirilor obiectelor şi caracteristicilor nu pot fi la nivel fizic

organizate în alt mod decât succesiv. Totodată matricea valorilor

caracteristicilor în cadrul problemelor economice este foarte puţin

completată. Coeficientul acestei completări fiind următorul: Kc ≤ 0,3

De aceea în cazul repartizării matricei valorilor, aşa cum ea iniţial


este completată, spaţiul memoriei este utilizat foarte neeficient, însă căutarea
elementelor este operativă, pentru a repartiza cât mai eficient valorile matricei
caracteristicilor sunt aplicate următoarele 3 metode de împachetare fizică a lor:
1. Scala (scară) logică se prezintă ca un şir de biţi ce semnifică
prezenţa (1) ori absenţa (0) a valorii caracteristicii. Scala logică se organizează
pentru fiecare rând de valori a caracteristicilor.
2. Metoda perechilor de indecşi constă în aceia că se formează
succesiv în fiecare valoare de caracteristici se înscrie numerele de ordine a
obiectului şi caracteristicii respective.
3. Metoda de domeniu de bază şi domeniu de rezervă constă în aceia
că pentru înregistrările cu lungime fixată (de unul şi acelaşi volum) se alocă un
spaţiu memorial de un anumit volum. Dacă în colecţia de date se conţin
înregistrări cu lungimi mai mari decât înregistrările cu lungime fixată, atunci se
alocă un spaţiu nou de memorie în care se înregistrează acele unităţi de date ce
nu pot fi repartizate în domeniul de bază. În aşa mod această metodă este
aplicată în 2 cazuri:
a) când fişierul de date constă din înregistrări semivariabile (o parte
din ele sunt de lungime fixată, iar altă parte de lungime variabilă).
b) atunci când fişierul iniţial de date este completat cu valori noi ale
caracteristicilor.
În ambele cazuri în domeniul de bază în locul ultimei valori a caracteristicii

se înscrie adresa de legătură cu spaţiul fizic, în care este repartizată ultima

valoare a caracteristicii din domeniul de bază repartizată în domeniul de

rezervă. În cazul când primul domeniu de rezervă este supracompletat se

organizează un nou domeniu de rezervă ş.a.m.d.

Această metodă ca regulă este utilizată în cazurile când e necesar de


evitat reorganizarea datelor (transcrierea totală a datelor dintr-un spaţiu de
memorie în altul).
Interpretarea grafică atât a structurii matriciale cât şi arborescente pentru
utilizatorul final nu este necesară, deoarece în alt mod aceste structuri nu pot fi
prezentate.
Interpretarea analitică prezintă aceste structuri sub formă de liste
compuse, deoarece ele sunt spaţial (ierarhice) şi unităţile compuse pot fi
prezentate sub formă de totalităţi de subliste.

PROBLEMĂ – MODEL
Este dată următoarea structură tabelară:
Cifrurile Cifrurile caracteristicilor
obiectelor A1 A2 A3 A5 A6 A7 A8 B3 B4 B5
01 34 – 19 18 – 44 – – 27 –
02 – – – 36 – 37 38 39 – 40
05 25 23 – – – 22 – 44 25 –
14 – 20 21 20 22 19 – – – –
15 22 15 – – 17 – – – 18 19
16 – – – – – 9 10 11 12 13
18 9 10 11 12 13 – – – – –
21 19 22 – – – – 20 21 – 33
25 35 – – 39 – – 45 – 46 23
26 – – – 25 26 – 48 29 32 –
E necesar:
1) De organizat schema de repartizare a structurii de date în calculator;
2) De elaborat scalele logice pentru fiecare rând a structurii şi de prezentat
în formă densă matricea valorilor,
3) Se preconizează că î rândurile 4 şi 7 sunt supraîncărcate din cauza
necesităţii înscrierii suplimentare respectiv a două şi trei elemente. De
organizat păstrarea acestor înregistrări suplimentare în domeniul de
rezervă;
4) De prezentat structura dată în formă densă de înregistrare cu ajutorul
metodei perechilor de indecşi;
5) De organizat (prezentat) schema de corectare a următoarelor înregistrări:
14 A7, 19 → 14 A7, 8
21 A2, 22 → 21 A2, 10
26 A3, - → 26 A3, 35

REZOLVARE:
1. Organizăm schema păstrării structurii de date în memoria
calculatorului. Din această structură e evident că ea este de caracter constant,
deoarece fiecare obiect (rând) conţine valorile numai a 5 caracteristici. Valorile
având o lungime fixată.
Pentru a păstra structurile matriciale, în memoria calculatorului se
organizează două domenii:
– primul se prezintă sub formă de tabel de concordanţă, aici se înscriu
adresele zonelor (domeniilor) obiectelor;
– domeniul de păstrare a valorilor caracteristicilor. Aici se înscriu
valorile caracteristicilor cu informaţia asociativă respectivă.
Reieşind din aceasta pe baza conţinutului structurii date domeniile
nominalizate vor avea următorul conţinut:
Tabelul de concordanţă
Codul Adresa zonei
obiectului obiectului
01 K1
02 K2
05 K3
14 K4
15 K5
16 K6
18 K7
21 K8
25 K9
26 K10

Domeniul de păstrare
Adresa zonei Codurile Nr. Adresa zonei Codurile Nr.
Conţinutul Conţinutul
obiectelor obiectelor d/o obiectelor obiectelor d/o
A1, 34 1 A7, 9 6
A3, 19 3 A8, 10 7
K1 01 A5, 18 4 K6 16 B3, 11 8
A7, 44 6 B4, 12 9
B4, 27 8 B5, 13 10
A5, 36 4 A1, 9 1
A7, 37 6 A2, 10 2
K2 02 A8, 38 7 K7 18 A3, 11 3
B3, 39 8 A5, 12 4
B5, 40 10 A6, 13 5
A1, 25 1 A1, 19 1
A2, 23 2 A2, 22 2
K3 05 A7, 22 6 K8 21 A8, 20 7
B3, 44 8 B3, 21 8
B4, 25 9 B5, 33 10
A2, 20 2 A1, 35 1
A3, 21 3 A5, 39 4
K4 14 A5, 20 4 K9 25 A8, 45 7
A6, 22 5 B4, 46 9
A7, 19 6 B5, 23 10
A1, 22 1 A5, 25 4
A2, 15 2 A6, 26 5
K5 15 A6, 17 5 K10 26 A8, 48 7
B4, 16 9 B3, 29 8
B5, 19 10 B4, 32 9

2. Elaborăm scalele logice


Codul
Adresele valorilor
obiectulu Scala logică
caracteristicilor
i
01 1011010010 a11 a13 a14 a16 a19
02 0001011101 a24 a26 a27 a28 a210
05 1100010110 a31 a32 a36 a38 a39
14 0111110000 a42 a43 a44 a45 a46
15 1100100011 a51 a52 a55 a59 510
16 0000011111 a66 a67 a68 a69 a610
18 1111100000 a71 a72 a73 a74 a75
21 1100001101 a81 a82 a87 a88 a810
25 1001001011 a91 a94 a97 a99 a910
26 0001101110 a104 a105 a107 a108 a109

3. Organizăm domeniile de rezervă pentru a înregistra elementele noi


pentru rândurile (4) – două elemente şi (7) – trei elemnte.
Domeniul de bază Domeniul de rezervă

Codul Adresele valorilor b41 b42 b43


Scala logică
obiectului caracteristicilor
a46 a49 a410
b41
14 0111110000 a42 a43 a44 a45 a46
b21 b22 b23 b24
b21
18 1111100000 a71 a72 a73 a74 a75 a75 a77 a78 a79

4. Prezentăm structura tabelară cu ajutorul metodei perechilor de


indecşi
Pe baza structurii iniţiale tabelul perechilor de indecşi va fi următorul:
ai bj cij ai bj cij
1 1 34 4 2 20
1 3 19 4 3 21
1 4 18 4 4 20
1 6 44 4 5 22
1 9 27 4 6 19
2 4 36 5 1 22
2 6 37 5 2 15
2 7 38 5 5 17
2 8 39 5 9 18
2 10 40 5 10 19
3 1 25 6 6 9
3 2 23 6 7 10
3 6 22 6 8 11
3 8 44 ... ... ...
3 9 25

5. Organizăm schema corectării valorilor caracteristicilor pentru


obiectele 14, 21 şi 26
Adresa zonei Codurile Nr.
Conţinutul
obiectelor obiectelor d/o
A2, 20 2
A3, 21 3
K4 14 A5, 20 4
A6, 22 5
14 A7, 8 A7, 19 6
Domeniul de
A1, 19 1
arhivă
21 A2, 10 A2, 22 2
21
K8
A8, 20 7
B3, 21 8

26 A3, 35 Anulare
B5, 33 10
A5, 25 4
A6, 26 5
K10 26 A8, 48 7
B3, 29 8
B4, 32 9

SARCINĂ
Elaborarea (prezentarea) şi împachetarea (ambalarea) fizică a structurilor
de date tabelare (matriceale) - SDT
Problema № 1
Este dată următoarea structură de date:
Cifrurile Cifrurile caracteristicilor
obiectelor A1 A3 A4 A6 A7 B1 B3 B5
14 --- 18 29 --- 44 67 --- ---
21 28 29 --- --- 15 45 --- ---
28 --- 13 --- 11 --- 10 --- 33
33 97 --- 79 --- 70 --- 90 ---
45 22 11 98 89 --- --- --- ---
61 --- --- --- --- 56 60 50 46
E necesar:
a) de prezentat schema organizării şi păstrării acestei structuri în memoria
calculatorului;
b) de împachetat această structură cu ajutorul perechilor de indecşi şi
scărilor (scalelor) logice;
c) se admite că rîndurile obiectelor 14 şi 28 se supraîncarcă ca rezultat a
completării lor respectiv cu două şi trei elemente noi. De organizat
păstrarea acestor noi elemente în domeniul de rezervă.
Problema № 2
Este dată următoarea structură:
Cifrurile Cifrurile caracteristicilor
obiectelor C1 C2 C4 C8 D2 D5 D8 D9
31 14 49 92 31 --- --- --- ---
45 --- --- --- --- 32 23 23 63
54 35 --- 18 --- 96 --- 69 ---
62 --- 53 --- 81 --- 22 --- 55
74 44 56 --- --- 12 21 --- ---
78 --- --- 19 30 --- --- 75 57
E necesar:
a) de prezentat schema organizării şi păstrării acestei structuri în memoria
calculatorului;
b) de împachetat această structură cu ajutorul perechilor de indecşi şi
scărilor (scalelor) logice;
c) se admite că rîndurile obiectelor 45 şi 62 se supraîncarcă ca rezultat a
completării lor respectiv cu trei şi patru elemente noi. De organizat
păstrarea acestor elemente noi în domeniul de rezervă.
Problema № 3
Este dată următoarea structură tabelară:
Cifrurile Cifrurile caracteristicilor
obiectelor C4 C5 C8 C9 D1 D8 D10 D11
71 43 --- 45 --- 47 --- 40 ---
73 --- 34 --- 54 --- 74 --- 94
77 21 --- --- 36 37 --- --- 85
81 --- 33 38 --- 12 63 --- ---
85 52 27 --- --- --- --- 71 94
88 --- --- 11 22 33 44 --- ---
E necesar:
a) de prezentat schema organizării şi păstrării acestei structuri în memoria
calculatorului;
b) de împachetat această structură cu ajutorul perechilor de indecşi şi
scărilor (scalelor) logice;
c) se admite că rîndurile obiectelor 73 şi 85 se supraîncarcă ca rezultat a
completării lor respectiv cu patru şi cinci elemente noi. De organizat
păstrarea acestor elemente noi în domeniul de rezervă.

Problema № 4
Este dată următoarea structură tabelară:

Cifrurile Cifrurile caracteristicilor


obiectelor E1 E3 E5 E7 F1 F4 F5 F6
48 --- --- --- --- 41 23 35 18
51 11 --- 22 --- 33 --- 44 ---
63 --- 21 32 --- 45 13 --- ---
68 12 91 --- --- 67 19 --- ---
71 14 --- 58 --- 89 --- 99 ---
75 --- 26 --- 40 --- 30 --- 50
E necesar:
a) de prezentat schema organizării şi păstrării acestei structuri în memoria
calculatorului;
b) de împachetat această structură cu ajutorul perechilor de indecşi şi
scărilor (scalelor) logice;
c) se admite că rîndurile obiectelor 63 şi 68 se supraîncarcă ca rezultat a
completării lor respectiv câte trei elemente noi. De organizat păstrarea
acestor elemente noi în domeniul de rezervă.

Partea III. ORGANIZAREA PĂSTRĂRII ŞI PRELUCRAREA


STRUCTURALĂ A COLECŢIILOR DE DATE
(CD)

COMPLEXUL DE PROBLEME № 9

Organizarea succesivă a colecţiilor de date


pe discuri magnetice
Indicaţii metodice
Esenţa metodei secvenţiale de organizare a colecţiilor de date pe suporţi
cu acces aleator rămâne aceiaşi ce şi pe suporţi cu acces succesiv. Însă, din
punct de vedere fizic această metodă se realizează în alt mod.
Organizarea succesivă de păstrare a colecţiilor de date pe suporţi cu acces
aleator se realizează în aceleaşi etape ce şi pentru banda magnetică. De aceea
mai întâi se verifică calitatea suporturilor din punct de vedere fizic, apoi se
calculează sistemul de mărci (externe şi interne), schema de repartizare a
colecţiilor de date, se efectuează introducerea datelor în memorie şi se verifică
deplinătatea şi autenticitatea conţinutului colecţiilor de date înregistrate.
Însă, luând în consideraţie particularităţile suportului cu acces aleator
(discul magnetic) e necesar de avut în vedere următoarele aspecte specifice:
1. Datele uneia şi aceleiaşi colecţii e necesar să fie înregistrate în unul şi
acelaşi spaţiu fizic sau în spaţii fizice vecine. Aceasta se explică prin
faptul că trecerea capului de citire dintr-un capăt în altul este cea mai
încetinită procedură;
2. Nu se permite înscrierea datelor neîntrerupt pe toată lungimea spaţiului
fizic. E necesar de rezervat un mic spaţiu nemagnetizat ce convenţional se
consideră drept semn de început şi sfârşit al spaţiului de înregistrare a
datelor;
3. Dacă datele colecţiei se înscriu pe disc magnetic atunci înregistrarea
datelor are loc cu intensitate diversă în depindere de felul de piste. Însă,
volumul informaţional al fiecărei piste este unul şi acelaşi. Aceasta se
asigură prin înscrierea mai rară a datelor pe pistele externe şi înregistrarea
mai densă a datelor pe pistele interne;
4. La nivel conceptual elaborarea schemei de repartizare a datelor pe suporţi
cu acces aleator se efectuează sub formă de un anumit tabel ce conţine
numărul blocului fizic, nr. cilindrului, nr. pistei şi nr. sectorului.

PROBLEMĂ – MODEL
Este dată colecţia de date „Bon de plată” care se înregistrează pe unitatea
de discuri magnetice. În colecţie se incud înregistrările cu numerele 77100–
79900. înregistrările sunt repartizate neîntrerupt una după alta. Ele sunt
organizate în blocuri (înregistrări fizice) câte 15 într-un bloc. Colecţia de date se
înregistrează începând cu cilindrul 153. unitatea de discuri magnetice conţine
220 cilindre. Cilindrul are 10 piste. Volumul informaţional al unei piste – 3625
octeţi. Lungimea unei înregistrări logice – 60 octeţi.

E necesar:
1) De elaborat mărcile sistemice ale colecţiei de date;
2) De calculat volumul necesar de memorie;
3) De prezentat schema de repartizare a CD pe unitatea de discuri magnetice
sub formă de tabel.

REZOLVARE:
1. Elaborăm mărcile sistemice
a) Denimirea CD – „Bon de plată”;
b) Tipul de organizare – succesivă;
c) Tipul CD – de intrare;
d) Formatul înregistrărilor – fixat, blocat;
e) Lungimea blocului – 15 înregistrări;
f) Lungimea înregistrărilor logice – 60 octeţi.

2. Determinăm volumul necesar de memorie pentru repartizarea CD


a) Determinăm numărul de înregistrări logice:
79900 – 77100 = 2800
b) Determinăm numărul de înregistrări fizice:
2800 / 15 ≈ 187
c) Determinăm volumul informaţional al unui bloc:
15 * 60 = 900 (octeţi)

d) Deteminăm numărul de înregistrări fizice ce pot fi repartizate pe o pistă:


3625 / 900 ≈ 4
e) Deteminăm numărul de piste necesare pentru a repartiza CD:
187 / 4 ≈ 47
f) Deteminăm numărulde cilindre necesare pentru a repartiza CD:
47 / 10 ≈ 5
3. Eaborăm schema de repartizare a CD pentru unitatea de discuri
magnetice
Bloc Cilindru Pistă Sector Bloc Cilindru Pistă Sector
0001 153 0 1 0044 154 0 4
0002 153 0 2 ...
0003 153 0 3 0077 154 9 1
0004 153 0 4 0078 154 9 2
0005 153 1 1 0079 154 9 3
0006 153 1 2 0080 154 9 4
0007 153 1 3 ...
0008 153 1 4 0161 157 0 1
... 0162 157 0 2
0037 153 9 1 0163 157 0 3
0038 153 9 2 0164 157 0 4
0039 153 9 3 ...
0040 153 9 4 0185 157 6 1
0041 154 0 1 0185 157 6 2
0042 154 0 2 0185 157 6 3
0043 154 0 3

SARCINĂ
Organizarea secvenţială a colecţiilor de date
pe suporţi magnetici cu acces aleator
Problema № 1

Date iniţiale:
Colecţia de date (CD) «Factură» se transcrie pe discuri magnetice. CD
conţine 2000 de înregistrări cu denumirile produselor finite şi numerele lor de
nomenclatură, începînd cu 260.000 şi repartizate una după alta în mod
sistematizat.
În CD se conţin date despre producţia finită realizată (număr de
nomenclatură, fel de producţie, producător, cumpărător, material de producere,
cantitate, preţ, sumă ş.a.). Înregistrările sînt ordonate după valorile cheii
«Număr de nomenclatură». Lungimea (volumul) unei înregistrări e de 75 octeţi.
Înregistrările sînt blocate căte 10 în bloc. Colecţia de date poate fi
repartizată, începînd cu pista 0 a cilindrului 125.
CD a fost înregistrată pe discuri magnetice (DM) la 23 februarie 1997 şi
este utilizată la rezolvarea problemei «Evidenţa realizării producţiei finite» ,
este considerată ca CD de bază. Data producerii volumului (pachetului de
discuri)-29 decembrie 1997. Termenul de păstrare a CD-23 07 1997.
Cifrul mărcii de titlu - 00055
Cifrul mărcii volumului - 006
Numărul de inventar al volumului - 02648
Indiciul volumului - 108
Cifrul utilizatorului - 0726
Numărul de inventar a CD - 04832
Cifrul denumirii CD - 01060
Numerele cilindrilor ocupate de CD - 125, 129 (primul şi ultimul)
Numărul de blocuri:
în volum - 200
pe cilindru - 040
pe pistă - 004
Numărul înregistrărilor logice:
pe volum - 02000
pe cilindru - 0400
pe pistă - 040
în bloc - 010
Indicatorul de început a mărcii CD - 054
Numărul mărcii CD - 096
Suma generală de control - 6514322115
E necesar:
1. de format mărcile (etichetele ) sistemice (externe şi interne);
2. de calculat volumul necesar de memorie pentru repartizarea CD;
3. de prezentat formatele înregistrării şi a pistei CD;
4. de prezentat schema repartizării CD pe volum sub formă de tabel.

Problema № 2
Date iniţiale:
Colecţia de date (CD) «Lista salariului calculat» se repartizează pe discuri. Ea

conţine informaţia despre sumele salariului calculat pe o lună de lucru a

secţiei, sectorului, brigăzii, numărului de tabel pe categoria lucrării, producţia


efectivă.

Înregistrările sînt ordonate în conformitate cu valorile cifrurilor secţiei,


sectorului, brigăzii şi numărului de tabel. Lungimea (volumul) fiecărei
înregistrări e de 55 octeţi. CD constă din înregistrări repartizate una după alta cu
valorile de numere de tabel de la 1000 pînă la 3999.
Colecţia de date se repartizează începînd cu pista 0 a cilindrului 75.
CD se înregistrează pe volum la 16 mai 1997, este rezultativă şi s-a
format ca urmare a rezolvării problemei “Calcularea salariului”. Termenul
păstrării CD -13 iulie 1998.
Cifrul mărcii de titlu - 02210
Cifrul mărcii volumului - 04904
Indiciul volumului - 076
Cifrul utilizatorului - 0346
Numărul de inventar a CD - 03651
Cifrul denumirii CD - 02431
Numerele cilindrilor, alocate sub CD - 7578
Indicator de оnceput a mărcii CD - 075
Numărul mărcii - 0612
Indicator de sfîrşit a mărcii CD - 037
Numărul înregistrărilor:
pe volum - 02000
pe cilindru - 0650
pe pistă - 065
Suma generală de control-2732411657
E necesar:
1. de format mărcile (etichetele ) sistemice (externe şi interne);
2. de calculat volumul necesar de memorie pentru repartizarea CD;
3. de prezentat formatele înregistrării şi a pistei CD;
4. de prezentat schema repartizării CD pe volum sub formă de tabel.

Problema № 3
Date iniţiale:
Colecţia de date (CD) «Act de decontare a fondurilor fixe» este
repartizată pe discuri magnetice şi conţine informaţie privind utilajul decontat:
denumirea utilajului, numărul de inventar, data, suma de amortizare, valoarea de
lichidare ş.a. Înregistrările sînt ordonate în conformitate cu valorile numerelor
de inventar a utilajului. Lungimea (volumul) unei înregistrări este de 65 octeţi.
CD conţine înregistrări, repartizate succesiv una după alta, cu numerele de
inventar, începînd cu 24600 şi terminînd cu 25599.
Înregistrările sînt blocate cîte 12 în fiecare bloc.
CD este repartizată începînd cu pista 0 a cilindrului 125. Înregistrarea CD
a avut loc la 15 octombrie 1997 şi este utilizată la rezolvarea problemei
«Decontarea fondurilor fixe», este CD de bază.
Data producerii pachetului de discuri - 18 noiembrie 1992. Termenul de
păstrare a CD - 17 ianuarie 1999
Cifrul mărcii de titlu - 02684
Cifrul mărcii volumului - 04314
Indiciul volumului - 038
Cifrul utilizatorului - 0826
Numărul de inventar a CD - 04582
Cifrul denumirii CD - 00284
Numerele cilindrilor, alocate sub CD - 125, 126
Indicator de început a mărcii CD - 030
Numărul mărcii - 0264
Indicator de sfîrşit a mărcii CD - 052
Numărul de blocuri:
în volum - 00083
pe cilindru - 040
pe pistă - 4
Numărul înregistrărilor logice:
pe volum - 01000
pe cilindru - 0480
pe pistă - 048
în bloc - 012
Suma generală de control - 7123765423
E necesar:
1. de format mărcile (etichetele ) sistemice (externe şi interne);
2. de calculat volumul necesar de memorie pentru repartizarea CD;
3. de prezentat formatele înregistrării şi a pistei CD;
4. de prezentat schema repartizării CD pe volum sub formă de tabel.

Problema № 4
Date iniţiale:
Colecţia de date (CD) «Bon de livrare» se transcrie pe discuri magnetice
şi conţine informaţia privind materialele livrate din depozite (depozit, depozitar,
denumire, număr de nomenclatură a materialului, data livrării, unitate de
măsură, cantitate, preţ, cost). Înregistrările sînt ordonate în conformitate cu
valorile cheilor depozitului şi a numerelor de nomenclatură a materialelor.
Lungimea (volumul) înregistrării este egală cu 70 octeţi. În CD se includ
înregistrări repartizate succesiv una după alta, începînd cu numerele 88100 şi
terminînd cu numărul 92099.
Înregistrările sînt blocate cîte 10 în bloc. CD se repartizează începînd cu
pista 0 a cilindrului 53.
CD s-a înregistrat pe discuri la 16 februarie 1997, este utilizată la
rezolvarea problemei «Consumarea materialelor» şi este considerată de bază.
Data producerii pachetelor de discuri - 15 noiembrie 1996
Termenul de păstrare a CD - 10 august 1997
Cifrul mărcii de titlu - 00274
Cifrul mărcii volumului - 03672
Indiciul volumului - 019
Cifrul utilizatorului - 0437
Numărul de inventar a CD - 04135
Cifrul denumirii CD - 00732
Numerele cilindrilor ocupate de CD - 53, 134
Indicatorul de început a mărcii CD - 083
Numărul mărcii - 0721
Indicator de sfîrşit al mărcii – 019
Numărul de blocuri:
în volum - 00400
pe cilindru - 050
pe pistă - 05
Numărul înregistrărilor logice:
pe volum - 04000
pe cilindru - 0500
pe pistă - 050
în bloc - 010
Suma generală de control-1731642524
E necesar:
1. de format mărcile (etichetele ) sistemice (externe şi interne);
2. de calculat volumul necesar de memorie pentru repartizarea CD;
3. de prezentat formatele înregistrării şi a pistei CD;
4. de prezentat schema repartizării CD pe volum sub formă de tabel.

COMPLEXUL DE PROBLEME № 10
Organizarea secvenţial indexată a colecţiilor de date
Indicaţii metodice
În procesul de prelucrare structurală a colecţiilor de date deseori pe baza
unui fişier de date de bază se formează unul sau mai multe fişiere de date
derivate. În aşa caz fişierele formate se consideră ca indecşi referitor la fişierul
iniţial. Fişierele formate trebuie să conţină aşa elemente informaţionale (cheia
înregistrării) ce după valorile lor coincid cu elementele fişierului de bază.
Fişierul format se consideră fişierul indexat.
Există diverse metode de organizare a fişierelor de indecşi, printre care de
bază sunt următoarele:
– Metoda secvenţial-indexată, se caracterizează prin aceea că înregistrările informaţionale sunt ordonate în ordinea creşterii
valorilor cheilor lor şi fizic sunt repartizate succesiv.
– Metoda aliator-indexată, se caracterozează prin faptul că înregistrările informaţionale nu numaidecât sunt ordonate şi pot fi
repartizate în orice domeniu a memoriei.
– Metoda de listă-indexată, în cadrul căreia înregistrările sunt conexate
prin intermediul adreselor de legătură.
Organizarea secvenţial-indexată constă în aceea că înregistrările fizice
sunt repartizate succesiv, iar prelucrarea lor (înscrierea, ştergerea) se efectuează
pe vaza valorilor cheilor acestor înregistrări. Din acest motiv dacă în metoda
succesivă de organizare a datelor înregistrările puteau fi fixate în memorie fără
chei, atunci metoda în cauză în mod obligatoriu preconizează înscrierea
înregistrărilor cu cheile lor respective.
Pentru a organiza colecţiile de date pe baza metodei secvenţial-indexate
în memoria externă cu acces aliator e necesar să fie organizate următoarele 3
domenii:
1. Domeniul indecşilor – în care se organizează indecşii colecţiei de date;
2. Domeniul primar – (de lucru, de bază) în care se repartizează înregistrările
informaţionale ale colecţiei de date cu cheile respective;
3. Domeniul de depăşire – e organizat cu scopul de a înscrie acele înregistrări
ce nu mai pot si repartizate în domeniul primar, iar reorganizarea colecţiei de
date este ineficientă.
Există 2 domenii de depăşire de bază:
– Domeniul de depăşire a cilindrului, ce fizic se organizează sub formă de o
pistă integră.
– Domeniul de depăşire al câtorva cilindri (domeniul de depăşire independent).
De asemenea este posibilă organizarea domeniului de depăşire şi pentru

fiecare pistă. Numai în acest caz domeniul se prezintă sub formă de o anumită

parte a pistei. Pentru metoda dată e caracteristic faptul că înregistrările şi

indecşii obligatoriu trebuie să fie ordonaţi. De asemenea în domeniul primar

toate pistele pe care se înscriu datele trebuie să fie ocupate pe deplin. Metoda

poate fi utilizată numai pentru a adăuga înregistrări noi. Aici anularea


înregistrărilor este exclusă.

PROBLEMĂ – MODEL
Pe unitatea de discuri magnetice se înregistrează o colecţie de date (CD) ce

constă din 25 înregistrări neblocate şi organizate prin metoda secvenţial

indexată. Fiecare înregistrare câmpul cheie cu lungimea de 2 octeţi şi câmpul

de date cu lungimea de 400 octeţi.

Valorile cheilor înregistrărilor sunt următoarele: 02, 05, 09, 12, 23, 32, 35,

36, 38, 41, 43, 45, 49, 50, 53, 57, 58, 59, 60, 81, 89, 91, 97, 99.

Pista cu nr. 9 se alocă pentru domeniul de depăşire. Pentru repartizarea CD

este utilizată unitatea de discuri magnetice ca şi în problema precedentă (cu

aceleaşi caracteristici).

E necesar:

1. De calculat volumul necesar de memorie pentru a repartiza această


colecţie de date;
2. De elaborat schema de repartizare a colecţiei pe unitatea de discuri
magnetice;
3. De inserat (adăugat) înregistrările cu următoarele valori a cheilor lor: 07,
15, 27, 47, 51, 71, 86, 93, 98.
4. De prezentat schema schimbării conţinutului fiecărui domeniu de
memorie (de indecşi, de bază şi de depăşire) după inserarea înregistrărilor
noi. La fiecare pas de inserare pe fiecare pistă se înscrie numai câte o
înregistrare nouă.

REZOLVARE:
1. Calculăm volumul necesar de memorie pentru repartizarea colecţiei de
date
a) Calculăm volumul informaţional al colecţiei de date:
25*(400+2) = 10500 octeţi
b) Determinăm volumul memoriei necesare pentru repartizarea CD:
– pentru domeniul de indecşi (2*25) / 3625  1 pistă
– pentru domeniul de date 10500 / 3625  3 piste
– pentru domeniul de depăşire – 1 pistă (pista nr. 9)
c) Determinăm numărul de înregistrări ce pot fi înscrise pe o pistă:
3625 / 402 = 9 înregistrări

2. Elaborat schema de repartizare a CD pe unitatea de discuri magnetice

Domeniul de
indecşi
EN EN EN

0 ED ED ED
Domeniul de
date
38/p1 38/p1 58/p2 58/p2 99/p3 99/p3
Domeniul de
0 0 0 1 2 3 3 3 3 depăşire

1 2 5 9 2 3 2 5 6 8

4 4 4 4 5 5 5 5 5

2 1 3 5 9 0 3 5 7 8

5 6 8 8 9 9 9

3 9 0 1 9 1 7 9

3. Inserăm înregistrările noi cu valorile cheilor lor în domeniul de date


Cu acest prilej e necesar ca mai întâi să determinăm apartenenţa

înregistrărilor noi pistelor de înregistrare. Astfel, la pasul 1 vor fi inserate

înregistrările care au valorile cheilor 07, 47 şi 71; la pasul 2 vor fi inserate

înregistrările 15, 51 şi 86 ş.a.m.d.

Pista Pista Pista

1 2 3

pasu 07 47 71

l1

pasu 15 51 86

l2

pasu 27 93

l3

pasu 98

l4

4. Prezentăm schema schimbării conţinutului fiecărui domeniu de memorie


după inserarea înregistrărilor noi
Pasul 1

EN ED EN ED EN
0
ED
36/p1 38/p9/ 55/p2 58/p9/ 99/p3 99/p3

1 2

1 02 05 07 09 12 23 32 35 36

2 41 43 45 47 49 50 53 55 57

3 59 60 71 81 89 91 97 99

9 38/p1 58/p2

Pasul 2

EN ED EN ED EN

ED
0
35/p1 38/p9/ 55/p2 58/p9/ 99/p3 99/p3

3 4

1 02 05 07 09 12 15 23 32 35

2 41 43 45 47 49 50 51 53 55

3 59 60 71 81 86 89 91 97 99


8

9 38/p1 58/p2 36/p9/1 57/p9/2

Pasul 3

EN ED EN ED EN

ED
0
32/p1 38/p9/ 55/p2 58/p9/ 99/p3 99/p9/

5 4 6

1 02 05 07 09 12 15 27 23 32

2 41 43 45 47 49 50 51 53 55

3 59 60 71 81 86 89 91 93 97

9 38/p1 58/p2 36/p9/1 57/p9/235/p9/3 99/p3

Pasul 4

EN ED EN ED EN
0
ED
32/p1 38/p9/ 55/p2 58/p9/ 99/p3 99/p9/

5 4 7

02 05 07 09 12 15 27 2 3

1 3 2

41 43 45 47 49 50 51 5 5

2 3 5

59 60 71 81 86 89 91 9 9

3 3 7

9 38/p1 58/p2 36/p9/1 57/p9/235/p9/3 99/p3 98/p9/6

SARCINĂ
Metoda de organizare secvenţial-indexată
a colecţiilor de date (CD) şi realizarea ei

Problema № 1
Colecţia de date constă din 45.000 de înregistrări logice. Fiecare
înregistrare constă din cîmpul cheii cu lungimea de 25 octeţi şi din cîmpul de
date cu lungimea de 55 octeţi.
E necesar:
a) de calculat volumul necesar de memorie, reeşind din următoarele condiţii:
b) înregistrările nu sînt blocate; pentru domeniul de depăşire se alocă cîte o
pistă;
c) Kbl=6; pentru fiecare domeniu de depăşire se alocă cîte două piste;
d) de determinat numărul de înregistrări logice, ce pot fi repartizate pe o
pistă a domeniului de bază (datelor, de lucru) şi pe o pistă a domeniului
de depăşire;
e) metoda de indexare: densă şi limitată (descărcată).
Calculele se efectuează reeşind din condiţiile pp. b), c) şi e).
Problema № 2
Colecţia de date secvenţial indexată constă din 60.000 înregistrări de
lungime fixată. Fiecare înregistrare conţine cheia cu lungimea de 16 octeţi şi
cîmpul de date cu lungimea de 75 octeţi. Datele se repartizează pe unitatea de
discuri magnetice, ce constă din 6 discuri cu 10 suprafeţe de înregistrare.
Volumul informaţional al unei piste constituie 3625 octeţi.
E necesar:
a) de determinat volumul necesar de memorie pentru colecţia de date
reeşind din următoarele condiţii:
- înregistrările nu sînt blocate pe fiecare cilindru pentru domeniul de
depăşire se alocă cîte două piste;
- Kbl=10; pentru domeniul de depăşire independent se alocă 6 cilindri;
b) pentru numărul de cilindri, alocate pentru colecţia de date, de organizat
indexul principal;
c) de determinat numărul de octeţi necesari pentru păstrarea indexului
cilindrilor;
d) de determinat numărul de înregistrări logice, ce pot fi repartizate pe o
pistă a domeniului datelor (primar de lucru, de bază) şi pe o pistă a
domeniului de depăşire - reeşind din condiţiile a), c), e);
e) metodele de indexare: densă şi limitată (descărcată).

Problema № 3
Colecţia de date secvenţial indexată constă din 25.000 de înregistrări
logice.
Fiecare înregistrare are lungimea de 150 octeţi, în care se include şi
lungimea cheii de 25 octeţi.
Colecţia de date se repartizează pe unitatea de discuri magnetice ce
constă din 11 discuri cu 20 de suprafeţe de înregistrare a datelor. Volumul
informaţional al unei piste constituie 3625 octeţi.
E necesar:
a) de calculat volumul necesar pentru colecţia de date, reeşind din
următoarele condiţii:
- înregistrările nu sînt blocate; pentru domeniul de depăşire se alocă 19 şi
20;
- Kbl=15; pentru domeniul
b) de depăşire independent se alocă 10 cilindri;
c) pentru numărul de cilindri, alocate pentru colecţia de date, de organizat indexul principal;
d) de determinat numărul de înregistrări logice, ce pot fi repartizate pe pista
domeniului de lucru (primar, a datelor, de bază) şi pe o pistă a domeniului
de depăşire, reeşind din condiţiile pp. a), b), e);
e) metodele de indexare utilizate: densă (de bază) şi limitată (descărcată).

Problema № 4
Colecţia de date constă din 15.000 înregistrări logice. Fiecare înregistrare
are lungimea de 100 octeţi, în care se include şi lungimea cheii de 25 octeţi.
Colecţia de date se repartizează pe unitatea de discuri magnetice din 6
discuri cu 10 suprafeţe de memorie pentru colecţia de date.
E necesar:
pentru numărul de cilindri alocate pentru colecţia de date de organizat
indexul principal;
a) de determinat numărul de octeţi pentru indexul cilindrilor;
b) de determinat numărul de înregistrări logice, ce pot fi repartizate pe o
pistă a domeniului de depăşire reeşind din următoarele condiţii:
- metodele de indexare: densă şi limitată (descărcată);
- înregistrările nu sînt blocate; pentru domeniul de depăşire se alocă
ultima pistă a cilindrului;
- Kbl=20; pentru domeniul de depăşire independent se alocă 8 cilindri;
c) pentru numărul de cilindri alocate pentru colecţia de date de organizat
indexul principal;
d) de determinat numărul de octeţi pentru indexul cilindrilor;

Problema № 5
Pe un volum de discuri magnetice se repartizează colecţia de date
«Dispoziţie», ce constă din 30 de înregistrări neblocate, organizate prin metoda
secvenţial-indexată. Fiecare înregistrare constă din cîmpul cheii cu lungimea de
500 octeţi.
Cheile înregistrărilor au următoarele valori: 03, 06, 08, 10, 21, 25, 27, 31,
33, 37, 39, 41, 43, 45, 51, 55, 59, 63, 69, 75, 79, 81, 90, 93, 95, 97, 98, 99.
Pista cu numărul nouă se alocă pentru domeniul de depăşire.
Colecţia de date se repartizează pe unitatea de discuri magnetice,
începînd cu pista 0 a cilindrului120. Unitatea nominalizată constă din 6 discuri
cu 10 suprafeţe de înregistrare. Volumul informaţional constituie 3626 octeţi.
E necesar:
a) de format sistemul de mărci (etichete) externe pentru colecţia de date;
b) de calculat volumul necesar de memorie pentru a repartiza colecţia de
date;
c) de elaborat schema de repartizare a colecţiei de date pe volum;
d) de efectuat adăugarea (includerea, inserarea) a 10 înregistrări cu
următoarele valori ale cheilor: 9, 12, 26, 35, 44, 57, 76, 83, 100, 101;
e) de prezentat schema stării domeniilor memoriei (a indecşilor, de bază şi
de depăşire) după fiecare pas de includere a înregistrărilor noi. La fiecare
pas se adaogă cîte o înregistrare pe pistă;
f) de dat interpretarea fizică a procesului de adăugare (la fiecare pas) sub
formă de schemă.

Problema № 6
Pe un volum de discuri magnetice se repartizează colecţia de date
«Norme», ce constă din 50 de înregistrări neblocate, care sînt organizate
secvenţial indexat. Fiecare înregistrare conţine cîmpul cheii cu lungimea de 3
octeţi şi cîmpul datelor cu lungimea de 400 octeţi.
Cheile înregistrărilor au următoarele valori: 201, 205, 207, 212, 214, 320,
325, 328, 330, 433. 435, 436, 438, 439, 440, 542, 544, 547, 550, 560, 561, 662,
666, 667, 670, 671, 672, 675, 680, 700, 701, 704, 705, 707, 709, 751, 757, 761,
771, 775, 781, 790, 800, 815, 816, 820, 830, 932.
Pentru repartizarea colecţiei de date se utilizează unitatea de discuri
magnetice din 6 discuri cu 6 suprafeţe de înregistrare. Volumul informaţional al
unei piste constituie 3625 octeţi.
Pistele 8 şi 9 se alocă pentru domeniul de depăşire.
E necesar de îndeplinit pp. a), b), c), e), f) din problema 5:
d) de inclus (inserat, adăugat) 12 înregistrări cu următoarele valori de chei: 202, 321, 335, 478,
545, 689, 693, 703, 741, 810, 825, 936;
g) dacă după înregistrarea indecşilor pe pista 0 rămîne spaţiu liber,
satisfăcător pentru a repartiza înregistrări, atunci e necesar de a efectua
această repartizare.

Problema № 7
Colecţia de date «Preţuri» este organizată prin metoda secvenţial-indexată
şi conţine 40 de înregistrări neblocate. Fiecare înregistrare are lungimea de 605
octeţi, în care 5 octeţi constituiesc lungimea cîmpului cheii.
Cheile înregistrărilor au următoarele valori: 10112, 10118, 10213, 10416,
11243, 11297, 11301, 11806, 12001, 12009, 12514, 12973, 13444, 13801,
13906, 13999, 14517, 14536, 14635, 14815, 15111, 15222, 15229, 15555,
15927, 16288, 16486, 16697, 17213, 17321, 17797, 17801, 18000, 18100,
18200, 18300, 19500, 19600, 19700, 19804.
Colecţia de date se repartizează pe unitatea de discuri magnetice din 6
discuri cu 10 suprafeţe de înregistrare. Volumul informaţional al unei piste
constituie 3625 octeţi. Pista 9 se alocă pentru domeniul de depăşire.
E necesar de îndeplinit pp. a), c), e), f) din problema 5;
p. g) din problema 6;
d) de inserat (adăugat, inclus) 15 înregistrări cu următoarele valori de chei:
10200, 11305, 12307, 13899, 15133, 17344, 17787, 19400, 10114,
12111, 14518, 14634, 16291, 18001, 19800.
Problema № 8
Se dă următorul fragment al schemei de organizare secvenţial-indexată a
colecţiei de date:
Element Element de
RO
normal depăşire
Adresa
proprie COC R R1 R2 R3 R4

40.00 40.07.1║18│40.00.16║18│Ø║63│40.01.1║63│63│Ø║

R5 R6... R13 R14 element pustiu


continuarea 91│40.02.1║91│Ø║613│40.06.1║613│ Ø║ │ ║5│D║
pistei
8│D║10│D║11│D║18│D║

40.01 ║25│D║28│D║31│D║36│D║47│D║51│D║54│D║63│D║

40.02 ║70│D║. . . . . .║91│D║


... ...
40.06 ║415│D║. . . . . .║613│D║

40.07 pistele
40.08 domeniului
40.09 de depăşire
După corectare fragmentul schemei al aceeaşi colecţii de date are
următoarea prezenţă:
Adresa
R0 R1
proprie
40.00 ║40.07.8║14│40.00.16║18│40.07.05║51│40.01.1║63│40.07.6║

║73│40.02.1║91│40.07.7║423│40.06.1║613│ 40.07.8║ . . .

║5│D║8│D║10│D║11│D║14│D║

40.01 ║25│D║28│D║31│D║36│D║47│D║51│D║

40.02 ║70│D║. . . . . .║83│D║


... ...
40.06 ║415│D║. . . . . .║423│D║

40.07 ║18│D║63│D║91│D║613│D║15│40.07.1│D║

║54│40.07.2│D║85│40.07.3│D║599│40.07.4│D║

40.08

40.09
În scheme cu două linii se desparte o înregistrare de alta, iar cu o linie -
cîmpul cheii de cîmpul datelor a fiecărei înregistrări. Litera D înseamnă
conţinutul cîmpului datelor.
E necesar:
a) de comentat (descris) ambele scheme cu depistarea şi indicarea
schimbărilor, care au fost efectuată în colecţia de date iniţială;
b) de explicat cîte şi ce fel de adaosuri (înserări, introduceri) de înregistrări
au avut loc, pe ce pistă şi în ce succesiune (ordine).

Problema № 9
Este dat următorul fragment de schemă a colecţiei de date secvenţial-
indexată:
Element Element de
RO
Adresa normal depăşire
proprie COC R R1 R2 R3 R4
30.00 30.09.1║19│30.00.22║19│Ø║41│30.01.1║41│ Ø║

R5 R6... R13 R14 element pustiu


║87│30.02.1║87│Ø║991│30.08.1║991│Ø║ │ ║1│D║3│D║

║5│D║10│D║19│D║

30.01 ║25│D║29│D║35│D║37│D║40│D║41│D║

30.02 ║42│D║. . . . . .║87│D║


... ...
30.08 ║711│D║. . . . . .║991│D║

30.09 pistă de depăşire


După corectare fragmentul schemei al aceeaşi colecţii de date are
următoarea prezenţă:
RO Element Element de
normal depăşire
Adresa
proprie COC R R1 R2

30.00 30.09.8║10│30.00.22║19│30.09.8║37│30.01.1║41│30.09.6║

║49│30.02.1║87│30.09.5║756│30.08.1║991│30.09.7║

║1│D║3│D║4│D║5│D║10│D║

30.01 ║21│D║25│D║29│D║31│D║35│D║37│D║

30.02 ║42│D║. . . . . .║49│D║


... ...
30.08 ║731│D║. . . . . .║756│D║

30.09 ║991│║19│║87│║41│║ 81│30.09.3│D║

║40│30.09.4│D║850│30.09.1│D║12│30.09.2│D║
În scheme cu linii duble se separează o înregistrare de alta, iar cu o linie-
cîmpul cheii de cîmpul datelor înregistrărilor. Litera D identifică conţinutul
cîmpului datelor.
E necesar:
a) de comentat (descris) ambele scheme cu depistarea şi indicarea
schimbărilor, ce au avut loc în colecţia de date iniţială;
b) de explicat cîte şi ce fel de schimbări (adaosuri, inserări, includeri) de
înregistrări noi au avut loc, pe ce piste ele s-au produs şi în ce ordine.

COMPLEXUL DE PROBLEME № 11
Sortarea internă a datelor
Indicaţii metodice
Drept sortare se consideră procedura ce contribuie la repartizarea

înregistrărilor CD în depindere de valorile cheilor într-o anumită ordine.

Ca regulă se sortează numai acele înregistrări ce sunt ambalate şi organizate

prin metoda succesivă. Celelalte metode de ambalare iniţial sunt orientate

spre o anumită organizare a datelor în depindere de particularităţile

soluţionării problemelor concrete.

Necesitatea sortării fişierelor este justificată prin faptul că contribuie la

reducerea timpului de efectuare a aşa proceduri ca căutarea, prelucrarea,

intersectarea fişierelor ş.a. Afară de acesta documentele rezultative perfectare

pe baza fişierelor de date ordonate sunt destul de acceptabile în procesul de

analiză funcţională a datelor.

În depindere de tipul de memorie implicat nemijlocit deosebim 2 grupe de

metode de sortare:

1. Metode de sortare internă, ce necesită în procesul de sortare utilizarea


numai a memoriei interne a calculatorului;
2. Metode de sortare externă, ce necesită utilizarea în procesul de sortare nu
numai a memoriei interne, dar şi a memoriei externe.
Pentru descrierea procesului de sortare e important de menţionat principalele

noţiuni, care vor fi utilizate aici: lungimea diapazonului valorilor cheilor

înregistrărilor, distribuirea valorilor acestor chei.

Drept diapazon se consideră diferenţa dintre valoarea maximală şi cea

minimală a cheilor înregistrărilor ce aparţin grupului sortat.


În interiorul diapazonului valorile cheilor înregistrărilor sortate pot fi diverse.

De aceea nu e exclusă dublarea unei şi aceiaşi valori a cheii ori absenţa unor

valori.

Pentru caracterizarea procesului de sortare de asemenea e necesar de a

cunoaşte coraportul dintre nr. de înregistrări (N) şi lungimea diapazonului

(D).

Dacă în cazul distribuirii uniforme a valorilor cheilor în fişierul sortat N>0,

atunci aceasta ne dovedeşte că în fişierul sortat sunt înregistrări cu unele şi

aceleaşi valori a cheilor înregistrărilor. Dacă N<0, atunci în interiorul

diapazonului nu sunt utilizate toate valorile cheilor proprii pentru acest

diapazon.

Grupul de înregistrării cu valorile cheilor repartizate într-o numită succesiune

(crescândă, descrescândă) se numeşte succesiune.

De ex.: grupul de înregistrări cu valorile cheilor 3, 9, 11, 7, 5, 8, 12 formează

3 succesiuni:

1) 3, 9, 11; D=3
2) 7; D=1
3) 5, 8, 12. D=3
Numărul de înregistrări ce se conţin în succesiune formează dimensiunea ori

lungimea succesiunii.

În depindere de caracterul efectuării sortării procesul de realizare al ei se

efectuează prin distribuire, selectarea, ordonare, concatenare sau intersectare.


Fiecare din aceste modalităţi se deosebeşte prin conceptul de organizare a

însăşi procesului de sortare a datelor iniţiale. Unele din ele ca regulă solicită

efectuarea sortării în prealabil ori după realizarea procesului de pregătire a

înregistrărilor pentru a fi ordonate.

În final indiferent de modalitate, va fi obţinut un fişier rezultativ în care înregistrările vor fi ordonate după valorile cheilor lor.

După cum s-a stabilit anterior aceste metode sunt realizate numai în cazul cînd volumul memoriei interne permite de a repartiza pe
deplin fişierul iniţial predestinat pentru a fi sortat. Însăşi sortarea solicită şi utilizarea altui dispozitiv al calculatorului – procesorului. La
nivel fizic sortarea se reduce schematic la următoarele:

1. Înainte de a fi sortat fişierul iniţial se transcrie pe deplin din memoria


externă în cea internă.
2. Din memoria internă se transcriu în procesor valorile cheilor a două
înregistrări ce se contrapun.
3. În depindere de rezultatul acestei contrapuneri, una din înregistrări va fi
transcrisă din procesor în memoria internă.
4. Din nou se transcrie o altă înregistrare din memoria internă în procesor,
cheia ei se compară cu cheia înregistrării ce se găseşte în procesor. În
dependenţă de rezultatul acestei comparări una din înregistrări se va
transcrie din procesor în memoria internă ş.a.m.d. până sortarea deplină a
fişierului iniţial.
5. Fişierul sortat în continuare poate fi supus prelucrării de calcul ori scos la
imprimantă (afişat la monitor), ori înregistrat în memoria externă.
În dependenţă de solicitarea anumitei rezerve de spaţiu al memoriei
interne se evidenţiază două grupe de metode de sortare internă:
– metode ce nu solicită spaţiul de memorie suplimentar;
– metode ce solicită acest spaţiu;
De menţionat faptul că numărul metodelor de sortare este considerabil
(câteva sute) însă printre metodele de sortare internă ce nu necesită spaţiu
suplimentar de memorie cele mai frecvent aplicate sunt următoarele trei:

A. Metoda de inserţie, constă în aceea că fiecare cheie se compară cu


cheia vecină şi în dependenţă de rezultatul acestei comparări înregistrările se
schimbă sau nu cu locurile lor. Acest proces de realizare până la obţinerea
fişierului sortat. De regulă numărul paşilor de sortare se egalează cu numărul
înregistrărilor în fişierul sortat.

B. Metoda Shell se consideră cea mai eficientă deoarece în afară de aceea


că nu solicită memorie suplimentară contribuie la cea mai rapidă sortare a
înregistrărilor. În principiu esenţa metodei constă în aceea că fişierul iniţial se
divizează în grupe de înregistrări cu unu şi acelaşi număr de înregistrări, după ce
aceste înregistrări se sortează prin metoda insertivă. Cu fiecare pas numărul
grupelor de înregistrări sortate se reduce iar lungimea lor se măreşte.

C. Metoda bulelor – este cea mai simplă, însă şi cea mai neeficientă,
deoarece necesită multe etape şi comparări. Esenţa ei se reduce la aceea că
valorile cheilor la prima etapă se vor compara până atunci când pe primul loc nu
va fi scoasă înregistrarea cu cea mai mică valoare a cheii. În continuare acelaşi
lucru se va produce şi cu următoarea înregistrare şi aşa până nu va fi sortat şirul
iniţial pe deplin.

În grupa de metode de sortare internă ce necesită memoriei suplimentară


frecvent sunt aplicate următoarele două metode:
D. Metoda sortării prin interclasare (contopire) constă în aceea că fişierul
iniţial la primul pas se divizează în subgrupe, fiecare din ele constând din două
chei. Prin compararea valorilor ei ele se schimbă sau nu cu locul. La pasul doi
aceste subgrupe se unesc în alte subgrupe ce constau din 4 chei. De asemenea
ele se compară şi se schimbă cu locul. La pasul trei se formează subgrupa din 8
chei şi aşa mai departe până nu va fi format tot fişierul sortat.
E. Metoda de sortare prin selecţia în carou. Spre deosebire de celelalte
metode necesită utilizarea nu a două ci a trei zone de sortare:
- spaţiul pentru fişierul iniţial
- domeniul pentru fişierul sortat
- domeniul pentru acumularea înregistrărilor sortate.

PROBLEMĂ – MODEL
Este dată următoare succesiune de valori a cheilor înregistrărilor (n = 9):
A=6, 8, 2, 4, 10, 25, 3, 5, 15}

E necesar de sortat această succesiune de valori a cheilor pin metodele:


a) Metoda de inserare;
b) Metoda Shell;
c) Metoda bulelor;
d) Medoda de interclasare;
e) Metoda de selecţie în carou.
REZOLVARE:

A. Metoda de inserare:
Succesiunea
nesortată 6 8 2 4 10 25 3 5 15

I 6 8 2 4 10 25 3 5 15

II 6 8 2 4 10 25 3 5 15

III 2 6 8 4 10 25 3 5 15

IV 2 4 6 8 10 25 3 5 15

V 2 4 6 8 10 25 3 5 15

VI 2 4 6 8 10 25 3 5 15

VII 2 3 4 6 8 10 25 5 15

VIII 2 3 4 5 6 8 10 25 15
Succesiunea
2 3 4 5 6 8 10 15 25 sortată
B. Metoda Shell:
Succesiunea
nesortată 6 8 2 4 10 25 3 5 15

Deoarece succesiunea este cu număr impar de elemente, aplicăm


următoarea formulă de determinare a numărului de grupe de elemente:
n 1 8
d1   4
2 2

I 6 8 2 4 10 25 3 5 15
I
II
III
IV

Grupa I (6, 10, 15)


Grupa II (8, 25)
Grupa III (2, 3)
Grupa IV (4, 5)
d1 4
d2   2
2 2
II 6 8 2 3 10 25 4 5 15
I
II

Grupa I (6, 2, 10, 4, 15) (2, 4, 6, 10, 15)


Grupa II (8, 3, 25, 5) (3, 5, 8, 25)
d2 2
d3   1
2 2
III 6 8 2 3 10 25 4 5 15
I

Grupa I (6, 8, 2, 3, 10, 25, 4, 5, 15) (2, 3, 4, 5, 6, 8, 10, 15, 25)


Succesiunea
2 3 4 5 6 8 10 15 25 sortată

C) Metoda bulelor:
Succesiunea
nesortată 6 8 2 4 10 25 3 5 15
I 2 8 6 4 10 25 3 5 15

II 2 6 8 4 10 25 3 5 15
2 4 8 6 10 25 3 5 15
2 3 8 6 10 25 3 5 15
III 2 3 6 8 10 25 4 5 15
2 3 4 8 10 25 6 5 15
IV 2 3 4 6 10 25 8 5 15
2 3 4 5 10 25 8 6 15
V 2 3 4 5 6 25 8 10 15
VI 2 3 4 5 6 8 25 10 15
VII 2 3 4 5 6 8 10 25 15
Succesiunea
VIII 2 3 4 5 6 8 10 15 25 sortată

D) Metoda de interclasare:
Pasul I Pasul II Pasul III Pasul IV
Succesiunea
nesortată 6 6
2
8 8
4 2 2
2 2 6 3 3
4 4 8 4 4
5 5
10 10
3 6 6
25 25
5 8 8
E) Metoda de selecţie în carou:
I II III IV V VI VII VIII IX
6 2 6 6 – 6 – 6 – 6 – 8 – – –
8 8 8 8 8 8 – – –
2 – – – – – – – –
4 4 – 4 – 4 – 10 – 10 – 10 – 10 – 26 – 26
10 10 10 10 – – – – –
26 26 26 26 26 26 26 26 –
3 3 – 3 – 5 – 5 – 15 – 15 – 15 – 15 –
5 5 3 5 5 – – – – –
15 15 3 15 15 15 – – – –

Zona de acumulare: 2, 3, 4, 5, 6, 8, 10, 15, 26

SARCINĂ

Metode de sortare internă


Problema № 1
Este dată următoarea succesiune de elemente (n=20):
A=16, 18, 22, 14, 21, 36, 12, 15, 21, 12, 13, 18, 14, 23, 37, 54, 93, 26, 17, 25}
E necesar:
1. de sortat succesiunea dată de elemente în ordine crescîndă prin metodele:
a) insertivă,
b) Şell,
c) «bulelor»
d) interclasare
e) selecţie în carou;
2. de determinat numărul paşilor, valoarea pasului d sortare la fiecare etapă,
de calculat numărul de comparări şi schimbări la fiecare pas de sortare,
precum şi numărul grupelor ordonate (sortate).
Rezultatele calculelor se înscriu în tabelul de următoarea formă:
Metoda de Numărul de Numărul de Numărul de Rezervă de
sortare etape de sortare comparări schimburi memorie
Insertivă
Şell
Bulelor
Interclasare
Selecţie în
carou
De determinat cea mai eficienta metodă în baza valorilor acestor
parametri.

Problema № 2
Este dată următoarea succesiune de elemente (n=12):
A=25, 26, 23, 28, 31, 27, 29, 23, 25, 38, 45, 19}
E necesar:
De efectuat aceeaşi ce şi în problema 1.

Problema № 3
Este dată următoarea succesiune de elemente (n=11):
A=17, 7, 3, 8, 10, 21, 1, 23, 15, 4, 18}
E necesar:
De efectuat aceeaşi ce şi în problema 1.

Problema № 4
Este dată următoarea succesiune de elemente (n=14):
A=81, 1, 96, 44, 53, 34, 48, 56, 7, 83, 3, 15, 11, 90}
E necesar:
De efectuat aceeaşi ce şi în problema 1.

Problema № 5
Este dată următoarea succesiune de elemente (n=10):
A=41, 14, 4, 1, 83, 38, 8, 13, 95, 5}
E necesar:
De efectuat aceeaşi ce şi în problema 1.

Problema № 6
Este dată următoarea succesiune de elemente (n=17):
A=18, 3, 4, 19, 2, 10, 23, 32, 91, 17, 71, 76, 6, 18, 2, 19, 1}
E necesar:
De efectuat aceeaşi ce şi în problema 1.

Problema № 7
Este dată următoarea succesiune de elemente (n=13):
A=31, 28, 45, 57, 7, 83, 96, 11, 25, 6, 10, 26}
E necesar:
De efectuat aceeaşi ce şi în problema 1.

COMPLEXUL DE PROBLEME № 13
Corectarea datelor
Indicaţii metodice
Procedura de corectare a datelor aparţine procedurilor de prelucrarea
structurală. Însă, dacă celelalte proceduri (sortare, căutare) influenţau numai
structura colecţiilor de date, atunci corectarea se referă nu numai la componenţa
datelor, dar şi la valorile numerice ale colecţiilor de date.
Corectarea asigură un anumit nivel de autenticitate şi deplinătate

necesară a colecţiei de date păstrate. După frecvenţă şi manoperă această

procedură are o ponderitate considerabilă în procesul unic de prelucrare a

informaţiei economice. Aceasta se explică prin faptul că informaţia

economică poartă un caracter relativ şi ocupă circa 70-75% din tot volumul

informaţiei economice.

Corectarea datelor economice întotdeauna se efectuează


înaintea soluţionării anumitor probleme. Pentru toate structurile de
date asociative corectarea se efectuează prin manipularea cu aceste
adrese. Pentru structurile de date secvenţiale corectarea se
efectuează prin următoarele 3 procedee:
1. Completarea datelor păstrate cu date noi;
2. Anularea datelor neactuale şi excluderea lor din colecţia iniţială de
date;
3. Înlocuirea conţinutului învechit al datelor cu un conţinut nou.
Primele două procedee necesită reorganizarea datelor ori transcrierea unei
părţi a lor, pe când înlocuirea nu necesită aceste proceduri.
Efectuarea corectării poate fi organizată în baza următoarelor 2 metode:
– Corectarea odată cu aparenţa noilor unităţi informaţionale;
– Corectarea în grup.
Prima metodă e caracteristică pentru sistemele de prelucrare în regim real,
ceea ce nu e caracteristic pentru unităţile informaţionale economice. Pentru
S.I.E. e caracteristică corectarea datelor în anumiţi termeni, independent de
volumul lor (de regulă la 1-a şi a 15-a zi a fiecărei luni).

PROBLEMĂ – MODEL № 1
Este dat următorul fişier de date care are următorul conţinut:

Denumirea câmpului Mărimea Identificatorul


Cifrul utilajului 18 octeţi CU
Luna 2 octeţi Luna
Depozitul / Sectorul 2 octeţi DS
Unitatea de măsură 2 octeţi UM
Cantitatea de utilaje 6 octeţi Cantit
Costul iniţial 12 octeţi Cost

E necesar:
1. De determinat structura şi de prezentat fişierul de bază;
2. De prezentat structura înregistrărilor fişierului de corectură în următoarele
cazuri:
a) anularea numărului de inventar al utilajului cu conţinutul respectiv;
b) inserarea unei înregistrări noi despre un utilaj nou cu număr de
inventar nou;
c) înlocuirea unor valori a câmpurilor (cantitate, cost iniţial) într-o
anumită înregistrare.

Rezolvare:
1. Prezentăm structura fişierului iniţial:
x1 x2 x3 ... x18 x1 x2 x1 x2 x1 x2 x1 x2 ... x6 x1 x2 ... x12
CU Luna DS UM Cantit Cost
2. Prezentăm structurile înregistrărilor corectate în cazul efectuării
următoarelor proceduri de corectare:
a) anularea unei înregistrări privind un utilaj concret cu un anumit număr
de inventar
x1 x2 x3 ... x18 0 0 0 0 0 0 0 0 0 0 0 0 000000000000
CU Luna DS UM Cantit Cost

b) inserarea unei înregistrări noi despre un utilaj nou


x1n x2n x3n ... x18n x1n x2n x1n x2n x1n x2n x1n x2n ... x6n x1n x2n ... x12n
CU Luna DS UM Cantit Cost

c) schimbarea valorilor câmpurilor cantitate şi cost.


x1 x2 x3 ... x18 x1 x2 x1 x2 x1 x2 x1n x2n ... x6n x1n x2n ... x12n
CU Luna DS UM Cantit Cost

PROBLEMĂ – MODEL № 2

Este dat un fişier cu normele de consum „NORMA” a resurselor


materiale, în care câmpul cheie cifrul materialului (CM) are o lungime
de 7 octeţi.
Fişierul de corectură constă din înregistrări cu lungime fixă în care primii 7 octeţi de asemenea
constituie cifrul materialului. Ambele fişiere (de bază şi de corectură) sunt ordonate în mod
crescător după valorile cheilor materialelor.
E necesar de determinat conţinutul nou al fişierului de bază, luând în
considerare că conţinutul iniţial al fişierului de bază şi conţinutul fişierului de
corectură sunt următoarele:

Identificatorii Conţinutul fişierului Conţinutul fişierului


câmpurilor de bază de corectură
CM 3467800 3467790
Norma 340 1250
CM 3467801 3467800
Norma 860 680
CM 3467810 3467805
Norma 450 118
CM 3468000 3467810
Norma 600 000
CM 3468300 3467820
Norma 815 800
CM 3468400 3468500
Norma 2000 000
CM 3468500 3469101
Norma 630 555
CM 3469000
Norma 489

REZOLVARE:
Identificatorii Conţinutul fişierului Operaţia
câmpurilor de bază nou (corectat) efectuată
CM 3467790 Inserare
Norma 1250
CM 3467800 Înlocuire
Norma 680 (modificare)
CM 3467801
Norma 860
CM 3467805 Inserare
Norma 118
CM 3467810 Anulare
Norma 000
CM 3467820 Inserare
Norma 800
CM 3468000
Norma 600
CM 3468300
Norma 815
CM 3468400
Norma 2000
CM 3468500 Anulare
Norma 000
CM 3469000
Norma 489
CM 3469101 Inserare
Norma 555 (adăugare)

SARCINĂ

Corectarea datelor
Problema № 1
Fişierul cu înregistrări privind stocurile produselor finite în depozite este
înregistrat pe banda magnetică. Fiecare înregistrare are următoarea structură:
numărul de nomenclatură-7 octeţi, luna-2 octeţi, depozit-2 octeţi, magazioner-1
octet, unitate de măsură-2 octeţi, cantitate (număr)-4 octeţi, costul-6 octeţi.
Fişierul este ordonat (sortat) după cifrul depozitului, magazionerului şi
numărul de nomenclatură a producţiei finite.
Pentru fiecare număr de nomenclatură a producţiei finite se organizează
cîte o înregistrare.
E necesar:
1. de determinat structura şi organizarea corecturii fişierului de bază şi
fişierului nou corectat;
2. de determinat structura înregistrărilor fişierului de corectură pentru
efectuarea următoarelor proceduri:
a) anularea oricărei înregistrări după numărul de nomenclatură a producţiei finite;
b) inserarea înregistrării cu un număr nou de nomenclatură a producţiei
finite;
c)înlocuirea valorii vechi a înregistrării cu valoarea nouă.

Problema № 2
Fişierul de bază cu date despre utilajul efectiv constă din înregistrări cu
lungimea fixată, la care cheia (cifrul utilajului) are 5 octeţi.
Fişierul de corectură de asemenea constă din înregistrări cu lungimea
fixată, la care primii 5 octeţi constituie cheia. Ambele fişiere sînt ordonate
(sortate) în ordinea crescîndă a valorilor cifrului numărului de inventar a
utilajului.
E necesar de format conţinutul nou a fişierului de bază reeşind din
conţinutul lui vechi şi conţinutul fişierului de corectură, care sînt următoarele:
Conţinutul vechi a Conţinutul nou a
Fişierul de corectură
fişierului de bază fişierului de bază
12201
CU 12344
304
COSTUL 430

12356 12344
1601 400
12801 12716
713 1101
12813 12801
317 000
12857 12809
1806 914
12901 12841
603 417
12937 12917
522 2603
12951 12937
346 356
12988 12966
577 1400
12951
000
12991
1016

Problema № 3
În structurile arborescente, prezentate în problemele 6.3.1.-6.3.4. e
necesar mai întîi de anulat, iar apoi de înserat nodurile respective a
înregistrărilor cu următoarele chei:
Numerele Numerele arborilor Valorile cheilor Valorile cheilor
problemelor (succesiunilor de date) anulate inserate
I 26,45 15,61
6.3.1.
II 14,25 16,29
I 20,33 13,58
6.3.2.
II 8,67 11,96
I 7,11 5,27
6.3.3.
II 20,50 18,58
I 12,18 10,21
6.3.4.
II 6,52 9,51

Problema № 4
În arborii prezentaţi în problemele 6.3.5. şi 6.3.6., e necesar mai întîi de
anulat, iar apoi de inserat nodurile respective a înregistrărilor cu următoarele
chei:
Numerele Numerele arborilor Valorile cheilor Valorile cheilor
problemelor (succesiunilor de date) anulate inserate
I 19,50 15,183
6.3.5.
II 165,247 157,249
I 13,20 12,9
II 10,30 7,11
6.3.6.
III 9,22 7,5
IV 7,18 2,6

Problema № 5
Pentru structurile de tabel, ambalate în problemele 6.4.1. şi 6.4.2., de
elaborat schemele de actualizare a următoarelor înregistrări:
14 A3,25  14 A3,18   31C 4,18  31C 4,94 
 21 A7 ,19  21 A7 ,15  45D5,61  45D5,36 
   
6.4.1. 28 A6,28  28 A6,11 6.4.2.  62 L8,33  62C8,81 
 28B1,83  28B1,10  74 D2,49  74 D2,12 
   
 33 A4 ,45  33 A4 ,79  78 D9,11  78 D9,57 
Problema № 6
Pentru structurile de tabel, ambalate în problemele 6.4.3. şi 6.4.4., de
elaborat schemele de actualizare a următoarelor înregistrări:
 51D5,55  51D5,22   71D1,15  71D1,47 
 63E 4 ,28  63E 4 ,13 77 C 9 ,63  77 C 9 ,36
   
6.4.3.  68D3,17  68D3,91 6.4.4.  81D8,36  81D8,63 
68E 4 ,44  68E 4 ,19   85C 4 ,25  85C 4 ,52 
   
 75D7 ,20  75D7 ,40  88C8,55  88C8,11 

Problema № 7
Fişierul iniţial indexat constă din înregistrări cu următoarele valori de
chei: 200, 202, 203, 205, 206, 208, 210, 211, 213, 215, 217, 220, 225, 227, 230,
232. Lungimea fiecărei înregistrări e de 100 octeţi. În memoria internă
înregistrările sînt repartizate începînd cu adresa K. Volumul memoriei de
rezervă este egal cu lungimea de 5 înregistrări.
E necesar:
a) de elaborat schema organizării secvenţial-indexată a colecţiei de date cu
indexare descărcată universală. Dimensiunea grupei indexate e de 5
înregistrări;
b) de efectuat inserarea înregistrărilor cu cheile 204, 209, 233, utilizînd în
acest scop procedeele A, B1, B2, C1, C2 . În cazul procedeelor B1 şi B2 se
presupune că pentru fiecare 5 înregistrări, ce se includ în grupa indexată,
se alocă memorie liberă cu un volum de 800 octeţi;
c) de calculat volumele necesare de memorie pentru fiecare procedeu de
organizare a colecţiei de date, de comparat dimensiunile acestor volume;
d) de determinat numărul mediu de comparări necesare pentru regăsirea unei
înregistrări în colecţia de date.

Problema № 8
Fişierul iniţial indexat constă din înregistrări cu cheile: 312, 314, 316,
320, 321, 323, 327, 340, 345, 346, 348, 351, 360, 363, 367, 372, 378, 380, 389.
Lungimea înregistrării , volumul memoriei rezervate, adresa de început sînt
aceleaşi ce şi în problema 7.
De efectuat aceeaşi ce şi în problema 7. Se inserează înregistrările cu
cheile 325, 334, 349.

COMPLEXUL DE PROBLEME № 12
Sortarea externă a datelor
Indicaţii metodice
Metodele de sortare internă sunt aplicate în cazul când fişierele de date
iniţiale şi sortate se repartizează pe deplin în memoria internă. Din acest motiv e
posibilă adresarea la orice înregistrare în procesul de sortare. Însă fişierele de
date economice reale dispun de aşa volum informaţional care depăşeşte esenţial
volumul memoriei interne a calculatorului. De aceea în aceste cazuri se
utilizează memoria externă. La nivel conceptual sortarea externă se reduce la
următoarele proceduri efectuate în următoarea succesiune:
1. Fişierul de date se transcrie în anumite porţiuni din memoria externă în
memoria internă.
2. În memoria internă prin intermediul anumitor metode de sortare internă
aceste porţii se ordonează (sortează) cu implicarea procesorului.
3. După efectuarea sortării fiecărei grupe datele ordonate se transcriu din
memoria internă în cea externă.
4. Prin unirea (contopirea, concatenarea) acestor porţii ordonate într-o
singură totalitate de date sortate se formează un fişier unic sortat.
Una din cele mai răspândite metode de efectuare a sortării externe este
sortarea prin contopire, ori unire a datelor (sortare magazinală).
Procedura de contopire operează numai cu structuri succesive. De aceea
pentru a realiza sortarea prin contopire de regulă este utilizată memoria externă
cu acces succesiv. Drept exemplu de aşa memorie este dispozitivele cu access
succesiv organizate pe bandă magnetică. Aceasta însă nu înseamnă că şi alte
dispozitive cu acces aliator (pachetele de discuri, wincesterele) nu pot fi
utilizate pentru a sorta fişierul de date în regim de exploatare a benzilor
magnetice. Din acest motiv mai evidentă este descrierea şi studierea sortării
externe pe baza benzilor magnetice.
Metoda de unire a fişierelor iniţiale în procesul de sortare se mai numeşte
echilibrată (balansată) din cauză că numărul de benzi magnetice trebuie să fie
egal atât la intrare, cât şi la ieşirea din memoria internă,. Contopirea fişierelor se
mai numeşte şi multifazică după numărul de benzi conectate la intrarea şi ieşirea
din memoria externă. De aceea, se evidenţiazăsortare echilibrată multifazică.
În depindere de volumul fişierului sortat se evidenţiază sortare
unibobinală şi multibobinală.
Pentru sortarea unibobinală e caracteristic faptul că fişierul sortat se
înscrie pe deplin pe o bobină de bandă magnetică. Sortarea multibobinală se
finalizează cu aceea că fişierul pe deplin sortat se repartizează pe mai multe
bobine de bandă magnetică.
Sortarea multibobinală se realizează prin intermediul a două metode:
1. Metoda contopirii multibobinale;
2. Metoda distribuirii multibobinale.
Esenţa primei metode se reduce la următoarele:
a) Mai întâi fiecare din datele ce se conţin pe fiecare bobină se sortează pe
baza uneia din metodele de sortare unibobinală.
b) În continuare datele sortate de pe fiecare bobină se unesc în succesiuni
mai lungi în mai multe bobine până când nu va fi formată o succesiune
unică a datelor sortate pe mai multe bobine. Numărul de astfel de
succesiuni depinde de numărul de succesiuni şi volumul lor (numărul de
bobine) la intrarea în memoria internă. Cu cât succesiunea este mai
considerabilă la intrări cu atât mai operativ se va efectua sortarea. Însă, în
acest caz atât pentru sortarea unibobinală, cât şi multibobinală spaţiul
memoriei externe va fi utilizat neeficient.
Sortarea prin metoda de distribuire multibobinală (a doua metodă) este
inversă metodei de contopire şi se reduce la efectuarea următoarele proceduri:
a) Mai întâi înregistrările fişierului iniţial se divizează în anumite subgrupe
la care este stabilit diapazonul valorilor cheilor (de ex: 1-100; 101-200
etc.)
b) În depindere de valoarea cheii fiecărei înregistrări datele se selectează şi
se acumulează în grupele cu diapazonul de valori a cheilor stabilit.
c) În continuare fiecare grupă de înregistrări în acelaşi mod se divizează în
subgrupe, care conţin un diapazon de valori al cheilor mai mic (de ex.: 1-
50; 51-100; 101-150 etc.). Această procedură se repetă până când nu se
va obţine câte o grupă de înregistrări ce se repartizează pe o bobină de
bandă magnetică.
d) Apoi, fişierul de pe fiecare bobină se sortează prin intermediul unei
metode de sortare internă şi în aşa mod se obţine o totalitate de bobine de
bandă magnetică cu un fişier unic sortat.

Sortarea unibobinală
PROBLEMĂ – MODEL № 1
Este dată o totalitate de înregistrări organizată sub formă de fişier de date.
În acest fişier se conţin 7.000 de înregistrări.
E necesar de sortat acest fişier prin metoda unibobinală, deoarece el
poate fi înscris pe o singură bobină în rezultatul sortării.
Sortarea se produce în porţiuni. Fiecare porţiune conţine câte 1.000
înregistrări. De aceea în memoria internă se organizează spaţiu memorial pentru
a înscrie şi sorta fiecare din aceste porţiuni. Acest spaţiu se numeşte magazin de
sortare. Sortarea se va produce rin metoda 4-fazică echilibrată.

REZOLVARE:
Faptul că sortarea este 4-fazică schilibrată înseamnă că atât la intrarea în
memoria internă (MI), cât şi la ieşire se dispune de 4 derulori de benzi
magnetice.
Deoarece sortarea se produce în volum de 1.000 înregistrări, pe benzile
magnetice vor fi înscriese 7 porţiuni de înregistrări sortate. În primul rând pe
toate cele 4 benzi vor fi înscrise primele 4 mii de înregistrări. În al doilea rând
vor fi înscrise pe primele 3 benzi următoarele 3 mii de înregistrări.
Reieşind din aceste condiţii, la primul ciclu de sortare se vor contopi într-
o succesiune primele 4 mii de înregistrări pe o bandă magnetică de ieşire, iar pe
altă bandă magentică se vor înscrie următoarele 3 mii de înregistrări. Schematic
acest ciclu se prezintă în următorul mod:

Ciclul I de contopire a datelor:


B1 1,5 1-4 B5
mag 1
NC K
B2 2,6 3-7 B6
mag 2 nod
de comu-
B3 3,7 conto- tator B7
mag 3 pire

B4 4 B8
mag 4

mag de
ieşire

Ciclul II de contopire a datelor:

B5 1-4 1-7 B1
mag 1
NC K
B6 5-7 B2
mag 2 nod
de comu-
B7 conto- tator B3
pire

B8 B4

Sortarea multibobinală
PROBLEMĂ – MODEL № 2
Este dat un fişier de 1mln 100 mii de înregistrări. Fiecare din 100 mii de
înregistrări se repartizează pe deplin pe o bandă magentică. În aşa mod fişierul
iniţial necesită pentru a fi repartizat 11 bobine de benzi magnetice.
Pentru a afectua această sortare a fişierului se utilizează 4 derulori de
benzi magnetice: 3 la intrare şi 1 la ieşire.
E necesar de sortat acest fişier prin metoda multibobinală:
a) prin contopire;
b) prin distribuire.

REZOLVARE:
A. Sortarea multibobinală prin contopire
Reieşind din cndiţiile iniţiale sortarea multibobinală prin contopire va
cuprinde 3 cicluri. Schema sortării este următoarea:
Ciclul I de contopire a datelor:
A B C

1 2 3 4 5 6 7 8 9 10 11
I II III I II III I II III

MI
NC
K

14 17 20
13 16 19
12 15 18
Ciclul II de contopire a datelor:

18 19 20 10 11
I II III

MI
NC
K

7 8 9 21 22
Ciclul III de contopire a datelor:

12 13 14 15 16 17 7 8 9 21 22
I II III

MI
NC
B. Sortarea multibobinală prin distribuire
Sortarea multibobinală prin distribuire este inversă metodei de contopire
din cauză că iniţial datele n-au fost sortate, de aceea ele mai întâi se acumulează
pe fiecare bandă magnetică în depindere de valorile cheilor înregistrărilor, iar
după aceea ele sunt sortate prin intermediul anumitei metode de sortare internă.
Pentru sortarea prin metoda de distribuire la intrere se comuteză un derulor, iar
la ieşire 3. Reieşind din aceste condiţii schema de sortare va fi următoarea:
1 – 1.000.000

1 2 3 4 5 6 7 8 9 10 11

1 – 500.000 500.001 – 800.000 800.001 – 1.100.000

12 13 14 15 16 17 18 19 20 21 22

1 – 300.000
1 2 3 4 5 6 7 8 9 10 11
300.001- 400.001- 500.000- 600.001- 700.001- 800.001- 900.001- 1.000.001-
400.000 500.000 600.000 700.000 800.000 900.000 1.000.000 1.100.000

12 13 14
1-100.000 100.001- 200.001-
200.000 300.000

Complexul de probleme
Sortarea externă
Problema № 1
Fişierul iniţial, ce este supus sortării şi interclasării constă din 9000 de
înregistrări cu lungimea fixă. Pentru fiecare magazin de intrare cît şi de ieşire se
alocă memorie de un volum de 1000 de înregistrări.
E necesar:
a) de determinat numărul de etape (cicluri) de sortare la primul stadiu
(stadiu de pregătire) şi numărul ciclurilor de interclasare la al doilea
stadiu;
b) de elaborat schemele de distribuire sortare şi înterclasare a fişierului
iniţial în cazurile interclasării 2-, 3- şi 4- fazică echilibrată.

Problema № 2
Colecţia de date, ce este supusă sortării, constă din 8 mii de înregistrări cu
lungimea fixată. Condiţiile sortării şi interclasării sînt aceleaşi, ce şi în problema
1.
E necesar de efectuat aceeaşi ce şi în problema 1.

Problema № 3
E necesar de efectuat sortarea şi interclasarea colecţiilor de date, ce
constă din 10 mii de înregistrări în baza condiţiilor problemei 1

Problema № 4
E necesar de efectuat sortarea şi interclasarea colecţiilor de date, ce
constă din 15 mii de înregistrări în baza condiţiilor problemei 1

Problema № 5
Colecţia de date iniţială ocupă 11 bobine de bandă magnetică.
E necesar:
a) prin intermediul unei metode de sortare unibobinală externă de ordonat
(sortat) datele de pe fiecare bobină de bandă magnetică;
b) prin intermediul metodei de unire multibobinală de interclasat datele de
pe toate bobinele şi de format o succesiune ordonată unsprezecebobinală
de date;
c) de elaborat schemele realizării (efectuării) sortării externe unibobinale şi
a interclasării unsprezecebobinale;
d) de elaborat cîteva scheme de interclasare şi de selectat cea mai raţională
din ele;
e) de calculat numărul etapelor şi ciclurilor de sortare şi unire a bobinelor de
bandă magnetică utilizate;
f) sortarea unibobinală se efectuează prin metoda unirii 3-fazice echilibrate.
Pentru contopirea unibobinală se utilizează 4 derulări de bandă
magnetică: 3-la intrare, 1-la ieşirea din memoria internă.

Problema № 6
E necesar de efectuat contopirea 10-bobinală a colecţiei de date iniţiale
în baza condiţiilor problemei 5.

Problema № 7
E necesar de efectuat contopirea 13-bobinală a colecţiei de date iniţiale
în baza condiţiilor problemei 5.

Problema № 8
Colecţia de date iniţială ocupă 10 volume de bandă magnetică.
Diapazonul valorilor cheilor înregistrărilor sortate este cuprins în limitele 1-
1.000.000. Se prognozează că totalitatea de înregistrări cu diapazonul valorilor
cheilor de 200.000 pe deplin se repartizează pe un volum de bandă magnetică.
E necesar:
a) de elaborat schema distribuirii colecţiei de înregistrări 10-bobinale;
b) după efectuarea ultimei etape de distribuire a datelor de îndeplinit
sortarea înregistrărilor pe fiecare volum de bandă magnetică prin metoda
de interclasare unibobinală, pentru ce de elaborat şi de descris schema
respectivă. Sortarea unibobinală se efectuează prin metoda de interclasare
4-fazică echilibrată;
c) de calculat numărul de etape şi cicluri de sortare şi de contopire a
bobinelor de bandă magnetică.

Problema № 9
E necesar de efectuat distribuirea multibobinală a colecţiei de date 10-
bobinale cu diapazonul valorilor cheilor de la 4001-8000, în baza condiţiilor
problemei 8. Pe un volum de memorie poate fi repartizată (înscrisă) o totalitate
de înregistrări cu diapazonul de 500 de valori a cheilor.

Problema № 10
E necesar de efectuat distribuirea multibobinală a colecţiei de date 13-
bobinale cu diapazonul valorilor cheilor de la 20001-46000, în baza condiţiilor
problemei 8. Pe un volum de memorie poate fi repartizată (înscrisă) o totalitate
de înregistrări cu diapazonul de 2000 de valori a cheilor.

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