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 21:20]
teobaluta [Tutorial 1: for]
module:07-bucle-in-programare:lectia-04 [2016/02/27 20:00]
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ăța să lucrezi cu bucle în Khan, dar mai întâi fă recapitulareaMai știi să folosești condiții ​în Khan?+O variabilă se creează așa: 
 +<code javascript>​ 
 +var variabila;​ 
 +</​code>​ 
 + 
 +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ș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>​ 
 + 
 +<note warning> Comentariile nu fac parte din codadică nu sunt interpretate de calculator! În Khan, comentariile sunt colorate cu verdeComentariile 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>​ 
 + 
 +<​html>​ 
 +<​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>​
  
 ===== Recapitulare ===== ===== Recapitulare =====
  
-==== Recapitulare ​1: Condiții ​==== +<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>​ 
-Î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ăeste ales la întâmplare.+ 
 +Desenează o fată zâmbitoare (smiley) în Khan! 
 +  - Desenează două ovale pentru ochi cu instrucțiunea ''​ellipse(...)''​ și colorează-le cu ''​fill(...)''​ 
 +  - Desenează un pătrat sau oval pentru nas. Colorează-l! 
 +  - 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. 
 + 
 +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 o 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>​ 
 + 
 +===== Tutorial ===== 
 + 
 +==== 1. Variabile în Khan ==== 
 + 
 +În Khannu mai avem blocuri de instrucțiuni și va trebui ​să scriem noi codul pentru eleAstfel, pentru a putea crea o variabila ​''​latime''​, scriem în Khan ''​var latime;''​. 
 + 
 +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ă. 
 + 
 +Desenează 6 dreptunghiuri la distanță de 10 unități. Ai deja desenat primul și ultimul, mai ai de desenat 4. Acțiunea de desenare a dreptunghiului ​este ''​rect(pozitia pe orizontala, pozitia pe verticala, latime, lungime)''​.
  
 <​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/​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>​ </​html>​
  
-==== Recapitulare 2: Variabile șAnimație ====+Pentru a desena la distanta de 10 unitățdreptunghiurile,​ va trebui să aduni la poziția pe orizontală,​ latimea, adica 50.
  
-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.+<code javascript>​ 
 +rect(80, 150, 50, 200); 
 +rect(140, 150, 50, 200); 
 +rect(200, 150, 50, 200); 
 +rect(260, 150, 50, 200); 
 +</​code> ​
  
-Ai deja variabilele pe care trebuie să le pui în loc de semnul întrebării ''​?'' ​și să decomentezi: +Adaugă după instrucțiunea ​''​background(...);​'' ​următoarea linie:
-''​var xfata''​ +
-\\ +
-''​var xspate''​ +
-\\ +
-''​var xcorp''​+
  
-Declară tu variabilele pentru roțiȚi-apărut o mașină? Scrie la sfârșit ceea ce trebuie ​pentru ca mașina ​să se miște.+<code javascript>​ 
 +var x = 20; 
 +</​code>​ 
 + 
 +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>​ 
 + 
 +==== 2Animație în Khan ==== 
 + 
 +Urmărește programul de mai jos pentru ​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/​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/​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>​
-===== Tutorial ===== 
  
-==== Tutorial 1: while ====+Bravo! Ai făcut prima ta animație pe ziua de astăzi! 8-)
  
-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:+==== 3. Condiție în Khan ====
  
 +Adaugă o condiție pentru ca bila să se miște în sens invers când ajunge la marginea din dreapta. Adaugă următoarea structură:
 <code javascript>​ <code javascript>​
-var a 1+    if (x > 400) { 
-while (6) { +        speed -5
-  ​a ​a + 2+    } 
-}+     
 +    if (0) { 
 +        ​speed ​5
 +    }
 </​code>​ </​code>​
  
-Avem o variabilă ''​a''​ căreia îi setăm valoarea 1. Calculatorul cum va interpreta aceste instrucțiuniCând ajunge în buclă va face următorii pași (adică suntem la ''​while''​):+===== Exerciții ===== 
 + 
 +==== Exercițiul 1: Provocare variabile! ==== 
 +Te descurci foarte bine! Ce-ar fi să câștigi niște insigne (în engleză, "​badge-uri"​) care să îți ateste cunoștințele? 
 +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(170, 150, __, __); 
 +ellipse(230,​ 150, __, __); 
 +</​code>​ 
 +  * Folosește o variabilă pentru lungimea dinților. 
 +<code javascript>​ 
 +var __ = __; 
 +rect(185, 200, 15, __)
 +rect(200, 200, 15, __); 
 +</​code>​ 
 + 
 +Cum ți se pare iepurele de aicihttp://​www.khanacademy.org/​cs/​weird-bunny/​6124070950141952?​ 
 + 
 +==== 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?
  
-=== Pasul 1a este 1 === +Bravo! ​:-)
-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 2, adică ''​a''​ o să fie egal cu ''​1 + 2 = 3''​!+
  
-=== Pasul 2a este 3 === +==== Bonus 1Desenează forme! ====
-Este valoarea lui ''​a''​ mai mică decât 6? Este 3 mai mic decât 6? **Da!** Atunci ''​a''​ cât devine? Corect, 5!+
  
-=== Pasul 3este === +Creează un program nou, accesând link-ul https://​www.khanacademy.org/​cs/​new. Dă-i numele **Diverse Forme**. Urmează pașii de mai jos: 
-Este valoarea lui ''​a'' ​mai mică decât 6? **Da!** Deci ''​a'' ​va fi egal cu ''​a + 2'', ​adică ''​5 + 2 = 7''​.+  - creează o variabilă numită ''​forma''​ 
 +  - dacă variabila ''​forma'' ​este egală (în Khan, egal este ''​===''​) cu 1, atunci desenează un **cerc bleu** 
 +  - dacă variabila ​''​forma'' ​este egală cu 2, desenează o **linie neagră** 
 +  - dacă variabila ​''​forma'' ​este egală cu 3, deseanează un **triunghi galben** 
 +  - dacă variabila ​''​forma'' ​este egală cu 4desenează un **dreptunghi verde** 
 +  - dacă variabila ​''​formă'' ​este egală cu 5, desenează un **pentagon gri**
  
-=== Pasul 3: a este 7 === +Schimbă ​valoarea ​variabilei ​''​forma''​ și verifică corectitudinea programului tău!
-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ă ''​}''​.+
  
-==== Tutorial 2: for ====+==== 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.txt · Ultima modificare: 2016/02/27 20:00 de către andreea