25
Osnove programiranja Operatori Izrazi

5-Operatori i izrazi.ppt 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

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 5-Operatori i izrazi.ppt 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

Osnove programiranja

Operatori

Izrazi

Page 2: 5-Operatori i izrazi.ppt 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

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 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

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 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

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 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

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 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

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 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

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 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

Primer 1

Napisati konzolnu aplikaciju za unos i spajanje 2 stringa

Page 9: 5-Operatori i izrazi.ppt 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

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 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

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.

Smeštanje operatora pre operanda, znači da se operand menja pre nego što se izvrše dalja izračunavanja.

Ukoliko se stavi posle operanda, operand se menja tekposle izračunavanja. 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 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

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 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

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 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

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 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

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 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

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 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

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 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

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 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

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 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

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 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

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 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

Prvenstvo dodeljivanjaPRVENSTVO OPERATOR

NAJVIŠI

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

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

NAJNIŽI

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

Page 22: 5-Operatori i izrazi.ppt 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

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

Page 23: 5-Operatori i izrazi.ppt 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

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 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

Ternarni operator

Najjednostavniji način da se izvede poređenje jeste pomoću ternarnog (uslovnog) operatora.

Ternarni operator koristi tri operanda. Sintaksa je sledeća:<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 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

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);