5.-Tipuri-structurate-de-date.-Tipul-tablou.pdf
-
Upload
stoicescu-dumitru -
Category
Documents
-
view
13 -
download
1
Transcript of 5.-Tipuri-structurate-de-date.-Tipul-tablou.pdf
-
Tipul tablou
Tipuri
structurate
de date
-
Sumar
1. Competene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Tipuri structurate de date. Tipul tablou . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Tablouri unidimensionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. Tablouri bidimensionale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5. Aplicaii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6. Bibliografie i webografie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2
-
1. Competene
Competene generale
implementarea algoritmilor ntr-un limbaj de programare
aplicarea algoritmilor fundamentali n prelucrarea datelor
Competene specifice
identificarea necesitii structurrii datelor n tablouri
prelucrarea datelor structurate
utilizarea unui mediu de programare C++
3
-
4
O structur de date reprezint un ansamblu (o colecie) de date organizate dup anumite reguli, care depind de tipul de structur.
Dintre tipurile de structuri de date fac parte:
tablourile de memorie; fiiere.
2. Tipuri structurate de date. Tipul tablou
-
5
Tablouri
Un tablou este o structur format dintr-un numr fix de componente de acelai tip, numit tip de baz.
Tabloul reprezint o zon de memorie crei i se atribuie un nume i care permite memorarea mai multor date de acelai tip. Aceste date pot fi tratate ca un tot unitar sau ca date elementare independente.
Tablourile sunt de dou tipuri: tablouri unidimensionale (vectori); tablouri bidimensionale (matrici).
Tipuri structurate de date. Tipul tablou
-
6
Tablouri unidimensionale (vectori)
Pentru a prelucra un set de valori de acelai tip, acesta trebuie memorat ntr-o structur de date. O astfel de structur de date se numete ir, iar valorile respective se numesc elementele irului.
n limbajul C++ elementele unui ir se memoreaz ntr-o singur variabil indexat numit tablou unidimensional sau vector.
Elementele irului memorate ntr-un vector se numesc elementele vectorului sau componentele vectorului.
3. Tablouri unidimensionale
-
7
Declarare vector
Sintaxa: tip_dat nume[nr_elemente];
unde: - tip_dat precizeaz tipul elementelor vectorului; - nume este identificatorul vectorului;
- nr_elemente este o constant ntreag care reprezint numrul de
elemente ale vectorului.
nume[0] nume[1] nume[2] nume[3] nume[n-2] nume[n-1]
Fiecare element este indicat prin locul pe care l ocup n cadrul vectorului. Poziiile elementelor n vector sunt numerotate succesiv ncepnd cu 0.
...
Tablouri unidimensionale
-
8
Exemple 1. Se declar un vector a cu 10 elemente de tip int: int a[10];
2. Se declar un vector x cu 5 elemente de tip float: float x[5];
3. Se declar un vector c cu 8 elemente de tip char: char c[8];
4. Iniializarea elementelor unui vector la declarare: int v[]={21, 4, 361, 55};
5. Declararea unei constante ntregi care va fi folosit la declararea vectorului:
const int NR_ELEMENTE=50;
int v[NR_ELEMENTE];
Tablouri unidimensionale
-
9
Referirea la un element al vectorului se face prin construcia: nume[indice]
unde: - nume este identificatorul vectorului;
- indice este numrul de ordine al elementului n cadrul vectorului.
Exemplu int v[4];
V[0] V[1] V[2] V[3]
sau
v
0 1 2 3
18 -4 133 75
Tablouri unidimensionale
18 -4 133 75
-
10
Citire vector
- se citete mai nti numrul de elemente ale vectorului; - se citesc pe rnd, unul cte unul elementele vectorului;
coutn;
for(i=1;i
-
11
Afiare vector
- se realizeaz afind pe rnd elementele vectorului; for(i=1;i
-
12
Tablouri bidimensionale (matrici)
Un tablou bidimensional (matrice) este un tablou cu elemente de acelai tip, dispuse pe linii i coloane. Fiecare element al matricii se afl pe o anumit linie i pe o anumit coloan.
4. Tablouri bidimensionale
-
13
Considerm o matrice notat a cu m linii i n coloane:
Tablouri bidimensionale
a[0][0] a[0][1] a[0][2] a[0][n-1]
a[1][0] a[1][1] a[1][2] a[1][n-1]
a[2][0] a[2][1] a[2][2] a[2][n-1]
a[m-1][0] a[m-1][1] a[m-1][2] a[m-1][n-1]
a=
0 1 2 n-1
0
1
2
m-1
linia a 3-a coloana a 2-a
- m numrul de linii - n numrul de coloane
- i indicele liniei
- j indicele coloanei
-
14
Declarare matrice
Sintaxa: tip_dat nume[nr_1][nr_2];
unde: - tip_dat precizeaz tipul elementelor matricei; - nume este identificatorul matricei:
- nr_1 i nr_2 dou constante ntregi care specific numrul de
elemente ale matricei pentru fiecare dimensiune, astfel: - nr_1 numrul de linii; - nr_2 numrul de coloane.
Tablouri bidimensionale
-
15
Exemple 1. Se declar o matrice a cu 100 elemente de tip int: int a[10][10];
2. Se declar o matrice x cu 40 elemente de tip float: float x[5][8];
3. Se declar o matrice c cu 8 elemente de tip char: char c[4][2];
4. Iniializarea elementelor unei matrici la declarare: int a[2][4]={1,2,3,4,5,6,7,8};
5. Declararea unei constante ntregi care va fi folosit la declararea matricii:
const int NR_ELEMENTE=50;
int x[NR_ELEMENTE][NR_ELEMENTE];
Tablouri bidimensionale
-
16
Referirea la un element al matricei se face prin construcia: nume[indice_1][indice_2]
sau
nume[indice_2][indice_1]
unde: - nume este identificatorul matricei;
- indice_1 este numrul liniei pe care se afl elementul n matrice; - indice_2 este numrul coloanei pe care se afl elementul n
matricei.
Tablouri bidimensionale
-
17
Matrice ptratic
n cazul n care numrul de linii este identic cu numrul de coloane, matricea se numete ptratic.
Exemplu n=4
int a[5][5];
n - numrul de linii i de coloane nxn numrul de elemente ale matricei
Tablouri bidimensionale
2 5 1 2
2 9 0 0
8 6 1 4
7 7 3 1
a=
1 2 3 4
1
2
3
4
-
18
Citire matrice
- se citesc mai nti numrul de linii i numrul de coloane ale matricei; - se citesc pe rnd, unul cte unul elementele matricei, de la stnga la
dreapta i de sus n jos: coutm;
coutn;
for(i=1;i
-
19
Afiare matrice
- se realizeaz afind pe rnd elementele matricei, linie cu linie; for(i=1;i
-
20
Diagonalele matricei
n cazul unei matrici ptratice, se pot prelucra elementele matricei n funcie de diagonalele acesteia.
Tablouri bidimensionale
diagonala secundar
diagonala principal
-
21
Parcurgerea elementelor unei matrici n funcie de diagonale
Observaie: i[1,n], j[1,n]
Tablouri bidimensionale
i=j
ij
j=n-i+1
jn-i+1
-
22
Fie de lucru Aplicaii tablouri unidimensionale (vectori) Aplicaii tablouri bidimensionale (matrici)
5. Aplicaii
-
23
1. Miloescu Mariana, Informatic. Manual pentru clasa a IX-a, Editura Didactic i Pedagogic, Bucureti, 2004
2. Munteanu Florin, Programarea calculatoarelor. Manual pentru licee de
informatic clasele X-XII, Editura Didactic i Pedagogic, Bucureti, 1994
3. Logoftu Doina, Bazele programrii n C++, Editura Polirom, Iai, 2006 4. Popescu C., Culegere de probleme de informatic, Editura Donaris-
Info, Sibiu, 2002
5. Ministerul Educaiei, Cercetrii i Tineretului, Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar, Proba scris la informatic. Examenul de bacalaureat Variante (1-100) , Bucureti 2008
6. http://en.wikipedia.org/wiki/Vector_(C%2B%2B)
7. http://www.tutorialeprogramare.ro/Tutorial%20C.html
8. http://ro.wikipedia.org/wiki/Matrice_(matematic%C4%83)
6. Bibliografie i webografie