Invatare Atomica

Structura Conditionala "Daca-Atunci"

Progres lectie:
0%
🎯

Obiectivul lectiei

Programul tau face intotdeauna acelasi lucru... Nu poate lua decizii... Nu poate verifica conditii... Toate programele sunt liniare si plictisitoare.

Dupa aceasta lectie vei putea:

  • Sa descrii structura conditionala simpla (DACA...ATUNCI) in pseudocod
  • Sa identifici conditia si actiunea dintr-o structura conditionala
  • Sa reprezentezi structura DACA...ATUNCI folosind schema logica
  • Sa scrii algoritmi simpli care folosesc o decizie
  • Sa transformi situatii din viata reala in structuri conditionale

Incearca singur!

🎮 Incearca tu!

Provocare: Gandeste ca un Program!

Inainte sa invatam teoria, hai sa vedem daca poti gandi ca un program care ia decizii!

  1. Imagineaza-te ca esti un robot care trebuie sa traverseze strada
  2. Scrie pe o foaie: ce verifici INAINTE sa traversezi?
  3. Ce faci DACA semaforul este verde?
  4. Ce faci DACA semaforul este rosu?
  5. Poti scrie pasi exact, ca pentru un robot care nu stie nimic despre strazi?
EXEMPLU DE RASPUNS:

PASUL 1: Ma uit la semafor
PASUL 2: DACA semaforul este verde ATUNCI
    - Ma uit la stanga
    - Ma uit la dreapta
    - Traversez strada
PASUL 3: Altfel astept
Aceasta este EXACT cum gandeste un program! Verifica o conditie (semafor verde?) si apoi decide ce sa faca.
💡 Indiciu #1: Ce inseamna "conditie"?
O conditie este o intrebare cu raspuns DA sau NU. Exemple: "Este verde?" → DA/NU. "Ploua afara?" → DA/NU. "Am bani pentru inghetata?" → DA/NU.
💡 Indiciu #2: De ce folosim "DACA...ATUNCI"?
Pentru ca programul sa faca ceva DOAR cand conditia este indeplinita. Daca semaforul NU este verde, robotul nu traverseaza - simple si sigur!
💡 Indiciu #3: Exemple din jocuri
In jocuri: "DACA atingi moneda ATUNCI scorul creste", "DACA atingi inamicul ATUNCI pierzi o viata", "DACA apesi sageata sus ATUNCI personajul sare".

🌟 Provocare Bonus (optional)

Gandeste-te la 5 situatii din viata ta de zi cu zi unde iei decizii bazate pe conditii (exemplu: "DACA am terminat tema ATUNCI ma uit la desene animate"). Scrie-le pe o foaie!

1

1. Continut

🤔
Ce este structura "Daca-Atunci"?
Definitie: Structura conditionala "Daca-Atunci" (IF-THEN in engleza) este o instructiune care permite programului sa execute anumite actiuni DOAR daca o conditie este adevarata. Daca conditia este falsa, acele actiuni sunt sarite complet.
Analogie din viata ta: Este ca un filtru! Imaginea-ti un portar la o petrecere: "DACA ai invitatie ATUNCI poti intra". Cei fara invitatie sunt opriti. Programul functioneaza la fel - verifica conditia si decide daca executa sau nu actiunea.

Structura de baza:

DACA (conditie este adevarata) ATUNCI
    Executa actiunea 1
    Executa actiunea 2
    ...
SFARSIT DACA
Actiunile din interiorul structurii "DACA-ATUNCI" se executa DOAR daca conditia este TRUE (adevarata). Daca conditia este FALSE (falsa), toate aceste actiuni sunt SARITE complet!
Conditia trebuie sa aiba INTOTDEAUNA un raspuns clar: DA (adevarat) sau NU (fals). Nu poate fi ambiguu! Exemple bune: "x > 10", "buton apasat", "atingi marginea". Exemple rele: "poate", "aproape", "cam da".
2

2. Continut

🌍
Exemple din viata reala

Structura "Daca-Atunci" o folosim zilnic, chiar daca nu ne gandim la ea ca la "programare"!

📱 Exemplu 1: Alarma de dimineata

DACA este ora 7:00
ATUNCI
  → Suna alarma
  → Afiseaza pe ecran "Trebuie sa te trezesti!"
  → Vibreaza telefonul

Daca NU este ora 7:00, alarma nu face nimic - pur si simplu asteapta.

🎮 Exemplu 2: Joc video

DACA personajul atinge moneda
ATUNCI
  → Scorul creste cu 10 puncte
  → Moneda dispare de pe ecran
  → Se aude un sunet "ding!"

Daca personajul NU atinge moneda, nu se intampla nimic special.

🌡️ Exemplu 3: Sistem de incalzire

DACA temperatura < 18 grade
ATUNCI
  → Porneste caloriferul
  → Afiseaza "Incalzire pornita"

Daca temperatura este >= 18 grade, caloriferul ramane oprit.

Multi elevi confunda "DACA-ATUNCI" cu "INTOTDEAUNA fa asta". Nu! "DACA-ATUNCI" inseamna "FA DOAR cand conditia e adevarata". E un FILTRU, nu o comanda obligatorie!
3

3. Continut

📊
Diagrama de flux pentru "Daca-Atunci"

In diagramele de flux, deciziile se reprezinta cu simbolul ROMB (diamant).

Simboluri importante:

START
Oval: Start/Stop
Actiune
Dreptunghi: Proces/Actiune
DA/NU?
Romb: Decizie

📋 Exemplu complet: "Traverseaza strada"

START
Ajungi la trecerea de pietoni
Semafor
verde?
DA ➜
Traverseaza strada
NU ➜ (sari peste actiune)
STOP
In diagrama de flux, din romb ies INTOTDEAUNA doua sageti: una pentru DA (true) si una pentru NU (false). Sageata DA duce la actiunile care se executa. Sageata NU ocoleaste aceste actiuni.
Cand desenezi diagrame de flux, eticheteaza CLAR sagile cu "DA" si "NU" (sau "TRUE" si "FALSE"). Altfel, cineva care citeste diagrama ta nu va stii ce cale urmeaza in fiecare situatie!
4

4. Continut

📝
Pseudocod pentru "Daca-Atunci"

Pseudocodul este o modalitate de a scrie algoritmi in limbaj uman, inainte de a-i transforma in cod real.

Sintaxa pseudocod:

DACA (conditie) ATUNCI
    actiune1
    actiune2
    ...
SFARSIT_DACA

📋 Exemplu 1: Verificare varsta

CITESTE varsta
DACA (varsta >= 18) ATUNCI
    AFISEAZA "Esti major"
    AFISEAZA "Poti vota"
SFARSIT_DACA
AFISEAZA "Program incheiat"

Explicatie: Daca varsta este 18 sau mai mult, se afiseaza ambele mesaje. Daca varsta este sub 18, aceste mesaje sunt sarite, iar programul merge direct la "Program incheiat".

📋 Exemplu 2: Verificare nota

CITESTE nota
DACA (nota >= 5) ATUNCI
    AFISEAZA "Ai trecut examenul!"
    INCREMENTEAZA numar_promovati
SFARSIT_DACA

Explicatie: Doar daca nota este 5 sau mai mare, se afiseaza mesajul si se incrementeaza contorul. Pentru note sub 5, nu se intampla nimic.

ATENTIE la indentare (spatiile din fata)! Actiunile din interiorul structurii "DACA-ATUNCI" trebuie sa fie indentate (mutate la dreapta). Asa se vede CLAR ce actiuni fac parte din conditie si ce actiuni se executa oricum.
5

5. Continut

🐱
Structura "Daca-Atunci" in Scratch

In Scratch, structura conditionala se numeste blocul "if" si se gaseste in categoria Control (portocalie).

Blocul "if" in Scratch:

if < conditie > then
Actiunile care se executa doar daca conditia este adevarata
Locul hexagonal din blocul "if" este special - acolo pui DOAR blocuri care returneaza true/false (adevarat/fals). Acestea sunt blocurile cu forma de hexagon ascutit (din categoriile Sensing si Operators).

🎮 Exemplu 1: Atinge marginea

when green flag clicked
forever
move 10 steps
if <touching edge?> then
turn 180 degrees

Explicatie: Pisica se misca continuu cu 10 pasi. DACA atinge marginea ecranului, ATUNCI se intoarce cu 180 grade. Daca NU atinge marginea, continua sa mearga inainte.

🎮 Exemplu 2: Apasa tasta

when green flag clicked
forever
if <key space pressed?> then
say "Saritura!" for 1 seconds
change y by 50

Explicatie: Programul verifica continuu daca tasta spatiu este apasata. DACA DA, personajul spune "Saritura!" si sare (coordonata y creste). Daca tasta NU este apasata, nu se intampla nimic.

🎮 Exemplu 3: Atinge un obiect

when green flag clicked
forever
if <touching Sprite2?> then
play sound "pop"
change score by 1
hide

Explicatie: DACA sprite-ul nostru atinge Sprite2, ATUNCI se aude un sunet, scorul creste cu 1 si Sprite2 dispare. Daca NU il atinge, nimic nu se intampla.

In Scratch, poti pune orice blocuri vrei in interiorul "if-then" - miscari, sunete, efecte grafice, schimbari de variabile, chiar si alte structuri "if" (if-uri imbricate)!
Greseala frecventa: sa pui in locul conditiei un bloc care NU returneaza true/false. De exemplu, "move 10 steps" NU poate fi conditie - nu raspunde la o intrebare DA/NU! Trebuie blocuri ca "touching edge?", "key pressed?", "x > 100", etc.
6

6. Continut

Ce conditii poti folosi?

Nu orice poate fi o conditie! Conditia trebuie sa fie o expresie care are raspuns TRUE (adevarat) sau FALSE (fals).

Tipuri de conditii valide in Scratch:

Categorie Exemple de conditii Ce verifica?
Sensing • touching edge?
• touching Sprite2?
• key space pressed?
• mouse down?
Contact cu obiecte
Interactiune utilizator
Evenimente mouse/tastatura
Operators • x > 100
• scor < 50
• varsta = 12
• temperatura >= 20
Comparatii numerice
Verificare valori
Egalitate
Logici • (x > 10) AND (y < 50)
• (key left pressed?) OR (key right pressed?)
• NOT (touching color red?)
Conditii combinate
Logica complexa
Negatie
INVALIDE ca si conditii: "move 10 steps" (este actiune, nu intrebare), "say Hello" (comanda, nu verificare), "play sound" (actiune). Acestea NU au raspuns DA/NU, deci NU pot fi conditii!

✅ Exemple CORECTE de conditii

✓ <x position > 200>
✓ <touching color blue?>
✓ <answer = "da">
✓ <timer > 10>
✓ <loudness > 30>

❌ Exemple INCORECTE (nu sunt conditii!)

✗ move 10 steps → Este o ACTIUNE, nu o conditie
✗ change x by 5 → Este o COMANDA, nu o intrebare
✗ say "Hello" → Nu raspunde DA/NU
✗ set volume to 50% → Este setare, nu verificare

Exercitii practice

Exercitiul 1 (Nivel minim) -

Exercitiu de Gandire
Identificare Conditii in Viata Reala

Scrie pe o foaie 10 exemple de situatii din viata ta unde iei decizii bazate pe conditii "DACA-ATUNCI".

  • Minim 3 exemple din scoala
  • Minim 3 exemple de acasa
  • Minim 2 exemple din jocuri sau aplicatii
  • Minim 2 exemple din natura sau stiinta

Exercitiul 2 (Nivel standard) -

Exercitiu Scratch
Creeaza un Joc Simplu de Evitare

In Scratch, creezi un joc unde:

  1. Un personaj se misca cu sagetile
  2. Exista obstacole care se misca pe ecran
  3. DACA personajul atinge un obstacol ATUNCI pierde o viata
  4. DACA numarul de vieti ajunge la 0 ATUNCI jocul se termina
  5. DACA personajul atinge marginea ATUNCI nu poate iesi din ecran

Exercitiul 3 (Nivel performanta) -

Exercitiu Diagrama
Deseneaza Diagrame de Flux

Pe o foaie A4, deseneaza diagrame de flux complete pentru urmatoarele situatii:

  1. Algoritm: "Verificare varsta pentru film"
    (Daca varsta >= 13, poate vedea filmul)
  2. Algoritm: "Robot livrare pizza"
    (Daca adresa corecta, livreaza pizza)
  3. Algoritm: "Sistem de alarma"
    (Daca detecteaza miscare, suna alarma)

Foloseste corect simbolurile: oval (start/stop), dreptunghi (actiune), romb (decizie).

Exercitiul 4 (Nivel performanta) -

Exercitiu Pseudocod
Scrie Pseudocod Corect

Scrie pseudocodul pentru urmatoarele probleme:

Problema 1: Verificare acces la internet cafe
Daca ai peste 12 ani si ai bani suficienti, poti intra.

Problema 2: Sistem de temperatura
Daca temperatura scade sub 18 grade, porneste incalzirea.

Problema 3: Validare parola
Daca parola introdusa este corecta, acorda acces.

Exercitiul 5 (Nivel performanta) -

Provocare Creativa
Povestea Interactiva in Scratch

Creezi o poveste interactiva in Scratch unde:

  • Un personaj pune o intrebare (folosind "ask")
  • DACA raspunsul este "da" ATUNCI continua cu un anumit scenariu
  • DACA raspunsul este "nu" ATUNCI nu se intampla nimic special
  • Adauga minim 3 decizii diferite in poveste
  • Foloseste costume si sunete pentru efecte

Exemplu de poveste: "Aventura in padure" - personajul intalneste animale si ia decizii despre ce sa faca.

Ce ai invatat astazi

  • Structura "Daca-Atunci":Permite programului sa ia decizii si sa execute actiuni doar cand conditia este adevarata
  • Conditii booleene:Expresii care returneaza TRUE sau FALSE (adevarat sau fals)
  • Diagrama de flux:Rombul reprezinta decizia, cu doua iesiri (DA si NU)
  • Pseudocod:Sintaxa DACA...ATUNCI...SFARSIT_DACA pentru conditii
  • Scratch:Blocul "if-then" portocaliu din categoria Control
  • Aplicatii practice:Jocuri, automatizari, sisteme inteligente

Urmatoarea lectie

Continua cu lectia urmatoare pentru a aprofunda cunostintele.

Continua →