5.-Tipuri-structurate-de-date.-Tipul-tablou.pdf

23
Tipul tablou Tipuri structurate de date

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