while

Schema logica instructiunea while

  Instrucțiunea while este o strucutră repetitivă cu text inițial care evaluează condiția (expresia logică), iar dacă este adevărată se execută secvența de instrucțiuni. Apoi, se reia verificarea valorii de adevăr a expresiei, urmând ca atunci când devine falsă să se treacă la următoarea instrcțiune din program.

Sintaxă

while <conditie> {
  <instructiuni>
}

Implementare

a) Enunț: Se citește un număr întreg. Să se elimine cifre de la final până când acesta devine par, sau nul.

long long n;
cin>>n;
while(n%2) n/=10;
cout<<n;
13255793355
132
13579998
13579998

  La întâlnirea lui while, programul va evalua condiția (restul împărțirii la 2), iar dacă numărul este par, restul este 0, condiția este falsă și se iese din structură. Dacă însă este impar, se vor executa instrucțiunile din while, respectiv împărțirea prin 10 („tăierea” ultimei cifre), apoi se va evalua iarăși condiția, repetând pașii descriși anterior.

b) Enunț: Se citesc numere până la apariția lui 0. Să se afișeze câte dintre acestea sunt impare.

int n, c=0;
cin>>n;
while(n){
  if(n%2) c++;
  cin>>n;
}
cout<<c;
124
1337
191
55550
10
0
2
68
0
0

  Vom citi numere până când întâlnim valoarea 0, iar fiecărui număr citit îi verificăm paritatea. Dacă este impar, vom incrementa variabila c, cea care contorizează numărul de valori impare citite.