Sunteți pe pagina 1din 15

Tipuri

structurate
de date

TIPUL
STRUCT

Sumar
1. Competene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Noiuni introductive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Declararea variabilelor de tip structur . . . . . . . . . . . . . . . . . . . . . . . 7
4. Aplicaii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5. Bibliografie i webografie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1. Competene
Competene generale
identificarea datelor care intervin ntr-o problem i a relaiilor dintre
acestea
elaborarea algoritmilor de rezolvare a problemelor
aplicarea algoritmilor fundamentali n prelucrarea datelor
identificarea conexiunilor dintre informatic i societate
Competene specifice
evidenierea necesitii structurrii datelor
prelucrarea datelor structurate
alegerea structurii de date adecvat rezolvrii unei probleme
elaborarea unui algoritm de rezolvare a unei probleme din aria
currcicular a specialitii
alegerea unui algoritm eficient de rezolvare a unei probleme
identificarea aplicaiilor informaticii n viaa social
elaborarea i implementarea unor algoritmi de rezolvare a unor
probleme cotidiene
3

2. Noiuni introductive
Pentru prelucrarea mai multor informaii de tipuri diferite, dar care s se
refere toate la aceeai entitate (persoan, obiect, fenomen, eveniment
etc.), trebuie definit un tip de dat nou care s nglobeze toate aceste
informaii i anume tipul structur (struct) sau tipul nregistrare.
Exemplu
Pentru a pstra informaii despre elevii unei coli, se va memora
pentru fiecare elev setul de date corespunztor: numrul matricol,
nume, prenume, media. n acest caz, se poate folosi structura de
date de tip nregistreare.

Noiuni introductive
nregistrarea este o structur de date format dintr-un ansamblu de
date neomogene ntre care exist o legtur de coninut. Elementele
structurii se numesc cmpuri i pot fi identificate dup un nume.
Cmpul este reprezentarea unui atribut din lista de atribute care descriu
entitatea.
Fiecare cmp se identific n list printr-un nume.
nregistrarea, ca entitate prelucrat de calculator, se identific printr-un
nume.

Noiuni introductive
Exemplu
Structura (nregistrarea) elev:
numele nregistrrii
numele cmpului
tipul cmpului

valoarea

elev

nr. matricol

nume

prenume

media

ntreg pozitiv

ir de caractere

ir de caractere

real

178

Pop

Vlad

9.5

3. Declararea variabilelor de tip structur


Sintaxa definirii unui tip structur:
struct [<nume_structur>]
{
<tip_dat1> <nume11>,
<tip_dat2> <nume21>,
. . . . . . . . . . .
<tip_datm> <numem1>,
};

<nume12>, ,
<nume22>, ,
. . . .
<numem2>, ,

<nume1n>;
<nume2n>;
<numemn>;

unde:
<nume_structur> este identificatorul structurii;
<tip_dati> reprezint tipurile de date pentru cmpurile structurii;
<numeij> reprezint identificatori de cmpuri.

Declararea variabilelor de tip structur


Sintaxa declarrii unei variabile de tip structur:
<nume_structur> <nume_variabil>;

Sintaxa prin care se acceseaz un cmp al structurii:


<nume_structur>.<nume_cmp>

Declararea variabilelor de tip structur


Exemplu 1
struct elev
{
int nr_matricol;
char nume[15], prenume[15];
float media;
};
elev e1, e2;

Accesarea cmpurilor structrii:


e1.nr_matricol, e1.nume, e1.prenume, e1.media
e2.nr_matricol, e2.nume, e2.prenume, e2.media

Declararea variabilelor de tip structur


Exemplu 2
struct data
{
int zi;
char luna[15];
int an;
};
struct data d;

Atribuirea de valori cmpurilor structrii:


d.zi=25;
strcpy(d.luna,iulie);
d.an=2014;

10

Declararea variabilelor de tip structur


Exemplu 3
struct carte
{
char autor[25], editura[51];
int nr_pagini;
}c;

Citirea de la tastatur a valorilor cmpurilor structurii:


cin>>c.autor;
cin>>c.editura;
cin>>c.nr_pagini;
sau:
cin>>c.autor>>c.editura>>c.nr_pagini;

11

Declararea variabilelor de tip structur


Exemplu 4
struct
{
char tip[25], denumire[51];
int nr_locuri;
}s;

Afiarea pe ecran a valorilor cmpurilor structurii:


cout<<s.tip;
cout<<s.denumire;
cout<<s.nr_locuri;
sau:
cout<<s.tip<< <<s.denumire<< <<s.nr_locuri;

12

Declararea variabilelor de tip structur


Exemplu 5
struct produs
{
int cod;
char denumire[51];
float cantitate;
}p[21];

Accesarea cmpurilor structurii:


s[i].cod, s[i].denumire, s[i].cantitate
unde i[0,20].

13

4. Aplicaii
Fi de lucru
ntrebri tipul struct
Aplicaii tipul struct

14

5. Bibliografie i webografie
1. Miloescu M., Informatic. Manual pentru clasa a X-a, Editura Didactic
i Pedagogic, Bucureti, 2005
2. Mateescu G, Moraru P., Informatica. Manual pentru calsa a X, Editura
Donaris, Sibiu, 2006
3. Popescu C., Culegere de probleme de informatic, Editura Donaris-Info,
Sibiu, 2002
4. 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
5. http://en.wikipedia.org/wiki/Struct_(C_programming_language)
6. http://www.cplusplus.com/doc/tutorial/structures/
7. http://msdn.microsoft.com/en-us/library/64973255(v=vs.80).aspx

15