====== Lecția 6: Operatori, Condiții și Bucle ====== ====Recapitulare:==== * 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). * 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**):
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''.
==== Exercițiul 1: Numere mari ====
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?
==== Tutorial 3: Operatorul SAU ====
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?
==== Exercițiul 2: Conditii compuse ====
Urmăreşte cu atenţie comentariile din următorul program:
Made using: Khan Academy Computer Science.
==== 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:
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.
==== Exercițiul 3: Nava spre steluță ====
Made using: Khan Academy Computer Science.
** 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 = ?''