Documente Academic
Documente Profesional
Documente Cultură
structurate
de date
Tipul tablou
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
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. Tablouri unidimensionale
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.
Tablouri unidimensionale
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
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];
Tablouri unidimensionale
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]
18
V[1]
-4
V[2]
133
V[3]
75
18
0
-4
1
133
2
75
3
sau
v
Tablouri unidimensionale
Citire vector
-
10
Tablouri unidimensionale
Afiare vector
-
for(i=1;i<=n;i++)
cout<<v[i]<< ;
11
4. Tablouri bidimensionale
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.
12
Tablouri bidimensionale
Considerm o matrice notat a cu m linii i n coloane:
0
n-1
0
1
a=
- m numrul de linii
- n numrul de coloane
- i indicele liniei
- j indicele coloanei
m-1
coloana a 2-a
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]
linia a 3-a
a[m-1][n-1]
13
Tablouri bidimensionale
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.
14
Tablouri bidimensionale
Exemple
1. Se declar o matrice a cu 100 elemente de tip int:
int a[10][10];
15
Tablouri bidimensionale
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.
16
Tablouri bidimensionale
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
a=
17
Tablouri bidimensionale
Citire matrice
-
18
Tablouri bidimensionale
Afiare matrice
-
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<< ;
cout<<endl;
}
19
Tablouri bidimensionale
Diagonalele matricei
n cazul unei matrici ptratice, se pot prelucra elementele matricei n
funcie de diagonalele acesteia.
diagonala secundar
diagonala principal
20
Tablouri bidimensionale
Parcurgerea elementelor unei matrici n funcie de diagonale
i<j
i=j
i>j
j<n-i+1
j=n-i+1
j>n-i+1
21
5. Aplicaii
Fie de lucru
Aplicaii tablouri unidimensionale (vectori)
Aplicaii tablouri bidimensionale (matrici)
22
6. Bibliografie i webografie
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 DonarisInfo, 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)
23