Extras din curs
1 Structuri de date fundamentale
1.1 Introducere
- Sistemele de calcul moderne sunt dispozitive care au fost concepute cu scopul de a facilita si accelera calcule complicate, mari consumatoare de timp.
- Din acest motiv, în majoritatea aplicatiilor, viteza, frecventa de lucru si capacitatea lor de a memora si de a avea acces la cantitati mari de informatii au un rol hotarâtor si sunt considerate caracteristici primordiale ale calculatoarelor
- Abilitatea de calcul, în cele mai multe cazuri este irelevanta în maniera directa.
- Cantitatea mare de informatii pe care o prelucreaza un sistem de calcul reprezinta de regula, o abstractizare a lumii înconjuratoare, respectiv a unei parti a lumii reale.
- Informatia furnizata sistemului de calcul consta dintr-o multime de date selectate referitoare la lumea reala,
- Datele selectate se refera la multimea de date care este considerata cea mai reprezentativa pentru problema tratata si despre care se presupune ca din ea pot fi obtinute (deduse) rezultatele dorite.
- În acest context, datele reprezinta o abstractizare a realitatii
- în sensul ca anumite proprietati si caracteristici ale obiectelor reale pe care acestea le reprezinta, sunt ignorate întrucât sunt considerate periferice si nerelevante pentru problema particulara tratata.
- O abstractizare este de fapt o simplificare a faptelor.
- În rezolvarea unei probleme cu ajutorul unui sistem de calcul un rol esential revine alegerii unei abstractizari convenabile a realitatii
- Acest lucru se poate realiza definind spre exemplu un set reprezentativ de date care modeleaza (reprezinta) situatia reala.
- Alegerea abstractizarii este determinata de regula de natura problemei de rezolvat.
- Urmeaza în continuare stabilirea reprezentarii abstractizarii.
- Aceasta activitate este determinata de uneltele care vor fi utilizate în rezolvarea problemei, spre exemplu de facilitatile oferite de un anume sistem de calcul.
- De cele mai multe ori cei doi pasi se întrepatrund.
- Alegerea reprezentarii este de multe ori o activitate deosebit de dificila întrucât nu este determinata în mod unic de facilitatile disponibile.
- Se cunoaste ca reprezentarea interna a informatiei într-un sistem de calcul se realizeaza cu ajutorul cifrelor binare (biti).
- Aceasta reprezentare care este foarte potrivita pentru circuitele electronice, nu este potrivita pentru fiinta umana din cauza numarului prea mare de cifre implicate.
- Din acest motiv, alegerea reprezentarii datelor se poate realiza la diferite niveluri de abstractizare, functie de obiectivul urmarit si de limbajul de programare utilizat.
- În acest context, un limbaj de programare reprezinta:
- Un calculator abstract,
- Capabil sa înteleaga fraze construite cu ajutorul termenilor definiti în acest limbaj,
- Termeni care la rândul lor, pot sa încorporeze un anumit nivel de abstractizare al entitatilor efectiv utilizate (definite) de catre masina reala.
- Utilizând un astfel de limbaj, programatorul va fi eliberat spre exemplu de chestiuni legate de reprezentarea numerelor daca acestea constituie entitati elementare în descrierea limbajului.
- Utilizariea unui limbaj de programare care ofera un set fundamental de abstractizari, valabil pentru marea majoritate a problemelor de prelucrare a datelor, se reflecta în special în domeniul de reliabilitate al programelor care rezulta.
- Este mult mai usor sa se conceapa un program bazat pe obiecte familiare (numere, multimi, secvente) decât unul bazat pe structuri de biti, cuvinte si salturi.
- Desigur, oricare sistem de calcul reprezinta în ultima instanta datele ca si un masiv de informatii binare.
- Acest fapt este însa transparent pentru programator,
- El poate opera cu notiuni abstracte, mai usor de manipulat întrucât dispune de compilatoare specializate care preiau sarcina transformarii notiunilor abstracte în termeni specifici sistemului de calcul tinta.
- Cu cât nivelul de abstractizare este mai strâns legat de un anumit sistem de calcul,
- Cu atât este mai simplu pentru inginer sau pentru implementatorul de aplicatii sa aleaga o reprezentare mai eficienta a datelor,
Preview document
Conținut arhivă zip
- Structuri de Date si Algoritmi
- IntroducereCuprins.doc
- SuportCap1.doc
- SuportCap2.doc
- SuportCap3.doc
- SuportCap4.doc
- SuportCap5.doc
- SuportCap5a.doc
- SuportCap6.doc
- SuportCap6a.doc
- SuportCap7.doc