Unelte utilizator

Unelte site


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

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-06 [2014/04/25 22:18]
teobaluta [Joc distractiv pentru acasă]
module:07-bucle-in-programare:lectia-06 [2016/02/27 20:00] (curent)
andreea creat
Linia 1: Linia 1:
-====== Lecția 6: Recapitulare buclecondiții și operatori (Khan) ​======+====== Lecția 6: OperatoriCondiții și Bucle ======
  
-În lecția aceasta ne vom reaminti ce concepte de programare am învățat folosind Khan!+====Recapitulare:​====
  
-=== Concepte importante ===+  * Afișează o parte din numerele de la **1** la **10** pe o coloană folosind un **for**(cele pare), iar pe o altă coloană folosind un **while**(cele impare). ​
  
-== Operatori ​==+  * Urmărește cu atenție comentariile din următorul program în Khan: <​html><​h2><​a href="​http://​www.khanacademy.org/​cs/​m7_l5_recap_ex1/​5403965253484544">​M7_L5_recap_ex1</​a></​h2>​ <script src="​http://​www.khanacademy.org/​cs/​m7_l5_recap_ex1/​5403965253484544/​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>​ 
 +   
 +  * Uită-te cu atenție la următoarea imagine și încearcă să desenezi **10 pătrate** pe ecran cu aproximativ aceleași culori și folosind la alegere **for/​while** (apasă **Click to display**):​ 
 +                       <​hidden> ​ {{ :​module:​07-bucle-in-programare:​circle_in_circle.png?​nolink&​300 |}}</​hidden>​ 
 +                        
 +                       
  
-De exemplu, ''​==='',​ adică ''​egal cu''​ sau ''>​='',​ adică ''​mai mare sau egal cu''​. Tu poți da alte exemple? 
  
-== Condiții == 
  
-Condițiile reflectă valoarea de adevăr a unui fapt, cum ar fi următorul exemplu''​dacă este iunie, este cald''​. Care este condiția și care este consecința? Condiția este ''​dacă este iunie'',​ iar consecința,​ adică ceea ce se întâmplă dacă este adevărată condiția este ''​este cald''​. Te poți gândi când nu este adevărat ce am zis mai sus? Pentru țările din emisfera sudică nu va fi corect ce am spus mai sus: trebuie să spunem ''​dacă este iunie și suntem în România, este cald''​ iar ''​dacă este iunie și suntem în Australia, este rece''​.+==== Tutorial 1Operații aritmetice ​și comparații ====
  
-Cum poți scrie **și** în Khan?+Hai să ne amintim operatorii pe care i-am învățat!
  
-== Bucle ==+^ Tipul operației ​     ^ Operator ​      ^ Exemplu ​         ^ 
 +| Adunare ​             |  ''​+'' ​   | <code javascript>​ 
 +var a 2; 
 +a + 4; // a va fi 6 
 +var b 0; 
 +b + 3; // b va fi 3 
 +var c = 0; 
 +c++; // c va fi 1 
 +</​code>​ | 
 +| Scădere ​             |  ''​-'' ​   | <code javascript>​ 
 +var a = 2; 
 +a = 10 - a; // a va fi 8 
 +var b = 8 - a; // b va fi 0 
 +</​code>​ |                     
 +| Înmulțire ​           |  ''​*'' ​   | <code javascript>​ 
 +var a = 5 * 4; // a este 20 
 +a = 2 * 20; // a este 40 
 +</​code>​ | 
 +| Câtul împărțirii ​    ​| ​ ''/'' ​   | <code javascript>​ 
 +var a = 100 / 4; // a este 25 
 +a = a / 2; // a este 12 
 +</​code>​ | 
 +| Restul împărțirii ​    ​| ​ ''​%'' ​   | <code javascript>​ 
 +var a = 100 % 2; // a este 0 
 +a = 5 % 2; // a este 1 
 +</​code>​ |
  
-Buclele repetă anumite acțiuni cât timp o condiție este îndeplinităCe bucle ai folosit? ​Poți scrie ''​while''​ și ''​for''​ echivalent?+Putem folosi acești operatori pentru a calcula diverse numere, de exemplu. Poți vedea un exemplu aici: [[http://​www.khanacademy.org/​cs/​operatii/​6109778351751168]].
  
 +Hai să facem un mic exemplu cu niște comparații. Cum facem să vedem că un număr este mai mic decât 10?
  
-===== Form =====+<code javascript>​ 
 +var numar 3; 
 +// variabila număr se tot schimbă și noi vrem să vedem dacă e mai mică decât 10 
 +if (numar < 10) { 
 + // afiseaza valoarea variabilei numar 
 +
 +</​code>​
  
-<note warning>​Completează formularul de la link-ul _TODO_ ​**individual**!</note> +Mai sus am folosit o **condiție**. Cum te-ai obișnuit, ''​if''​ (adică ''​dacă''​ în limba engleză) verifică adevărul unei acțiuni sau stări. De fapt, ''​numar ​10''​ poate lua două valori: ''​true''​ (adevărat) sau ''​false''​ (fals) și ''​if''​ spune calculatorului să facă ce e între acolade, cum e mai sus afișarea variabilei numar, doar dacă condiția dintre paranteze este ''​true''​.
-===== Exerciții =====+
  
-<note warning>​Autentifică-te pe [[https://​www.khanacademy.org/​|https://​www.khanacademy.org/​]] cu contul personal și nu uita să dai un nume sugestiv programului tău și să îl salvezi pentru a-l putea regăsi mai târziu!</​note>​+==== Exercițiul 1Numere mari ====
  
-==== Exercițiul 1: Desenează peisajul ​cu o buclă! ====+<note warning>​Autentifică-te cu contul personal pe [[https://​khanacademy.org]] și rezolvă exercițiul!</​note>​
  
-Completează programul de la [[https://​www.khanacademy.org/​cs/​m7_l6/​5765813259730944|https://​www.khanacademy.org/​cs/​m7_l6/​5765813259730944]] astfel încât să folosești buclă while sau for și să afișezi următorul desen:+Scrie un program în Khan în care să generezi aleator un număr între 0 și 10000Fă asta folosind ''​random(0,​ 10000);''​. 
 +  * dacă este între 1 și 1000, afișează "​Sub ​mie!"​ 
 +  * dacă restul împarțirii la 3 este 0, afișează "​Divizibil cu 3!" 
 +  * dacă restul împărțirii la 3 nu este 0, afișează "​Nedivizibil cu 3!" ​
  
-{{:​module:​07-bucle-in-programare:​m7_l6.png?​300|}} 
  
-Poti copia conținutul ​din program ​sau poți da click pe **Save as a spin-off** pentru ​a-l salva printre programele tale! +==== Tutorial 2: Operatorul ȘI ==== 
-==== Joc distractiv pentru acasă ​====+ 
 +<note important>​Operatorul ȘI în Khan îl scriem cu ''&&''​! Vezi exemplu mai jos!</​note>​ 
 + 
 +Uneori vrem să verificăm că mai multe lucruri sunt adevărate în același timp într-o condiție. De exemplu, dacă Andrei are sub 150 cm și Andrei are sub 14 ani, are voie să meargă pe ponei gratuit. 
 + 
 +<code javascript>​ 
 +var inaltimeAndrei = 138; // inaltimea lui Andrei in centimetri 
 +var varstaAndrei = 10; // varsta lui Andrei... in ani :) 
 + 
 +if (inaltimeAndrei < 150 && varstaAndrei < 14) { 
 +  fill(255, 0, 0); 
 +  textSize(20);​ 
 +  text("​Intra gratuit!",​ 100, 100); 
 +
 + 
 +</​code>​ 
 + 
 +Deci are Andrei voie să călărească poneiul gratis? 
 + 
 + 
 +==== Tutorial 3: Operatorul SAU ==== 
 + 
 +<note important>​Operatorul SAU în Khan îl scriem cu ''​||''​! Vezi exemplu mai jos!</​note>​ 
 + 
 +Uneori vrem să verificăm cel puțin un lucru este adevărat într-o condiție. De exemplu, dacă Andrei are sub 150 cm sau Andrei are sub 14 ani, are voie să meargă pe ponei gratuit. 
 + 
 +<code javascript>​ 
 +var inaltimeAndrei = 152; // inaltimea lui Andrei in centimetri 
 +var varstaAndrei = 10; // varsta lui Andrei... in ani :) 
 + 
 +if (inaltimeAndrei < 150 || varstaAndrei < 14) { 
 +  fill(255, 0, 0); 
 +  textSize(20);​ 
 +  text("​Intra gratuit!",​ 100, 100); 
 +
 + 
 +</​code>​ 
 + 
 +Deci are voie Andrei să meargă pe ponei gratis? 
 +==== Exercițiul 2: Conditii compuse ==== 
 + 
 +Urmăreşte cu atenţie comentariile ​din următorul ​program
 + 
 +<​html>​ 
 +<​h2><​a href="​http://​www.khanacademy.org/​cs/​m7_l5_ex_and_or/​6357801220702208">​M7_L5_ex_and_or</​a></​h2>​ <script src="​http://​www.khanacademy.org/​cs/​m7_l5_ex_and_or/​6357801220702208/​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 4: Bucle și condiții ==== 
 + 
 +O animație se face folosind funcția ''​draw''​ din Khan, iar aceasta este echivalentul unei bucle infinite (adică la nesfârșit) care va face acțiunilie/​instrucțiunile din interiorul acoladelor:​ 
 + 
 +<code javascript>​ 
 +var draw = function() { 
 +// acțiuni care se tot repetă 
 +}; 
 +</​code>​ 
 + 
 +Lecțiile trecute ai învățat că asta înseamnă că putem face animații! Cum ai făcut exercițiul în care mingea se întorcea când ajungea la margine șo lua în partea opusă? Așa este, ai pus niște condiții folosind ''​if''​! Ceea ce se întâmplă este că vei verifica mereu acele condiții: este bila la marginea de sus? dacă da, schimbă direcția în jos; este bila la marginea de jos? dacă da, schimbă direcția în sus. 
 + 
 + 
 +==== Exercițiul 3: Nava spre steluță ==== 
 + 
 +<note warning>​Autentifică-te cu contul tău pe [[https://​khanacademy.org]]. Dă click pe "Save on Khan Academy"​ și apoi dă "Save as a spin-off"​!</​note>​ 
 + 
 +<​html>​ 
 +<​h2><​href="​http://​www.khanacademy.org/​cs/​nava-spre-steluta/​4703992924864512">​Nava spre steluta </​a></​h2>​ <script src="​http://​www.khanacademy.org/​cs/​nava-spre-steluta/​4703992924864512/​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>​ 
 + 
 +** Rescrie programul de mai sus folosind ''​while''​ în loc de ''​for''​. ** 
 + 
 + 
 +==== Bonus 1: Suma numerelor pare și suma numerelor impare ​==== 
 + 
 +Scrie un program în Khan care să calculeze suma numerelor pare și suma numerelor impare de la 0 la 100. Folosește o buclă ''​for''​ sau una ''​while''​. Cum vei însuma? Ai grijă, că ai nevoie de două variabile, una pentru suma numerelor pare și alta pentru suma numerelor impare. 
 + 
 +Sumă numere pare: ''​0 + 2 + 4 + 6 + 8 + ... + 100 = ?''​ 
 +Sumă numere impare: ''​1 + 3 + 5 + 7 + 9 + ... + 100 = ?''​ 
module/07-bucle-in-programare/lectia-06.1398453533.txt.gz · Ultima modificare: 2014/04/25 22:18 de către teobaluta