tip variabila nume variabila valoare memoratainformatik.ddbuftea.ro/structuri de date.pdf ·...
TRANSCRIPT
Tip_variabila Nume_variabila Valoare memorata
1) Pentru a calcula aria unui dreptunghi ,
avem nevoie de variabilele:•lungime•latime•Aria
doubledoubledouble
LlA
245,57567,89xxxxxxxxxxx
2) Sa afiseze cel mai inalt elevdin clasa
intFloat
nmaxH[30]
3) Sa calculam valoarea mediea temperaturilor masurate intr-o saptamana (luna)
Intfloat
ST [7][4]
4) Daca se doreste sa se acceseze si prelucreze oriceinformatie despre un obiect, fenomen, persoana, (entitate), ilvom numi articol
Toate caracteristicileentitatii articol se numesc campuri
STRUCT articol{ char nume_articol[20];
int caracteristica_1;double caracteristica_z;
};articol nr_variabile;
1 2 3 n 30
1,56 1,78 1,89 . . . . 1,45
Nr. zile Dimi-neata
amiaza seara
1 6 9 7
2 3 8 6
3 7 12 9
…..
7 5 12 9
Declararea unei structuri
O structură poate fi declarată astfel:
struct NumeTip
{
tipCamp1 numeCamp1;
tipCamp2 numeCamp2;
...
tipCampN numeCampN;
} var1, var2, ..., varN ; // variabile de
tipul NumeTip
// variabilele de tip struct pot fi si vectori
Structuri de date (Structuri neomogene)
Struct este o structura de date care iti permite sa grupezi mai multe elemente de tipuri diferite sub unsingur nume (articol).
Aceste date, numite câmpuri (membrii structurii) pot avea tipuri și lungimi diferite (pot fi si tablouri).
struct NumeTip
{
tipCamp1 numeCamp1;
tipCamp2 numeCamp2;
...
tipCampN numeCampN;
};NumeTip var1,var2,…..,varN ;
Pentru a accesa o anumita caracteristica dintr-un struct vom scrie var.numecamp
typedef struct
{
tipCamp1 numeCamp1;
tipCamp2 numeCamp2;
...
tipCampN numeCampN;
} NumeTip ;NumeTip var1,var2,…..,varN ;
struct NrComplex
{
float real;
float imag;
};
NrComplex A,B;
Exemple de structuri de date
struct Punct
{
int x, y;
} A, B;
struct Elev {
char nume[20];
char prenume[20];
int varsta;
float medieGenerala;
float medieMatematica;
float medieInformatica;
};
Elev e[30];
struct Produs {
int pret;
int greutate;
char nume[20];
};
Produs p[100];
A
real
imag
B
struct masina{
char marca[50];char culoare[20];int capacitate_rezervor;int an_fabricatie;float pret;float km_parcursi;
} m[100];
m1
DACIA 2500
marca[50]; culoare[20] capacitate_rezervor an_fabricatie pret km_parcursi
m2
BMW
marca[50]; culoare[20] capacitate_rezervor an_fabricatie pret km_parcursi
m3
OPEL
marca[50]; culoare[20] capacitate_rezervor an_fabricatie pret km_parcursi
struct masina{
char marca[50];char culoare[20];int capacitate_rezervor;int an_fabricatie;float pret;float km_parcursi;
} m1,m2,m3;
Pentru a putea prelucra(accesa) informatia pret pentru masina m1 vom scrie in program m1.pret
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 20m[20]
for(i=1; i<=n; i++)
struct masina{
char marca[50];char culoare[20];int capacitate_rezervor;int an_fabricatie;float pret;float km_parcursi;
} m[20] ;
DACIA verde 2000 1998 1000 255000
marca[50]; culoare[20] capacitate_rezervor an_fabricatie pret km_parcursi
BMW
OPEL
marca[50]; culoare[20] capacitate_rezervor an_fabricatie pret km_parcursi
marca[50]; culoare[20] capacitate_rezervor an_fabricatie pret km_parcursi
m[1]
m[2]
m[3]
Int iCiteste n //cate masini
struct masina{char marca[50];char culoare[20];int capacitate_rezervor;int an_fabricatie;float pret;float km_parcursi;
} ; int main(){int n, i; masina v[20]; // Definim un vector cu 20 de masini
DACA SE CUNOSC PRETURILE PENTRU 2 MASINI , CARE ESTE CEA MAI SCUMPA MASINA?
//SUBPROGRAMUL COMPARA DOI PARAMETRI LOCALI X SI Y
//SUBPROGRAMUL ACCESEAZA CAMPURILE PRET PENTRU MASINILE X SI Y
// APELUL SUBPROGRAMULUI PENTRU MASINILE M1 SI M2
TEMA La o staţie meteo se trec temperaturile inregistrate intr-o saptamana. Să se prelucreze aceste date
afişandu-se zilele in care temperatura a fost maximă.
Intr-o grupă de maxim 25 de studenti, fiecare a primit cate unul din calificativele suficient, bine şi foarte bine la fiecare din cele 10 materii. Datele se introduc in calculator sub forma:
nume student număr de calificative suficient (s)număr de calificative bine (b)număr de calificative foarte bine (fb)
Să se afişeze in ordine descrescătoare statistica notării (numărul de suficient, de bine şi foarte bine) şi numele studentului cu cele mai multe calificative fb.