====== 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:
var variabila;
Pentru a-i da o valoarea la creare, folosim operatorul de atribuire ''='' în felul următor:
var variabila = 5;
Acum variabila este 5. O poți afișa folosind instrucțiunile de mai jos:
textSize(30);
fill(255, 0, 0);
text(variabila, 5, 100);
Made using: Khan Academy Computer Science.
===== Recapitulare =====Made using: Khan Academy Computer Science.
Pentru a desena la distanta de 10 unități dreptunghiurile, va trebui să aduni la poziția pe orizontală, latimea, adica 50.
rect(80, 150, 50, 200);
rect(140, 150, 50, 200);
rect(200, 150, 50, 200);
rect(260, 150, 50, 200);
Adaugă după instrucțiunea ''background(...);'' următoarea linie:
var x = 20;
Rescrie instrucțiunile de mai sus astfel încât să faci adunarea în Khan:
x = x + 60;
rect(x, 150, 50, 200);
==== 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ă.
Made using: Khan Academy Computer Science.
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ă:
if (x > 400) {
speed = -5;
}
if (x < 0) {
speed = 5;
}
===== 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.
var __ = __;
ellipse(170, 150, __, __);
ellipse(230, 150, __, __);
* Folosește o variabilă pentru lungimea dinților.
var __ = __;
rect(185, 200, 15, __);
rect(200, 200, 15, __);
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