Operatori (pseudocod)
Operatorii reprezintă unul sau mai multe caractere (uneori și litere) asociate unor operații care se efectuează într-un algoritm.
Acești operatori sunt deci niște simboluri care definesc o anumită operație între date. Spre exemplu, în matematică, adunarea a două numere este marcată de semnul „+”.
Este importantă prioritatea operatorilor atunci când se lucrează cu mai multe tipuri. Vezi articolul Prioritatea operatorilor.
I. Operatorii aritmetici
1. Ridicarea la putere: ^
(„control”) / **
a^2 //a2
2**3 //23
2. Multiplicativi
- înmulțire:
*
(„asterix”) - împărțire:
/
(„slash”) - restul împărțirii întregi:
%
(„mod”)
2*a //dublul lui a
(a*b)/2 //jumătatea produsului dintre a și b
a%3 //restul împărțirii lui a la 3
10%3 //rezultatul este 1 (10:3=3 rest 1)
Putem folosi operatorul %
pentru a afla mai multe proprietăți despre un număr (paritate, ultima cifră etc.)
a%2 // = 0, dacă a este par
// = 1, dacă a este impar
a%10 //ultima cifră a lui a
a%100 //ultimele două cifre ale lui a
a/10%10 //penultima cifră a lui a (dacă a este întreg!)
3. Aditivi
- adunare:
+
(„plus”) - scădere:
-
(„minus”)
(a+b)/2 //media aritmetică dintre a și b
10+7-12+3 /*rezultatul este 8 (se respectă ordinea efectuării operațiilor din aritmetică)*/
II. Operatorii relaționali
<
- strict mai mic<=
- mai mic sau egal>
- strict mai mare>=
- mai mare sau egal=
- egalitate!=
,<>
- inegalitate
Exemple
(3 < 6) = true
(7 >= 7) = true
(5 <> 5) = false
III. Operatorii logici
1. Negația: !
, not
Operatorul de negație schimbă valoarea unui operand cu complementul său. Spre exemplu, orice număr nenul negat va produce valoarea 0 (false).
/*Dacă variabila a are valoarea 18, următoarea expresie are valoarea true*/
!a=0 /*este adevărat, deoarece complementul unei valori true este întotdeauna false*/
De luat aminte că !true=false
, iar !false=true
.
A nega o expresie se rezumă la a înlocui operatorii logici și relaționali cu complemetul corespunzător.
/*Următoarea expresie este adevărată când variabila a nu aparține intervalului deschis (5,10)*/
!(a>5 și a<10)
/*Echivalentul acesteia eliminând negația este următoarea*/
(a<=5) sau (a>=10)
Complemenții principalilor operatori (relație reciprocă)
Operator | Complement |
---|---|
< | >= |
> | <= |
= | != |
și | sau |
2. Conjuncție: și
Se va returna true
atunci când ambii operanzi au valoarea true
, în rest valoarea va fi false
.
//a=0, b=0
a și b = false
//a=1, b=0
a și b = false
//a=1, b=1
a și b = true
(a<=20) și (a>9) /*Adevărat dacă a aparține intervalului (9,20]*/
3. Disjuncție: sau
Se va returna true
atunci când cel puțin unul din operanzi are valoarea true
, astfel că două valori false
vor returna tot false
.
//a=0, b=0
a sau b = false
//a=1, b=0
a sau b = true
//a=1, b=1
a sau b = true
(a>10) sau (a<=5) /*Adevărat dacă a aparține intervalului (-∞,5] U (10,+∞)*/
IV. Operatorul de atribuire <-
Operatorul de atribuire <-
este utilizat atunci când vrem să atribuim o valoare unei date:
< variabilă > <- < expresie >
V. Operatorul concatenare +
Reunește două șiruri de caractere și furnizează un singur astfel de șir.
"Buna " + "ziua" = "Buna ziua"
"unt" + "delemn" = "untdelemn"
De remarcat faptul că acest operator nu adaugă de la sine caracterul spațiu, astfel că el trebuie pus manual.
"Targu" + "Mures" = "TarguMures"
"Targu" + " Mures" = "Targu Mures"
"Targu" + " " + "Mures" = "Targu Mures"