Informatica si Tic de nota 10 - locul ideal pentru TITULARIZARE

Informatica - Teorie si Practica

Tehnologia Informatiei si a Comunicatiilor

Didactica Predarii Informaticii

Titularizare > Informatica

Problemă, Algoritm, Program

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

Titularizare > Informatica

Principiile programării structurate

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

Titularizare > Informatica

Structurile Fundamentale ale Algoritmului

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

Titularizare > Informatica

Algoritmi Elementari – Determinarea Minimului/Maximului

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

Titularizare > Informatica

Algoritmi de Sortare – Sortarea prin Metoda Bulelor

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

Titularizare > Informatica

Algoritmul de Interclasare (Merge Sort)

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

Titularizare > Informatica

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

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

Titularizare > Informatica

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

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

Titularizare > Informatica

Limbajul C++ – Tipurile de Date

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

Titularizare > Informatica

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

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...

Citește Mai Mult

Titularizare > Informatica

Programarea Orientată pe Obiecte – Clase și Obiecte

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) {        ...

Citește Mai Mult

Titularizare > Informatica

Metoda Greedy (Lacom) în Programare

1. Obiectivele lecției: 2. Ce este metoda Greedy? 3. Etapele metodei Greedy 4. Avantaje și dezavantaje Avantaje Dezavantaje Simplu de înțeles și implementat. Nu garantează soluția optimă pentru toate problemele. Eficient din punct de vedere al timpului. Necesită o analiză atentă pentru a verifica aplicabilitatea. Util în probleme cu substructuri optime. Greșeli în alegerea regulii...

Citește Mai Mult

Titularizare > Informatica

Metode de Generare a Elementelor Combinatoriale

Avantaje Dezavantaje Explorează toate posibilitățile. Timp mare de execuție pentru probleme mari. Garantează găsirea soluției dacă există. Necesită optimizări pentru a fi practicabil. Exemplu 1: Generarea permutărilor unui șir #include <iostream> #include <vector> using namespace std; void permuta(vector<int>& sir, int index) {     if (index == sir.size()) {         for (int num : sir) {...

Citește Mai Mult

Titularizare > Informatica

Metoda Divide et Impera în Programare

1. Obiectivele lecției: 2. Ce este metoda Divide et Impera? 3. Caracteristici și aplicabilitate 4. Avantaje și dezavantaje Avantaje Dezavantaje Reduce complexitatea problemelor mari. Poate consuma mai multă memorie (recursivitate). Ușor de paralelizat. Necesită o analiză atentă pentru combinare. Aplicabilitate largă. Nu toate problemele pot fi împărțite logic. 5. Exemple practice Exemplu 1: Binary Search...

Citește Mai Mult

Titularizare > Informatica

Metoda Programării Dinamice în Programare

1. Obiectivele lecției: 2. Ce este Programarea Dinamică? 3. Avantaje și dezavantaje Avantaje Dezavantaje Reduce recalculările prin memorarea soluțiilor. Necesită mai multă memorie pentru stocarea intermediară. Garantează o soluție optimă, dacă există. Poate fi dificil de implementat pentru probleme complexe. Eficient pentru probleme care au subprobleme repetate. Necesită identificarea clară a subproblemelor. 4. Probleme rezolvate...

Citește Mai Mult

Titularizare > Informatica

Alocarea Dinamică a Memoriei – Concepte de Bază

1. Obiectivele lecției: 2. Ce este alocarea dinamică a memoriei? 3. Cum funcționează alocarea dinamică în C++? int* p = new int; // Alocă memorie pentru un int *p = 42;          // Stochează valoarea 42 delete p;         // Eliberează memoria 4. Avantaje și dezavantaje Avantaje Dezavantaje Flexibilitate în gestionarea memoriei. Necesită gestionare manuală (risc de...

Citește Mai Mult

Titularizare > Informatica

Structuri de Date Liniare Implementate Dinamic – Liste Liniare Simplu Înlanțuite

1. Obiectivele lecției: 2. Ce este o listă liniară simplu înlănțuită? 3. Avantaje și dezavantaje Avantaje Dezavantaje Dimensiunea listei este dinamică. Accesul la un element necesită parcurgere secvențială. Inserarea și ștergerea elementelor sunt eficiente. Consumul de memorie suplimentară pentru pointere. Nu este necesară alocarea unui bloc mare de memorie. Mai dificil de implementat comparativ cu...

Citește Mai Mult

Titularizare > Informatica

Structuri de Date Arborescente Implementate Dinamic – Arbore Parțial de Cost Minim

1. Obiectivele lecției: 2. Ce este un arbore parțial de cost minim? 3. Aplicații practice ale MST 4. Algoritmi clasici pentru MST 5. Implementarea algoritmului lui Kruskal Structura pentru reprezentarea grafului #include <iostream> #include <vector> #include <algorithm> using namespace std; struct Muchie {     int sursa, destinatie, cost; }; // Comparator pentru sortarea muchiilor după...

Citește Mai Mult

Titularizare > Informatica

Teoria Grafurilor: Grafuri Neorientate – Metode de Reprezentare

1. Obiectivele lecției: 2. Ce este un graf neorientat? Un graf neorientat este definit prin: 3. Metode de reprezentare a grafurilor 1. Matricea de adiacență 1–2 |   | 3–4 Matricea de adiacență: 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 0 #include <iostream> using namespace std; void afisareMatrice(int...

Citește Mai Mult

Titularizare > Informatica

Teoria Grafurilor: Grafuri Orientate – Noțiuni Introdutive

1. Obiectivele lecției: 2. Ce este un graf orientat? Un graf orientat (sau digraf) este o structură matematică formată din: Proprietăți: 3. Exemple de grafuri orientate (1) → (2)  ↑     ↓ (4) ← (3) 4. Reprezentări ale grafurilor orientate 1. Matricea de adiacență (1) → (2)  ↑     ↓ (4) ← (3) Matricea de adiacență: 0...

Citește Mai Mult

Titularizare > Informatica

Teoria Grafurilor: Tipuri de Grafuri

1. Graf Parțial 1–2–3 |   | 4–5 1–2   3 |      4      2. Subgraf 1–2–3 |   | 4–5 1–2     |     5 3. Graf Plin (Graf Dens) 4. Graf Complet 1–2 |\ /| | X | |/ \| 3–4 5. Graf Turneu (1) → (2)  ↑  ↘   ↓ (3) ← (4) 6. Graf Bipartit 1–3...

Citește Mai Mult

Titularizare > Informatica

Metode de Reprezentare a Grafurilor: Matricea de Incidență

1. Ce este Matricea de Incidență? Matricea de incidență este o metodă de reprezentare a unui graf (neorientat sau orientat) utilizând o matrice III de dimensiune ∣V∣×∣E∣|V| \times |E|∣V∣×∣E∣, unde: 2. Definiție Pentru un graf G=(V,E)G = (V, E)G=(V,E): 3. Caracteristici 4. Exemplu pentru Grafuri Neorientate Graf: 1–2 |   | 4–3 Reprezentare: Matricea de incidență:...

Citește Mai Mult

Titularizare > Informatica

Metode de Reprezentare a Grafurilor: Algoritmul Roy-Warshall

1. Ce este Algoritmul Roy-Warshall? Algoritmul Roy-Warshall este un algoritm utilizat pentru a determina matricea drumurilor într-un graf. Mai exact, acest algoritm determină dacă există un drum între două noduri iii și jjj într-un graf (orientat sau neorientat). 2. Obiectiv 3. Ideea Algoritmului Algoritmul Roy-Warshall se bazează pe conceptul de nod intermediar: 4. Pas cu...

Citește Mai Mult

Titularizare > Informatica

Metode de Reprezentare a Grafurilor: Algoritmul Roy-Floyd

1. Ce este Algoritmul Roy-Floyd? Algoritmul Roy-Floyd (cunoscut și ca Floyd-Warshall) este un algoritm utilizat pentru a determina drumurile minime între toate perechile de noduri dintr-un graf ponderat. Acesta este aplicabil atât pentru grafuri orientate, cât și pentru grafuri neorientate. 2. Obiectiv 3. Ideea Algoritmului Algoritmul Roy-Floyd se bazează pe conceptul de nod intermediar: 4....

Citește Mai Mult

Titularizare > Informatica

Metode de Reprezentare a Grafurilor: Algoritmul lui Dijkstra

1. Ce este Algoritmul lui Dijkstra? Algoritmul Dijkstra este un algoritm de găsire a drumului minim între un nod sursă și toate celelalte noduri dintr-un graf ponderat, orientat sau neorientat. Este eficient pentru grafuri fără greutăți negative. 2. Obiectiv 3. Ideea Algoritmului Algoritmul funcționează pe baza unui proces iterativ: 4. Complexitate 5. Exemplu Graf Ponderat...

Citește Mai Mult

Titularizare > Informatica

Metode de Reprezentare a Grafurilor: Algoritmul lui Prim

1. Ce este Algoritmul lui Prim? Algoritmul Prim este un algoritm utilizat pentru a găsi arborele de acoperire minim (MST – Minimum Spanning Tree) într-un graf ponderat neorientat conectat. Un arbore de acoperire minim este un subgraf care conectează toate nodurile cu costul total minim al muchiilor. 2. Obiectiv 3. Ideea Algoritmului Algoritmul funcționează pe...

Citește Mai Mult

Titularizare > Informatica

Metode de Reprezentare a Grafurilor: Algoritmul lui Kruskal

1. Ce este Algoritmul lui Kruskal? Algoritmul Kruskal este o metodă pentru a găsi arborele de acoperire minim (MST – Minimum Spanning Tree) într-un graf ponderat, neorientat. Se bazează pe alegerea iterativă a muchiilor cu cea mai mică greutate, asigurându-se că nu se formează cicluri. 2. Obiectiv 3. Ideea Algoritmului Pentru a detecta ciclurile eficient,...

Citește Mai Mult