Jump to content

[C++] Sintaxa while si calcule matematice


MAMRETRAS
 Share

Recommended Posts

Folosim "while" atunci cand dorim sa repetam o actiune de mai multe ori. Sintaxa e cam asa:

while (contidite) {
	instructiune1;
	instructiune2;
}

Pasii prin care se trece:

  • se verifica conditia, daca nu e 0, se fac instructiunile in ordine, instructiune1, 2 .. etc.
  • dupa ce s-au efectuat toate instructiunile, se revine sus, la conditie, se verifica din nou, daca difera de 0, se iau instructiunile de la capat
  • in momentul verificarii conditiei, daca aceasta e 0, nu se mai executa instructiunile din while ci se trece mai departe in program

Exemplu in cod:

#include <iostream>
using namespace std;
int main () {
  int n = 10;
  // alte expresii fata de cele din tutorialul precedent:
  // >= - mai mare sau egal; cout << (3 >= 3); - afiseaza 1, deoarece 3 e mai mare sau EGAL ca 3
  // <= - mai mic sau egal; cout << (5 <= 2); - afiseaza 0, deoarece 5 nu e mai mic, nici egal cu 2
  // > - strict mai mare; cout << (3 > 3); - afiseaza 0, deoarece 3 nu e mai mare ca 3
  // < - strict mai mic; cout << (2 < 3); - afiseaza 1, deoarece e adevarat
  while (n >= 0) {//cat timp n e mai mare sau egal cu 0
    cout << n << ", "; //il afisam pe n in momentul actual
    n--; //il decrementam cu 1 (adica il micsoram de fiecare data cu 1)
  }
  //acest program va afisa toate numerele de la 10 la 0 si se va opri cand n e -1 deoarece n nu e mai mare sau egal cu 0
  return 0;
}

Putem folosi while si pana cand se va introduce o valaore dorita de noi:

#include <iostream>
using namespace std;
int main () {
  int numar;
  cout << "Introdu un numar intre 10 si 20: ";
  cin >> numar;
  while (numar < 10 || numar > 20) { //cat timp numarul e mai mic ca 10 sau mai mare ca 20, 
    //acesta nu e intre 10 si 20 deci rugam sa se introduca din nou
    cout << "Numarul " << numar << " nu este intre 10 si 20, introdu altul: ";
    cin >> numar; //citim din nou numarul, dupa care mergem sus la conditie (numar < 10 || numar > 20)
    //daca am introdus de exemplu 12, conditia va fi falsa si nu va mai intra in while pentru a citi din 
    //nou un numar, ci va continua cu programul
  }
  cout << "Felicitari, numarul " << numar << " introdus de tine este intre 10 si 20";
  return 0;
}

Calcule matematice folositoare in C++:

* - "ori"
/ - "impartire"
% - "restul impartirii"
- - "minus"
+ - "plus"

Exemple:

int a, b, c;
b = 10; c = 2;
a = b * c; // a = 10 ori 2 = 20, deci cout << a; va afisa 20
a = 4; b = 3;
c = a / b; // c = 4 impartit la 3 = 1 (1.33 dar variabila c e de tip intreg, asadar se va efectua o conversie)
// de asemenea, daca c ar fi de tip float c; calculul ar fi: c = (float)a/b; fortand compilatorul sa transforme
// calculul intr-un float
a = 5;
b = a % 2; // calculam restul impartirii lui 5 la 2, 5 impartit la 2 = 2 ori 2 + 1 (restul e 1, deci b = 1)
// aceasta schema poate fi folosita pentru a verifica daca un numar e par sau nu
if (numar % 2 == 0) // daca restul e 0, atunci e par, deoarece orice numar par impartit la 2 da restul 0
  cout << "Numarul este par!";
else cout << "Numarul este impar!";
a = 5; c = 4;
cout << a + c; // 9
a = 3; b = 4;
cout << a - b; // -1

 

Edited by eB Teodor
Link to comment
Share on other sites

  • Cdorsu locked this topic
Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.