+ All Categories
Home > Documents > ISA Zi Prezentare_Capitolul 2_2016

ISA Zi Prezentare_Capitolul 2_2016

Date post: 06-Jul-2018
Category:
Upload: sorin-rotaru
View: 224 times
Download: 0 times
Share this document with a friend
28
Capitolul 2 Structuri de date şi structuri de prelucrare
Transcript
Page 1: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 1/28

Capitolul 2

Structuri de date

şi

structuri de prelucrare

Page 2: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 2/28

Agenda

•  Aspecte introductive

• Structuri de date

• Structuri algoritmice de prelucrare

Page 3: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 3/28

2.1. ASPECTE INTRODUCTIVE

 Înţeleger ea corectă a principalelor structuri de date şi astructurilor de prelucrare are importanţă în:

 – activitatea de programare,

 – formarea specialiştilor  în domeniul instrumentelorsoftware.

Page 4: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 4/28

Structuri de date

O structură de date reprezintă o modalitate deorganizare a datelor care acoperă data elementarăpropriu-zisă şi relaţiile acesteia cu alte date.

 Î n activitatea de programare alegerea unei structuri dedate adecvate asigur ă avantaje importante:

 – utilizarea eficientă a memoriei,

 – eficientizarea prelucrărilor,

 – reducerea costurilor de programare.

Page 5: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 5/28

Structuri de prelucrare

• Structurile de date sunt strâns legate de structurile

algoritmice.

• Struc tur i le de preluc rare (stru ctu r i le algor i tm ice deprelucrare  ) reprezintă modalităţi de organizare a controlului

 în prelucrarea prin programe /proceduri a structurilor dedate.

• Structurile algoritmice eficientizează:

 – operaţiile de creare şi actualizare a structurilor de date,

 – operaţiile de căutare şi sortare a acestora.

• Toate structurile de date şi de prelucrare se bazează pememoria calculatorului, care (în cel mai simplu mod),trebuie privită ca fiind o structură liniară de celule / locaţii  încare se depozitează date cu valori corespunzătoare

aplicaţ iei.

Page 6: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 6/28

2.2. STRUCTURI DE DATE

2.2.1. Clasificări ale principalelor structuri de date

• Compoziţia internă a unei date impune gruparea în:

 – date elementare,

 – date structurate.

• O dată elementară - un atribut care nu poate fidescompus din punct de vedere logic.

• Datele structurate (compuse) - o grupare de dateelementare şi /sau de alte date compuse.

• Toate datele în BD sau entităţi sunt declarate în dicţionarulde date, pe ultimul nivel, ca fiind date elementare.

Page 7: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 7/28

Datele structurate se grupează în:

• Date structurate de nivel redus, care permit operaţii la nivelde componentă (tablourile şi articolele);

• Date structurate de nivel înalt, care permit operaţii

implementate de algoritmi utilizator (liste liniare, liste liniareordonate, stiva şi coada).

Page 8: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 8/28

O dată elementară reprezintă cea mai simplă modalitate de

reprezentare logică a unei informaţii. În categoria datelor elementare sunt incluse:

 – Numere întregi ,

 – Numere reale,

 – Valori booleene,

 – Caractere.

Page 9: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 9/28

• Numere întregi: celule sau locaţii de memorie în care suntstocate numere întregi. Asupra acestor date se pot aplica

operaţiile aritmetice cunoscute: +, -, ...;

• Numere reale: celule de memorie în care sunt stocatenumere raţionale. Ca şi în cazul numerelor întregi asupra lorse pot aplica operaţiile aritmetice;

• Valori booleene: celule sau locaţii de memorie în care suntstocate valorile logice - true sau false. Aceste date facobiectul operaţiilor/operatorilor: and, or, not.

• Caractere: celule sau locaţii de memorie în care sunt stocateşiruri de caractere alfabetice de genul ‘a’, ‘b’, ‘abc’,‘Popescu’ … . Pentru aceste date se pot aplica operaţiispeciale de concatenare şi comparaţie.

Page 10: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 10/28

Date elementare - exemple

Nr. crt. Nume_dată Valoare Tip

1 Produs Pâine Şir de caractere

2 Preţ  0.5 Numeric

3 UM Buc Şir de caractere

4 Intrare 100 Numeric

5 Data 05/12/05 Dată calendaristică

Page 11: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 11/28

Crearea datelor elementare folosind Visual Basic for Application:

Sub algoritm()

' creare -initializare

produs = "paine" ' creare variabila produs si intializare cu "paine"pret = 0.5 ' creare variabila pret si intializare cu 0.5

um = "buc" ' creare variabila UM si intializare cu "buc"

intrare = 100 ' creare variabila intrare si intializare cu 100

data = "12/12/2005" ' creare variabila data si intializare cu "12/12/2005"

' calcul valoare

v = pret * intrare ' creare variabila v si incarcare cu produsul dintre continutul' variabilei pret cu cel al variabilei intrare

' afişare rezultate

MsgBox "Variabila v contine: " & Str(v) ' Afisare variabila v

MsgBox "Total intrari " & produs & ": " & Str(v) & " RON" ' Afisare rezultate finisate

End Sub

Observaţie: semnul ' de pe linia cu instrucţiuni permite ataşarea unui comentariu.

Page 12: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 12/28

 Acelaşi algoritm se putea scrie şi astfel:

Public produs As String ' se creează in mod public variabila produs de tip sir Public pret ' se creează in mod public variabila pret de tip variantPublic um As String

Public intrare

Public data As Date ' se creeaza in mod public variabila produs te tip datacalendaristica

Public v

Sub algoritm()

' creare-initializare

produs = "paine" ' intializare cu "paine"pret = 0.5 ' intializare cu 0.5

um = "buc" ' intializare cu "buc"

intrare = 100 ' intializare cu 100

data = "12/12/2005" ' intializare cu "12/12/2005"

' calcul valoare

v = pret * intrare ' incarcare cu produsul dintre continutul lui pret si cel al variabileiintrare

' afişare rezultate

MsgBox "Variabila v contine: " & Str(v) ' Afisare variabila v

MsgBox "Total intrari " & produs & ": " & Str(v) & " RON" ' Afisare rezultate finisate

End Sub

Page 13: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 13/28

Tablouri

• Un tablou se defineşte ca fiind cea mai simplă datăstructurată organizată sub formă tabelară.

• O caracteristică importantă a unui tablou o reprezintădimensiunea acestuia:

 – un tablou cu o singură dimensiune (o singurăcoloană) poartă denumirea de vector ,

 – un tablou cu două dimensiuni poartă denumirea dematrice.

• în fiecare celulă a unui tablou se regăseşte o datăelementară.

Page 14: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 14/28

Pointerul

•   Pointerul reprezintă o legătură către o dată elementară.• Cu alte cuvinte, o variabilă care conţine o adresă sau un

nume de variabilă pentru o altă dată elementară.

Page 15: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 15/28

2.2.5. Structuri de date externe: articolul şi fişierul

•   Fişierul reprezintă o colecţie ordonată de date. Urmare a

faptului că stocarea datelor se face pe suporţi de memorieexternă, fişierul este definit şi ca structură de date externă.

• Structura ordonată de date din cadrul fişierului poartădenumirea de art ico l , care la rândul său este constituit dintr -o mulţime ordonată de valori ale căror caracteristici aparţinunei entităţi din domeniul unei probleme.

• Caracteristicile descrise prin intermediul valorilor dinarticolele unui fişier se numsc câmpuri .

Page 16: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 16/28

Reprezentări ale structurilor de date externe de tip articol şifişier

Page 17: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 17/28

• Din punct de vedere al activităţilor  de

programare este interesant să cunoaştemmetoda de organizare şi tipul de acces aferente

structurilor de date externe.

• Metoda de organizare poate fi: secvenţială,relativă şi indexată;

• Tipul de acces la date (în operaţii de citire şiscriere a valorilor din /în câmpuri) poate fi

secvenţial sau direct.

Page 18: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 18/28

2.3. STRUCTURI ALGORITMICE DE PRELUCRARE

• Principala sarcină a unui mediu de programare (instrumentsoftware) constă în a permite definirea structurilor de date într -un mod eficient şi de a   asigura accesul, manipularea,actualizarea şi   controlul  asupra acestora prin intermediulalgoritmilor şi structurilor de prelucrare /control.

• Structurile de prelucrare /control constituie aportul cel maide seamă al metodei de programare structurată, care aimpus utilizarea a trei tipuri de structuri fundamentale,toate cu o singură intrare şi o singură ieşire, renunţându-se

 în fapt la utilizarea  în activitatea de programare lainstrucţiunea GOTO.

Page 19: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 19/28

Sunt implementate trei tipuri de structuri fundamentale:

 – secvenţiale;

 – alternative;

 – repetitive.

St t il d t l f d t l

Page 20: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 20/28

Structurile de control fundamentale

Page 21: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 21/28

B. Structurile de control alternative

 În cadrul structurilor de control alternative se disting:• structuri de control altenative cu ramură dublă;

• structuri de control alternative cu ramură vidă;

• structuri de control alternative generalizate.

Page 22: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 22/28

a. Codificarea structurilor de control alternative cu

ramură dublă şi a celor cu ramură vidă

IF <condiţie> THEN

<set_comenzi1>

[ELSE <set_comenzi2>]END IF

Page 23: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 23/28

Pentru codificarea structurii de control

alternative cu ramură vidă formatulcomenzii IF devine:

IF <condiţie> THEN

<set_comenzi>END IF

Page 24: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 24/28

b. Codificarea structurilor de control alternative generalizate

Generalizate se realizează cu ajutorul comenzii: SELECT

CASE … CASE … CASE ELSE … END SELECT.Formatul general pentru această comandă:SELECT CASE <var>

CASE <var_1>

<set_comenzi_1>

[CASE <var_2>

<set_comenzi_2>]

[CASE <var_k>

<set_comenzi_k>]

[…][CASE <var_m>

<set_comenzi_m>]CASE ELSE

<set_comenzi>]

END SELECT

Page 25: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 25/28

C. Structurile de control repetitive

 În VBA structurile de control repetitive sunt realizate astfel:

WHILE … WEND, pentru structuri repetitive condiţionate anterior .Setul de comenzi se execută cât timp condiţia este adevărată.

FOR … NEXT, pentru structuri repetitive cu număr stabilit de paşi.

Page 26: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 26/28

WHILE … WEND

 În VBA această structură repetitivă este considerată cea mai

simplă, deoarece nu oferă posibilitatea părăsirii forţate asetului de comenzi cu o instrucţiune de tipul EXIT.

Formatul general este:

WHILE conditie

<set_comenzi>

WEND

CÂT TIMP conditie

<set_comenzi>

SFÂRŞIT CÂT TIMP

Page 27: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 27/28

FOR … NEXT

• Această structură oferă posibilitatea prestabilirii

numărului de execuţii pentru set_comenzi.• Din punct de vedere logic se aseamănă cu WHILE …WEND, cu precizarea că actualizarea se face cu clauzaNEXT .

• Formatul general este:

FOR i =1 to n<set_comenzi>

NEXT i

PENTRU i = 1 la N<set_comenzi>

URMĂTORUL i

Page 28: ISA Zi Prezentare_Capitolul 2_2016

8/17/2019 ISA Zi Prezentare_Capitolul 2_2016

http://slidepdf.com/reader/full/isa-zi-prezentarecapitolul-22016 28/28

DO… LOOP

Structura de prelucrare de tip repetitiv permite

utilizarea a două clauze diferite: – WHILE - pentru transferul controlului în cazul

 îndeplinirii condiţiei,

 – UNTIL - pentru transferul controlului în cazul

neîndeplinirii condiţiei.Varianta cu WHILE DO … LOOP corespunde structurii

de control repetitive condiţionate anterior ,

Varianta cu UNTIL, permite codificarea structurilor de

control condiţionate posterior .


Recommended