Invatare Atomica

Structura Alternativa in Scratch

Progres lectie:
0%
🎯

Obiectivul lectiei

Invata sa faci programul sa ia decizii inteligente!

Dupa aceasta lectie vei putea:

  • Sa definesti ce este structura alternativa
  • Sa demonstrezi blocul if-then (daca-atunci)
  • Sa demonstrezi blocul if-then-else (daca-atunci-altfel)
  • Sa folosesti conditii in Scratch

Incearca singur!

🚀 Provocare: Sprite interactiv

Creeaza un sprite care schimba culoarea cand apesi SPATIU si spune "Ai apasat!" cand atingi pointer-ul mouse-ului.

Pasi de urmat:

  1. Deschide Scratch - Mergi la scratch.mit.edu
  2. Alege un sprite - Orice personaj iti place
  3. Adauga primul bloc DACA-ATUNCI - Pentru tasta SPATIU
  4. In interior pune "schimba efectul culoare cu 25"
  5. Adauga al doilea bloc DACA-ATUNCI - Pentru "atingi pointer mouse"
  6. In interior pune "spune Ai apasat!"
💡 Cod de referinta:
cand se da click pe 🚩 la infinit daca <tasta (spatiu) apasata?> atunci schimba efectul (culoare) cu (25) asteapta (0.3) secunde daca <atingi (pointer mouse)?> atunci spune [Ai apasat!] pentru (1) secunde
🎨 Deschide Scratch Online →
💡 Indiciu 1: Unde gasesc blocul "daca-atunci"?

Mergi la categoria Control (blocuri portocalii). Gasesti acolo blocul "daca <> atunci" - are forma unui C si un loc pentru conditie in varful lui.

💡 Indiciu 2: Cum fac conditia pentru tasta?

Mergi la categoria Sensing (blocuri albastre deschis). Trage blocul hexagonal "tasta (spatiu) apasata?" si pune-l in locul conditiei din blocul "daca-atunci".

💡 Indiciu 3: Cum detectez mouse-ul?

Tot in Sensing, gasesti blocul "atingi (pointer mouse)?". Pune-l ca si conditie in al doilea bloc "daca-atunci".

🎯 Provocare bonus

Incearca sa faci sprite-ul sa schimbe costumul (aparat

1

1. Ce este Structura Alternativa?

1

Ce este Structura Alternativa?

Structura alternativa permite programului sa ia decizii bazate pe conditii. In loc sa execute mereu aceleasi actiuni, programul poate alege ce sa faca.

🎮 Exemplu din viata ta

Cand te trezesti dimineata:
DACA e weekend ATUNCI stai in pat mai mult
ALTFEL te pregatesti pentru scoala

Faci o decizie in functie de o conditie (e weekend?). Asta e exact ce face structura alternativa in programare!

📌 De retinut

Fara structura alternativa, programele ar fi ca un robot prost - fac mereu acelasi lucru. Cu ea, programele devin inteligente si pot reactiona diferit la situatii diferite.

2

2. Blocul IF-THEN (DACA-ATUNCI)

2

Blocul IF-THEN (DACA-ATUNCI)

Blocul "if-then" executa un set de instructiuni DOAR daca conditia este adevarata. Daca conditia e falsa, blocurile din interior sunt sarite complet.

daca <conditie> atunci spune [Conditia e adevarata!] mergi (10) pasi
🏀 Analogie sportiva

La baschet: DACA mingea intra in cos ATUNCI primesti puncte.
Daca nu intra? Nu se intampla nimic special, jocul continua.

⚠️ Atentie!

Blocurile din interiorul "if-then" trebuie sa fie indentate (mutate putin la dreapta). Asa stii ca apartin blocului "daca".

Exemplu: Detectare margine

cand se da click pe 🚩 la infinit mergi (5) pasi daca <atingi (marginea)?> atunci roteste-te ↻ (180) grade

Sprite-ul merge inainte constant. DOAR cand atinge marginea, se intoarce.

3

3. Blocul IF-THEN-ELSE (DACA-ATUNCI-ALTFEL)

3

Blocul IF-THEN-ELSE (DACA-ATUNCI-ALTFEL)

Blocul "if-then-else" are doua ramuri: una pentru cand conditia e adevarata, alta pentru cand e falsa. Programul executa MEREU una din cele doua variante.

daca <conditie> atunci spune [Adevarat!] altfel spune [Fals!]
IF-THEN (daca-atunci) IF-THEN-ELSE (daca-atunci-altfel)
Executa ceva DOAR daca conditia e adevarata Executa MEREU ceva (una din cele 2 optiuni)
Daca e fals, nu face nimic special Daca e fals, executa ramura "altfel"
Are doar o ramura (then) Are doua ramuri (then si else)
🍕 Exemplu cu pizza

DACA ai bani ATUNCI cumperi pizza mare
ALTFEL cumperi pizza mica

Oricum cumperi pizza! Doar marimea difera in functie de conditie.

Exemplu: Reactie la tasta

cand se da click pe 🚩 la infinit daca <tasta (spatiu) apasata?> atunci spune [Ai apasat spatiu!] altfel spune [Apasa spatiu...]

Sprite-ul afiseaza MEREU un mesaj - fie "Ai apasat!", fie "Apasa...". Niciodata nu tace.

4

4. Conditii in Scratch

4

Conditii in Scratch

O conditie este o intrebare cu raspuns DA sau NU (adevarat sau fals). In Scratch, conditiile sunt blocuri cu forma hexagonala (sase laturi).

Blocuri Sensing (Detectie) - albastru deschis

atingi (marginea)? atingi culoarea [rosu]? atingi (Sprite2)? tasta (spatiu) apasata? mouse apasat? atingi (pointer mouse)?

Blocuri Operators (Operatori) - verde

(50) > (10) (valoare) < (100) (x) = (y)
💡 Cum sa recunosti o conditie

Conditiile au forma de hexagon (♦) si pot fi puse in locul conditiei din blocurile "daca". Daca un bloc NU e hexagon, nu e conditie!

📊 Comparatii matematice
Simbol Inseamna Exemplu
> mai mare decat 10 > 5 (adevarat)
< mai mic decat 3 < 8 (adevarat)
= egal cu 7 = 7 (adevarat)

Exemplu complet: Program interactiv

cand se da click pe 🚩 la infinit daca <atingi culoarea [verde]?> atunci spune [Bravo! Esti pe iarba!] daca <tasta (sageata sus) apasata?> atunci schimba y cu (10) daca <tasta (sageata jos) apasata?> atunci schimba y cu (-10)

Sprite-ul se misca cu sagetile si detecteaza cand e pe zona verde!

Exercitii practice

Exercitiul 1 (Nivel minim) -

Exercitiul 1: Creativ
Sprite schimbator de culoare

Creeaza un sprite care schimba culoarea in functie de ce tasta apesi: R pentru rosu, G pentru verde, B pentru albastru. Foloseste 3 blocuri "daca-atunci" separate.

Exercitiul 2 (Nivel standard) -

Exercitiul 2: Practic
Sprite controlat cu sageti

Fa un sprite care se misca in toate cele 4 directii cu sagetile tastaturii: Sus (y+10), Jos (y-10), Dreapta (x+10), Stanga (x-10). Testeaza ca se misca corect.

Exercitiul 3 (Nivel performanta) -

Exercitiul 3: Analitic
Compara if-then cu if-then-else

Explica cu cuvintele tale cand e mai bine sa folosesti "if-then-else" in loc de doar "if-then". Da un exemplu concret dintr-un joc.

Ce ai invatat astazi

  • Structura alternativa permite programelor sa ia decizii inteligente
  • Blocul if-then executa actiuni DOAR daca conditia e adevarata
  • Blocul if-then-else are doua ramuri pentru cazurile true si false
  • Conditiile sunt blocuri hexagonale din Sensing si Operators
  • Poti detecta atingeri, taste apasate, si compara valori
  • Programele interactive reactioneaza la ce face utilizatorul

Urmatoarea lectie

Continua cu lectia urmatoare pentru a aprofunda cunostintele.

Continua →