* Urmărește cu atenție comentariile din următorul program în Khan:
Made using: Khan Academy Computer Science.
* 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>
Hai să ne amintim operatorii pe care i-am învățat!
Tipul operației | Operator | Exemplu |
---|---|---|
Adunare | + | var a = 2; a = a + 4; // a va fi 6 var b = 0; b = b + 3; // b va fi 3 var c = 0; c++; // c va fi 1 |
Scădere | - | var a = 2; a = 10 - a; // a va fi 8 var b = 8 - a; // b va fi 0 |
Înmulțire | * | var a = 5 * 4; // a este 20 a = 2 * 20; // a este 40 |
Câtul împărțirii | / | var a = 100 / 4; // a este 25 a = a / 2; // a este 12 |
Restul împărțirii | % | var a = 100 % 2; // a este 0 a = 5 % 2; // a este 1 |
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?
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 }
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
.
Scrie un program în Khan în care să generezi aleator un număr între 0 și 10000. Fă asta folosind random(0, 10000);
.
&&
! Vezi exemplu mai jos!
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.
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); }
Deci are Andrei voie să călărească poneiul gratis?
||
! Vezi exemplu mai jos!
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.
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); }
Deci are voie Andrei să meargă pe ponei gratis?
Urmăreşte cu atenţie comentariile din următorul program:
Made using: Khan Academy Computer Science.
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:
var draw = function() { // acțiuni care se tot repetă };
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 și 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.
Made using: Khan Academy Computer Science.
Rescrie programul de mai sus folosind while
în loc de for
.
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 = ?