Sunteți pe pagina 1din 5

Structuri repetitive in C++ -- continuare

Pseudocod C++
pentru varvali, valf, pas executa for(var=vali;var<=valf;var=var+pas)
secv instructiuni { secv de instructiuni; }
@
Forma cea mai generala:
for(initializare;cond_continuare;expresie_variatie)
{ secv de instructiuni;}

Mecanism de executie: pentru fiecare valoare a variabilei var, cuprinsa intre vali si valf se va
executa secv de instructiuni subordonata, dupa care valoarea variabilei var se va modifica cu
valoarea pas
Exemplu: se citeste un nr natural n. Sa se afiseze valoarea sumei S=1+2+3+…+n
#include<iostream>
using namespace std;
int main()
{ int S, n, i;
cin>>n;
S=0;
for(i=1;i<=n;i=i+1)
S=S+i;
cout<<S;
return 0;
}

Observatii: 1. Daca secventa de instructiuni subordonata este formata dintr-o singura


instructiune, nu mai sunt necesare acoladele.
2. i=i+1 se mai scrie prescurtat i++
++  operator de incrementare
--  operator de decrementare

x++;  x=x+1;
x--;  x=x-1;
Structuri repetitive cu test final in C++ (instructiunea „do-while”)

Pseudocod C++
executa do
set de instructiuni { set de instructiuni
cat timp conditie }
@ while(conditie);
repeta do
set de instructiuni { set de instructiuni
pana cand conditie }
@ while(!conditie);

Exemplu: suma cifrelor unui nr natural x


#include<iostream>
using namespace std;
int main()
{ int x, s;
s=0;
cin>>x;
do
{ s=s+x%10;
x=x/10;
}
while(x!=0);
cout<<”suma cifrelor este:”<<s;
return 0;
}

Aplicatie 2: Se citeste un sir de numere intregi pana la intalnirea valorii 0 (sirul contine cel putin
un nr diferit de 0, iar 0 nu face parte din sir). Sa se afiseze numarul de valori pozitive si nr de
valori negative din sirul citit.

#include<iostream>
using namespace std;
int main()
{ int x, p, n;
p=0; n=0;
cin>>x;
do
{
if(x>0) p++;
else n++;
cin>>x;
}
while(x!=0);
cout<<p<<” ”<<n;
return 0;
}

S-ar putea să vă placă și