|

Gestionarea Fișierelor Text în C++ 8

1. Obiectivele lecției: 2. Introducere Fișierele text sunt folosite pentru a stoca și manipula date sub formă de text. În C++, gestionarea fișierelor se face prin intermediul bibliotecii <fstream>, care oferă trei clase principale: 3. Utilizarea fișierelor text 1. Deschiderea și închiderea fișierelor #include <fstream> using namespace std; ofstream fisierScriere(„nume_fisier.txt”);  // Scriere ifstream fisierCitire(„nume_fisier.txt”);  //…

|

Subprogramele Predefinite (Funcții de Sistem) în C++ 9

1. Obiectivele lecției: 2. Ce sunt subprogramele predefinite? 3. Categorii de funcții predefinite 1. Funcții matematice (<cmath> sau <math.h>) Funcție Descriere Exemplu sqrt(x) Rădăcina pătrată a lui x. sqrt(16) -> 4.0 pow(x, y) Ridică x la puterea y. pow(2, 3) -> 8.0 abs(x) Valoarea absolută a lui x. abs(-5) -> 5 ceil(x) Rotunjire în sus…

|

Subprograme Definite de Utilizator în C++ 10

1. Obiectivele lecției: 2. Ce sunt subprogramele definite de utilizator? 3. Structura unei funcții în C++ tip_returnare nume_functie(parametrii_opționali); tip_returnare nume_functie(parametrii_opționali) {     // Bloc de instrucțiuni     return valoare; // opțional, dacă tipul de returnare este void } nume_functie(argumente_opționale); 4. Categorii de funcții Exemplu: #include <iostream> using namespace std; void salut() {     cout <<…

|

Variabile Locale și Globale. Domeniu de Vizibilitate în C++ 11

1. Obiectivele lecției: 2. Variabile locale #include <iostream> using namespace std; void afiseaza() {     int x = 10; // Variabilă locală     cout << „Valoarea lui x: ” << x << endl; } int main() {     afiseaza();     // cout << x; // Eroare: x nu este vizibil în main     return 0;…

|

Mecanismul de Transmitere a Datelor prin Parametrii în C++ 12

1. Obiectivele lecției: 2. Parametrii formali și parametrii actuali Exemplu: void afiseazaSuma(int a, int b) { // a și b sunt parametri formali     cout << „Suma este: ” << a + b << endl; } Exemplu: int main() {     afiseazaSuma(3, 5); // 3 și 5 sunt parametri actuali     return 0; } 3….

|

Clasificarea Funcțiilor Definite de Utilizator: Funcții Procedurale și Funcții Operand 13

1. Obiectivele lecției: 2. Ce sunt funcțiile definite de utilizator? 3. Clasificarea funcțiilor 1. Funcții Procedurale #include <iostream> using namespace std; void afiseazaMesaj() {     cout << „Aceasta este o funcție procedurală.” << endl; } int main() {     afiseazaMesaj();     return 0; } 2. Funcții Operand #include <iostream> using namespace std; int suma(int a,…

|

Subprograme Recursive – Funcții Direct Recursive în C++ 14

1. Obiectivele lecției: 2. Ce este recursivitatea? 3. Ce sunt funcțiile direct recursive? void functieRecursiva() {     cout << „Aceasta este o functie recursiva directa.” << endl;     functieRecursiva(); // Apel direct recursiv } 4. Avantajele și dezavantajele recursivității Avantaje Dezavantaje Simplifică soluția pentru probleme complexe. Poate duce la depășirea stivei de apeluri (stack overflow)….

|

Subprograme Recursive – Funcții Indirect Recursive în C++ 15

1. Obiectivele lecției: 2. Ce este recursivitatea indirectă? void A() {     // Operații     B(); // Funcția A apelează funcția B } void B() {     // Operații     A(); // Funcția B apelează funcția A } 3. Diferența dintre recursivitatea directă și indirectă Caracteristică Recursivitate directă Recursivitate indirectă Definiție O funcție se apelează…

|

Programarea Orientată pe Obiecte – Clase și Obiecte 16

1. Obiectivele lecției: 2. Ce este Programarea Orientată pe Obiecte (POO)? 3. Clase și Obiecte 1. Clase class NumeClasa { private:     // Atribute private public:     // Constructori     // Metode publice }; class Masina { private:     string marca;     int vitezaMaxima; public:     // Constructor     Masina(string m, int v) {        …

|

Programarea Orientată pe Obiecte – Principii și Abstractizarea 17

1. Obiectivele lecției: 2. Principiile fundamentale ale POO 1. Încapsularea class ContBancar { private:     double sold; public:     void depune(double suma) {         sold += suma;     }     double obtineSold() {         return sold;     } }; 2. Abstractizarea class Vehicul { public:     virtual void porneste() = 0; // Metodă pur abstractă…