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
module:07-bucle-in-programare:lectia-04 [2014/04/04 22:28]
teobaluta [Tutorial 1: Dreptunghiuri]
module:07-bucle-in-programare:lectia-04 [2016/02/27 20:00] (curent)
andreea creat
Linia 1: Linia 1:
-====== Lecția 4: Bucle în Khan ======+====== Lecția 4: Condiții ​î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ătoareDe 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.+Până acum am folosit Khan pentru desenarea unor figuri sau operații simple din matematică. Așa cum foloseam ​Scratch ​pentru a face jocuri ce aveau o anumită logică, așa putem scrie în Khan aceea logică. Diferența cea mai mare dintre Scratch și Khan este că în Khan nu mai avem blocuri predefinite de instrucțiuni și nu le mai putem folosi prin "drag and drop" (adică nu mai putem da click pe ele și să le punem într-un spațiu de Scripts pentru un obiect). Acum în Khan vom avea mai mare libertatea de a scrie codul, dar asta introduce un grad de complexitate mai mare.
  
-Astăzi vei învățsă lucrezi cu bucle în Khan, dar mai întâi fă recapitularea. Mai știi să folosești condiții în Khan?+O variabilă se creează așa: 
 +<code javascript>​ 
 +var variabila;​ 
 +</​code>​
  
-===== Recapitulare =====+Pentru a-i da o valoarea la creare, folosim operatorul de atribuire ''​=''​ în felul următor: 
 +<code javascript>​ 
 +var variabila ​5; 
 +</​code>​ 
 +Acum variabila este 5. O poți afișa folosind instrucțiunile de mai jos: 
 +<code javascript>​ 
 +textSize(30);​ 
 +fill(255, 0, 0); 
 +text(variabila,​ 5, 100); 
 +</​code>​ 
 + 
 +<note warning>​La sfârșitul fiecărei instrucțiuni/​actiuni din Khan vei avea semnul ''​%%;​%%''​!</​note>​
  
-==== Recapitulare 1: Condiții ==== +<note warning> Comentariile nu fac parte din cod, adică nu sunt interpretate ​de calculator! În Khancomentariile sunt colorate cu verde. Comentariile pe o singură linie încep cu ''​%%//​%%''​Dacă vrem să scriem comentarii pe mai multe linii, putem pune în fața fiecărei linii ''​%%//​%%''​ sau să folosim ''​%%/​*%%''​ pentru a deschide comentariul pe mai multe linii și ''​%%*/​%%''​ închide comentariul. Vezi mai jos un exemplu</​note>​
-În exercițiul recapitulativ ​de mai josvei găsi comentarii ce trebuie să faciCompletează instrucțiunile ​''​if'' ​cu condițiile potrivite ​pentru a afișun singur cristal în funcție de ce număr este ales la întâmplare.+
  
 <​html>​ <​html>​
-<​h2><​a href="​http://​www.khanacademy.org/​cs/​dk-modul7-lectia4-recap/5498561409056768">Condiții - Piatră prețioasă la întâmplare</​a></​h2>​ <script src="​http://​www.khanacademy.org/​cs/​dk-modul7-lectia4-recap/5498561409056768/​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/​comentarii-in-khan/6558304760233984">Comentarii in Khan</​a></​h2>​ <script src="​http://​www.khanacademy.org/​cs/​comentarii-in-khan/6558304760233984/​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>​
  
-==== Recapitulare ​2: Variabile și Animație ​====+===== Recapitulare ​=====
  
-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.+<note warning>​Intră pe khanacademy.org cu contul personal (dacă nu mai știi utilizatorul ​și parola, întreabă unul dintre instructori) și salvează-ți programele! </​note>​
  
-Ai deja variabilele pe care trebuie să le pui în loc de semnul întrebării ''​?''​ și să decomentezi:​ +Desenează o fată zâmbitoare (smiley) ​în Khan! 
-''​var xfata''​ +  - Desenează două ovale pentru ochi cu instrucțiunea ​''​ellipse(...)''​ și colorează-le cu ''​fill(...)''​ 
-\\ +  - Desenează un pătrat sau oval pentru nas. Colorează-l! 
-''​var xspate''​ +  - Pentru zâmbet putem folosi 3 linii groase: grosimea seteaz-o cu ''​strokeWeight''​, iar culoarea cu ''​stroke''​
-\\ +  - Încadrează totul într-un oval pentru conturul feței.
-''​var xcorp''​+
  
-Declară tu variabilele ​pentru ​roți. Ți-a apărut mașină? Scrie la sfârșit ceea ce trebuie ​pentru ​ca mașina să se miște.+Dacă ai făcut asta, desenează o pălărie ​pentru ​personajul zâmbitor! :-
 + 
 +<note important>​Dacă vrei să continui aici sau acasă, un proiect interesant propus de Khan Academy este să desenezi mâncarea de pe masă. Intră la [[https://​www.khanacademy.org/​cs/​programming/​coloring/​p/​project-whats-for-dinner]]:​ numele proiectului s-ar traduce în "Ce avem la cină?". Lucrează ​la el și dă click pe **Save as a spin-off** ​pentru ​a salva modificările tale pe acest proiect!</​note>​
  
-<​html>​ 
-<​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>​ 
 ===== Tutorial ===== ===== Tutorial =====
  
-==== While ====+==== 1. Variabile în Khan ====
  
-<note warning>​**Citește cu atenție tot ce scrie mai jos înainte ​de a te apuca de exerciții!**</​note>​+În Khan, nu mai avem blocuri ​de instrucțiuni și va trebui să scriem noi codul pentru ele. Astfel, pentru ​putea crea o variabila ''​latime'',​ scriem în Khan ''​var latime;''​.
  
-Instrucțiunea ''​while (<​condition>​)''​ se poate traduce în ''​repetă până când <condiție> este adevărată''​ sau ''​cât timp condiția este adevărată,​ fă următoarele acțiuni''​De exemplu:+Cu ce ne ajută variabilele?​ Ele rețin niște valori la un moment dat din program și pot face mai ușoară munca noastră.
  
-<code javascript>​ +Desenează 6 dreptunghiuri la distanță de 10 unități. Ai deja desenat primul și ultimul, mai ai de desenat 4. Acțiunea de desenare ​dreptunghiului este ''​rect(pozitia pe orizontala, pozitia pe verticala, latime, lungime)''​.
-var = 1; +
-while (a < 6+
-  a = a + 2; +
-+
-</​code>​+
  
-Avem o variabilă ''​a''​ căreia îi setăm valoarea 1Calculatorul cum va interpreta aceste instrucțiuniCând ajunge în buclă va face următorii pași (adică suntem la ''​while''​):+<​html>​ 
 +<​h2><​href="​http://​www.khanacademy.org/​cs/​dreptunghiuri-cu-variabile/​4801408659357696">​Dreptunghiuri cu variabile</​a></​h2>​ <script src="​http://​www.khanacademy.org/​cs/​dreptunghiuri-cu-variabile/​4801408659357696/​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>​
  
-=== Pasul 1: este 1 === +Pentru ​desena la distanta de 10 unități dreptunghiurileva trebui ​să aduni la poziția pe orizontală,​ latimea, adica 50.
-Este valoarea lui ''​a''​ mai mică decât 6? **Da!** Atunci fă acțiunile dintre acolade ''​{''​ ''​}''​! Deci ''​a''​ devine valoarea veche a lui ''​a''​ plus 2adică ''​a''​ o să fie egal cu ''​1 + 2 = 3''​!+
  
-=== Pasul 2: a este 3 === +<code javascript>​ 
-Este valoarea lui ''​a''​ mai mică decât 6? Este 3 mai mic decât 6? **Da!** Atunci ''​a''​ cât devine? Corect5!+rect(80150, 50, 200); 
 +rect(140, 150, 50, 200); 
 +rect(200, 150, 50, 200); 
 +rect(260, 150, 50, 200); 
 +</​code> ​
  
-=== Pasul 3: a este 5 === +Adaugă după instrucțiunea ​''​background(...);​'' ​următoarea linie:
-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 === +<code javascript>​ 
-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ă ''​}''​.+var x 20; 
 +</​code>​
  
-<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>+Rescrie instrucțiunile ​de mai sus astfel încât să faci adunarea ​în Khan: 
 +<code javascript>​ 
 +x = x + 60; 
 +rect(x, 150, 50, 200); 
 +</code>
  
-==== Tutorial 1 : Text din ce în ce mai mare ====+==== 2. Animație ​în Khan ====
  
-Salvează programul ca spin-off (echivalentul lui remix din Scratch) ​și modifică-l astfel încât la fiecare pas să crească dimensiunea textului. Dimensiunea textului ​se poate modifica prin instrucțiunea ''​textSize(x)'',​ unde x este cât de mare sau mic să fie textul.+Urmărește programul de mai jos pentru a face mingea ​să se miște pe ecran. Schimbă culorea fundalului și a bilei, apoi scrie o instrucțiune pentru ca bila să se miște pe orizontală.
  
 <​html>​ <​html>​
-<​h2><​a href="​http://​www.khanacademy.org/​cs/​while-text-cresctor/5101829118492672">While - Text crescător</​a></​h2>​ <script src="​http://​www.khanacademy.org/​cs/​while-text-cresctor/5101829118492672/​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/​animatie-bila/5548090015612928">Animatie Bila</​a></​h2>​ <script src="​http://​www.khanacademy.org/​cs/​animatie-bila/5548090015612928/​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>​
  
-Poți încerca mai multe variante. De exemplu: +Bravo! Ai făcut prima ta animație pe ziua de astăzi! 8-)
-''​textSize(i * 10)''​ +
-\\ +
-''​textSize(i + 20)''​+
  
-==== Tutorial 2 : Text din ce în ce mai mare și în coloană ​====+==== 3. Condiție ​în Khan ====
  
-Aliniază textul astfel încât să apară pe coloană, pe verticală. **Atenție!** Textul trebuie ​să devină din ce în ce mai mare, nu modifica ce ai făcut ​la pasul anterior. +Adaugă o condiție pentru ca bila să se miște ​în sens invers când ajunge ​la marginea din dreaptaAdaugă următoarea structură:
- +
-<spoiler | Arată-mi cum!>+
 <code javascript>​ <code javascript>​
-    ​text("​Bună!",​ 100, i * 35);+    ​if (x > 400
 +        speed = -5; 
 +    } 
 +     
 +    if (x < 0) { 
 +        speed = 5; 
 +    }
 </​code>​ </​code>​
-</​spoiler>​ 
  
-==== Tutorial 3: Text aleator de dimensiuni diferite ​====+===== Exerciții =====
  
-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''​ șpoziția pe orizontală a textului, adică ''​x''​+==== Exercițiul 1: Provocare ​variabile! ==== 
-În instrucțiunea pentru desenarea ​textului avem așa: +Te descurci foarte bine! Ce-ar fi să câștigi niște insigne (în engleză, "​badge-uri"​) ​care să îțateste cunoștințele? 
-''​text("​Bună"​poziția pe verticalăpoziția pe orizontală);''​+Fă provocarea de la https://www.khanacademy.org/​cs/​programming/​variables/​p/​challenge-bucktooth-bunny ! 
 +  * Folosește o variabilă pentru ochi și înlocuiește ultimele 2 valori din instrucțiunile ​pentru desenarea ​ochilor. 
 +<code javascript>​ 
 +var __ = __; 
 +ellipse(170150__, __); 
 +ellipse(230,​ 150, __, __); 
 +</​code>​ 
 +  * Folosește o variabilă pentru lungimea dinților. 
 +<code javascript>​ 
 +var __ = __; 
 +rect(185, 200, 15, __); 
 +rect(200, 200, 15, __); 
 +</​code>​
  
-**Indiciu!** Pentru generare aleatoare, folosește ''​random(0,​ 400)''​! +Cum ți se pare iepurele de aici: http://​www.khanacademy.org/​cs/​weird-bunny/​6124070950141952?​
-==== For ====+
  
-<note warning>​**Citește cu atenție tot ce scrie mai jos înainte ​de a te apuca de exerciții!**<​/note>+==== Exercițiul 2: Provocare pentru mișcarea bilei pe verticală ==== 
 +Fă provocarea ​de la https://​www.khanacademy.org/​cs/​programming/​logic-if-statements/​p/​challenge-bouncy-ball ! Ai obținut vreo insignă ("​badge"​) ca recunoaștere a eforturilor tale?
  
-''​for (setarea valorii unei variabile; cât timp continuăm bucla; schimbarea valorii unei variabile)''​+Bravo! :-)
  
-==== Tutorial ​1: Dreptunghiuri ​===+==== Bonus 1: Desenează forme! ====
  
-Î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''​. +Creează un program nou, accesând link-ul https://​www.khanacademy.org/​cs/​new-i numele **Diverse Forme**Urmează pașii de mai jos: 
-Urmărește programul de mai jos și modifică-l să afișeze doar 4 dreptunghiuri! +  - creează o variabilă numită ''​forma''​ 
- +  - dacă variabila ''​forma''​ este egală (în Khan, egal este ''​===''​) cu 1, atunci desenează un **cerc bleu** 
-<​html>​ +  - dacă variabila ''​forma''​ este egală cu 2, desenează o **linie neagră** 
-<​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> ​ +  - dacă variabila ''​forma''​ este egală cu 3, deseanează un **triunghi galben** 
-</​html>​+  - dacă variabila ''​forma''​ este egală cu 4, desenează un **dreptunghi verde** 
 +  - dacă variabila ''​formă''​ este egală cu 5, desenează un **pentagon gri**
  
-==== Tutorial 2:  ====+Schimbă valoarea variabilei ''​forma''​ și verifică corectitudinea programului tău!
  
 +==== Lucru pentru acasă ====
  
 +Scrie un program care conține o variabilă ''​operator'',​ o variabilă ''​a''​ și o variabilă ''​b''​. În funcție de valoarea variabilei ''​operator'',​ putem face următoarele:​
 +  - adunăm ''​a''​ cu ''​b''​ și afișăm rezultatul
 +  - scădem ''​a''​ din ''​b''​ și afișăm rezultatul
 +  - înmulțim ''​a''​ cu ''​b''​ și afișăm rezultatul
 +  - împărțim ''​a''​ la ''​b''​ și afișăm rezultatul
  
-  * Tutorial: for, while 
-  * Task-uri cu condiții și for-uri 
-  * Bonus: suma numerelor naturale până la 100 
-  * Temă de casă: un joculeț în Khan 
module/07-bucle-in-programare/lectia-04.1396639724.txt.gz · Ultima modificare: 2014/04/04 22:28 de către teobaluta