Sunteți pe pagina 1din 9

Instrucţiunea FOR

Instructiunea FOR
Instructiunea for are forma generala:
 for (expresie_initializare; expresie_test;
expresie_incrementare ) instructiune;
Unde :
- expresie_initializare se foloseste pentru initializarea
variabi;ei de ciclare; in cadrul acestei expresii este posibil
chiar sa declaram variabila de ciclare (cu valoare initiala)
Instructiunea for
 -expresie test-testeaza daca se executa instructiunea
subordonata –daca expresia produce la evaluare o
valoare diferita de 0, instructiunea subordonata for se
executa
 expresie_incrementare se foloseste pentru
incrementarea variabilei de ciclare
Principiul de executie
 P1: Se evalueaza expresie_initializare (un caz special
este acela cand aceasta contine si declaratia variabilei
de ciclare)

 P2: Se evalueaza expresie_test. Daca aceasta produce o


valoare diferita de 0, instructiunea subordonata for se
executa, apoi se trece la P3, altfel executia instructiunii
for este incheiata.
Principiul de executie
 P3: Se evalueaza expresia de incrementare si se revine
la P2
 Observatii:
1)Toate expresiile pot fi vide. Daca expresie_test este vida
se executa un ciclu infinit
Observatii:

2)se utilizeaza FOR daca:

 Secventa se repeta;
 Se cunoaste, inaintea intrarii in secventa, de cate ori
trebuie sa fie executata secventa;
Simularea instructiunii for cu
ajutorul instructiunii while
 Fie a,b,i numere intregi
Atunci: for(i=a;i<=b;i++) instructiune;
Se scrie cu ajutorul instructiunii while astfel:
i=a;
While (i<=b)
{instructiune;
i++;}
Exemple:
1)Se cere sa se listeze numerele 10,9,8,…,1
int I;
for (i=10;i>=1;i--) cout<<i<<“ “;
2) Sa se listeze alfabetul:
Char lit;
For (lit=‘a’; lit<=‘z’; lit++) cout<<lit<<endl;
Probleme
1) Se citesc n numere naturale. Sa se scrie un program C++ care tipareste:

a) Produsul numerelor impare din cele n numere citite


b) Suma numerelor pare din cele n numere citite
c) Suma dintre ultima cifra ale fiecaruia dintre numerele citite.
d) Numarul de cifre pentru fiecare dintre numerele citite

Ex: Date de intrare: n=5


12 3 46 4 7
Date de iesire:
a) 3*7=21
b) ) 12+46+4=62
c)2+3+6+4+7=22