Sunteți pe pagina 1din 3

Indrumar laborator Programarea calculatoarelor

Laboratorul 3

Utilizarea operatorilor n C#
Scop:
1. negerea i familarizarea cu operatorii din C#
2. Utilizarea operatorilor din limbajul C#

Expresii i operatori
Prin expresie se nelege o secven format din operatori i operanzi. Un operator
este un simbol ce indic aciunea care se efectueaz, iar operandul este valoarea asupra
creia se execut operaia.
Operatorii se mpart n trei categorii:
- unari: - acioneaz asupra unui singur operand;
- binari: - acioneaz ntre doi operanzi;
- ternari: - acioneaz asupra a trei operanzi; exist un singur operator ternar i acesta
este ? : ;
n C# sunt definii mai muli operatori. n cazul n care ntr-o expresie nu intervin
paranteze, operaiile se execut conform prioritii operatorilor. n cazul n care sunt mai
muli operatori cu aceeai prioritate, evaluarea expresiei se realizeaz de la stnga la dreapta.
n tabelul alturat prioritatea descrete de la 0 la 13.
Tabelul de prioriti:
Prioritate

Tip

Primar

1
2
3
4
5
6
7
8

Unar
Multiplicativ
Aditiv
De deplasare
Relaional
De egalitate
AND (SI) logic
XOR (SAU exclusiv)
logic
OR (SAU) logic
AND (SI) condiional
OR (SAU) condiional
Condiional (ternar)
atribuire simpl
atribuire compus

9
10
11
12
13
14

Operatori
() [] f() . x++ x-- new type of size of checked
unchecked ->
+ - ! ~ ++x --x (tip) true false & sizeof * / %
*/%
+<< >>
< > <= >= is as
== !=
&
^
|
&&
||
?:
=
*= /= %= += -= ^= &= <<= >>= |=
1

Laborator 3

n C# se pot realiza o mulime de operaii. Operaiile simple cum ar fi adunare sau


scdere i operaii mai complicate, de exemplu extragerea radicalului dintr-un numr.
Operaii aritmetice
+ Adunare
- Scdere
/ mprire
% Restul mpririi
++ incrementare adun 1 la valoarea la care se aplic
-- decrementare scade 1 din valoarea operandului la care se aplic
Exemplu:
int n,m,p=10,q=3;
double t;
n= 10%3;
m=3+2;
s=p/q;
++p;
--q;
t=10.5/3;
//Valoarea lui n va fi 1, a lui m 5, a lui p 11, iar a lui q 14.
//Valoarea lui s este 3, iar valoare lui t 3.5,

n cazul string-urilor, operatorul + se poate folosi pentru a uni (concatena) 2 variabile


de tip string.
Exemplu:
concatenare = Prima+aplicatie+C#.;
//Se va afia Prima aplicatie C#.
C# recunoate operaii scurte de asignare, de exemplu valoare+=10 va fi similar cu
valoare =valoare+10.
Pentru operaii matematice mai complexe, C# ne ofer clasa Math. Cu ajutorul
acesteia putem extrage de exemplu radicalul sau logaritmul unui numr.
Cteva metode ale clasei Math:
Math.Abs(a) calculeaz valoarea absolut a lui a
Math.Ceiling(a) calculeaz valoarea rotunjit, n sus, a lui a
Math.Floor(a) - calculeaz valoarea rotunjit, n jos, a lui a
Math.E afieaz valoarea lui E
Math.PI afieaz valoare lui PI
Math.Exp(a) calculeaz valoarea lui e la puterea a 2-a
Math.Log(a,b) calculeaz logaritm n baza a din b
Math.Log10(a) calculeaz logaritm n baza 10 din a
Math.Max(a,b) calculeaz maximul dintre a i b
Math.Min(a,b) calculeaz minimul dintre a i b
Math.Pow(a,b) calculeaz valoarea lui a la puterea b
2

Indrumar laborator Programarea calculatoarelor

Math.Round(a) calculeaz valoarea rotunjit a numrului cu virgul a la dou


zecimale
Math.Sqrt(a) calculeaz radical n baza 2 din a
Exemple:
int valoare;
valoare = Math.Abs(-9) //Valoarea absolut. Rezultat: -9
valoare = Math.Ceiling(9.44)//Rotunjire n sus. Rezultat: 10
valoare = Math.Floor(9.44)//Rotunjire n jos. Rezultat: 9
valoare = Math.E//Rezultat: 2,71...
valoare = Math.PI//Rezultat: 3,14...
valoare = Math.Exp(2)//e la puterea a 2-a. Rezultat 7,38...
valoare = Math.Log(3,2)//Logaritm de 3 n baza 2. Rezultat: 1,58...
valoare = Math.Log10(4)//Logaritm n baza 10. Rezultat: 0,60...
valoare = Math.Max(4,5)//Maximul dintre 2 numere. Rezultat: 5
valoare = Math.Min(4,5)//Minimul dintre 2 numere. Rezultat: 4
valoare = Math.Pow(4,2)//4 la puterea a 2-a. Rezultat: 16
valoare = Math.Round(4.7853,2)//Rotunjirea unui numr cu virgul la 2
zecimale. Rezultat: 4.78
valoare = Math.Sqrt(4)//Radical din 4. Rezultat: 2

Aplicaia 1
S se scrie o aplicaie care calculeaz expresiile: x+y; x-y; x*y; x/y; x%y; maximul
dintre x i y, radical din x, ++x, pentru orice x i y numere ntregi.
Aplicaia 2
S se scrie un program prin care se afieaz valoarea radical din 2, valoarea lui pi i
valoarea expresiei 210.
Aplicaia 3
S se calculeze valoarea log n baza 10 a unui numr ntreg.
Aplicaia 4

Interschimbai coninutul a dou numere de tip ntreg citite de la tastatur


Aplicaia 5
S se scrie o aplicaie care verific apartenena valorilor variabilei a la intervalul [x,y].
Aplicaia 6
S se scrie un program care primete la intrare un numr de secunde i ntoarce
numrul maxim de ore, de minute, de secunde care este echivalent ca timp.
Exemplu: 56321 de secunde este echivalent cu 15 ore, 38 minute si 41 secunde