Invatare Atomica

Reprezentarea Algoritmilor in Limbaj Natural

Progres lectie:
0%
🎯

Obiectivul lectiei

Invata sa scrii algoritmi clari si precisi folosind limba romana!

Dupa aceasta lectie vei putea:

  • Sa definesti ce este limbajul natural
  • Sa identifici verbe de actiune algoritmice
  • Sa demonstrezi pasi numerotati si structura
  • Sa folosesti vag vs precis: diferenta critica
  • Sa folosesti pattern-ul universal: input → process → output

Incearca singur!

🎯 Provocare: Scrie primul tau algoritm!

Sarcina: Scrie un algoritm in limbaj natural pentru urmatoarea problema:

"Ai primit 3 note la teste (test1, test2, test3). Calculeaza media lor si spune daca elevul a promovat (media >= 5)."

Pasi de urmat:

1
Deschide un editor de text (Notepad, Word, sau Google Docs)
2
Scrie "START" pe primul rand (marcheaza inceputul algoritmului)
3
Scrie pasii numerotati (1., 2., 3., ...) folosind verbe de actiune: CITESTE, CALCULEAZA, SCRIE, COMPARA
4
Gandeste-te: Ce date trebuie citite? Ce calcule fac? Ce afisez?
5
Adauga o decizie: "DACA media >= 5 ATUNCI... ALTFEL..."
6
Scrie "STOP" pe ultimul rand (marcheaza sfarsitul algoritmului)
Model de algoritm (copiaza si completeaza)
START 1. CITESTE test1, test2, test3 2. CALCULEAZA suma = test1 + test2 + test3 3. CALCULEAZA media = suma / 3 4. DACA media >= 5 ATUNCI 4.1. SCRIE "Promovat! Media este: ", media ALTFEL 4.2. SCRIE "Nepromovat! Media este: ", media 5. STOP
💡 Link util
Poti scrie algoritmul intr-un editor online: Online Notepad

💡 Indicii (daca te blochezi)

💡 Indiciu 1: Cum incep?

Tot algoritmul incepe cu START. Apoi primul pas este sa CITESTI datele de intrare. Ce date ai? Cele 3 note: test1, test2, test3.

💡 Indiciu 2: Ce calcule fac?

Trebuie sa calculezi SUMA celor 3 note (test1 + test2 + test3), apoi sa calculezi MEDIA (suma impartita la 3). Foloseste verbul CALCULEAZA pentru fiecare operatie.

💡 Indiciu 3: Cum verific promovarea?

Foloseste o structura DACA... ATUNCI... ALTFEL... Compari media cu 5. Daca media >= 5, scrii "Promovat", altfel scrii "Nepromovat".

Bonus Challenge
Dupa ce termini algoritmul de baza, incearca sa-l extinzi: adauga un mesaj special daca media este 10 (maxim)!
1

1. Ce este Limbajul Natural?

🗣️

Ce este Limbajul Natural?

Limbajul natural este limba pe care o vorbim in viata de zi cu zi - romana, engleza, franceza etc. Cand scriem algoritmi in limbaj natural, folosim cuvinte si propozitii simple, nu simboluri sau coduri complicate.

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!

🎮 Analogie din viata ta

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!

ℹ️ De ce e util limbajul natural?
  • 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

2. Verbe de Actiune Algoritmice

🎯

Verbe de Actiune Algoritmice

Fiecare pas al unui algoritm trebuie sa inceapa cu un verb de actiune - un cuvant care spune clar CE SA FACI. Verbele sunt comenzi pe care computerul (sau executantul) le va executa.

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"
🍕 Analogie din viata ta

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!

⚠️ Greseala comuna

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

3. Pasi Numerotati si Structura

🔢

Pasi Numerotati si Structura

Un algoritm bine scris are o structura clara: incepe cu START, contine pasi numerotati (1, 2, 3, ...), si se termina cu STOP. Fiecare pas contine o SINGURA actiune.

Structura standard a unui algoritm:

📋 Template algoritm in limbaj natural
START 1. CITESTE date_necesare 2. CALCULEAZA/PRELUCREAZA date 3. SCRIE rezultate STOP

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
💡 De ce numerotam pasii?
  • 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?")
GRESIT (fara structura)
Citeste un numar Aduna la alt numar Afiseaza ceva

⚠️ Lipsesc START/STOP, pasii nu sunt numerotati, nu e clar ce se intampla

CORECT (cu structura)
START 1. CITESTE numar1 2. CITESTE numar2 3. CALCULEAZA suma = numar1 + numar2 4. SCRIE "Suma este: ", suma STOP

✓ Clar, structurat, oricine poate urmari si intelege!

4

4. Vag vs Precis: Diferenta Critica

⚖️

Vag vs Precis: Diferenta Critica

Un algoritm trebuie sa fie PRECIS si NEAMBIGUU. O instructiune vaga lasa loc de interpretare, iar un computer (sau alta persoana) nu va stii exact ce sa faca.

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!

🎯 Analogie din viata ta

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!

⚠️ Atentie la detalii!

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

5. Pattern-ul Universal: INPUT → PROCESS → OUTPUT

🔄

Pattern-ul Universal: INPUT → PROCESS → OUTPUT

Majoritatea algoritmilor urmeaza un pattern simplu: CITESTE date (INPUT) → PRELUCREAZA date (PROCESS) → SCRIE rezultat (OUTPUT). Intelege acest pattern si vei putea scrie orice algoritm!
📥

INPUT

CITESTE datele necesare

CITESTE a, b
⚙️

PROCESS

CALCULEAZA / PRELUCREAZA

suma = a + b
📤

OUTPUT

SCRIE rezultatul

SCRIE suma

Exemple practice:

Exemplul 1: Calculeaza aria unui dreptunghi
START // INPUT - Citim datele 1. CITESTE lungime 2. CITESTE latime // PROCESS - Prelucram datele 3. CALCULEAZA aria = lungime * latime // OUTPUT - Afisam rezultatul 4. SCRIE "Aria dreptunghiului este: ", aria STOP
Exemplul 2: Verifica daca un numar este pozitiv
START // INPUT 1. CITESTE numar // PROCESS (cu decizie) 2. DACA numar > 0 ATUNCI 2.1. rezultat = "pozitiv" ALTFEL 2.2. rezultat = "negativ sau zero" // OUTPUT 3. SCRIE "Numarul este: ", rezultat STOP
💡 Trucul profesionistilor

Cand primesti o problema, intreaba-te mereu:

  1. Ce date am nevoie? (INPUT) → CITESTE...
  2. Ce calcule/decizii fac? (PROCESS) → CALCULEAZA/DACA...
  3. Ce afisez/returnez? (OUTPUT) → SCRIE...

Raspunde la aceste 3 intrebari si ai algoritmul gata!

Exercitii practice

Exercitiul 1 (Nivel minim) - Exercitiu Creativ

1

Exercitiu Creativ

Sarcina: Scrie un algoritm in limbaj natural pentru a prepara sandvisul tau preferat. Include toate detaliile: ce ingrediente iei, in ce ordine le pui, cum il tai, etc.

Cerinte:

  • Foloseste START si STOP
  • Numeroteaza pasii
  • Fiecare pas incepe cu un verb de actiune
  • Un pas = o actiune
  • Minim 8 pasi

Exercitiul 2 (Nivel standard) - Exercitiu Practic

2

Exercitiu Practic

Sarcina: Scrie un algoritm pentru a determina care dintre trei numere (A, B, C) este cel mai mare.

Cerinte:

  • CITESTE cele 3 numere
  • Foloseste COMPARA (DACA... ATUNCI... ALTFEL)
  • SCRIE care numar este cel mai mare
  • Gestioneaza cazul in care doua/toate numerele sunt egale

Exercitiul 3 (Nivel performanta) - Exercitiu Analitic

3

Exercitiu Analitic

Sarcina: Analizeaza urmatorul algoritm si identifica greselile. Rescrie-l corect.

Ia doua numere Aduna-le si inmulteste cu 3 Daca rezultatul e mare, scrie mesaj STOP START

Ce sa cauti: Lipseste START la inceput? Pasii nu sunt numerotati? Verbe de actiune? Instructiuni vage?

Ce ai invatat astazi

  • Limbaj natural= limba pe care o vorbim zilnic (romana, engleza, etc.), folosita pentru a descrie algoritmi fara cod de programare
  • Verbe algoritmice: CITESTE (primeste date), SCRIE (afiseaza rezultat), CALCULEAZA (operatii), COMPARA (decizii), REPETA (bucle)
  • Structura algoritm: START → pasi numerotati (1, 2, 3...) cu verbe de actiune → STOP. Un pas = o actiune!
  • Precis vs Vag: Algoritm bun = instructiuni clare, fara ambiguitati. Raspunde la: CE date? CUM le prelucrez? UNDE afisez?
  • Pattern universal: INPUT (CITESTE date) → PROCESS (CALCULEAZA/prelucreaza) → OUTPUT (SCRIE rezultat)

Urmatoarea lectie

Continua cu lectia urmatoare pentru a aprofunda cunostintele.

Continua →