Sunteți pe pagina 1din 6

INSTRUCIUNI REPETITIVE

- BUCLE -
Repet de cteva ori o poriune a codului program
pn cnd procesarea datelor respective este complet.

Exemplu de bucl din viaa real:


un atlet are de alergat pe o pist circular pn cnd totalizeaza un anumit numr de km.
Instruciunea DO-WHILE

Instruciune ce permite repetarea unei secvene de instruciuni atta timp ct o condiie este ndeplinit.

Permite implementarea unei bucle ( ciclu ) cu test final, deci instruciunile din interiorul buclei se execut
sigur cel puin o dat.
Instruciunea WHILE

Instruciune ce ofer posibilitatea de a repeta o anumit secven de program ct timp o anumit condiie
predefinit este ndeplinit.
Instruciunea FOR
Instruciunea for permite repetarea unei secvene de instruciuni pentru un set de condiii, adic avem
posibilitatea execuiei unei expresii de iniializare (nainte de a ncepe bucla) i a unei alte expresii la
sfritul fiecrei iteraii (fiecrui pas).

Instruciunea repetitiv FOR este cea mai utilizat deoarece condiiile i paii sunt definite de la bun nceput.
Algoritmi eseniali n programe rezolvate

Prelucrarea cifrelor unui numr


/*1.se se afiseze cifrele unui numar n ordinea inversa citirii lor.*/
#include<iostream>
using namespace std;

int main(){
int x;
cout<<"x="; cin>>x;
cout<<"nr schimbat: x= ";
while(x!=0){//cat timp
cout<<x%10;
x/=10;}
cout<<endl;
}

/*2.sa se formeze si sa se afiseze numarul obtinut din cifrele scrise in ordine inversa ale unui nr.*/
-?-?-?-?-?-?-
int main(){
int x;
cout<<"x="; cin>>x;
int p=1,y=0;
while(x!=0){
y=x%10+y*10;
x=x/10;}
cout<<"numarul obtinut :"<<y<<endl;
return 0:
}
/*3..sa se elimine cifrele impare dintr-un numar*/
-?-?-?-?-?-?-
cout<<"x=";cin>>x;
p=1;y=0;
while(x!=0){
if(x%10%2==0){
y=y+x%10*p;
p=p*10;}
x=x/10;}
cout<<"numarul fara cifre impare este :"<<y;
-?-?-?-?-?-?-

/*4.sa se verifice daca cifrele unui numar natural x sunt distincte*/


-?-?-?-?-?-?-
int main(){
cout<<"x=";cin>>x;
y=x;a=x%10;x=x/10;ok=1;
while(x!=0){
if(a==x%10) ok=0;
a=x%10;
x=x/10;}
cout<<"numarul "<<y;
if(ok==1){ cout<<" are cifrele distincte .";}
else cout<<" nu are cifre distincte .";