Fise Informatica - Liceu

Problemă, Algoritm, Program 1

1. Obiectivele lecției: 2. Conținutul lecției: Ce este o problemă? Ce este un algoritm? Legătura dintre algoritm și program 3. Exemple practice: Exemplu 1: Algoritm pentru calcularea sumei a două numere Problema: Calculează suma a două numere introduse de utilizator. Algoritm: Pseudocod: Intrare: numar1, numar2 Calcul: suma = numar1 + numar2 Ieșire: Afișează suma Cod...

Citește Mai Mult

Principiile programării structurate 2

1. Obiectivele lecției: 2. Conținutul lecției: Ce este programarea structurată? Principiile programării structurate: Legătura cu limbajul C++: C++ este un limbaj care permite scrierea programelor structurate folosind structuri de control și modularizare. 3. Exemple practice: Exemplu 1: Secvența Problema: Calcularea ariei unui dreptunghi. Cod în C++: #include <iostream> using namespace std; int main() {    ...

Citește Mai Mult

Structurile Fundamentale ale Algoritmului 3

1. Obiectivele lecției: 2. Conținutul lecției: Ce sunt structurile fundamentale ale algoritmului? 3. Structurile fundamentale explicate: 1. Secvența #include <iostream> using namespace std; int main() {     int a = 5, b = 10, suma;     // Secvența     suma = a + b;     cout << „Suma este: ” << suma << endl;    ...

Citește Mai Mult

Structura Liniară 4

1. Obiectivele lecției: 2. Conținutul lecției: Ce este structura liniară? Importanța structurii liniare: 3. Exemple practice: Exemplu 1: Calcularea perimetrului unui dreptunghi Problema: Calculează perimetrul unui dreptunghi având lungimea și lățimea date. Algoritm: Cod în C++: #include <iostream> using namespace std; int main() {     double lungime, latime, perimetru;     cout << „Introdu lungimea dreptunghiului:...

Citește Mai Mult

Structura Alternativă 5

1. Obiectivele lecției: 2. Conținutul lecției: Ce este structura alternativă? Tipuri de structuri alternative: if (condiție) {     // Cod de executat dacă condiția este adevărată } if (condiție) {     // Cod de executat dacă condiția este adevărată } else {     // Cod de executat dacă condiția este falsă } switch (variabilă) {...

Citește Mai Mult

Structura Repetitivă 6

1. Obiectivele lecției: 2. Conținutul lecției: Ce este structura repetitivă? Tipuri de structuri repetitive: while (condiție) {     // Cod executat cât timp condiția este adevărată } do {     // Cod executat cel puțin o dată } while (condiție); for (inițializare; condiție; actualizare) {     // Cod executat } 3. Exemple practice: Exemplu 1:...

Citește Mai Mult

Algoritmi Elementari – Determinarea Minimului/Maximului 7

1. Obiectivele lecției: 2. Conținutul lecției: Ce reprezintă determinarea minimului și maximului? 3. Algoritmul general: Pseudocod pentru minim: Intrare: Lista de n numere Inițializează minim = primul element al listei Pentru fiecare element din listă:     Dacă elementul curent < minim:         minim = elementul curent Ieșire: Afișează minim Pseudocod pentru maxim: Intrare: Lista de...

Citește Mai Mult

Algoritmi Elementari – Algoritmi pentru Interschimbare 8

1. Obiectivele lecției: 2. Conținutul lecției: Ce reprezintă interschimbarea? 3. Metode de interschimbare: Metoda 1: Cu variabilă auxiliară temp = a a = b b = temp #include <iostream> using namespace std; int main() {     int a, b, temp;     cout << „Introdu valoarea lui a: „;     cin >> a;     cout <<...

Citește Mai Mult

Algoritmi Elementari – Calcularea C.M.M.D.C. (Cel Mai Mare Divizor Comun) 9

1. Obiectivele lecției: 2. Conținutul lecției: Ce este C.M.M.D.C.? 3. Metode de calculare a C.M.M.D.C.: Metoda 1: Scăderile repetate Intrare: a, b Cât timp a ≠ b:     Dacă a > b:         a = a – b     Altfel:         b = b – a Ieșire: a (sau b) #include <iostream> using namespace std;...

Citește Mai Mult

Algoritmi Elementari – Extragerea Cifrelor unui Număr 10

1. Obiectivele lecției: 2. Conținutul lecției: Ce reprezintă extragerea cifrelor unui număr? 3. Metoda generală: Principiul de bază: cifra = numar % 10. numar = numar / 10. Pseudocod: Intrare: numar Cât timp numar ≠ 0:     cifra = numar % 10     numar = numar / 10     Afișează cifra 4. Exemple practice: Exemplu...

Citește Mai Mult

Algoritmi Elementari – Testarea unui Număr Prim 11

1. Obiectivele lecției: 2. Conținutul lecției: Ce este un număr prim? 3. Algoritmul general: Principiul de bază: Pseudocod pentru testarea unui număr prim: Intrare: n Dacă n < 2, atunci     Nu este prim Pentru i de la 2 la √n:     Dacă n % i == 0, atunci         Nu este prim Este prim...

Citește Mai Mult

Algoritmi Elementari – Generarea Șirurilor Recurente 12

1. Obiectivele lecției: 2. Conținutul lecției: Ce este un șir recurent? 3. Exemple de șiruri recurente și algoritmi: Exemplu 1: Generarea șirului Fibonacci #include <iostream> using namespace std; int main() {     int n;     cout << „Introdu numarul de termeni din sirul Fibonacci: „;     cin >> n;     int f0 = 0, f1...

Citește Mai Mult

Algoritmi de Sortare – Sortarea prin Metoda Bulelor 13

1. Obiectivele lecției: 2. Conținutul lecției: Ce este sortarea prin metoda bulelor? Pasii metodei: Pseudocod: Intrare: Lista de n elemente Pentru i de la 0 la n-1:     Pentru j de la 0 la n-i-2:         Dacă lista[j] > lista[j+1], atunci             Interschimbă lista[j] cu lista[j+1] Ieșire: Lista sortată 3. Cod în C++: #include <iostream>...

Citește Mai Mult

Algoritmi de Sortare – Sortarea prin Inserție 14

1. Obiectivele lecției: 2. Conținutul lecției: Ce este sortarea prin inserție? Cum funcționează? Pseudocod: Intrare: Lista de n elemente Pentru i de la 1 la n-1:     Elementul curent = lista[i]     j = i – 1     Cât timp j >= 0 și lista[j] > Elementul curent:         lista[j + 1] = lista[j]        ...

Citește Mai Mult

Algoritmi de Sortare – Sortarea prin Selecția Minimului 15

1. Obiectivele lecției: 2. Conținutul lecției: Ce este sortarea prin selecția minimului? Cum funcționează? Pseudocod: Intrare: Lista de n elemente Pentru i de la 0 la n-1:     minIndex = i     Pentru j de la i+1 la n-1:         Dacă lista[j] < lista[minIndex], atunci             minIndex = j     Interschimbă lista[i] cu lista[minIndex] Ieșire:...

Citește Mai Mult

Algoritmi de Sortare – Sortarea prin Numărare (Counting Sort) 16

1. Obiectivele lecției: 2. Conținutul lecției: Ce este sortarea prin numărare? Cum funcționează? Pseudocod: Intrare: Lista de n elemente, valoare_maximă Creează un tablou count de dimensiune valoare_maximă + 1 Initializează count[i] = 0 pentru toate valorile i Pentru fiecare element x din lista:     Increment count[x] Reconstruiește lista sortată:     Pentru i de la 0...

Citește Mai Mult

Algoritmul de Interclasare (Merge Sort) 17

1. Obiectivele lecției: 2. Conținutul lecției: Ce este interclasarea? Algoritmul Merge Sort: Pseudocod pentru Merge Sort: Funcție mergeSort(lista):     Dacă dimensiunea listei <= 1:         Returnează lista     Împarte lista în două subliste: stânga și dreapta     stânga_sortată = mergeSort(stânga)     dreapta_sortată = mergeSort(dreapta)     Returnează merge(stânga_sortată, dreapta_sortată) Funcție merge(stânga, dreapta):     Creează o listă...

Citește Mai Mult

Algoritmi de Căutare – Căutarea Secvențială 18

1. Obiectivele lecției: 2. Conținutul lecției: Ce este căutarea secvențială? Cum funcționează? Pseudocod: Intrare: vector, dimensiune, valoare_cautata Pentru i de la 0 la dimensiune – 1:     Dacă vector[i] == valoare_cautata:         Returnează i Returnează -1 (valoarea nu a fost găsită) 3. Cod în C++: Exemplu de bază: #include <iostream> using namespace std; int cautareSecventiala(int...

Citește Mai Mult

Algoritmi de Căutare – Căutarea Binara 19

1. Obiectivele lecției: 2. Conținutul lecției: Ce este căutarea binară? Cum funcționează? Pseudocod: Intrare: vector sortat, dimensiune, valoare_cautata Inițializează left = 0, right = dimensiune – 1 Cât timp left <= right:     Calculează mid = (left + right) / 2     Dacă vector[mid] == valoare_cautata:         Returnează mid     Dacă vector[mid] < valoare_cautata:        ...

Citește Mai Mult

Analiza Complexității unui Algoritm 20

1. Obiectivele lecției: 2. Conținutul lecției: Ce este complexitatea unui algoritm? Tipuri de complexitate: Notări comune: 3. Analiza complexității temporale: Pasul 1: Identificarea operațiilor critice Operațiile critice sunt cele care determină timpul total de execuție al algoritmului, cum ar fi comparațiile, atribuțiile sau iterațiile. Pasul 2: Determinarea numărului de operații în funcție de intrare Complexități...

Citește Mai Mult

Limbajul C++ – Elemente de bază ale limbajului de programare C++ 21

1. Obiectivele lecției: 2. Conținutul lecției: Ce este C++? Structura de bază a unui program C++ #include <iostream> using namespace std; int main() {     cout << „Salut, lume!” << endl; // Afișare mesaj pe ecran     return 0; } Explicație: Elementele de bază ale limbajului C++ 1. Comentarii // Acesta este un comentariu pe...

Citește Mai Mult

Limbajul C++ – Tipurile de Date 22

1. Obiectivele lecției: 2. Conținutul lecției: Ce sunt tipurile de date? Tipuri fundamentale în C++ 1. Tipuri numerice Tip Descriere Dimensiune tipică (în bytes) Valoare implicită Exemple int Număr întreg 4 0 int x = 5; float Număr real (precizie simplă) 4 0.0 float y = 3.14; double Număr real (precizie dublă) 8 0.0 double...

Citește Mai Mult

Inserarea unei valori într-un vector în C++ 23

1. Obiectivele lecției: 2. Conținutul lecției: Ce este un vector? Inserarea unei valori într-un vector 1. Principiu: 2. Pași pentru inserare: Pseudocod: Intrare: vector, dimensiune, pozitie, valoare Dacă pozitie < 0 sau pozitie > dimensiune:     Afișează eroare Altfel:     Pentru i = dimensiune – 1 la pozitie:         vector[i + 1] = vector[i]    ...

Citește Mai Mult

Problema Ștergerii unui Element din Vector în C++ 24

1. Obiectivele lecției: 2. Conținutul lecției: Ce înseamnă ștergerea unui element dintr-un vector? Ștergerea unui element într-un vector 1. Principiu: 2. Pași pentru ștergere: Pseudocod: Intrare: vector, dimensiune, pozitie Dacă pozitie < 0 sau pozitie >= dimensiune:     Afișează eroare Altfel:     Pentru i = pozitie la dimensiune – 2:         vector[i] = vector[i +...

Citește Mai Mult

Problema Permutării Circulare la Stânga într-un Vector în C++ 25

1. Obiectivele lecției: 2. Conținutul lecției: Ce este permutarea circulară la stânga? Pașii algoritmului pentru permutare circulară la stânga Pseudocod: Intrare: vector, dimensiune Stochează vector[0] în temp Pentru i = 1 la dimensiune – 1:     vector[i – 1] = vector[i] vector[dimensiune – 1] = temp Ieșire: vector permutat 3. Cod în C++ Exemplu 1:...

Citește Mai Mult

Problema Permutării Circulare la Dreapta într-un Vector în C++ 26

1. Obiectivele lecției: 2. Conținutul lecției: Ce este permutarea circulară la dreapta? Pașii algoritmului pentru permutare circulară la dreapta Pseudocod: Intrare: vector, dimensiune Stochează vector[dimensiune – 1] în temp Pentru i = dimensiune – 2 la 0:     vector[i + 1] = vector[i] vector[0] = temp Ieșire: vector permutat 3. Cod în C++ Exemplu 1:...

Citește Mai Mult

Tablouri Bidimensionale (Matrice) în C++ 27

1. Obiectivele lecției: 2. Conținutul lecției: Ce este un tablou bidimensional? Declararea și inițializarea unei matrice tip_de_date nume[rânduri][coloane]; int mat[2][3] = {     {1, 2, 3},     {4, 5, 6} }; int mat[2][3] = {0}; // Toate elementele sunt 0. mat[i][j]; // Accesarea elementului de la rândul i și coloana j. Traversarea unei matrice Pentru...

Citește Mai Mult

Ștergerea unei linii și a unei coloane dintr-o matrice în C++ 28

1. Obiectivele lecției: 2. Conținutul lecției: Conceptul de ștergere a unei linii și a unei coloane Pașii algoritmului: Pentru ștergerea unei linii: Pentru ștergerea unei coloane: Pseudocod: Ștergere linie: Pentru i de la linie la nr_rânduri – 2:     Pentru j de la 0 la nr_coloane – 1:         matrice[i][j] = matrice[i + 1][j] nr_rânduri–...

Citește Mai Mult

Parcurgerea unei Matrice în Spirală în C++ 29

1. Obiectivele lecției: 2. Conținutul lecției: Ce înseamnă parcurgerea în spirală? Algoritmul de parcurgere în spirală Pseudocod: sus = 0, jos = n – 1 stânga = 0, dreapta = m – 1 Cât timp sus <= jos și stânga <= dreapta:     – Parcurge linia `sus` de la `stânga` la `dreapta`, apoi `sus++`    ...

Citește Mai Mult

Afișarea Elementelor unei Matrice în Funcție de Diagonala Principală 30

1. Obiectivele lecției: 2. Conținutul lecției: Ce este diagonala principală a unei matrice? Algoritmul pentru identificarea poziției elementelor 3. Cod în C++ Exemplu 1: Afișarea elementelor pe diagonala principală #include <iostream> using namespace std; void afisareDiagonalaPrincipala(int mat[][4], int dim) {     cout << „Elementele de pe diagonala principala sunt: „;     for (int i =...

Citește Mai Mult

Afișarea Elementelor unei Matrice în Funcție de Diagonala Secundară 31

1. Obiectivele lecției: 2. Conținutul lecției: Ce este diagonala secundară a unei matrice? Algoritmul pentru identificarea poziției elementelor 3. Cod în C++ Exemplu 1: Afișarea elementelor pe diagonala secundară #include <iostream> using namespace std; void afisareDiagonalaSecundara(int mat[][4], int dim) {     cout << „Elementele de pe diagonala secundara sunt: „;     for (int i =...

Citește Mai Mult

Afișarea Elementelor unei Matrice în Funcție de Zone 32

1. Obiectivele lecției: 2. Conținutul lecției: Definirea zonelor în matrice O matrice pătratică de dimensiune n×nn poate fi împărțită în mai multe zone, în funcție de pozițiile relative ale elementelor față de diagonalele principale și secundare: Algoritmul pentru identificarea elementelor în funcție de zone 3. Cod în C++ Exemplu: Afișarea elementelor în funcție de zone...

Citește Mai Mult