5-operatori i izrazi.ppt - compatibility mode

25
Osnove programiranja Operatori Izrazi

Upload: others

Post on 01-Dec-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 5-Operatori i izrazi.ppt - Compatibility Mode

Osnove programiranja

Operatori

Izrazi

Page 2: 5-Operatori i izrazi.ppt - Compatibility Mode

Sadržaj Operatori i izrazi Aritmetički operatori dodele Složeni operatori dodele Binani operatori kod stringova Unarni operatori Relacioni operatori dodele Logički operatori Bitovski operatori Prvenstvo dodeljivanja

Page 3: 5-Operatori i izrazi.ppt - Compatibility Mode

Operatori i izrazi

Izrazi su delovi koda koji na osnovu proračuna daju neki rezultat. Svaki izraz koji se završi znakom (;) je naredba. Sastoje se od operanada i operatora.

Operandi su nosioci vrednosti, odnosno podaci koji učestvuju u izrazu, dok operatori predstavljaju operacije koje se vrše. Operatori povezuju operande. Operand je objekat nad kojim se vrši operacija.

Page 4: 5-Operatori i izrazi.ppt - Compatibility Mode

Operatori Prema broju operanada koje operator povezuje

dele se u tri kategorije: unarni operatori, koji rade samo sa jednim

operandom; binarni operatori, koji rade sa dva operanda; ternarni operatori, koji rade sa tri operanda

Najviše binarnih Samo jedan ternarni - uslovni operator (logički

operator). Sintaksno ispravna kombinacija operanada i

operatora predstavlja jedan izraz.

Page 5: 5-Operatori i izrazi.ppt - Compatibility Mode

Aritmetčki operatori dodeleOPERATOR KATEGORIJA PRIMER IZRAZA REZULTAT

+ Binarni a=b + c; a je dodeljena vrednost sumeb i c

- Binarni a=b - c; a je dodeljena vrednost razlike b i c

* Binarni a=b * c; a je dodeljena vrednostproizvoda b i c

/ Binarni a=b / c; a je dodeljena vrednostdeljenja b i c

% Binarni a=b % c; a je dodeljena vrednostostatka deljenja b i c

+ Unarni a= +b; a je dodeljena vrednost b

- Unarni a= -b; a je dodeljena vrednost-b

int a = 10, b = 20;a=+b;a+=b;

Izračunaj!

Page 6: 5-Operatori i izrazi.ppt - Compatibility Mode

Složeni operatori dodeleOPERATOR KATEGORIJA PRIMER IZRAZA REZULTAT

= binarni a = b; a je dodeljena vrednost b

+= binarni a+ = b; a je dodeljena vrednost a + b

-= binarni a- = b; a je dodeljena vrednost a - b

*= binarni a* = b; a je dodeljena vrednost a * b

/= binarni a/ = b; a je dodeljena vrednost a / b

%= binarni a% = b; a je dodeljena vrednostostatka deljenja a i b

int x =10; x*=10;x+=1; x/=10;x‐=1; x%= 10

Izračunaj!

Page 7: 5-Operatori i izrazi.ppt - Compatibility Mode

Binarni operator kod stringova

Sa promenljivama tipa string isključivo se koristi binarni operator +. a = b + c; a je dodeljena nadovezana vrednost stringova b i c

string string1 = " Dobrodošli ";string string2 = " u svet C# ! ";string string3 = string1 + string2;System.Console.WriteLine(string3);

int a = 3, b = 4;int c = a + b;Console.WriteLine("Zbir brojeva a i b je"+" "+c);

Kako ovo dobiti?

Page 8: 5-Operatori i izrazi.ppt - Compatibility Mode

Primer 1

Napisati konzolnu aplikaciju za unos i spajanje 2 stringa

Page 9: 5-Operatori i izrazi.ppt - Compatibility Mode

Unarni operatori

Operatori inkrementiranja i dekrementiranja unarni operatori koji se koriste na dva različita načina: ili

odmah ispred (prefiks), ili odmah iza operanda (sufiks).

OPERATOR KATEGORIJA PRIMER IZRAZA REZULTAT

++ unarni a= ++b a je dodeljena vrednost. b+1 i b je uvećana za 1.

-- unarni a= --ba je dodeljena vrednost. b-1 i b je umanjena za 1.

++ unarni a= b++ a je dodeljena vrednost b i b je uvećana za 1.

-- unarni a= b--a je dodeljena vrednost b i b je umanjena za 1.

Page 10: 5-Operatori i izrazi.ppt - Compatibility Mode

Unarni operatori

Operator može da bude ili ispred ili iza promenljive, zavisno od toga da li se vrednost promenljive ažurirapre ili posle izračunavanja izraza.

y = ++x; x =x+1;y =x;

y = x++; y =x;x =x+1;

int a, b = 5, c=6;a = b++* --c;a+=b;

int a, b = 5, c=1;a=(b++)+b-c

Page 11: 5-Operatori i izrazi.ppt - Compatibility Mode

Diskutovati

int a = 5; int b = 4; Console.WriteLine(a + b); Console.WriteLine(a + (b++)); Console.WriteLine(a + b); Console.WriteLine(a + (++b)); Console.WriteLine(a + b); Console.WriteLine(14 / a); Console.WriteLine(14 % a);

9

9

10

11

11

2

4

Page 12: 5-Operatori i izrazi.ppt - Compatibility Mode

Relacioni operatori dodeleOPERATOR KATEGORIJA PRIMER IZRAZA REZULTAT

== binarni a = b== c; a je dodeljena vrednost true ako je b jednaka c, u suprotnom je false.

!= binarni a = b!= c; a je dodeljena vrednost true ako b nije jednaka c, u suprotnom je false.

< binarni a = b<c; a je dodeljena vrednost true ako je b manja od c, u suprotnom je false.

> binarni a = b>c; a je dodeljena vrednost true ako je b veća od c, u suprotnom je false.

<= binarni a = b<=c; a je dodeljena vrednost true ako je b manja ili jednaka c, u suprotnom je false.

>= binarni a = b>= c; a je dodeljena vrednost true ako je b veća ili jednaka c, u suprotnom je false.a je promenljiva tipa bool, dok tipovi promenljivih b i c

mogu biti različiti.

Page 13: 5-Operatori i izrazi.ppt - Compatibility Mode

Primer 2 i 3

int a = 10, b=15;bool c = a==b;Console.WriteLine(c);

bool student;string ime="Petar";student= ime== "Petar";Console.WriteLine(student);

FALSE

TRUE

Page 14: 5-Operatori i izrazi.ppt - Compatibility Mode

Primer 4

int broj = 10;

Console.WriteLine("\nUneli ste broj: " + broj);

Console.WriteLine("\nUneti broj je jednak 10 " + (broj == 10));

Console.WriteLine("\nUneti broj je veći od 10 " + (broj > 10));

Console.WriteLine("\nUneti broj je manji od 10 " + (broj < 10));

Console.WriteLine("\nUneti broj je različit od 10 " + (broj != 

10)+"\n");

Page 15: 5-Operatori i izrazi.ppt - Compatibility Mode

Logički operatoriOPERATOR KATEGORIJA PRIMER IZRAZA REZULTAT

! Unarni a=!bajedodeljenavrednosttrueakojebfalse,ilivrednostfalseakojebtrue(logičkoNE);

&& Binarni a=b&&cajedodeljenavrednosttrueakobicimajuvrednosttrueusuprotnomjefalse(logičkoI);

|| Binarni a=b||c

ajedodeljenavrednosttrueakobarjednaodpromenljivih(iliobe)bilicimavrednosttrueusuprotnomjefalse(logičkoILI);

^ Binarni a=b^c

ajedodeljenavrednosttrueakobilicimavrednosttrue,alineiakoobepromenljiveimajuvrednosttrue,usuprotnomjefalse (logičkoekskluzivnoILI).

Page 16: 5-Operatori i izrazi.ppt - Compatibility Mode

Primer 5

bool a = false;

bool b = true;

Console.WriteLine(a && b);

Console.WriteLine(a || b);

Console.WriteLine(!b);

Console.WriteLine(b || true);

Console.WriteLine((5 != 7) ^ (a == b));

Page 17: 5-Operatori i izrazi.ppt - Compatibility Mode

Primeri logičkih izraza

Napisati u obliku logičkih izraza: x [‐1,1] [2,5] (x>=‐1)&&(x<=1)||(x>=2)&&(x<=5) Barjedan od celih brojeva x,y,z jepozitivan (x>0) || (y>0)|| (z>0) Svatribrojax,y,z supozitivna (x>0) &&(y>0)&&(z>0)

Page 18: 5-Operatori i izrazi.ppt - Compatibility Mode

Bitovski operatoriOPERATOR KATEGORIJA

PRIMER

IZRAZAREZULTAT

~ Unarni ~a komplementiranje (invertovanje) svakog bita (~0=1, ~1=0)

& Binarni a&b; konjunkcija pojedinačnih bitova dva navedena argumenta (0&0 = 0, 0&1 = 0, 1&0 = 0, 1&1 =1)

| Binarni a|b disjunkcija pojedinačnih bitova dva navedena argumenta (0|0 = 0, 0|1 = 1, 1|0 =1, 1|1 = 1)

^ Binarni a^ b eksluzivna disjunkcija pojedinačnih bitova dva navedena argumenta (0^0 = 0, 0^1 = 1, 1^0 =1, 1^1 =0)

« Unarni a << 1pomeranje (šiftovanje) bitova ulevo (u primeru za jedno mesto);

» Unarni a>> 1pomeranje (šiftovanje) bitova udesno(u primeru za jedno mesto).

Page 19: 5-Operatori i izrazi.ppt - Compatibility Mode

Bitovski operatori

x y ~x x & y x | y x ^ y1 1 0 1 1 0

1 0 0 0 1 1

0 1 1 0 1 1

0 0 1 0 0 0

Page 20: 5-Operatori i izrazi.ppt - Compatibility Mode

Primer 7

byte a = 3; // 0000 0011 = 3

byte b = 5; // 0000 0101 = 5

Console.WriteLine(a | b); // 0000 0111 = 7

Console.WriteLine(a & b); // 0000 0001 = 1

Console.WriteLine(a ^ b); // 0000 0110 = 6

Console.WriteLine(~a & b); // 0000 0100 = 4

Console.WriteLine(a << 1); // 0000 0110 = 6

Console.WriteLine(a << 2);// 0000 1100 = 12

Console.WriteLine(a >> 1);//0000 0001=1

Page 21: 5-Operatori i izrazi.ppt - Compatibility Mode

Prvenstvo dodeljivanjaPRVENSTVO OPERATOR

NAJVIŠI

. ( )++, --; +, - (unarni)

*, /, %+ (povezivanje stringova)+, -<, <=, <=, >===, !=&, ^, |, <<, >>

NAJNIŽI

&&||?:=, *=, /=, %=, +=, -=

Page 22: 5-Operatori i izrazi.ppt - Compatibility Mode

Prvenstvo dodeljivanja - primerx = (-b + Math.Sqrt(b * b - 4 * a * c)) / (2 * a)

Page 23: 5-Operatori i izrazi.ppt - Compatibility Mode

Zamena mesta promenljivih

Npr. a=10, b=15;1. Korišćenjem 1 pomoćne promenljive2. Ne koristiti pomoćnu promenljivu

Page 24: 5-Operatori i izrazi.ppt - Compatibility Mode

Ternarni operator

Koristi tri operanda. Sintaksa:<test>?<rezultatAkoJeTačno>:<rezultatAkoNijeTačno>

Ovde se ispituje <test> da bi se dobila logička vrednost, pa je rezultat operator <rezultatAkoJeTačno> ili<rezultatAkoNijeTačno> u zavisnosti od te vrednosti.

Ovaj operator je prikladan samo za male zadatke.

Page 25: 5-Operatori i izrazi.ppt - Compatibility Mode

Primer

int x;string uslov;Console.WriteLine("Unesi x");x = int.Parse(Console.ReadLine());uslov = (x < 0) ? "Broj je negativan" : "Broj je pozitivan";Console.WriteLine(uslov);