Unelte utilizator

Unelte site


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

Diferențe

Aici sunt prezentate diferențele dintre versiunile selectate și versiunea curentă a paginii.

Link către această vizualizare comparativă

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
module:07-bucle-in-programare:lectia-04 [2014/04/04 21:48]
teobaluta [Tutorial 3: Text aleator de dimensiuni diferite]
module:07-bucle-in-programare:lectia-04 [2016/02/27 18:34]
andreea șters
Linia 1: Linia 1:
-====== Lecția ​4: Bucle în Khan ======+====== Lecția ​5: Bucle în Khan ======
  
 Cum facem o acțiune repetitivă în Scratch? Folosim bucle, fie că erau //**repetă mereu**//, adică''​forever''​ sau //**repetă de x ori**//, adică ''​repeat <x> times''​ sau //**repetă cât timp <​condiție>​**//,​ adică ''​repeat until <​condition>''​. Khan ne oferă mecanisme asemănătoare. De exemplu, am folosit până acum acțiunea sau funcția ''​draw''​. ''​draw''​ este ca o buclă ce se repetă mereu. Instrucțiunile ce se găsesc în interiorul lui ''​draw''​ se vor repeta mereu și astfel putem crea animații. Cum facem o acțiune repetitivă în Scratch? Folosim bucle, fie că erau //**repetă mereu**//, adică''​forever''​ sau //**repetă de x ori**//, adică ''​repeat <x> times''​ sau //**repetă cât timp <​condiție>​**//,​ adică ''​repeat until <​condition>''​. Khan ne oferă mecanisme asemănătoare. De exemplu, am folosit până acum acțiunea sau funcția ''​draw''​. ''​draw''​ este ca o buclă ce se repetă mereu. Instrucțiunile ce se găsesc în interiorul lui ''​draw''​ se vor repeta mereu și astfel putem crea animații.
Linia 9: Linia 9:
 ==== Recapitulare 1: Condiții ==== ==== Recapitulare 1: Condiții ====
 În exercițiul recapitulativ de mai jos, vei găsi comentarii ce trebuie să faci. Completează instrucțiunile ''​if''​ cu condițiile potrivite pentru a afișa un singur cristal în funcție de ce număr este ales la întâmplare. În exercițiul recapitulativ de mai jos, vei găsi comentarii ce trebuie să faci. Completează instrucțiunile ''​if''​ cu condițiile potrivite pentru a afișa un singur cristal în funcție de ce număr este ales la întâmplare.
 +
 +<note important>​În Khan, operatorul "​ȘI"​ este ''&&'',​ iar operatorul "​SAU"​ este ''​||''​. De exemplu, dacă vrem să verificăm că un număr este între 2 și 3, scriem ''​if (numar > 2 && numar < 3) {...}''</​note>​
  
 <​html>​ <​html>​
Linia 16: Linia 18:
 ==== Recapitulare 2: Variabile și Animație ==== ==== Recapitulare 2: Variabile și Animație ====
  
-Ai făcut data trecută variabile și animație. ​Momenta ​programul de mai jos nu funcționează. Completează-l astfel încât să se miște mașina.+Ai făcut data trecută variabile și animație. ​Momentan ​programul de mai jos nu funcționează. Completează-l astfel încât să se miște mașina.
  
 Ai deja variabilele pe care trebuie să le pui în loc de semnul întrebării ''?''​ și să decomentezi:​ Ai deja variabilele pe care trebuie să le pui în loc de semnul întrebării ''?''​ și să decomentezi:​
Linia 30: Linia 32:
 <​h2><​a href="​http://​www.khanacademy.org/​cs/​variabile-i-animaie-maina-albastr/​4507547915517952">​Variabile și animație - Mașina albastră</​a></​h2>​ <script src="​http://​www.khanacademy.org/​cs/​variabile-i-animaie-maina-albastr/​4507547915517952/​embed.js?​editor=yes&​amp;​buttons=yes&​amp;​author=yes&​amp;​embed=yes"></​script>​ <​p>​Made using: <a href="​http://​www.khanacademy.org/​cs">​Khan Academy Computer Science</​a>​.</​p>  ​ <​h2><​a href="​http://​www.khanacademy.org/​cs/​variabile-i-animaie-maina-albastr/​4507547915517952">​Variabile și animație - Mașina albastră</​a></​h2>​ <script src="​http://​www.khanacademy.org/​cs/​variabile-i-animaie-maina-albastr/​4507547915517952/​embed.js?​editor=yes&​amp;​buttons=yes&​amp;​author=yes&​amp;​embed=yes"></​script>​ <​p>​Made using: <a href="​http://​www.khanacademy.org/​cs">​Khan Academy Computer Science</​a>​.</​p>  ​
 </​html>​ </​html>​
-===== Tutorial =====+===== Tutorial ​: while =====
  
 ==== While ==== ==== While ====
Linia 56: Linia 58:
 Este valoarea lui ''​a''​ mai mică decât 6? **Da!** Deci ''​a''​ va fi egal cu ''​a + 2'',​ adică ''​5 + 2 = 7''​. Este valoarea lui ''​a''​ mai mică decât 6? **Da!** Deci ''​a''​ va fi egal cu ''​a + 2'',​ adică ''​5 + 2 = 7''​.
  
-=== Pasul 3: a este 7 ===+=== Pasul 4: a este 7 ===
 Este valoarea lui ''​a''​ mai mică decât 6? **Nu!** Nu mai repetăm nicio acțiune din buclă și continuăm cu următoarea instrucțiune după ''​}''​. Este valoarea lui ''​a''​ mai mică decât 6? **Nu!** Nu mai repetăm nicio acțiune din buclă și continuăm cu următoarea instrucțiune după ''​}''​.
  
-<note warning>​Deschide programele de mai jos și dă click pe butonul **Save as a spin-off**. Doar așa se vor salva programele în contul tău și poți să le vezi dând click pe "My programs"​ de la link-ul https://​www.khanacademy.org/​computing/​cs!</​note>​ +<note warning>​Deschide programele de mai jos și dă click pe butonul **Save as a spin-off**. Doar așa se vor salva programele în contul tău și poți să le vezi dând click pe "My programs"​ de la link-ul ​[[https://​www.khanacademy.org/​computing/​cs|https://​www.khanacademy.org/​computing/​cs]]!</​note>​
 ==== Tutorial 1 : Text din ce în ce mai mare ==== ==== Tutorial 1 : Text din ce în ce mai mare ====
  
Linia 84: Linia 85:
 </​spoiler>​ </​spoiler>​
  
-==== Tutorial 3: Text aleator de dimensiuni diferite ====+===== Exercițiul 1: Text aleator de dimensiuni diferite ​=====
  
 Scrie textul în locuri aleatoare, cu dimensiuni variabile. Adaugă două variabile a căror valoare este aleasă la întâmplare care vor semnifica poziția pe verticală a textului, adică ''​y''​ și poziția pe orizontală a textului, adică ''​x''​. Scrie textul în locuri aleatoare, cu dimensiuni variabile. Adaugă două variabile a căror valoare este aleasă la întâmplare care vor semnifica poziția pe verticală a textului, adică ''​y''​ și poziția pe orizontală a textului, adică ''​x''​.
Linia 91: Linia 92:
  
 **Indiciu!** Pentru generare aleatoare, folosește ''​random(0,​ 400)''​! **Indiciu!** Pentru generare aleatoare, folosește ''​random(0,​ 400)''​!
-==== Tutorial 2: for ====+===== Tutorial: for ===== 
 + 
 +<note warning>​**Citește cu atenție tot ce scrie mai jos înainte de a te apuca de exerciții!**</​note>​ 
 + 
 +''​for (setarea valorii unei variabile; cât timp continuăm bucla; schimbarea valorii unei variabile)''​ 
 + 
 +==== Tutorial 4: Dreptunghiuri și bucle === 
 + 
 +În lecția precedentă ai desenat 6 dreptunghiuri la o distanță fixă între ele. Acum poți face asta foarte ușor cu bucla ''​for''​. 
 +Urmărește programul de mai jos și modifică-l să afișeze doar 4 dreptunghiuri! 
 + 
 +<​html>​ 
 +<​h2><​a href="​http://​www.khanacademy.org/​cs/​for-dreptunghiuri/​6387554690531328">​For - Dreptunghiuri</​a></​h2>​ <script src="​http://​www.khanacademy.org/​cs/​for-dreptunghiuri/​6387554690531328/​embed.js?​editor=yes&​amp;​buttons=yes&​amp;​author=yes&​amp;​embed=yes"></​script>​ <​p>​Made using: <a href="​http://​www.khanacademy.org/​cs">​Khan Academy Computer Science</​a>​.</​p>​  
 +</​html>​ 
 + 
 +===== Exercițiul ​2: Bucle echivalente ===== 
 + 
 +Refă exercițiile de la tutorial 1, 2 și 3 astfel încât să folosești bucla de tip ''​for''​. Uite un exemplu de transformare:​ 
 + 
 +<code javascript>​ 
 +var i = 0; 
 +while (i < 10) { 
 +  i = i + 1; 
 +
 +</​code>​ 
 + 
 +este echivalent cu 
 +<code javascript>​ 
 +var i; 
 +for (i = 0; i < 10; i += 1) { 
 + 
 +
 +</​code>​ 
 + 
 +===== Bonus 1: Suma numerelor naturale ===== 
 + 
 +Realizează un program care calculează suma numerelor naturale până la 100 folosind una din buclele învățate astăzi, adică poți folosi o buclă ''​while''​ sau o buclă ''​for''​.  
 + 
 +Afișează suma pe ecran! Cât ți-a dat? 
 + 
 +===== Bonus 2: Acumulează puncte pe Khan Academy! ===== 
 + 
 +Fă provocarea de la https://​www.khanacademy.org/​computing/​cs/​programming/​looping/​p/​challenge-a-loopy-ruler și pe cea de la https://​www.khanacademy.org/​computing/​cs/​programming/​looping/​p/​challenge-lined-paper 
 + 
 +Dacă nu înțelegi ce îți cere, întreabă unul din traineri! 
 + 
 +===== Bonus 3: Cercuri cu același mijloc ===== 
 + 
 +Realizează un program care să deseneze cercuri de culori diferite (alese aleator culorile). Cercurile vor avea același centru, în mijlocul planșei. Pentru a genera aleator o culoare vei folosi ''​random(0,​ 255)''​ pentru câmp din ''​fill(R,​ G, B)'',​ unde ''​R''​ este cât de mult roșu are culoarea, ''​G''​ - cât de mult verde are culoarea si ''​B''​ cât de mult albastru are culoarea. 
 + 
 +Ar trebui să obții ceva asemănător cu: 
 +{{:​module:​07-bucle-in-programare:​cercuri_for.png?​400|}} 
 + 
 + 
 +===== Lucru pentru acasă =====
  
 +Dacă nu ai reușit să termini lecția, rezolvă toate exercițiile și bonusurile!
 +Apoi, pornind de la bonusul 3, realizează o țintă cu multe cercuri. Acum nu va mai trebui să generezi la întâmplare (aleator) culorile, ci va trebui să alternezi culorile: o dată un cerc este alb, iar următorul va fi roșu. Folosește o buclă, fie ''​while'',​ fie ''​for''​!
  
-  * Tutorial: for, while +Tema pentru ACUM constă în următoarele exerciții: 
-  Task-uri ​cu condiții și for-uri +* Calculati cu *for* produsul primelor 7 numere 
-  Bonus: suma numerelor ​naturale până la 100 +* Calculati cu *for* produsul primelor 5 numere parefără 0 
-  Temă de casă: un joculeț în Khan+Calculați ​cu *for* suma numerelor intre 10 si 20 
 +* Calculați cu *for* produsul numerelor între 5 și 11 
 +Calculați cu *while* produsul ​numerelor ​între 8 și 14 
 +Calculați cu *while* suma primelor 10 numere impare
module/07-bucle-in-programare/lectia-04.txt · Ultima modificare: 2016/02/27 20:00 de către andreea