1. Ce este Limbajul Natural?
Ce este Limbajul Natural?
Gandeste-te la limbajul natural ca la instructiunile pe care le-ai da unui prieten pentru a ajunge la casa ta:
- "Mergi drept 200m"
- "Coteste la stanga la semafor"
- "Treci de parcul central"
- "Blocul meu e pe dreapta, numarul 15"
Exact asa scriem si algoritmii in limbaj natural - cu instructiuni clare, pe intelesul oricui!
E ca si cum ai explica unui coleg cum sa treaca un nivel in joc:
"1. Iei arma din cufarul din stanga
2. Mergi spre usa de metal
3. Apesi butonul rosu
4. Atunci cand se deschide usa, fugi inauntru rapid
5. Ataca inamicul inainte sa te vada"
Observi? Nu folosesti cod de programare, doar cuvinte simple si clare!
- Nu trebuie sa stii programare ca sa scrii algoritmi
- E usor de citit si inteles de oricine
- Te ajuta sa gandesti logic inainte de a programa
- E primul pas catre pseudocod si programare adevarata
2. Verbe de Actiune Algoritmice
Verbe de Actiune Algoritmice
Cele mai importante verbe algoritmice:
| VERB | Explicatie | Exemplu |
|---|---|---|
| CITESTE | Primeste date de la utilizator sau din alta sursa | CITESTE numar |
| SCRIE | Afiseaza un rezultat sau mesaj | SCRIE "Rezultat: ", suma |
| CALCULEAZA | Executa o operatie matematica | CALCULEAZA suma = a + b |
| COMPARA | Verifica o conditie (mai mare, mai mic, egal) | DACA numar > 10 ATUNCI... |
| REPETA | Executa aceleasi pasi de mai multe ori | REPETA 5 ori: SCRIE "Salut" |
Reteta de pizza (folosind verbe de actiune):
1. IA aluatul din frigider
2. INTINDE aluatul cu sulelul
3. PUNE sos de rosii pe aluat
4. PRESARA cascaval pe deasupra
5. ADAUGA ingredientele preferate
6. COACE la 200°C timp de 15 minute
Fiecare pas incepe cu un VERB care spune clar ce actiune sa faci!
GRESIT: "Cartea pe masa" (nu e o actiune!)
CORECT: "PUNE cartea pe masa" (verb + actiune clara)
Intotdeauna foloseste un VERB la inceputul fiecarui pas!
3. Pasi Numerotati si Structura
Pasi Numerotati si Structura
Structura standard a unui algoritm:
Reguli importante:
- START marcheaza inceputul (punctul de pornire)
- STOP marcheaza sfarsitul (punctul de oprire)
- Pasii sunt numerotati (1, 2, 3, ...) pentru a sti ordinea exacta
- Fiecare pas contine o singura actiune
- Fiecare pas incepe cu un verb de actiune
- Stim exact ordinea de executie (ce urmeaza dupa ce)
- Putem face referiri: "Repeta pasul 3" sau "Daca da, mergi la pasul 5"
- E usor sa gasim unde e o greseala
- Putem colabora cu alti colegi ("Am ajuns la pasul 4, ce urmeaza?")
⚠️ Lipsesc START/STOP, pasii nu sunt numerotati, nu e clar ce se intampla
✓ Clar, structurat, oricine poate urmari si intelege!
4. Vag vs Precis: Diferenta Critica
Vag vs Precis: Diferenta Critica
Exemple comparative:
❌ Descrieri VAGE
"Ia niste numere"
Ce inseamna "niste"? Cate? Care?
"Calculeaza ceva"
Ce anume? Cum? Cu ce date?
"Afiseaza rezultatul"
Ce rezultat? Unde? Cum?
✅ Descrieri PRECISE
"CITESTE numarul N"
Exact ce date si cum le numim!
"CALCULEAZA patrat = N * N"
Operatie clara cu rezultat stocat!
"SCRIE 'Patratul lui ', N, ' este ', patrat"
Exact ce si cum se afiseaza!
Imagineaza-ti ca dai instructiuni unui robot de livrare:
VAG: "Mergi undeva si livreaza pachetul cuiva"
→ Robotul nu stie unde sa mearga sau cui sa dea pachetul!
PRECIS: "Mergi la adresa Strada Florilor nr. 25, Apartamentul 3B, si livreaza pachetul lui Ion Popescu"
→ Robotul stie EXACT ce sa faca!
Un algoritm precis trebuie sa raspunda la:
- CE date citesc? (nume de variabile, sursa)
- CUM le prelucrez? (operatii exacte)
- UNDE afisez rezultatul? (ecran, fisier, etc.)
- CAND se intampla fiecare actiune? (ordinea pasilor)
5. Pattern-ul Universal: INPUT → PROCESS → OUTPUT
Pattern-ul Universal: INPUT → PROCESS → OUTPUT
INPUT
CITESTE datele necesare
PROCESS
CALCULEAZA / PRELUCREAZA
OUTPUT
SCRIE rezultatul
Exemple practice:
Cand primesti o problema, intreaba-te mereu:
- Ce date am nevoie? (INPUT) → CITESTE...
- Ce calcule/decizii fac? (PROCESS) → CALCULEAZA/DACA...
- Ce afisez/returnez? (OUTPUT) → SCRIE...
Raspunde la aceste 3 intrebari si ai algoritmul gata!