Unelte utilizator

Unelte site


Sidebar

module:07-bucle-in-programare:lectia-02

Lecția 2: Bucle cu număr de pași

Răspunde la următoarele întrebări:

  • Ce este o buclă în programare?
  • Ce forme am învățat până acum?

Împreună vom învăța astăzi să folosim bucle ce repetă acțiuni un număr de pași. De exemplu, avem un joc în care repetăm o întrebare de 3 ori. Dacă răspunsul este corect, atunci felicităm utilizatorul, altfel, îi spunem că mai are o încercare.

repeat 3 times
  if right answer then
    say 'Congrats'
  else
    say 'One more try..'

Recapitulare Scratch

Cât timp instructorii verifică tema de casă de data trecută, hai să ne încălzim cu un niște exerciții simple.

Ce face următoarea secvență de instrucțiuni? Ai mai folosit undeva această structură?

Autentifică-te pe http://scratch.mit.edu/ cu contul personal pentru exercițiile de mai jos.

Pentru recapitulare, ne vom aduce aminte ce am făcut până acum. Creează un program nou în Scratch în care pisica trebuie să colecteze 3 chei. La colectarea celor 3 chei, se schimbă fundalul și pisica se transformă într-un leu. Atenție! Vei folosi mai multe noțiuni, printre care variabile, mesaje și condiții.

Tutorial

1. Repetă un număr de pași

Acum, vom face primul nostru program din cadrul tutorialului! Clonează proiectul de la http://scratch.mit.edu/projects/19469028/. Observă că ai deja un sprite balerină și un fundal cu o scenă. Vrem ca balerina să sară în sus de *5* ori. Balerina va sări și va cădea înapoi în poziția inițială. Fă asta folosind o instrucțiune repeat din secțiunea Control.

Dă click pentru indicații

Dă click pentru indicații

Dă click pentru indicații

Pentru a face să sară balerina în sus, folosește instrucțiunea change y by 100. Cum faci să revină balerina?


Bravo! Ai făcut o primă buclă cu un număr fix de pași! Însă balerina nu sare prea grațios. Hai să o ajutăm să facă o săritură frumoasă!

Folosește instrucțiunea switch to costume ballerina-b pentru a schimba înfățișarea sprite-ului Ballerina. Apoi, afișează acest costum timp de 1 sec și schimbă costumul la ballerina-c, adică cel în care face șpagatul. Balerina va face șpagatul în aer, așadar ea va sări, își schimbă coordonata pe verticală. Așteaptă 1 secundă și schimbă din nou coordonata pentru ca balerina să ajungă în poziția inițială.

Fă în așa fel încât balerina să își schimbe la sfârșitul săriturilor poziția prin afișarea costumului ballerina-d, adică va sta într-un picior. Folosește switch to costume ballerina-d.

2. Alege răspunsul corect!

Continuăm cu proiectul cu balerina și vrem ca aceasta să sară doar dacă noi răspundem corect la o întrebare de matematică. Pentru aceasta, ne vom aminti de Lecția 1: Bucle și condiții în care am învățat să folosim bucle repeat until.

Vrem să tot întrebăm Cât fac 134 - 89? (voi puteți pune orice altă întrebare de matematică) până când răspunsul este corect, adică 45.

Pentru a întreba, folosește ask … and wait din secțiunea Sensing. Observă că ai o casetă imediat după această instrucțiune pe care scrie answer. Acesta va fi răspunsul pe care îl introduce jucătorul/utilizatorul programului. answer este o variabilă ca oricare și va trebui să compari variabila answer cu răspunsul corect folosind operatorul egal =.

Verifică programul testându-l! La apăsarea stegulețului verde trebuie să pornească programul și trebuie ca în urma unui răspuns corect să sară balerina. Dacă am greșit răspunsul la întrebare, balerina nu face nimic, însă programul funcționează și poți încerca un alt răspuns.

3. Dialog

Modifică același proiect cu balerina astfel încât atunci când utilizatorul introduce un număr greșit, balerina să spună că este un răspuns greșit. De exemplu, dacă spunem că răspunsul este 40, trebuie să fie afișat mesajul „40 este greșit!“.

Cum afișezi mesajul? Până acum am folosit doar instrucțiunea say prin care un sprite spune ceva, un mesaj pe care îl scriem noi. Dacă vrei să lipești o variabilă și un text, folosește blocul join de la Operators.

Ține minte că join alipește două bucăți de text sau două variabile sau un text cu o variabilă.

Atenție! Modifică bucla repeat until într-o buclă forever în care adaugă o condiție if și un else!

4. Variabilă pentru repetă

Ai făcut o buclă ce se repetă de 5 ori. Hai să înlocuim acest număr cu o variabilă pe care o numim contor. Ea contorizează, adică urmărește sau numără, de câte ori trebuie să sară balerina. Inițializează valoarea variabilei înainte de buclă prin instrucțiunea set contor to 5.

Folosind variabila contor putem să facem balerina să sară de 9 ori mai puțin ca răspunsul. Răspunsul fiind 45, ea va sări de 5 ori. Dacă răspunsul întrebării ar fi fost 90, ea va sări de 10 ori. Folosește operatorul împarte / pentru a împărți answer la 9.

Bonus 1: Echivalența buclelor

Transformă bucla repeat contor de la punctul 4 din Tutorial într-o buclă repeat until. Folosește variabila contor pentru a număra de câte ori a sărit. Atenție! Fața de exercițiul precedent, în care contor era o variabilă în care spuneam de câte ori trebuie să sară, acum folosim contor pentru a ține minte de câte ori a sărit balerina.

Inițial, contor este 0. Vom repeta săriturile până când contor este 5. După fiecare săritură, adaugă 1 la valoarea variabilei contor.

Realizează programul care face asta și testează.

Cum poți face același lucru dacă inițializezi variabila contor la 5?

Realizează programul care face asta și testează.

Bonus 2: Spune ceva în timp ce sari și lumea te va aplauda!

Bravo! Ai ajuns la Bonus 2! Ești foarte priceput! Acum hai să îți mai dau o provocare. Pentru prima și a treia săritură, balerina va spune ceva. Pentru a doua, a patra și a cincea săritură, oamenii o vor aplauda.

Lucru pentru acasă - Exercițiul 1

Dacă ai ajuns până aici, înseamnă că e timpul să facem ceva mai dificil, dar foarte interesant! Balerina noastră va face acțiuni în funcție de paritatea săriturii. De exemplu, la săriturile pare va spune 'Îmi place baletul!', iar la săriturile impare va spune 'Mă duc și la Digital Kids!'

Ce înseamnă paritate? Este proprietatea numerelor naturale de a fi divizibile cu 2. Numerele pare sunt: 0, 2, 4, 6, 8, … iar numerele impare sunt 1, 3, 5, 7, 9, …

Cum aflăm dacă un număr este par sau impar? Împărțindu-l la 2, dacă se împarte exact, adică restul este 0, atunci este par. Altfel este impar.

Folosește operatorul () mod () care va da restul împărțirii lui primului număr la al doilea. De exemplu 4 mod 2 va da 0, iar 5 mod 2 va da 1.

Lucru pentru acasă - Exercițiul 2

Creează un proiect nou în Scratch (vei folosi sprite-ul pisică). Vrem ca pisica să pornească din colțul stânga jos și să meargă în zig-zag până atinge marginea de sus. Înconjoară ecranul cu un chenar negru astfel încât toate marginile să fie negre. Urmează instrucțiunile de mai jos:

  1. Folosește o buclă forever și o instrucțiune if touching color (cum e în structura de mai sus), deci pisica se oprește dacă atinge culoarea negră.
  2. Folosește o instrucțiune glide <1> secs to x, y (din secțiunea Motion) și variabilele x position și y position.
module/07-bucle-in-programare/lectia-02.txt · Ultima modificare: 2016/02/27 19:50 de către andreea