RecoFit: Using a Wearable Sensor to Find, Recognize, and Count Repetitive Exercises
CAPITOLUL 1 Noţiuni introductive CURS C++ · PDF fileStructura generală a unui sistem de...
Transcript of CAPITOLUL 1 Noţiuni introductive CURS C++ · PDF fileStructura generală a unui sistem de...
CAPITOLUL 1 Noiuni
introductive
9
CURS C++
CUPRINS
PARTEA I CAPITOLUL 1 Noiuni introductive 3.2. Implementarea structurii de decizie . . . 42 1.1. Structura general a unui sistem de 3.3. Implementarea structurilor repetitive
calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 (ciclice) . . . . . . . . . . . . . . . . . . . . . . . . . 45 1.2. Algoritmi . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3.1. Implementarea structurilor
1.2.1. Noiuni generale . . . . . . . . . . . . . . 11 ciclice cu test iniial . . . . . . . . . . 45 1.2.2. Definiii i caracteristici . . . . . . . . 12 3.3.2. Implementarea structurilor 1.2.3. Reprezentarea algorimilor . . . . . . . 12 ciclice cu test final . . . . . . . . . . . 46
1.2.3.1. Reprezentarea prin 3.4. Faciliti de ntrerupere a unei secvene 50 scheme logice . . . . . . . . . 13 ntrebri i exerciii . . . . . . . . . . . . . . . . . . . 51
1.2.3.2. Reprezentarea prin pseudocod . . . . . . . . . . . . 14 CAPITOLUL 4 Tablouri
1.3. Teoria rezolvrii problemelor . . . . . . . . 16 4.1. Declararea tablourilor . . . . . . . . . . . . . . . 53 ntrebri i exerciii . . . . . . . . . . . . . . . . . . . . 18 4.2. Tablouri unidimensionale . . . . . . . . . . . . 53 4.3. Tablouri bidimensionale . . . . . . . . . . . . . 55 CAPITOLUL 2 Date, operatori i expresii 4.4. iruri de caractere . . . . . . . . . . . . . . . . . . 57 2.1. Limbajele C i C++ . . . . . . . . . . . . . . . . 19 ntrebri i exerciii . . . . . . . . . . . . . . . . . . . . 60 2.2. Programe n limbajul C/C++ . . . . . . . . . 19 2.3. Preprocesorul . . . . . . . . . . . . . . . . . . . . . 21 CAPITOLUL 5 Pointeri 2.4. Elemente de baz ale limbajului . . . . . . 22 5.1.Variabile pointer . . . . . . . . . . . . . . . . . . . 61
2.4.1. Vocabularul . . . . . . . . . . . . . . . . . . 22 5.1.1. Declararea variabilelor pointer . . . 61 2.4.2. Unitile lexicale . . . . . . . . . . . . . . 22 5.1.2. Iniializarea variabilelor pointer . . 62
2.5. Date n limbajul C/C++ . . . . . . . . . . . . . 23 5.1.3. Pointeri generici . . . . . . . . . . . . . 63 2.5.1. Tipuri de date . . . . . . . . . . . . . . . . 23 5.2. Operaii cu pointeri . . . . . . . . . . . . . . . . . 63 2.5.2. Constante . . . . . . . . . . . . . . . . . . . 25 5.3. Pointeri i tablouri . . . . . . . . . . . . . . . . . . 64
2.5.2.1. Constante ntregi . . . . . . . 25 5.3.1. Pointeri i iruri de caractere . . . . 64 2.5.2.2. Constante numerice, reale. 25 5.3.2.Pointeri i tablouri bidimensionale. 66 2.5.2.3. Constante caracter . . . . . . 27 5.4. Tablouri de pointeri . . . . . . . . . . . . . . . . 67 2.5.2.4. Constante ir de caractere 28 5.5. Pointeri la pointeri . . . . . . . . . . . . . . . . . 68
2.5.3. Variabile . . . . . . . . . . . . . . . . . . . . 29 5.6. Modificatorul const n declararea 2.5.3.1. Declararea variabilelor . . 29 pointerilor . . . . . . . . . . . . . . . . . . . . . . . . 69 2.5.3.2. Iniializarea variabilelor n ntrebri i exerciii . . . . . . . . . . . . . . . . . . . . 69
declaraii . . . . . . . . . . . . . . 29 2.5.3.3. Operaii de intrare/ieire . 30 CAPITOLUL 6 Funcii
2.6. Operatori i expresii . . . . . . . . . . . . . . . . 31 6.1. Structura unei funcii . . . . . . . . . . . . . . . 71
CAPITOLUL 1 Noiuni
introductive
10
2.6.1. Operatori . . . . . . . . . . . . . . . . . . . . 31 6.2. Apelul i prototipul unei funcii . . . . . . . 72 2.6.2. Expresii . . . . . . . . . . . . . . . . . . . . . 39 6.3. Transferul parametrilor unei funcii . . . . 74 2.6.3. Conversii de tip . . . . . . . . . . . . . . . 39 6.3.1. Transferul parametrilor prin
ntrebri i exerciii . . . . . . . . . . . . . . . . . . . . 39 valoare . . . . . . . . . . . . . . . . . . . . . 75 6.3.2. Transferul prin pointeri . . . . . . . . 75 CAPITOLUL 3 Implementarea 6.3.2.1. Funcii care returneaz structurilor de control pointeri . . . . . . . . . . . . . . 77 3.1. Implementarea structurii secveniale . . .
41 6.3.3. Transferul prin referin . . . . . . . 77
PARTEA a II a 6.3.4. Transferul parametrilor ctre CAPITOLUL 9 Concepte de baz ale
funcia main . . . . . . . . . . . . . . . . 81 programrii orientate obiect 6.4. Tablouri ca parametri . . . . . . . . . . . . . . . 81 9.1. Introducere . . . . . . . . . . . . . . . . . . . . . . . 129 6.5. Funcii cu parametri implicii . . . . . . . . . 84 9.2. Abstractizarea datelor . . . . . . . . . . . . . . 129 6.6. Funcii cu numr variabil de parametri . 84 9.3. Motenirea . . . . . . . . . . . . . . . . . . . . . . . 130 6.7. Funcii predefinite . . . . . . . . . . . . . . . . . 85 9.3.1. Motenirea unic . . . . . . . . . . . . . 130
6.7.1. Funcii matematice . . . . . . . . . . . . 85 9.3.1. Motenirea multipl . . . . . . . . . . . 130 6.7.2. Funcii de clasificare (testare) a 9.4. ncapsularea informaiei . . . . . . . . . . . . . 131
caracterelor . . . . . . . . . . . . . . . . . 85 9.5. Legarea dinamic (trzie) . . . . . . . . . . . . 132 6.7.3. Funcii de conversie a 9.6. Alte aspecte . . . . . . . . . . . . . . . . . . . . . . 132
caracterelor . . . . . . . . . . . . . . . . . 87 6.7.4. Funcii de conversie din ir n CAPITOLUL 10 Clase i obiecte
numr . . . . . . . . . . . . . . . . . . . . . . 87 10.1. Definiia claselor i accesul la 6.7.5. Funcii de terminare a unui proces
Membri . . . . . . . . . . . . . . . . . . . . . . . . . 133
(program) . . . . . . . . . . . . . . . . . . . 87 10.1.1. Legtura clas-structur- 6.7.6. Funcii de intrare/ieire . . . . . . . . 88 Uniune . . . . . . . . . . . . . . . . . . . 133
6.8. Clase de memorare . . . . . . . . . . . . . . . . . 90 10.1.2. Declararea claselor . . . . . . . . . 133 6.9. Moduri de alocare a memoriei . . . . . . . 92 10.1.3. Obiecte . . . . . . . . . . . . . . . . . . 136 6.10.Funcii recursive . . . . . . . . . . . . . . . . . . 95 10.1.4. Membrii unei clase . . . . . . . . . 136 6.11.Pointeri ctre funcii . . . . . . . . . . . . . . . 100 10.1.5. Pointerul this . . . . . . . . . . . . . . 139 ntrebri i exerciii . . . . . . . . . . . . . . . . . . . . 101 10.1.6. Domeniul unui nume,
vizibilitate i timp de via . . . 139 CAPITOLUL 7 Tipuri de date definite 10.2. Funcii inline . . . . . . . . . . . . . . . . . . . . 140 de utilizator 10.3. Constructori i destructori . . . . . . . . . . 142 7.1. Tipuri definite de utilizator . . . . . . . . . . 103 10.3.1. Iniializarea datelor . . . . . . . . . 142 7.2. Structuri . . . . . . . . . . . . . . . . . . . . . . . . . 103 10.3.2. Constructori . . . . . . . . . . . . . . 143 7.3. Cmpuri de bii . . . . . . . . . . . . . . . . . . . . 106 10.3.1.1. Constructori cu 7.4. Declaraii typedef . . . . . . . . . . . . . . . . . . 107 liste de iniializare. . 144 7.5. Uniuni . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 10.3.1.2. Constructori de 7.6. Enumerri . . . . . . . . . . . . . . . . . . . . . . . . 108 copiere . . . . . . . . . . 145 ntrebri i exerciii . . . . . . . . . . . . . . . . . . . . 111 10.3.3. Destructori . . . . . . . . . . . . . . . 145 10.3.4. Tablouri de obiecte . . . . . . . . . 150 CAPITOLUL 8 Fiiere 10.4. Funcii prietene (friend) . . . . . . . . . . . . 151 8.1. Caracteristicile generale ale fiierelor. . . 113 ntrebri i exerciii . . . . . . . . . . . . . . . . . . . . 151
CAPITOLUL 1 Noiuni
introductive
11
8.2. Deschiderea unui fiier . . . . . . . . . . . . . . 114 8.3. nchiderea unui fiier . . . . . . . . . . . . . . . 116 CAPITOLUL 11 Suprancrcarea 8.4. Prelucrarea fiierelor text . . . . . . . . . . . . 116 operatorilor
8.4.1. Prelucrarea la nivel de caracter . . 116 11.1. Moduri de suprancrcare a 8.4.2. Prelucrarea la nivel de cuvnt. . . . 117 operatorilor . . . . . . . . . . . . . . . . . . . . . 153 8.4.3. Prelucrarea la nivel de ir de 11.1.1. Suprancrcarea prin funcii
caractere . . . . . . . . . . . . . . . . . . . 118 membre . . . . . . . . . . . . . . . . . . 153 8.4.4. Intrri/ieiri formatate . . . . . . . . . 119 11.1.2. Suprancrcarea prin funcii
8.5. Intrri/ieiri binare . . . . . . . . . . . . . . . . . 119 prietene . . . . . . . . . . . . . . . . . . 154 8.6. Poziionarea ntr-un fiier . . . . . . . . . . . . 120 11.2. Restricii la suprancrcarea 8.7. Funcii utilitare pentru lucrul cu fiiere. . 121 operatorilor . . . . . . . . . . . . . . . . . . . . . 155 8.8. Alte operaii cu fiiere . . . . . . . . . . . . . . 122 11.3. Suprancrcarea operatorilor unari . . . 156 ntrebri i exerciii . . . . . . . . . . . . . . . . . . . . 126 11.4. Membrii constani ai unei clase . . . . . 156
11.5. Suprancrcarea operatorilor 12.4. Motenirea simpl . . . . . . . . . . . . . . . 179
insertor i extractor . . . . . . . . . . . . . . . 156 12.5. Motenirea multipl . . . . . . . . . . . . . . 186 11.6. Suprancrcarea operatorului de 12.6. Redefinirea membrilor unei clase de
atribuire = . . . . . . . . . . . . . . . . . . . . . . . 157 baz n clasa derivat . . . . . . . . . . . . . 187 11.7. Suprancrcarea operatorului de 12.7. Metode virtuale . . . . . . . . . . . . . . . . . 191
indexare [ ] . . . . . . . . . . . . . . . . . . . . . . 158 ntrebri i exerciii . . . . . . . . . . . . . . . . . . . 195 11.8. Suprancrcarea operatorilor new i
delete. . . . . . . . . . . . . . . . .