1
1. Ce este un algoritm?
1. Ce este un algoritm?
Un algoritm este o secventa de pasi clari, precisi si ordonati pentru a rezolva o problema sau pentru a indeplini o sarcina.
Analogie din viata ta:
Gandeste-te la o reteta de prajitura: ai ingredientele (INPUT), urmezi pasii in ordine (PRELUCRARE), si obtii prajitura (OUTPUT). Daca nu respecti ordinea pasilor (de exemplu, bagi prajitura la cuptor inainte sa amesteci ingredientele), nu va iesi bine!
✅
Proprietatile unui algoritm bun
- FINIT - Se termina dupa un numar limitat de pasi (nu merge la infinit)
- PRECIS - Fiecare pas este clar si fara ambiguitati
- ORDONAT - Pasii au o ordine specifica care trebuie respectata
- GENERAL - Poate fi aplicat pentru mai multe cazuri similare
- EFICIENT - Rezolva problema cu resurse minime (timp, memorie)
Structura unui algoritm
| Parte | Descriere | Exemplu |
|---|---|---|
| INPUT | Date de intrare | Citeste numarul A Citeste numarul B |
| PRELUCRARE | Pasii de procesare | Calculeaza Suma = A + B Calculeaza Media = Suma / 2 |
| OUTPUT | Date de iesire/rezultat | Afiseaza Suma Afiseaza Media |
⚠️
Greseala frecventa
Mulți elevi confunda algoritmul cu programul. Algoritmul este ideea si planul de rezolvare (scris in limbaj natural sau schema logica). Programul este implementarea algoritmului intr-un limbaj de programare (Python, C++, etc.).
2
2. Reprezentare in limbaj natural
2. Reprezentare in limbaj natural
Algoritmul in limbaj natural este scris cu cuvinte obisnuite, in limba romana, folosind verbe de actiune pentru fiecare pas.
Analogie din viata ta:
E ca si cum i-ai explica unui prieten cum sa ajunga la un loc: "Mergi drept 2 strazi, Coteste la dreapta, Traverseaza la trecerea de pietoni, Intra in cladirea albastra". Fiecare instructiune incepe cu un verb care spune ce sa faci.
📘
Regulile limbajului natural
- Incepe cu START
- Pasi numerotati: 1, 2, 3...
- Fiecare pas incepe cu un verb de actiune:
- Citeste - pentru citirea datelor (INPUT)
- Calculeaza - pentru operatii matematice
- Afiseaza - pentru afisarea rezultatelor (OUTPUT)
- Verifica / Daca - pentru decizii
- Repeta - pentru cicluri/bucle
- Termina cu STOP
Exemplu complet: Algoritm pentru calcularea ariei unui dreptunghi
START
1. Citeste lungimea (L)
2. Citeste latimea (l)
3. Calculeaza Aria = L * l
4. Afiseaza "Aria dreptunghiului este:" si Aria
STOP
Exemplu cu decizie: Verifica daca un numar este pozitiv
START
1. Citeste numar (N)
2. Daca N > 0 atunci
- Afiseaza "Numarul este pozitiv"
Altfel
- Afiseaza "Numarul este negativ sau zero"
STOP
💡
Sfat pentru examen
Cand scrii un algoritm, citeste fiecare pas cu voce tare (in minte). Daca suna ca o instructiune clara pe care ai putea s-o urmezi pas cu pas, e bun! Daca te incurci sau nu e clar, rescrie-l mai simplu.
3
3. Schema logica (Flowchart)
3. Schema logica (Flowchart)
Schema logica reprezinta algoritmul in mod vizual, folosind simboluri geometrice pentru a arata pasii si directia de executie.
Analogie din viata ta:
E ca o harta a unui labirint sau un plan de joc. In loc sa citesti instructiuni lungi, vezi vizual unde sa mergi. Sagetile iti arata drumul, iar simbolurile iti spun ce tip de actiune urmeaza (start, actiune, decizie, output).
Simbolurile schemei logice
START/STOP
OVAL (ELIPSA)
Marcheaza inceputul (START) si sfarsitul (STOP) algoritmului.
Proces
DREPTUNGHI
Reprezinta un proces sau actiune: calcule, atribuiri (Ex: Suma = A + B).
DA/NU
ROMB (DIAMANT)
Reprezinta o decizie - o intrebare cu raspuns DA sau NU (Ex: A > B?).
I/O
PARALELOGRAM
Reprezinta Input/Output - citire de date (Citeste A) sau afisare de rezultate (Afiseaza Suma).
⚠️
Atentie la directia sagetilor!
Sagetile arata ordinea executarii. Schema logica se parcurge de sus in jos, iar de la un romb (decizie) pleaca doua sageti: una pentru DA si una pentru NU. Asigura-te ca le marchezi clar!
Cum desenezi o schema logica - Reguli importante:
- Simbolurile sunt legate cu sageti (linii cu varfuri)
- Fluxul merge de obicei de sus in jos si de la stanga la dreapta
- Nu trebuie sa desenezi perfect - conteaza sa fie clar si corect
- Fiecare simbol contine text scurt care explica ce face
- La romb, scrie "DA" si "NU" langa sageti
💡
Truc pentru examen
Daca ai un algoritm in limbaj natural si trebuie sa-l transformi in schema logica:
- START → desenezi un OVAL
- Citeste/Afiseaza → desenezi un PARALELOGRAM
- Calculeaza/Atribuie → desenezi un DREPTUNGHI
- Daca/Verifica → desenezi un ROMB
- STOP → desenezi un OVAL
4
4. Variabile si Constante
4. Variabile si Constante
O variabila este ca o cutie cu eticheta: are un nume (eticheta) si o valoare (ce e in cutie). Valoarea se poate schimba in timpul executiei algoritmului.
Analogie din viata ta:
Variabila e ca scorul tau intr-un joc. La inceput ai 0 puncte, apoi scorul creste: 10, 50, 100, 250... Numele (eticheta) ramane "Scor", dar valoarea se schimba constant. O constanta este ca numarul maxim de vieti - daca jocul are 3 vieti, asta nu se schimba niciodata!
Variabila vs Constanta
| Caracteristica | Variabila | Constanta |
|---|---|---|
| Valoare | Se poate schimba | Ramane aceeasi |
| Exemplu | Scor, Varsta, Temperatura | PI = 3.14, Zile_saptamana = 7 |
| Notare | Nume cu litere mici/mari | Nume cu LITERE MARI |
| Modificare | Da, prin atribuire (X = 10) | Nu, valoarea e fixa |
📘
Operatia de atribuire
Simbolul = in algoritmi inseamna atribuire, nu egalitate matematica!
A = 5- pune valoarea 5 in variabila ASuma = A + B- calculeaza A + B si pune rezultatul in SumaA = A + 1- ia valoarea din A, aduna 1, si pune rezultatul inapoi in A (incrementare)
Tabel de trasare - Exemplu complet
Tabelul de trasare arata cum se modifica valorile variabilelor la fiecare pas al algoritmului:
Algoritm:
START
1. A = 10
2. B = 5
3. Suma = A + B
4. Produs = A * B
5. A = A + 3
6. Afiseaza Suma, Produs, A
STOP
| Pas | A | B | Suma | Produs | Explicatie |
|---|---|---|---|---|---|
| Initial | - | - | - | - | Variabilele nu au valori inca |
| Pas 1 | 10 | - | - | - | A primeste valoarea 10 |
| Pas 2 | 10 | 5 | - | - | B primeste valoarea 5 |
| Pas 3 | 10 | 5 | 15 | - | Suma = 10 + 5 = 15 |
| Pas 4 | 10 | 5 | 15 | 50 | Produs = 10 * 5 = 50 |
| Pas 5 | 13 | 5 | 15 | 50 | A = 10 + 3 = 13 (A s-a modificat!) |
| Pas 6 | 13 | 5 | 15 | 50 | Se afiseaza: 15, 50, 13 |
💡
Cum sa faci un tabel de trasare perfect
- Scrie toate variabilele ca coloane in tabel
- Incepe cu randul "Initial" (toate variabilele au "-" sau "nedefinit")
- Pentru fiecare pas din algoritm, adauga un rand nou
- Schimba doar valoarea variabilei care se modifica la pasul respectiv
- Celelalte variabile pastreaza valorile din randul anterior
- Adauga o coloana "Explicatie" ca sa fie mai clar ce se intampla
⚠️
Greseala frecventa
Multi elevi uita ca
A = A + 1 inseamna "ia valoarea actuala a lui A, aduna 1, si pune rezultatul inapoi in A". Nu e o ecuatie matematica! Daca A era 5, dupa A = A + 1, A devine 6.