CURSUL nr.04


predat in ziua de 27 octombrie 2008


Cand se studiaza structurile de datre S1, S2, S3, ...., SN, trebuie gasite acele proceduri care implementeaza operatii comune tuturor structurilor.
Daca se doreste scrierea unui program:
- trebuie aleasa strucutra cea mai eficienta; pentru a scrie repede acel program cu structura cea mai eficienta trebuie sa existe in biblioteca de proceduri scrifa deja pentru aceasta structura suficient de multe proceduri, astfel incat cu usurinta, prin preluare sa se rezolve orice cerinta; alftel, programatorul fie ca va merge pe structura pe care o stie el cel mai bine, fie ca se va orienta spre structura care are cele mai multe operatii implementate prin proceduri;
- se reutilezaza proceduri deja existente, iar atunci cand se doreste construirea unui program cu grad de omogenitate ridicat, absenta de operatii pe o structura simtita de programator prin faptul ca acesta nu gaseste procedurile, necesita fie niste artificii de utilizare de proceduri cu alte structuri, precedate si urmate de conversii, fie scrierea de proceduri, fara generalitate prea mare, care nu se includ in biblioteca dar care folosesc unui scop limitat, aplicatia cu pricina.
Operatia de concatenare inseamna alaturarea a doua elemente dintr-un tip de structura.
Concatenarea a doi vectori.
Concatenarea a doua matrice.
Concatenarea a doua liste simple.
Concatenarea a doua liste duble
Concatenarea a doua cozi.
Concatenarea a doi arbori binari.
Concatenarea a doi arbori B.
Concatenarea a doua dispersii.
Concatenarea a doua grafuri.
Concatenarea a doua structuri oarecare.
Concatenarea a doua structuri agregate.
Concatenarea a doua fisiere.
Concatenarea a doua baze de date.
Este necesar ca in fiecare caz sa se stabileasca:
- intrarile
- conditiile
- iesirea, adica rezultatul.
In cazul concatenarii a doi vectori operatia se realizeaza in doua moduri:
- exista cei doi vectori care trebuie concatenati X cu N componente alocate si n componente initializate, respectiv Y cu M componente alocate si m componente initializate; se va defini un vector Z cu N+M componente alocate, care dupa concatenare va avea n+m componente initializate; alocarea presupune copierea elementelor vectorului X i vectorul Z, Z[i]=X[i], i=1, 2, ,3, ..., n, dupa care se copiaza in continuare, elementele vectorului Y, Z[n+i]=Y[i], i=1, 2, 3, ..., m;


- exista vecorul X cu N+M componente din care se initializeaza n < = N si vectorul Y cu M componente din care se initializeaza m componente; concatenarea presupune copierea in continuare, in vectorul X a componentelor vectorului Y, x[n+i]=Y[i], i=1,2,3, .., m.

In cazul concatenarii a doua liste simple L1 si L2 , operatia se realizeaza prin traversarea listei L1 , dupa care are loc initializarea campului cu NULL care specifica finalul listei, cu adresa primului element din L2 .
Daca exista o biblioteca cu functii primare, se utilizeaza:
- procedura de referire a ultimului element din lista simpla
- procedura de initializare a unui camp dintr-un elemen al unei liste, referit prin adresa, cu o valoare care se afla intr-o zona de menorie al carui nume este dat.



In cazul concatenarii a doua liste duble L1 si L2 , operatia se realizeaza folosind procedura de adaugare a unui element la sfarsitul listei duble. Numai ca acel element are dupa el alte elemente...

In cazul concatenarii a doi arori A1 si A2 , operatia se realizeaza transformand nodurile radacina ale celor doi arbori in noduri descendente stang, respectiv drept, avand o noua radacina alocata special si initializata cu adresel celor doua radacini.



In cazul concatenarii a doua fisiere F1 si F2 , operatia se realizeaza asemeni situatiei concatenarii a doi vectori, articolele fisierului F2 , se copiaza in fisierul F1 dupa ultimul articol existent deja in acest fisier gazda.



Problema concatenarii bazelor de date este mult mai complexa, intrucat, pe langa informatiile de baza care descriu elementele celor doua colectivitati de acelasi tip, folosind un sablon comun si un acelasi program de creare si acxelasi sistem de gestiune, se impune cunoasterea exacta si a celorlalte informatii care asigura regasirea si regruparea informatiilor, astfel incat concatenarea sa conduca la o structura de date noua, fara a fi vorba de doua baze de date independente care formeaza numai aparent un intreg.

in lucru acum....



afisat azi 7 octombrie 2008

REVENIRE