Invatare Atomica

Ce este un Algoritm?

Progres lectie:
0%
🎯

Obiectivul lectiei

In aceasta lectie vei descoperi ce este un algoritm, de ce calculatoarele nu pot lucra fara instructiuni precise si cum recunosti algoritmi in viata de zi cu zi.

Dupa aceasta lectie vei putea:

  • Sa definesti ce este un algoritm
  • Sa demonstrezi proprietatile unui algoritm bun
  • Sa recunosti algoritmi in viata de zi cu zi
  • Sa explici de ce calculatoarele au nevoie de algoritmi precisi
  • Sa identifici structura secventiala si alternativa in blocuri Scratch (mediu grafic interactiv)

Incearca singur!

🎯 Provocare: Scrie un algoritm pentru spalatul pe dinti!

Imagineaza-ti ca trebuie sa inveti un robot sa se spele pe dinti. Robotul nu stie NIMIC - trebuie sa ii spui EXACT ce sa faca, pas cu pas!

Fii atat de precis incat un robot (care nu gandeste) sa poata urmari instructiunile tale perfect.

📝 Pasi de urmat:

  1. Gandeste-te la TOTI pasii pentru spalatul pe dinti - de la inceput pana la sfarsit
  2. Scrie fiecare pas ca o instructiune clara (exemplu: "Ia periuta de dinti in mana dreapta")
  3. Numereaza pasii in ordine (1, 2, 3...)
  4. Citeste algoritmul tau - ar putea un robot sa il urmeze exact?
  5. Verifica: Ai uitat vreun pas? Sunt pasii in ordinea corecta?
  6. Imbunatateste algoritmul daca este necesar!

✏️ Scrie algoritmul tau aici:

📋 Exemplu de format
1. [Primul pas - actiune clara] 2. [Al doilea pas - actiune clara] 3. [Al treilea pas - actiune clara] ... N. [Ultimul pas - actiune clara]

💡 Ajutor - daca te blochezi:

Hint #1: De unde incep?

Incepe cu ceea ce ai nevoie: periuta de dinti, pasta de dinti, un pahar cu apa. Primul pas ar putea fi "Ia periuta de dinti in mana".

Hint #2: Cat de detaliat trebuie sa fiu?

Gandeste-te: daca spui unui robot "Spala-te pe dinti", el nu stie ce inseamna asta. Trebuie sa spui: "Misca periuta sus-jos pe dintii din fata timp de 10 secunde". Fii FOARTE specific!

Hint #3: Ce pasi importanti pot uita?

Multe persoane uita: sa inchida robinetul, sa puna periuta inapoi in suport, sa se uite in oglinda pentru verificare. Algoritmul tau trebuie sa acopere TOTUL!

🌟 Bonus Challenge (optional):

Scrie un al doilea algoritm pentru o rutina de dimineata completa: trezire, spalat pe dinti, imbracat, micul dejun. Ar trebui sa aiba cel putin 15-20 de pasi!

1

1. Ce este un Algoritm?

1

Algoritm: Un set de pasi clari, ordonati si precisi pentru a rezolva o problema sau pentru a indeplini o sarcina.

Gandeste-te la algoritm ca la o RETETA! O reteta de prajituri iti spune EXACT ce sa faci, pas cu pas, pentru a obtine prajitura perfecta.

🍰 Analogie din viata reala: Reteta de prajituri

Intrari (Ingrediente): 3 oua, 200g zahar, 300g faina, 100ml lapte

Pasi (Algoritm):

  1. Bate ouale cu zaharul timp de 5 minute
  2. Adauga faina si amesteca usor
  3. Toarna laptele si continua sa amesteci
  4. Toarna compozitia in tava
  5. Coace la 180°C timp de 30 minute

Iesire (Rezultat): O prajitura delicioasa! 🎂

Daca urmezi pasii EXACT, obtii rezultatul EXACT. Asta fac si calculatoarele!

Schema unui algoritm simplu

START: Problema de rezolvat
PAS 1: Prima actiune
PAS 2: A doua actiune
PAS 3: A treia actiune
SFARSIT: Problema rezolvata!
💡 Sfat Important

Calculatoarele sunt ca niste roboti foarte obedienti: fac EXACT ce le spui, nimic mai mult, nimic mai putin. De aceea algoritmii trebuie sa fie FOARTE clari!

2

2. Proprietatile unui Algoritm BUN

2

Nu orice lista de pasi este un algoritm bun! Un algoritm trebuie sa aiba anumite caracteristici pentru a functiona corect.

Proprietate Ce inseamna? Exemplu
FINIT Algoritmul se termina dupa un numar limitat de pasi Reteta de prajituri are 5 pasi - se termina!
PRECIS Fiecare pas este clar si nu poate fi interpretat gresit "Bate ouale 5 minute" (NU "Bate ouale un pic")
ORDONAT Pasii sunt intr-o ordine logica si corecta Mai intai bati ouale, APOI torni in tava (nu invers!)
ARE INTRARE Algoritmul primeste informatii/date de lucru Ingredientele sunt intrarea
ARE IESIRE Algoritmul produce un rezultat Prajitura gata este iesirea
🎮 Analogie din viata ta: Jocuri video

Cand joci un joc video, TOTUL functioneaza pe baza de algoritmi:

  • Algoritm de miscare: Apesi sageata dreapta → personajul se misca la dreapta 5 pixeli
  • Algoritm de coliziune: Daca personaj atinge obstacol → opreste miscarea + afiseaza "Game Over"
  • Algoritm de scor: Daca personaj colecteaza moneda → adauga 10 puncte la scor + reda sunet "pling"

Fara acesti algoritmi precisi, jocul nu ar functiona - personajele ar trece prin pereti, scorul nu s-ar actualiza!

⚠️ Atentie!

Ordinea conteaza ENORM! Daca schimbi ordinea pasilor, rezultatul poate fi complet diferit sau gresit.

Exemplu: Daca incerci sa pui glazura pe prajitura INAINTE sa o coci, ce se intampla? 🔥 Glazura se topeste si arde!

3

3. Algoritmi in Viata de Zi cu Zi

3

Folosim algoritmi in fiecare zi, chiar daca nu ii numim asa! Iata cateva exemple din viata ta:

🌅 Exemplu 1: Rutina de dimineata
Algoritm: "Pregatirea pentru scoala" INTRARE: Tu in pat, adormit 😴 PASI: 1. Suna alarma la 7:00 AM 2. Apasa butonul de oprire a alarmei 3. Ridica-te din pat 4. Mergi la baie 5. Spala-te pe fata cu apa rece 6. Spala-te pe dinti (vezi algoritmul de la INCEARCA!) 7. Imbraca-te cu hainele pregatite 8. Mergi in bucatarie 9. Mananca micul dejun 10. Ia ghiozdanul 11. Pleaca spre scoala IESIRE: Tu la scoala, pregatit pentru zi! 🎒
🚦 Exemplu 2: Traversarea strazii in siguranta
Algoritm: "Cum sa traversezi strada sigur" INTRARE: Vrei sa ajungi pe cealalta parte a strazii PASI: 1. Mergi pana la trecerea de pietoni 2. Opreste-te pe trotuar 3. Uita-te in STANGA 4. Uita-te in DREAPTA 5. Uita-te din nou in STANGA 6. DACA nu vin masini ATUNCI: - Apasa butonul semaforului (daca exista) - Asteapta lumina verde pentru pietoni - Traverseaza rapid dar atent - Continua sa te uiti dupa masini 7. ALTFEL: - Asteapta pana trec toate masinile - Reia de la pasul 3 IESIRE: Ai ajuns in siguranta pe cealalta parte! ✅
🔍 Observa!

Acest algoritm are CONDITII ("DACA... ATUNCI... ALTFEL..."). Algoritmii buni pot lua decizii bazate pe situatie!

📱 Algoritmi in tehnologie: Aplicatiile tale preferate

YouTube - Algoritmul de recomandari:

  1. Analizeaza ce videoclipuri ai urmarit
  2. Identifica subiectele tale preferate
  3. Cauta alte videoclipuri similare
  4. Calculeaza ce videoclipuri ai putea prefera
  5. Afiseaza acele videoclipuri in feed-ul tau

Joc video - Algoritmul de colectare a monedei:

  1. Jucatorul apasa tasta de salt
  2. Personajul sare si atinge moneda
  3. Jocul verifica daca obiectul atins este moneda
  4. Adauga 10 puncte la scorul jucatorului
  5. Face moneda sa dispara de pe ecran
  6. Reda sunetul "pling!" si actualizeaza afisajul scorului

Fiecare actiune pe care o faci intr-un joc sau pe calculator este controlata de algoritmi!

4

4. De ce calculatoarele AU NEVOIE de algoritmi

4

Calculatoarele sunt incredibil de rapide si puternice, dar au o mare problema: NU POT GANDI!

Ele fac DOAR ce le spunem - nimic mai mult, nimic mai putin. De aceea au nevoie de algoritmi super precisi.

🤖 Cum "gandeste" un calculator

Oamenii: Pot ghici, improviza, intelege lucruri vagi

Calculatoarele: Urmeaza instructiuni EXACT, nu pot ghici NIMIC

Exemplu:

  • Spui prietenului: "Aduna 5 si 3" → El raspunde: "8!" (intelege ce vrei)
  • Spui calculatorului: "Aduna 5 si 3" → El nu intelege! Trebuie sa scrii: x = 5 + 3
Greseli comune: Instructiuni vagi

Gresit: "Fa ceva frumos cu numerele"

De ce e gresit? Ce inseamna "frumos"? Ce numere? Ce operatie?

Corect: "Citeste doua numere de la tastatura. Aduna-le. Afiseaza rezultatul pe ecran."

De ce e corect? Fiecare pas este clar si specific!

🎯 Exemplu complet: Algoritm pentru a face un sandvis
Algoritm: "Pregatirea unui sandvis simplu" INTRARE: - 2 felii de paine - 1 lingurita unt - 2 felii branza - 1 rosie PASI: 1. Scoate painea din punga 2. Ia prima felie de paine si pune-o pe farfurie 3. Deschide cutia cu unt 4. Ia 1 lingurita de unt cu o spatula de plastic 5. Intinde untul uniform pe felia de paine 6. Pune prima felie de branza deasupra untului 7. Pune a doua felie de branza langa prima 8. Asaza feliile de rosie (deja taiate) deasupra branzei 9. Ia a doua felie de paine 10. Pune-o deasupra rosiilor 11. Apasa usor sandvisul sa se lipeasca 12. Pune sandvisul pe farfurie IESIRE: - Un sandvis gustos, gata de mancat! 🥪 TIMP TOTAL: ~3 minute
💡 De ce e asta un algoritm BUN?
  • Finit: Are 12 pasi, se termina
  • Precis: Fiecare pas spune EXACT ce sa faci
  • Ordonat: Pasii sunt in ordine logica
  • Are intrare: Ingredientele
  • Are iesire: Sandvisul gata
🧭 Analogie finala: GPS-ul ca algoritm

Cand folosesti GPS-ul, el iti da un algoritm pentru a ajunge la destinatie:

  1. Porneste de la pozitia ta curenta (intrare)
  2. Mergi inainte 500 metri
  3. Coteste la dreapta pe Strada Libertatii
  4. Mergi inainte 1 km
  5. Coteste la stanga la sensul giratoriu
  6. Destinatia este in dreapta (iesire)

GPS-ul iti da ALGORITM pentru calatorie! Daca urmezi pasii exact, ajungi unde vrei. Daca sari un pas sau schimbi ordinea, te pierzi! 🗺️

5

5. Algoritmi in Mediul Grafic Interactiv (Scratch)

5

Pana acum ai descris algoritmi in limbaj natural (cuvinte). Programa scolara (OMEN 3393/2017) cere sa construiesti si sa implementezi algoritmi intr-un mediu grafic interactiv — adica un program unde asambezi blocuri vizuale, nu scrii cod cu litere.

Cel mai raspandit mediu grafic interactiv folosit la clasele V-VI este Scratch (scratch.mit.edu). In Scratch, fiecare instructiune este un bloc colorat pe care il tragi cu mouse-ul.

🧩 Cum arata blocurile in Scratch

Fiecare culoare are un rol:

  • ■ Albastru (Miscare): muta personajul — ex: "mergi 10 pasi"
  • ■ Mov (Aspect): afiseaza text — ex: "spune Buna!"
  • ■ Portocaliu (Control): decizii si repetitii — ex: "daca… atunci…"
  • ■ Roz (Sunete): reda un sunet
🔢 Structura SECVENTIALA in Scratch (V-2.3, V-3.2)

Structura secventiala = pasii se executa unul dupa altul, in ordine. In Scratch, blocurile conectate de sus in jos formeaza o secventa:

⚑ cand se apasa steagul verde
mergi 10 pasi
spune "Buna ziua!" pentru 2 secunde
reda sunetul "aplauze"
mergi 10 pasi
opreste tot

Blocurile de mai sus se executa in ordine, de sus in jos: personajul merge, spune ceva, reda un sunet, merge din nou. Asta este structura secventiala!

🔀 Structura ALTERNATIVA in Scratch (V-2.4, V-3.2)

Structura alternativa = calculatorul ia o decizie: DACA o conditie e adevarata, executa un set de pasi; ALTFEL, executa alt set. In Scratch, blocul portocaliu "daca… atunci… altfel…" implementeaza aceasta structura:

⚑ cand se apasa steagul verde
daca <atinge culoarea rosie?> atunci
spune "Atentie, obstacol!" pentru 2 secunde
mergi -10 pasi
altfel
mergi 10 pasi

Blocul de decizie verifica o conditie (atinge culoarea rosie?). Daca DA → executa blocurile din ramura "atunci". Daca NU → executa blocurile din ramura "altfel". Asta este structura alternativa!

💡 Legatura cu algoritmii descrisi in cuvinte

Algoritmul de traversare a strazii din atomul 3 (cu DACA/ALTFEL) poate fi implementat direct in Scratch! Fiecare pas din lista → un bloc Scratch. Structura DACA/ALTFEL din text → blocul portocaliu din Scratch.

Aceasta este esenta competentei V-3.2: sa treci de la descrierea unui algoritm in cuvinte la implementarea lui intr-un mediu grafic interactiv.

Exercitii practice

Exercitiul 1 (Nivel minim) - Recunoaste algoritmii

Cerinta: Raspunde la urmatoarele intrebari despre algoritmi:

  1. Ce este un algoritm? Scrie o definitie cu cuvintele tale, in maximum 2 propozitii.
  2. Da 3 exemple de algoritmi din viata de zi cu zi (nu din informatica). De exemplu: reteta de prajitura, drumul de acasa la scoala.
  3. Care sunt cele 5 proprietati ale unui algoritm bun pe care le-ai invatat? (FINIT, PRECIS, ORDONAT, ARE INTRARE, ARE IESIRE) Alege oricare 3 si explica fiecare cu un exemplu simplu din viata de zi cu zi.

Exercitiul 2 (Nivel standard) - Scrie algoritmi simpli

Cerinta: Creeaza si analizeaza algoritmi:

  1. Scrie algoritmul pentru 'prepararea unui sandvis' in exact 8 pasi. Fiecare pas trebuie sa fie clar si precis.
  2. Un prieten iti da algoritmul: 1) Ia o carte 2) Deschide la pagina 50 3) Citeste. Ce problema are acest algoritm? Rescrie-l corect cu cel putin 6 pasi detaliati.
  3. Scrie doi algoritmi diferiti pentru a ajunge de la intrarea scolii pana la sala de informatica. Care este mai scurt? Care este mai clar?

Exercitiul 3 (Nivel performanta) - Gandeste algoritmic

Cerinta: Rezolva urmatoarele provocari de gandire algoritmica:

  1. Scrie un algoritm pentru robotul de mai jos care trebuie sa ajunga de la START (S) la FINISH (F). Robotul porneste cu fata spre DREAPTA si poate executa doar 3 comenzi: INAINTE (un patrat), STANGA (intoarce-se 90°), DREAPTA (intoarce-se 90°). Peretii sunt marcati cu # si nu pot fi traversati.

    +---+---+---+---+
    | S |   | # |   |
    +---+---+---+---+
    | # |   |   |   |
    +---+---+---+---+
    | # |   | # |   |
    +---+---+---+---+
    |   |   | # | F |
    +---+---+---+---+
    

    Scrie secventa de comenzi pas cu pas (de exemplu: 1. INAINTE, 2. STANGA, 3. INAINTE ...) pana cand robotul ajunge la F. Verifica: ai trecut prin vreun perete (#)?
  2. Analizeaza: 'Pune zaharul in ceai, amesteca, bea' - este aceasta un algoritm complet? Ce pasi lipsesc? Rescrie algoritmul complet (cel putin 10 pasi).
  3. Inventeaza un joc simplu de societate (cu reguli clare). Scrie regulile sub forma de algoritm: ce face fiecare jucator, in ce ordine, cum se castiga.

Ce ai invatat astazi

  • Ce este un Algoritm?
  • Proprietatile unui Algoritm BUN
  • Algoritmi in Viata de Zi cu Zi
  • De ce calculatoarele AU NEVOIE de algoritmi
  • Algoritmi in Mediul Grafic Interactiv Scratch (structura secventiala si alternativa)

Urmatoarea lectie

Continua cu lectia urmatoare pentru a aprofunda cunostintele.

Continua →