cât timp - execută

Structura cât timp - execută este o structură repetitivă cu test inițial, însemnând că executarea instrucțiunilor din interior se va realiza atât timp cât condiția rămâne adevărată.

Din categoria structurilor repetitive cu test inițial, cât timp nu are un număr cunoscut de pași (precum structura pentru, care are un număr cunoscut de pași).

Reprezentare grafică

Schemă logică structura cât timp - execută

Condiția se reevaluează doar după execuția întregului bloc de instrucțiuni din interiorul structurii cât timp.


Sintaxă


┌─cât timp <condiție> execută
│ <instrucțiuni>
└■

Condiția trebuie să fie adevărată la momentul reevaluării pentru ca instrucțiunile să fie executate repetitiv.


Implementare

Atunci când folosim structura repetitivă cât timp, trebuie să fim atenți la câteva aspecte:

  • Dacă de la început condiția logică este falsă, instrucțiunile din corpul buclei nu se execută deloc;
  • Este obligatoriu ca, în interiorul buclei, valoarea variabilei testate să se modifice, altfel bucla va deveni infinită;
  • Condiția trebuie să fie logică (valori true sau false).

Exemplul 1

Enunț: Să se afișeze prima cifră a unui număr natural din intervalul [0, 109].

citește n [număr natural]
┌─cât timp n > 9 execută
│   n /= 10
└■
scrie n
6853312
6
5
5

Vom aplica împărțiri întregi numărului citit, până când acesta rămâne de o singură cifră, aceasta fiind chiar prima cifră a numărului.

Exemplul 2

Enunț: Se citesc numere până la întâlnirea lui 0. Să se afișeze suma numerelor pare citite.

citește n
s <- 0
┌─cât timp n <> 0 execută
│ ┌─dacă n % 2 = 0 atunci
│ │   s <- s + n
│ └■
│   citește n
└■
scrie s
14
420
1
16191
0
434
7
3
0
0

Condiția de oprire pentru structura cât timp este aceea că n este diferit de 0. În funcție de paritate adunăm, sau nu, la sumă. Indiferent de paritate citim mereu un nou număr.

Programul se termină atunci când se citește 0, deoarece se iese din bucla structurii repetitive.