Operatori Pascal si C++ – Partea 1
3Un operator este un semn care spune compilatorului ce fel de actiune trebuie sa se aplice asupra operanzilor. Stiu, nu suna prea bine, de exemplu simbolul +(plus) spune compilatorului ca trebuie sa se faca operatia de adunare dintre cei n operanzi, unde n este un nr > 1.
Sa luam fiecare limbaj in parte si sa „examinam” operatorii clasificandu-i si explicand ce face fiecare. Va fi o lectie usoara si scurta prin care veti trece repede. Operatori C++
Operatori Pascal
Sa incepe cu operatorii aritmetici: { +, -, *, /, MOD, DIV}. Banuiesc ca stiti cum se folosesc +, – si *. + => pentru adunare; – => scadere; * => inmultirea. Stiu, era simplu si logic, insa e bine de precizat.
Insa, poate restul operatorilor va pun mici probleme. Sa incepem cu operatorul /(impartirea) care se foloseste atat la numere reale cat si la numere intregi. Daca impartirea este cu rest, atunci rezultatul va fi un numar real. Operatorul DIV se aseamana putin cu /, deoarece si el returneaza tot cat impartirii, dar numai la numere naturale se poate folosi. In cazul in care deimpartitul nu se imparte exact la impartitor, atunci se va afisa un numar natural, insemnand catul impartirii.
De exemplu, 4 DIV 3 => 1(catul impartirii). Deci, trebuie retinuta diferenta dintre cei 2 operatori DIV si /, faptul ca DIV se foloseste doar la numere naturale si intoarce doar catul atunci cand impartirea nu este exacta, pe cand / va da intotdeauna un numar real daca deimpartitul nu se imparte exact la impartitor. Va recomand sa faceti cateva exercitii cu DIV si / pentru a intelege mai bine cum functioneaza.
Operatorul MOD returneaza restul dintre cei 2 operatori. El se poate folosi doar cu numere naturale. De exemplu, 5 MOD 3 = 2(restul impartirii).
Trecem la urmatorul tip de operatori, si anume operatorii relationali {<, >, <=, >=, <>, =}. Acest tip de operatori se foloseste la compararea operanzilor. Vom afla intr-un capitol viitor cum putem sa comparam 2 operanzi, pana atunci doar amintim aici care sunt si ce fac, iar cand trecem la structura de decizie vom discuta pe larg. Cred ca totul este clar in privinta operatorilor relationali, fiind asemanatori cu cei din matematica, cu exceptia operatorului >=(a >= b se citeste „a mai mare sau egal decat b”) si a operatorului <> care se citeste „diferit de”.
Un ultim tip de operatori il reprezinta operatorii logici {and, not, or}. Voi face un tabel ca sa intelegeti cum functioneaza acesti operatori.
AND |
TRUE |
FALSE |
---|---|---|
TRUE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
OR |
TRUE |
FALSE |
---|---|---|
TRUE |
TRUE |
TRUE |
FALSE |
TRUE |
FALSE |
NOT |
|
---|---|
TRUE |
FALSE |
FALSE |
TRUE |
Operatori C++
Vom incepe tot cu operatorii aritmetici care sunt aceeasi ca si la Pascal cu exceptia lui DIV si MOD, adica: {+ , – , * , / , %}. Daca faceti trecerea de la Pascal la C++, atunci trebuie sa stiti ca operatorul / (impartit) se aplica si pe intregi si pe numere in virgula mobil, astfel: intreg / intreg => intreg; intreg / float => float; float / intreg => float; float / float => float. Semnul %(la suta) returneaza restul impartirii lui a / b, unde a si b pot fi doar numere naturale.
Operatorii relationali, de asemenea, sunt destul de diferiti fata de cei din Pascal, avand: {<= , >= , ==, != , < , >}. Trebuie remarcat faptul ca atunci cand verificam daca 2 numere sunt egale, trebuie sa folosim operatorul == . Daca vom folosi doar = atunci se va atribui valoarea din dreapta semnului egal variabilei din stanga operatorului. Cat in ceea ce priveste operatorul „diferit de” vom folosi !=.
Operatorii logici sunt: { &&(and), ||(or), !(not) }. Vom pune din nou tabelul de mai sus, insa inlocuind and, or si not cu operatorii logici din c++ &&, ||, respectiv !.
&& |
TRUE |
FALSE |
---|---|---|
TRUE |
TRUE |
FALSE |
FALSE |
FALSE |
FALSE |
|| |
TRUE |
FALSE |
---|---|---|
TRUE |
TRUE |
TRUE |
FALSE |
TRUE |
FALSE |
! |
|
---|---|
TRUE |
FALSE |
FALSE |
TRUE |
Trebuie amintit la C++ si operatorii ++ si –(minus minus), care au ca efect a += 1 => a = a + 1, respectiv a -= 1 => a =Â a – 1.
In legatura cu operatorii binari puteti vedea articolul Tips and Tricks si operatiile pe biti
Astept partea a 2a 😀
De fapt, partea a doua este articolul lui Andrei http://www.worldit.info/articole/algoritmica-articole/tips-tricks-operatii-pe-biti/