|
Operator = operatie care se aplica datelor.
Tipurile de operatori uzuali sunt:
1. operatori aritmetici: adunare (+), scadere (-), inmultire (*), impartire (/), modul aritmetic (%); acestea sunt folositi pentru a crea expresii aritmetice.
2. operatori relationali: <, >, <= (mai mic egal), >=, != (diferit), = =(egal) ; acestea se folosesc pentru a crea conditii (impreuna cu operatorii logici), deoarece au ca rezultat o valoare logica.
3. operatori logici: && (si logic), || (sau logic), ! (negatie logica);
Obs. Operatorii enumerati mai sus pot fi utilizati in limbajul C si C++; pentru alte limbaje este indicata studierea documentatiilor pentru a vedea diferentele de notatie. Limbajul C++ defineste o multime de alti operatori, care vor fi studiati la momentul oportun.
Datele carora li se aplica operatorii se numesc operanzi. In functie de numarul operanzilor implicati, avem: operatori binari (+, -, *, /, &&, ||), unari (!), ternari (operatorul conditional adica ?: din limbajul C).
Operanzii pot fi constante, variabile, functii.
Expresia poate fi definita astfel:
(a) Variabilele si constantele sunt expresii
(b) Daca E1 este expresie atunci op_unar E1 este expresie;
(c) Daca E1, E2 sunt expresii, atunci E1 op_binar E2 este expresie;
(d) Orice expresie corecta se obtine prin aplicarea pasilor a)-c) de un numar finit de ori;
Exemple de expresii: 23.4+12/4-a*b+1, c && d || e && f, 1234, -765.34
Evaluarea unei expresii = obtinerea unei valori in functie de valorile operanzilor ce apar in expresie.
Daca expresia este numerica, atunci se obtine o valoare numerica, daca expresia contine operatori logici si relationali atunci se obtine o valoare logica (adevarat sau fals).
Atribuirea se desfasoara astfel:
(a) Se evalueaza expresia din partea dreapta a atribuirii;
(b) Valoarea obtinuta in urma evaluarii se memoreaza in zona de memorie a variabilei cu numele specificat in partea stanga a atribuirii.
Obs: Vechea valoare a variabilei se pierde in momentul efectuarii unei operatii de atribuire.
Fie urmatoarele atribuiri:
I=3;
I=I+1;
Ne punem intrebarea daca a doua atribuie este corecta. Din punct de vedere matematic, a doua atribuire este o absurditate insa, din punct de vedere al programarii este corecta si se realizeaza astfel:
(a) a. Se evalueaza expresia I+1, iar rezultatul obtinut este 4 (vechea valoare a lui I, 3, la care se adauga o unitate);
(b) b. Se stocheaza in I valoarea 4;
Exercitiul 1 : Ce valoare are variabila x dupa urmatoarea secventa de atribuiri:
x=3;
y=5;
x=x+y;
y=2*y;
x=x-y;
Exercitiul 2: (Bacalaureat 1999) Se da urmatoarea secventa de atribuiri:
a=10;
b=4;
a=a-b;
b=a+b;
a=b-a;
(a) Ce valori au variabilele a si b ?
(b) Ce efect au ultimele trei atribuiri ?
Exercitiul 3: Construiti schema logica pentru rezolvarea ecuatiei de gradul al II-lea.