Unelte utilizator

Unelte site


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

Diferențe

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

Link către această vizualizare comparativă

Next revision
Previous revision
Last revision Both sides next revision
module:07-bucle-in-programare:lectia-03 [2014/02/09 14:16]
teobaluta created
module:07-bucle-in-programare:lectia-03 [2016/02/27 18:33]
andreea șters
Linia 1: Linia 1:
-====== Lecția 3: Condiții în Khan ======+====== Lecția ​4: Condiții în Khan ====== 
 + 
 +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. 
 + 
 +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ș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>​ 
 + 
 +<note warning> Comentariile nu fac parte din cod, adică nu sunt interpretate de calculator! În Khan, comentariile 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>​ 
 + 
 +<​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 ===== 
 + 
 +<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>​ 
 + 
 +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 ​linii groasegrosimea 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 Khan, nu mai avem blocuri de instrucțiuni și va trebui să scriem noi codul pentru ele. Astfel, 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>​ 
 +<​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>​ 
 + 
 +Pentru a desena la distanta de 10 unități dreptunghiurile,​ va trebui să aduni la poziția pe orizontală,​ latimea, adica 50. 
 + 
 +<code javascript>​ 
 +rect(80, 150, 50, 200); 
 +rect(140, 150, 50, 200); 
 +rect(200, 150, 50, 200); 
 +rect(260, 150, 50, 200); 
 +</​code>​  
 + 
 +Adaugă după instrucțiunea ''​background(...);''​ următoarea linie: 
 + 
 +<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>​ 
 + 
 +==== 2. Animație în Khan ==== 
 + 
 +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>​ 
 +<​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>​ 
 + 
 +Bravo! Ai făcut prima ta animație pe ziua de astăzi! 8-) 
 + 
 +==== 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>​ 
 +    if (x > 400) { 
 +        speed = -5; 
 +    } 
 +     
 +    if (x < 0) { 
 +        speed = 5; 
 +    } 
 +</​code>​ 
 + 
 +===== 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 aici: http://​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? 
 + 
 +Bravo! :-) 
 + 
 +==== Bonus 1: Desenează forme! ==== 
 + 
 +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: 
 +  - 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 4, desenează un **dreptunghi verde** 
 +  - dacă variabila ''​formă''​ este egală cu 5, desenează un **pentagon gri** 
 + 
 +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 
  
-  * Recapitulare Khan: simple Khan task 
-  * Tutorial: condiții (if/else) și operatori 
-  * Task-uri într-un program predefinit/​schelet 
-  * Bonus: program fără efect vizual, de la zero 
-      * o variabilă hardcoded și condiții în funcție de ea să deseneze diverse figuri 
-  * Temă de casă: program de completat condiții și operatori 
module/07-bucle-in-programare/lectia-03.txt · Ultima modificare: 2016/02/27 19:59 de către andreea