Instrucțiunea repetitivă cu test final execută o singură dată instrucțiunile din corpul său înainte de a evalua condiția de continuare a buclei.
Diferența dintre instrucțiunea repetitivă cu test inițial și cea cu test final se observă în imaginea de mai jos:

Evaluarea condiției la sfârșit permite executarea instrucțiunilor ÎNAINTE o singură dată. Acest lucru ne dă posibilitatea de a valida datele de intrare ale unui program.
Vom realiza un program care permite citirea de la tastatură NUMAI a unor numere negative:

Explicația programului linie cu linie:
/*Acest program
citeste de la tastatura numai
numere negative și le afiseaza pe ecran*/
- Acesta este un comentariu.
- Comentariile sunt explicații pentru oameni și nu sunt executate de program.
- Aici ni se spune ce face programul:
- citește numere de la tastatură;
- le afișează;
- continuă cât timp numărul este negativ sau 0.
#include <iostream>
- Include biblioteca standard pentru operații de intrare și ieșire.
- Permite folosirea:
cin→ pentru citire de la tastatură;cout→ pentru afișare pe ecran.
using namespace std;
- Permite folosirea directă a comenzilor
cinșicoutfără să scriemstd::. - Fără această linie ar trebui:
std::cin
std::cout
int main()
- Funcția principală a programului.
- Execuția începe întotdeauna de aici.
intînseamnă că funcția va întoarce un număr întreg.
{
- Începutul blocului de instrucțiuni al funcției
main.
int n;
- Declară o variabilă întreagă numită
n. - În această variabilă se va memora numărul introdus de utilizator.
do{
- Începe o structură repetitivă
do...while. - Instrucțiunile din interior se execută cel puțin o dată.
cin >> n;
- Citește un număr de la tastatură și îl pune în variabila
n.
Exemplu:
- dacă utilizatorul scrie
-5,
atuncindevine-5.
cout << n << " ";
- Afișează valoarea lui
npe ecran. " "reprezintă un spațiu după număr.
Exemplu:
-5
va afișa:
-5
}while(n<=0);
- Condiția de repetare.
- Programul continuă să citească și să afișeze numere cât timp:
n <= 0adică:neste negativ;- sau
neste 0.
Când utilizatorul introduce un număr pozitiv:
- condiția devine falsă;
- bucla se oprește.
return 0;
- Programul se termină corect.
0înseamnă că execuția s-a încheiat fără erori.
}
- Sfârșitul funcției
main.
Cum funcționează programul — exemplu
Introducere:
-3
0
-7
5
Afișare:
-3 0 -7 5
După 5, programul se oprește deoarece:
5 <= 0
este fals.
Observație importantă
Comentariul spune:
„citește numai numere negative”
Dar programul acceptă și 0, deoarece condiția este:
n <= 0
Dacă ar trebui să accepte doar numere negative, condiția corectă ar fi:
while(n < 0);
Temă:
Să se modifice programul pentru a citi numai numere pozitive adică să se execute până la citirea unui nr negativ.
