Sunteți pe pagina 1din 3

TEORIE

Laborator 5_C++

Operatori de incrementare-decrementare
In majoritatea limbajelor de programare se poate scrie următoarea instrucţiune:
val=val+1
In limbajul C, in locul acestei instrucţiuni, se poate folosi o forma prescurtata si
anume:val++
Operatorul (++) poarta denumirea de operator de incrementare. Există, de asemenea
si un operator de decrementare (- -) : val - - care este echivalentul instrucţiunii val=val –
1.

INSTRUCTIUNEA "WHILE"

"While", "for" si "do" sunt cele trei instructiuni repetitive din limbajul C. Consideram
urmatorul format general al instructiunii "while" (iteratia sau bucla "while").

while (expresie)
instructiune
instructiune_urmatoare

Mai intai se evalueaza expresie. Daca aceasta nu este zero (deci este "true"), atunci se
executa instructiunea, si control trece la inceputul buclei "while". Astfel, corpul buclei se
executa de cate ori expresie se evalueaza la "true". Terminarea buclei are loc cand expresie ia
valoarea zero (adica "false"). In acest punct, controlul se paseaza catre
"instructiune_urmatoare".

Exemplu:
while (i <= 10)
{
suma += i;
++i;
}

INSTRUCTIUNEA "FOR"

Ca si instructiunea "while", instructiunea "for" se foloseste pentru descrierea


structurilor iterative (repetitive). Astfel constructia

for (expresie1; expresie2; expresie3)


instructiune
instructiune_urmatoare

este semantic echivalenta cu

expresie1;
while (expresie2)
{
Pag. 1 din 3
instructiune;
expresie3;
}
instructiune_urmatoare;

Deci, se va evalua expresie1. De obicei, aceasta se foloseste pentru initializarea buclei.


Apoi, se evalueaza expresie2. Daca aceasta nu este zero ("true"), atunci se executa instructiune,
se evalueaza expresie3, si controlul buclei se "paseaza" la inceputul buclei (cu deosebirea ca
nu se mai evalueaza expresie1). De obicei, expresie2 este o expresie logica care controleaza
bucla. Acest proces continua pana cand expresie2 este 0 (false), punct in care se plaseaza
controlul catre instructiune_urmatoare.

Exemplu: Exemplul de mai jos calculeaza factorialul numarului n.


factorial=1;
for (i = 1; i <= n; i++)
factorial *= i;

Exemple aplicații

Aplicația 1_C++
Să se realizeze un program cu ajutorul căruia se calculează pentru un număr introdus
suma cifrelor pare și produsul cifrelor impare.
Rezolvare:
#include<iostream.h>
#include<conio.h>
main(){
unsigned long numar;
int cifra, suma=0, produs = 1, cifre_pare=0, cifre_impare=0;
cout<<"introduceti un numar: ";cin>>numar;
while(numar>0){
cifra = numar % 10;
if(cifra % 2 == 0){
suma = suma + cifra;
cifre_pare++;
}
else {
produs = produs * cifra;
cifre_impare++;
}
numar = numar / 10;}
cout<<"Suma cifrelor pare este "<<suma<<endl;
cout<<"Produsul cifrelor impare este "<<produs<<endl;
cout<<"Numarul de cifre pare este "<<cifre_pare<<endl;
cout<<"Numarul de cifre impare este "<<cifre_impare<<endl;
getch();
}

Pag. 2 din 3
Aplicația 2_C++
Să se realizeze un program cu ajutorul căruia se arate dacă un număr introdus este pătrat
perfect.
Rezolvare:
#include<iostream.h>
#include<conio.h>
#include<math.h>

main(){
unsigned long numar, patrat, i=1;
cout<<"introduceti un numar natural: ";cin>>numar;
numar = sqrt(numar);
while(i<=numar){
patrat=i*i;
i=i+1;
cout<<patrat<<endl;}
getch();
}

Pag. 3 din 3

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