STRUCTURA REPETITIVA Prin această structură se repetă o instrucţiune sau un set de instrucţiuni, atâta timp cât o condiţie precizată este adevărată.Structura repetitivă se mai numeşte iterativă, ciclu sau buclă.
STRUCTURA REPETITIVA
Exista trei tipuri de structuri repetitive:
1) Structura cu numar cunoscut de repetitii (FOR)
2) Structura cu numar necunoscut de repetitii si cu test initial (WHILE)
3) Structura cu numar necunoscut de repetitii si cu test final (DO-WHILE)
external image 12906-Clipart-Picture-Of-A-Desktop-Computer-Mascot-Cartoon-Character-Holding-A-Wrench-And-Screwdriver.jpg



a) Structuri repetitive cu contor

Structura repetitivă cu contor (cu număr cunoscut de paşi) este codificată prin instrucţiunea for.

Limbajul C/C++
for(e1;e2;e3) S;
unde e1,e2,e3 sunt expresii de forma:
e1initializare variabila contor
contor=valoare_initiala
e2 conditia de continuare
contor<=valoare_finala for crescator
contor>=valoare_finala for descrescator
e3 modificare contor
contor++ for crescator
contor -- for descrescator

Dacă secvenţa (S) conţine mai multe instrucţiuni,atunci acestea sunt cuprinse intre acolade{}.
b) Structuri repetitive cu conditie

In cazul in care o secvenţă de operaţii se repetă cat timp/pana cand este indeplinită o condiţie, atunci se folosesc structuri repetitive, cu test iniţial sau cu test final.
* Structuri repetitive cu test iniţial
Structura repetitiva cu test iniţial este codificată prin instrucţiunea while.
Evaluarea condiţiei precede secvenţa de operaţii; secvenţa se repeta cat timp condiţia este indeplinită.

external image clip_image001.gif


Sintaxa instrucţiunii repetitive cu test iniţial

Limbajul C/C++

while(cond_logică)
S;

Secvenţa (S) se executa numai in cazul in care condiţia logică este adevarată. (expresia generează o valoare nenulă).
Dacă secvenţa conţine mai multe instrucţiuni, atunci acestea sunt cuprinse intre acolade.

Exemplu: Se afişează, pe ecran, suma cifrelor unui număr natural nenul x.
Numărul x se citeşte de la tastatură.

Limbajul C/C++external image 16124-Powerful-And-Strong-Computer-Lifting-A-Heavy-Barbell-Above-His-Screen-Clipart-Illustration.jpg


#include<iostream.h>

void main()

{ unsigned int x,s=0;

cout<< ;cin x= >>x;

while(x!=0)

{ s=s+x%10;x=x/10;

}

cout<< Suma cifrelor = <<s<<endl;

}








* Structuri repetitive cu test final

Structura repetitivă cu test final este codificată, in limbajul Pascal, prin instrucţiunea repeat_until, iar in limbajul C/C++, prin instrucţiunea do_while.
Evaluarea condiţiei se face după execuţia secvenţei de operaţii şi determină repetarea secvenţei sau ieşirea din structură.

external image clip_image002.gif



Sintaxa instrucţiunii repetitive cu test final

Limbajul C/C++
Do{ S;
} while(cond_logica);

Secvenţa (S) se execută cat timp condiţia logică este adevarată (expresia generează o valoare nenulă).
Secvenţa se execută cel puţin o dată, chiar dacă condiţia logică nu este indeplinită.

Exemplu: Se afişează, pe ecran, cifra minimă a unui număr natural nenul a.
Numărul a se citeşte de la tastatură.
external image 8712-Clipart-Picture-Of-A-Water-Drop-Mascot-Cartoon-Character-With-Welcoming-Open-Arms.jpg

Limbajul C/C++


#include<iostream.h>
void main()
{unsigned int a,min=9,c;
cout<< ;cin a= >>a;
do
{c=a%10;
if(c<min) min=c;
a=a/10;
}while(a!=0);
cout<< Cifra minima= <<min<<endl;