Programarea Calculatoarelor - Anul 1 - ETTI - C++

Laborator
8.8/10 (5 voturi)
Conține 89 fișiere: doc, cpp, txt, c
Pagini : 257 în total
Cuvinte : 46957
Mărime: 381.75KB (arhivat)
Publicat de: Adrian Tănase
Puncte necesare: 0
Laboratoarele de Programarea Calculatoarelor din anul 1. Facultatea de Electronica, Telecomunicatii si Tehnologia Informatiei. Contine toate laboratoarele (1-11) si rezolvarile lor.

Extras din laborator

LUCRAREA 9

Scopul lucrarii îl constituie prezentarea tipurilor de date neomogene (structurile),

utilizarea operatorului typedef în contextul structurilor, pointerii la structuri si constructia unui tip abstract de data, lista.

I. OBSERVATII TEORETICE

1.1. Structuri

1.1.1. Utilitate

Daca vectorii au utilitate mai ales în cazul sirurilor de caractere (v. Laborator 8), unde multimea omogena este esentiala, structurile sunt foarte potrivite în situatiile în care trebuie memorate împreuna caracteristici diferite ale unui anumit obiect. De exemplu Numele, Prenumele, Adresa si DataNastere sunt patru caracteristici de tipuri diferite de date ale aceluiasi obiect, Persoana.

O înlantuire de astfel de obiecte formeaza o clasa de obiecte, iar modelarea sa se poate face în C cu ajutorul structurilor de date de tip lista. Acest subiect este tratat în detaliu în semestrul 2 al anului întâi.

Fiecare element al unei structuri poarta denumirea de câmp.

Exemplu:

...

struct Persoana

{

char Nume[24] ;

char Prenume[32] ;

char Adresa[64] ;

int ZiNastere ;

char LunaNastere[12] ;

int AnNastere ;

};

În acest prim exemplu, folosind cuvântul-cheie struct, compilatorul va recunoaste corect acest tip de data. Dupa cum vedeti, într-un acelasi spatiu de memorie, identificat cu un nume (aici Persoana) sunt stocate (salvate) sase câmpuri, de tipuri diferite.

Pentru a declara variabile de tip structura, sintaxa este urmatoarea:

struct Persoana pers1, pers2 ;

Aici au fost declarate doua variabile, pers1 si pers2, de tipul structurii Persoana.

Observatie:

Daca se omite identificatorul structurii, anume Persoana, atunci declaratia anterioara nu are sens, si este marcata cu eroare din partea compilatorului.

1.1.2. Spatiul rezervat

Pentru a putea face alocari dinamice în care sunt implicate structurile, trebuie sa cunoastem spatiul pe care compilatorul îl rezerva acestora.

Ca regula generala, trebuie folosit operatorul sizeof() asupra tipului structura dorit. Dupa cum va reamintiti, sizeof întoarce numarul de octeti (bytes) ai tipului de data asupra caruia se aplica.

Atentie!

Este incorect sa facem singuri suma octetilor fiecarui câmp în parte si astfel sa stabilim numarul total de octeti. Aceasta pentru ca nu se garanteaza ca aceste câmpuri se afla în memorie succesiv. Astfel, pot exista octeti liberi între diferitele câmpuri, si aceasta din cauza eventualelor "alinieri în memorie", sau al optimizarilor din partea compilatorului (set-ari specifice dupa instalare).

1.2. Structurile si definitiile de tipuri

1.2.1. Tipul structura

Daca dorim o utilizare facila a acestui tip special de data, este de preferat varianta în care definim, cu ajutorul typedef, tipul de data structura.

Definitia se face respectând regula typedef: înaintea noului nume de tip, se specifica tipul de data caruia i se atribuie acea noua denumire (alias).

Preview document

Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 1
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 2
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 3
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 4
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 5
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 6
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 7
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 8
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 9
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 10
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 11
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 12
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 13
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 14
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 15
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 16
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 17
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 18
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 19
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 20
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 21
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 22
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 23
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 24
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 25
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 26
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 27
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 28
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 29
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 30
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 31
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 32
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 33
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 34
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 35
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 36
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 37
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 38
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 39
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 40
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 41
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 42
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 43
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 44
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 45
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 46
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 47
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 48
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 49
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 50
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 51
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 52
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 53
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 54
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 55
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 56
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 57
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 58
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 59
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 60
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 61
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 62
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 63
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 64
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 65
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 66
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 67
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 68
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 69
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 70
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 71
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 72
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 73
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 74
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 75
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 76
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 77
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 78
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 79
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 80
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 81
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 82
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 83
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 84
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 85
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 86
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 87
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 88
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 89
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 90
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 91
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 92
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 93
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 94
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 95
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 96
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 97
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 98
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 99
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 100
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 101
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 102
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 103
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 104
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 105
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 106
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 107
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 108
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 109
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 110
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 111
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 112
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 113
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 114
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 115
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 116
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 117
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 118
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 119
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 120
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 121
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 122
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 123
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 124
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 125
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 126
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 127
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 128
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 129
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 130
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 131
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 132
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 133
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 134
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 135
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 136
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 137
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 138
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 139
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 140
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 141
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 142
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 143
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 144
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 145
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 146
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 147
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 148
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 149
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 150
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 151
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 152
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 153
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 154
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 155
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 156
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 157
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 158
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 159
Programarea Calculatoarelor - Anul 1 - ETTI - C++ - Pagina 160

Conținut arhivă zip

  • Surse_lab1
    • B10_16.cpp
    • B10_B2.cpp
    • B2_B10_i.cpp
    • B2_B10_S.cpp
    • BAZA10_2.cpp
    • BAZAREC.cpp
  • Surse_lab10
    • LAB10_1.CPP
    • LAB10_2.CPP
    • LAB10_3.CPP
    • LAB10_4.CPP
    • LAB10_5.CPP
    • LAB10_6.CPP
    • lab10_proba.cpp
  • Surse_lab11
    • LAB11_1.CPP
    • LAB11_10.CPP
    • LAB11_11.CPP
    • LAB11_2.CPP
    • LAB11_3.CPP
    • LAB11_4.CPP
    • LAB11_5.CPP
    • LAB11_6.CPP
    • LAB11_7.CPP
    • LAB11_8.CPP
    • LAB11_9.CPP
  • Surse_lab2
    • lab2_1.c
    • lab2_1.cpp
    • lab2_2.cpp
    • lab2_3.cpp
    • lab2_4.cpp
    • lab2_5.c
    • lab2_5.cpp
  • Surse_lab3
    • lab3_1.cpp
    • lab3_2.cpp
    • lab3_3.cpp
    • lab3_4.cpp
    • lab3_5.cpp
    • lab3_6.cpp
  • Surse_lab4
    • lab4_1.cpp
    • lab4_2.cpp
    • lab4_2.txt
    • lab4_3.cpp
    • lab4_4.cpp
    • lab4_5.cpp
  • Surse_lab5
    • functiePutere.cpp
    • lab5_1.cpp
    • lab5_2.cpp
    • lab5_3.cpp
    • lab5_4.cpp
    • lab5_5.cpp
    • lab5_5_1.cpp
    • lab5_6.cpp
    • lab5_7.cpp
    • lab5_8.cpp
  • Surse_lab6
    • lab6_1.cpp
    • lab6_2.cpp
    • lab6_3.cpp
    • lab6_4.cpp
    • lab6_5.cpp
    • lab6_6.cpp
    • lab6_6_7_nrAleatoare.cpp
    • lab6_8.cpp
  • Surse_lab7
    • lab7_1.cpp
    • lab7_2.cpp
    • lab7_3.cpp
    • lab7_palindrom.cpp
  • Surse_lab8
    • ALOCARE.C
    • lab8_1_pointerNull.cpp
    • lab8_2_pointerVoid.cpp
    • lab8_3_alocareDinamica1.cpp
    • lab8_4_realocareDinamica.cpp
    • lab8_alocareVector.cpp
    • lab8_ex1.cpp
    • lab8_ex4.cpp
  • Surse_lab9
    • lab9_1.cpp
    • lab9_2.cpp
    • lab9_3.cpp
    • lab9_4.cpp
    • lab9_5.cpp
  • laborator1.doc
  • laborator10.doc
  • laborator11.doc
  • laborator2.doc
  • laborator3.doc
  • laborator4.doc
  • laborator5.doc
  • laborator6.doc
  • laborator7.doc
  • laborator8.doc
  • laborator9.doc

Alții au mai descărcat și

Evidența Elevilor din Ciclul Inferior

Argumentare Într-o unitate şcolară este foarte importantă existenţa unei baze de date, nu numai a profesorilor, ci şi a elevilor. O bază de date...

Probleme în C

1. Se considera un nr natural n (n< 100000000). Se cere sa se verifice daca n are toate cifrele distincte doua cate doua. -pt fiecare cifra...

Practică informatică

1 INTRODUCERE Ce este un program? Un program este o listă de instrucțiuni date calculatorului pentru a le executa. Calculatorul va citi...

Noțiuni introductive C++

Pentru testare se poate folosi urmatorul program: // include obiectele standard // pentru intrari/iesiri cu consola 1 #include <iostream> //...

VHDL

Simularea structurilor hardware digitale cu ACTIVE-HDL Această lucrare are ca principal obiectiv prezentarea mediului de dezvoltare ALDEC ACTIVE...

Structuri de Date și Algoritmi

Se citesc m perechi de numere întregi (x,y) reprezentând extremitatile muchiilor unui graf neorientat cu n vârfuri si m muchii. Sa se verifice...

Ai nevoie de altceva?