Sunteți pe pagina 1din 6

Colegiul Național „Calistrat Hogaș” Piatra-Neamț

Structuri de date

1. Structura liniară
 Instrucțiunea de atribuire
Sintaxa:
variabila=expresie;
unde :
variabila este numele variabilei utilizate
expresie este valoarea luată de acea variabilă
Efect: se evaluează expresia și valoare sa se atribuie variabilei.
Exemplu:
a=5;
Variabilei a i s-a atribuit valoarea 5.

 Instrucțiunea de incrementare/decrementare
A incrementa înseamnă a adăuga o valoare unei variabile, adică a mări valoarea inițială cu 1.
A decrementa înseamnă total invers, a o micșora cu 1.
O formă simplistă este:
i=i+1;
iar una mai „sofisticată” este:
i++; ;
sau ++i;
Efectul operatorilor unari este același, însă momentul diferă. ++i întâi incrementează
variabila și după face operațiile cu valoarea incrementată, pe când i++ face operațiile cu
valoarea neincrementată și abia apoi o incrementează.
Pentru a decrementa folosim -- .
i--;
sau --i;
Colegiul Național „Calistrat Hogaș” Piatra-Neamț

 Instrucțiunea compusă
Sintaxa:
{
instrucțiune_1;
instrucțiune_2;

instrucțiune_n;
}
Efect: grupează mai multe instrucțiuni în una singură.
Utilizăm această instrucțiune când avem de efectuat mai multe „operații” într-o anumită
instrucțiune (de obicei if, while, do-while, for).

2. Structura alternativă

 Instrucțiunea if
Această instrucțiune este o instrucțiune de decizie.
Sintaxa:
if (expresie_logică)
instrucțiune1;
else
instrucțiune2;
Efect: se evaluează expresia logică și dacă este diferită de 0 (adevărată), atunci se execută
instrucțiunea 1, în caz contrar se execută instrucțiunea 2, dacă aceasta există.
Exemplu
if (5>3) cout<<”adevarat”;
else cout<<”fals”;
pe ecran se va afișa: adevarat
Exemplu:
if(x%2) cout<<”impar”;
else cout<<”par”;
Colegiul Național „Calistrat Hogaș” Piatra-Neamț

 Instrucțiunea switch
Instrucţiunea switch permite realizarea structurii alternative generalizată. Ea este
echivalentă cu o imbricare de structuri de alternative simple. Utilizarea instrucţiunii switch
face în schimb programul mult mai clar.
Sintaxa:
switch (expresie)
{ case c1 : instrucțiune1;
break;
case c2 : instrucțiune2;
break;
. . .
case cn : instrucțiunen;
break;
default : instrucțiune;
}
unde: c1,. . . cn sunt constante sau constante simbolice;
instrucțiune1, . . . , instrucțiunen sunt instrucțiuni sau şiruri de instrucţiuni.

Efect:
se evaluează expresia din paranteză;
se compară pe rând valoarea expresiei cu valorile constantelor c1, . . . , cn;
dacă valoarea expresiei coincide cu valoarea lui ck, se execută secvenţa de instrucţiuni
definită
prin instrucțiune k;
în cazul în care valoarea expresiei nu coincide cu nici una din constantele c1, . . . , cn,
se execută secvenţa de instrucţiuni definită prin instrucțiune;
Observaţii:
1) Ramura default nu este obligatorie. În lipsa ei, dacă valoarea expresiei nu coincide cu
nici una din constantele c1,. . . , cn, instrucţiunea switch respectivă nu are nici
un efect.
2) Construcţia break reprezintă o instrucţiune. Ea termină fiecare ramură de instrucţiuni
1, .. . , n, provocând saltul la instrucţiunea următoare instrucţiunii switch sau, cum se
mai spune, realizează ieşirea din instrucţiunea switch.
3) Instrucţiunea break nu este obligatorie. În cazul în care este absentă, se execută
secvenţial următoarea ramură. De exemplu dacă avem secvenţa:
Colegiul Național „Calistrat Hogaș” Piatra-Neamț

switch (exp){
case c1: sir1;
case c2: sir2;
}
ea se execută în felul următor:
dacă valoarea expresiei este egală cu c1se execută sir 1 şi apoi sir 2;
dacă valoarea expresiei este egală cu c2 se execută sir 2;
daca valoarea expresiei diferă de valorile c1 şi c2 instrucţiunea switch de mai sus nu este
efectivă, se trece la instrucţiunea următoare care urmează după switch.
secvenţa de mai sus se putea realiza şi astfel:
if (exp = = c1)
{ sir1; sir2}
else if (exp = = c2) sir2;

3. Structura repetitivă

 Instrucțiunea repetitivă condiționată anterior (while)


Sintaxa:
while (expresie logică)
instructiune;

Efect: se evaluează expresia logică și dacă este diferită de 0 (adevărată) se execută


instrucțiunea, apoi se reia de la evaluarea expresiei logice.

Observații:
- instrucțiunea se termină atunci când expresia logică este falsă
- este posibil ca instrucțiunea din interior să nu se execute niciodată.

Exemplu:
a=2;
while (a>0)
a--;
Colegiul Național „Calistrat Hogaș” Piatra-Neamț

 Instructiunea repetitivă condiționată posterior (do-while)


Sintaxa:
do
instrucțiune;
while (expresie logică);

Efect: se execută instrucțiunea, apoi se evaluează expresia logică. Dacă este diferită de 0
(adevărată) se reia executarea instrucțiunii.
Exemplu:
a=2;
do
a--;
while (a>0);

Observații:
- instrucțiunea se termină atunci când expresia logică este falsă
- instrucțiunea din interior se execută cel puțin o dată.

 Instrucțiunea repetitivă cu număr cunoscut de pași (for)


Aceasta este o instrucțiune repetitivă de asemenea, dar cu un număr cunoscut de pași. Este cea
mai folosită instrucțiune repetitivă. Poate fi simulată cu ajutorul instrucțiunilor while sau
while-do, dar majoritatea programatorilor preferă să o folosească în forma sa „pură”.

Sintaxa
for (expr1;expr2;expr3)
instrucțiune;
unde: expr1 este o instrucțiune de atribuire de forma variabila=valoare
expr2 este o condiție
expr3 este o instrucțiune de incrementare/ decrementare
Efect
Se execută instrucțiunea din expr1, apoi se verifică condiția din expr2. Dacă este
adevărată, se execută instrucțiunea din interior, după care se execută incrementarea sau
decrementarea din expr3. Instrucțiunea se reia de la verificarea condiției din expr2.
Colegiul Național „Calistrat Hogaș” Piatra-Neamț

Exemplu:
for (i=0;i<3;i++)
cout<<”executam instrucțiunea for ”;
Prima dată i este 0. Verificăm dacă i este mai mic decât 3 și executăm instrucțiunea de afișare
apoi i=i+1, adică i=1. i este 1, verificăm dacă 1<3, executăm instrucțiunea , apoi i=i+1, adică
i=2 acum.. Verificăm dacă 2<3, dacă da executăm încă o dată instrucțiunea și i++, adică i=3.
Verificăm dacă 3<3, nu este, așa că ne oprim.
Instrucțiunea for este folosită în foarte multe situații, de exemplu atunci când
citit/afișam/lucram asupra unui vector sau a unei matrice.

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