Sunteți pe pagina 1din 5

Lecția 1: Condiții în Scratch

Bine ai venit la prima lecție din modulul 6. În acest modul vei învăța despre condiții și vom folosi
Scratch.
Despre condiții
Pentru început să vorbim puțin despre condiții. Condițiile înseamnă folosirea cuvântului „dacă“; în
engleză înseamnă „if“ de unde și numele instrucțiunii „if“. O condiție este urmată de o acțiune.
Un exemplu de condiție și acțiune este următoarea propoziție: „Dacă este sâmbătă, mă duc la
DigitalKids.“. Condiția este „dacă este sâmbătă“, iar acțiunea este „mă duc la DigitalKids“. Acțiunea are
loc doar dacă este îndeplinită condiția. Adică în zilele de sâmbătă, când condiția este adevărată, te vei
duce la DigitalKids. În zilele de luni, marți, miercuri, joi, vineri și duminică, adică atunci când condiția nu
este adevărată, nu se va face acțiunea; nu te vei duce la DigitalKids.
Alte exemple de condiții și acțiuni:
• Dacă îți place înghețata, atunci ridică mâna sus.
• Dacă vrei să joci Minecraft, ridică-te în picioare.
• Dacă îți plac animalele, spune „Îmi plac animalele!“.
Aceste conditii se reprezintă în programe în formă de instrucțiuni if, ca mai jos:
if (you like icecream) then
raise your hand

if (you like playing Minecraft) then


stand up

if (you like animals) then


say "I like animals!"
Astfel de condiții se pot programa și în Scratch. De exemplu, în structura if() then din Scratch de mai
jos, dacă răspunsul (answer) este egal cu 5 atunci se afișează mesajul Congratulations!.

Acum răspunde la următoarele întrebări:


• Ce se întâmplă dacă o condiție nu este adevărată?
• Care este instrucțiunea din Scratch și din alte limbaje folosită pentru condiții?
• Gândește-te la două exemple de condiții și acțiune asemănătoare cu cele din lista de mai sus.
Recapitulare Scratch
Să ne reamintim cum folosim Scratch pentru programare.
Pentru început intrăm pe site-ul Scratch (http://scratch.mit.edu/). Apoi ne autentificăm folosind butonul
„Sign in“ din bara albastră: sus în partea dreaptă. Folosim contul și parola fiecăruia.
Arată cum
Pentru a crea un proiect apăsăm pe butonul Create din stânga sus. Ni se va deschide o pagină unde
putem crea proiecte Scratch.
Primul lucru pe care îl facem atunci când creăm un nou proiect Scratch este să dăm un nume
proiectului. Numele se scrie în zona de text de stânga sus. De obicei numele trebuie să fie cât mai bine
precis ca să ne ajute să ne dăm seama ce se face în proiect.
Dă proiectului proaspăt creat numele DK-Modul6-Lectia1-Test. Apoi creează un mic program
Scratch care să afișeze mesajul „Congratulations!“ dacă variabila „answer“ are valoarea 5. Adică
trebuie să arate la fel ca programul din imaginea de mai jos.
După ce ai făcut programul, salvează-l: Alege din bara albastră de sus meniul File apoi opțiunea Save
now.
Pentru a porni programul apasă pe steagul verde din partea din dreapta sus a ecranului cu pisica.
Acum pisica va spune „Congratulations!“.
Bravo! Ai făcut un program în Scratch care folosește condiții!
Hai să mai facem un program în Scratch. Creează un program cu numele DK-Modul6-Lectia1-
Test2 și fă-l să arate ca imaginea de mai jos. Salvează programul și apoi pornește-l. Ce face
programul?

Bravo! Ai mai făcut încă un program în Scratch!


Acum răspunde la următoarele întrebări:
• Cum arată blocul de condiții în Scratch?
• Ce trebuie să faci la început, imediat după ce ai creat un proiect în Scratch?
• Ce trebuie apăsat pentru a porni un program în Scratch?
Folosire condiții în Scratch
Acum că ne-am amintit cum se folosește Scratch și am învățat câte ceva despre condiții, hai să vedem
niște programe în Scratch care folosesc condiții, programe pe care să le îmbunătățim.
Accesează proiectul Scratch de aici, care afișează un mesaj pentru un anotimp. Anotimpul este definit
în variabila anotimp.
Ca să vezi programul din spate, folosește butonul See inside din partea dreapta sus. Acum poți vedea
programul Scratch. Câte blocuri if sunt? Ce se întâmplă la fiecare bloc?
Schimbă valoarea variabilei anotimp la valoarea vara, apoi la valoarea toamna și pornește din noul
programul (apasă pe steagul verde) ca să vezi ce mesaj este afișat.
Se vede că lipsește valoarea iarna. Adăugă un bloc if pentru a verifica dacă variabila anotimp are
valoarea iarna. Dacă da, atunci spune (say) un cuvânt legat de iarnă (de exemplu zapada). Apoi
rulează programul.
Ca să creezi un bloc if sau o instrucțiune say poți da click dreapta pe un bloc existent sau o
instrucțiune existentă și să alegi opțiunea duplicate.
Foarte bine! Ai făcut un program în care pisica spune un mesaj legat de anotimp.
Mișcare în Scratch
Scratch este ideal pentru a mișca obiecte denumite și sprite-uri. Vrem să mișcăm sprite-ul pisică din
Scratch în sus, jos, dreapta sau stânga. Pentru aceasta am creat programul Scratch de aici.
Accesează programul folosind butonul See inside și urmărește ce conține programul. Programul
conține patru blocuri if. Pentru fiecare tastă de tip săgeată apăsată pisica se mișcă sus, jos, dreapta
sau stânga cu câte 20 de pixeli.
Folosește steagul verde pentru a porni programul și pentru a mișca pisica.
Vrem ca, dacă apăsăm tasta space pisica să miaune. Mai adăugă un nou bloc if în continuarea
celorlalte care verifică dacă tasta apăsată (key pressed) este spațiu. Dacă este apăsat atunci adaugă
acțiune ca pisica să miaune.
Pentru mieunat, alege din tab-ul Scripts din meniul Sounds instrucțiunea play sound meow.
Excelent! Acum programul conține 5 blocuri if.
Mai adaugă un bloc if astfel încât, dacă se apasă tasta m pisica să afișeze un mesaj Imi plac
soarecii!.
Pentru a spune un mesaj, alege din tab-ul Scripts din meniul Looks instrucțiunea say hello for 2
secs și schimbă mesajul din hello în Imi plac soarecii! timp de două secunde.
Foarte bine! Ai făcut un program care conține 6 blocuri if. Uită-te puțin peste program ca să îți clarifici
ce ai făcut și cum merge.
Atingere obiecte
Vrem să continuăm programul cu pisica de până acum. Vrem ca pisică să spună ceva în momentul în
care atinge o minge; de exemplu să spună „Am atins mingea!“.
Pentru aceasta va trebui să adaugi un sprite în formă de minge. Selectează opțiunea New sprite și
din meniul afișat alegeți Things și apoi alege o minge (cum ar fi cea de baseball). Pune mingea pe
planșă.
Avem nevoie de o condiție care să spună „dacă pisica atinge mingea“. Pentru aceasta, selectează
sprite-ul pisică. O să ai în zona de cod o înșiruire de blocuri if. Trebuie să mai adaugi un bloc de
forma if touching baseball și o acțiune de forma say „Am atins migea! for 2 secs. Caută
blocurile și instrucțiunile necesare în meniul Scripts.
Dacă ai făcut bine programul, după ce va atinge pisica mingea, pisica va spune Am atins mingea!.
Felicitări că ai realizat încă un program!
Dispariție obiecte
Vrem să dispară mingea în momentul în care pisica o atinge. Pentru aceasta vom adăuga un program
pe sprite-ul mingii.
Dă click pe și vei avea zona de cod liberă. Va trebui să începi un program de la zero care să detecteze
când sprite-ul pisicii (Sprite1) a atins mingea și, dacă a atins, să ascunzi mingea.
După ce ai scris programul, testează-l. Vezi că într-adevăr mingea dispare.
Foarte bine! Mingea dispare când o atinge pisica.
Dar hai să facem mai multe mingi. Vrem să avem trei mingi în scenă și vrem ca acestea să dispară
când le atinge pisica.
Pentru a crea cele două mingi noi poți duplica mingea existentă. Folosește click dreapta sau butonul în
formă de ștampilă de sus.
Acum pisica va atinge trei mingi care vor dispărea.
Desigur, este frumos să afișăm mesajul Am atins mingea! pentru fiecare minge atinsă. Pentru
aceasta va trebui să mai adaugi în programul sprite-ul Pisică încă două blocuri if, pentru cele două
mingi noi, similar cu prima minge.
La final vei avea un program în care o pisică se poate muta să prindă trei mingi și, dacă le prinde,
acestea dispar și pisica spune Am găsit mingea!.
Excelent, ai făcut un program destul de complex, cu patru sprite-uri și program în fiecare sprite.
Resetare poziție
Vrem să putem reseta jocul din taste. Vrem ca la apăsarea tastei r (de la reset) să resetăm jocul în
forma sa inițială: adică pisica să stea în centrul planșei, iar mingile să fie vizibile.
Vrem să adăugăm în programele celor patru sprite-uri câte un bloc if care să verifice condiția de
apăsare a tastei r. Dacă a fost apăsată tasta r, pisica trebuie să fie plasată pe poziția inițială iar mingile
să apară.
Pentru a muta un sprite pe o poziție dată folosim instrucțiunea go to x 0 u 0 din
secțiunea Motion din meniul Scripts.
Bonus 1: Scor
Vrem să ținem un scor al obiectelor atinse. Pentru aceasta definește o variabilă scor pe care o
inițializezi cu zero la începutul programului și căreia îi mai adaugi valoarea 1 la fiecare atingere de
minge.
În programul fiecărui sprite de minge va trebui, în momentul în care atinge sprite-ul pisică, să adaugi 1
la valoarea variabilei scor. Creează programul și verifică-l.
E foarte bine până acum! Dar parcă e prea ușor. Hai să adaugăm niște sprite-uri care să îți scadă
puncte. Adaugă în planșă trei sprite-uri de tip clopoțel (bell). Scrie pentru cele trei sprite-uri de tip
clopoțel un program care să le ascundă atunci când sunt atinse de sprite-ul pisică și care să scadă 1
punct.
Adică programul va face în așa fel încât vei obține puncte când atingi mingi și vei pierde puncte când
atingi clopoței. După ce-l scrii verifică-l.
Dacă totul merge bine, bravo, ai făcut un program de bonus!
Bonus 2: Ghicește numărul!
Idee de la Forrester High School Computing.
Scrie un program care generează un număr aleator (random) între 1 și 3. Apoi întreabă utilizatorul ce
număr să introducă. Dacă răspunde corect îi crește scorul cu 1.
Pentru a genera un număr aleator, definește o variabilă numar și pune-i valoarea folosind
instrucțiunea set numar to … din secțiunea Data. Apoi folosește construcția pick random 1 to
3 din secțiunea Operators ca să obții un număr aleator.
Ca să ceri utilizatorului să introducă o valoare folosește instrucțiunea ask … and wait din
secțiunea Sensing. Valoarea citită este scrisă în variabila answer.
Pentru a vedea dacă utilizatorul a ghicit folosiți un bloc if în care comparați variabila numar (conține
numărul generat) cu variabila answer (conține numărul introdus de utilizator).
Ascundeți variabila numar. Nu trebuie să fie vizibilă utilizatorului pentru că acesta ar ști ce să răspundă.
Ar fi frumos să afișați un mesaj de forma Corect!/Incorect! în cazul în care utilizatorul nimerește sau
nu. Pentru aceasta puteți folosi un bloc if - else, asă cum este descris în această pagină.
Bonus 3: Marcă sau ban
Idee de la Forrester High School Computing.
Vrem să simulăm ce se întâmplă când aruncăm o monedă și să ținem două scor-uri: de câte ori a picat
marcă și de câte ori a picat ban.
Pentru aceasta vei defini două variabile: numar_marca și numar_ban care vor reține de câte ori a picat
marcă și de câte ori a picat ban.
Pentru a vedea dacă se obține marcă sau ban vei folosi o variabila rezultat care va reține o generare
aleatoare între 0 și 1. Dacă este 0, este vorba de marcă, dacă este 1 este vorba de ban. În fiecare caz
se afișează un mesaj cu ce a picat și se crește cu 1 variabila.
După ce scrii programul, testează-l să vezi dacă face ce trebuie. Dacă totul este bine, o să afișeze de
câte ori a picat marcă și de câte ori a picat ban.
Dacă ai ajuns până aici, ești super! Ai făcut toate exercițiile de bonus.
Lucru pentru acasă
Pentru acasă, până data viitoare, fă un program în Scratch cu descrierea de mai jos.
Un cavaler strânge săbii. Cavalerul pornește din partea de jos a planșei, iar săbiile sunt în partea sus,
în număr de 3. În mijloc un dragon se mișcă de la stânga la dreapta și de la dreapta la stânga între cele
două ziduri.
Cavalerul are trei vieți. Dacă e atins de dragon pierde viață. Dacă strânge 5 săbii câștigă o viață. Jocul
se încheie când cavalerul nu mai are vieți sau când a ajuns la 10 vieți.
Cavalerul se mișcă folosind tastele săgeți.
Pentru sabie, dragon și cavaler poți folosi ce sprite-uri dorești; nu este neapărat să aibă formă de
cavaler sau un dragon. Dar ar fi frumos să cauți pe Internet niște imagini pe care să le poți folosi ca
sprite-uri.
Mult succes și spor la treabă!

S-ar putea să vă placă și