Unelte utilizator

Unelte site


Sidebar

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

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:

M7_L5_recap_ex1

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>
                     
                     

Tutorial 1: Operații aritmetice și comparații

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.

Exercițiul 1: Numere mari

Autentifică-te cu contul personal pe https://khanacademy.org și rezolvă exercițiul!

Scrie un program în Khan în care să generezi aleator un număr între 0 și 10000. Fă asta folosind random(0, 10000);.

  • dacă este între 1 și 1000, afișează „Sub o 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!“

Tutorial 2: Operatorul ȘI

Operatorul ȘI în Khan îl scriem cu &&! 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?

Tutorial 3: Operatorul SAU

Operatorul SAU în Khan îl scriem cu ||! 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?

Exercițiul 2: Conditii compuse

Urmăreşte cu atenţie comentariile din următorul program:

M7_L5_ex_and_or

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ță

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“!

Nava spre steluta

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 = ?

module/07-bucle-in-programare/lectia-06.txt · Ultima modificare: 2016/02/27 20:00 de către andreea