O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski...

329
Računarski praktikum O predmetu

Transcript of O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski...

Page 1: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računarski praktikum

O predmetu

Page 2: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računarski praktikum

• dr Milan Vidaković[email protected] 139/8

• Dejan Mijić[email protected]

• Milorad Filipović[email protected]

• http://www.informatika.ftn.uns.ac.rs/RP

2

• dr Milan Vidaković[email protected] 139/8

• Dejan Mijić[email protected]

• Milorad Filipović[email protected]

• http://www.informatika.ftn.uns.ac.rs/RP

Page 3: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Ocenjivanje• Prisustvo na vežbama

– obavezno– raspon poena: 3-5– toleriše se do 20% izostanaka (80% prisustva – 3 poena, 100%

prisustva – 5 poena)• Kolokvijumi

– računarska pismenost – 10-20 poena– složeni zadatak – 15-25 poena

• Završni ispit (teorija)– obavezan– raspon poena: 15-30

• Zadatak iz algoritama (u sklopu teorije)– 10-20 poena

3

• Prisustvo na vežbama– obavezno– raspon poena: 3-5– toleriše se do 20% izostanaka (80% prisustva – 3 poena, 100%

prisustva – 5 poena)• Kolokvijumi

– računarska pismenost – 10-20 poena– složeni zadatak – 15-25 poena

• Završni ispit (teorija)– obavezan– raspon poena: 15-30

• Zadatak iz algoritama (u sklopu teorije)– 10-20 poena

Page 4: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Plan rada

• Uvod – organizacija računara• Programski jezik Java• Algoritmi• Hardver i računarske mreže

4

• Uvod – organizacija računara• Programski jezik Java• Algoritmi• Hardver i računarske mreže

Page 5: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računarski praktikum

Uvod

Page 6: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Literatura

• dr Milan Vidaković• email: [email protected]• http://www.informatika.ftn.uns.ac.rs/RP

2/47

• dr Milan Vidaković• email: [email protected]• http://www.informatika.ftn.uns.ac.rs/RP

Page 7: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Osnovi računarstva

1. Istorija računara2. Generacije računara3. Osnovni pojmovi

1. Istorija računara2. Generacije računara3. Osnovni pojmovi

Page 8: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Oblast 1Istorija računara

• 1621. god. Vilijam Otred(William Oughtred) –engleski matematičar koji jeizmislio kružni klizni lenjir. Tose smatra prvim analognimračunarskim uređajem.

istorija

4/47

• 1621. god. Vilijam Otred(William Oughtred) –engleski matematičar koji jeizmislio kružni klizni lenjir. Tose smatra prvim analognimračunarskim uređajem.

Page 9: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Šikardova mašina

• Vilhelm Šikard (WilhelmSchickard) je 1623.osmislio mehaničkikalkulator.

• Mašina je mogla dasabira, oduzima, množii deli.

• Ostalo je sve samo naplanovima.

istorija

5/47

• Vilhelm Šikard (WilhelmSchickard) je 1623.osmislio mehaničkikalkulator.

• Mašina je mogla dasabira, oduzima, množii deli.

• Ostalo je sve samo naplanovima.

Page 10: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

• 1642. god. Blez Paskal (BlaisePascal) – napravio je “prvi”automatski kalkulator.Njegova mašina, nazvanaPaskalina (Pascaline) sezasnivala na zupčanicima.

• Napravio je 50 primeraka zaprodaju, ali su računovođeodbijale da ih koriste jer su sebojali da će izgubiti posao.

istorija

6/47

• 1642. god. Blez Paskal (BlaisePascal) – napravio je “prvi”automatski kalkulator.Njegova mašina, nazvanaPaskalina (Pascaline) sezasnivala na zupčanicima.

• Napravio je 50 primeraka zaprodaju, ali su računovođeodbijale da ih koriste jer su sebojali da će izgubiti posao.

Page 11: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

• 1673. god. Gotfrid Lajbnic (Gottfried Leibniz) –dizajnirao je novi tip mehaničkog kalkulatorabaziranog na nazubljenim cilindrima, koji se sadazove Lajbnicov točak. Uređaj je mogao da sabira,oduzima, množi i deli.

istorija

7/47

Page 12: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

• 1804. god. Žozef Žakar(Joseph Jacquard) –izmislio je kartice sa rupamakoje su se koristile u uređajuza tkanje. Kartice su sekoristile da propusteodređene niti, a da blokirajuostale.

• Iako njegov razboj nijedirektno povezan saračunarima, ideju bušenihkartica je kasnije preuzeoČarls Bebidž kao prvimehanički metod unošenjainformacija u računar.

istorija

8/47

• 1804. god. Žozef Žakar(Joseph Jacquard) –izmislio je kartice sa rupamakoje su se koristile u uređajuza tkanje. Kartice su sekoristile da propusteodređene niti, a da blokirajuostale.

• Iako njegov razboj nijedirektno povezan saračunarima, ideju bušenihkartica je kasnije preuzeoČarls Bebidž kao prvimehanički metod unošenjainformacija u računar.

Page 13: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

• 1822. god. Čarls Bebidž (CharlesBabbage) – napravio je prvumašinu za računanje konačnihrazlika. Izgradja uređaja je bilafinansirana od strane britanskevlade, a namena je bila da rešavapolinomne jednačine.

• Bila je toliko osetljiva da se češćekvarila nego što je radila, pa jepremijer izjavio da je jedinanamena ove mašine da izračunaogromnu količinu novca koja jepotrošena na njenu gradnju.

Čarls Bebidž (Charles Babbage)istorija

9/47

• 1822. god. Čarls Bebidž (CharlesBabbage) – napravio je prvumašinu za računanje konačnihrazlika. Izgradja uređaja je bilafinansirana od strane britanskevlade, a namena je bila da rešavapolinomne jednačine.

• Bila je toliko osetljiva da se češćekvarila nego što je radila, pa jepremijer izjavio da je jedinanamena ove mašine da izračunaogromnu količinu novca koja jepotrošena na njenu gradnju.

Page 14: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

• Bebidž je kasnije razvio analitičkumašinu koja je bila dizajnirana kaopravi mehanički računar. Iako nikadanije bila napravljena, mašina sesadržavala pet bitnih elemenata zabuduće računare:– ulazni uređaj– medijum za smeštanje brojeva za

obradu (memorija)– jedinicu za obradu (aritmetičko-

logička jedinica)– kontrolnu jedinicu da upravlja

zadacima koji će se izvršavati(upravljačka jedinica)

– izlazni uređaj.

Čarls Bebidž (Charles Babbage)istorija

10/47

• Bebidž je kasnije razvio analitičkumašinu koja je bila dizajnirana kaopravi mehanički računar. Iako nikadanije bila napravljena, mašina sesadržavala pet bitnih elemenata zabuduće računare:– ulazni uređaj– medijum za smeštanje brojeva za

obradu (memorija)– jedinicu za obradu (aritmetičko-

logička jedinica)– kontrolnu jedinicu da upravlja

zadacima koji će se izvršavati(upravljačka jedinica)

– izlazni uređaj.

Page 15: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

• 1833. god. Augusta Ada(grofica od Lavlejsa) - amatermatemetičar i bliski prijateljČarlsa Bebidža. Ada je prvadala nacrt programa koji bi seizvršavao u analitičkoj mašini.

• Ovo je bio prvi put da jekoncept računarskogprograma bio predložen, pase smatra da je Ada bila prvikompjuterski programer.

istorija

11/47

• 1833. god. Augusta Ada(grofica od Lavlejsa) - amatermatemetičar i bliski prijateljČarlsa Bebidža. Ada je prvadala nacrt programa koji bi seizvršavao u analitičkoj mašini.

• Ovo je bio prvi put da jekoncept računarskogprograma bio predložen, pase smatra da je Ada bila prvikompjuterski programer.

Page 16: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

• 1886. god. Herman Holerit (HermanHollerith) – razvio je mašinu zaračunanje koje je koristila bušenekartice za elektronsko brojanje. Ovajuređaj je napravljen da bi se obaviopopis iz 1890. godine (u Americi).Ručno brojanje bi trajalo čitavudeceniju (rezultati prethodnogpopisa su se obrađivali ručno iproces je trajao 7 godina).

• 1896. godine Holerit je osnovaoTabulating Machine Company.1924. godine, nakon nekolikospajanja i preuzimanja, kompanija jepostala International BusinessMachines (IBM).

istorija

12/47

• 1886. god. Herman Holerit (HermanHollerith) – razvio je mašinu zaračunanje koje je koristila bušenekartice za elektronsko brojanje. Ovajuređaj je napravljen da bi se obaviopopis iz 1890. godine (u Americi).Ručno brojanje bi trajalo čitavudeceniju (rezultati prethodnogpopisa su se obrađivali ručno iproces je trajao 7 godina).

• 1896. godine Holerit je osnovaoTabulating Machine Company.1924. godine, nakon nekolikospajanja i preuzimanja, kompanija jepostala International BusinessMachines (IBM).

Page 17: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

• 1936. god. Alan Tjuring (AlanTuring) – napisao je rad ohipotetičkom digitalnomračunaru, koji je kasnijenazvan “Tjuringova mašina”.

• Postavio temelje modernogračunarstva.

• Tokom drugog svetskog rata,Tjuring je razvio tzv. ”bombe”(mehanički uređaji), a zatim“kolose” (električni uređaji) kojisu razbijali nemačku šifru(Enigma mašina).

istorija

13/47

• 1936. god. Alan Tjuring (AlanTuring) – napisao je rad ohipotetičkom digitalnomračunaru, koji je kasnijenazvan “Tjuringova mašina”.

• Postavio temelje modernogračunarstva.

• Tokom drugog svetskog rata,Tjuring je razvio tzv. ”bombe”(mehanički uređaji), a zatim“kolose” (električni uređaji) kojisu razbijali nemačku šifru(Enigma mašina).

Page 18: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Enigma• Nemački uređaj za kriptovanje i dekriptovanje.• Tjuringov kolos je uspešno dekriptovao poruke

šifrovane Enigmom.

istorija

14/47

Page 19: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Prvi digitalni računar?

• 1939-1942. god. napravljen je računarABC (Atanasoff-Berry Computer) koji sudizajnirali dr Džon Astanasov (Dr. JohnAstanasoff) i Kliford Beri (Clifford Berry) nadržavnom univerzitetu u Ajovi (Iowa StateUniversity).

• 1941. god. napravljen i predstavljenračunar Z3, koji je dizajnirao i napravionemački inženjer Konrad Zuse.

istorija

15/47

• 1939-1942. god. napravljen je računarABC (Atanasoff-Berry Computer) koji sudizajnirali dr Džon Astanasov (Dr. JohnAstanasoff) i Kliford Beri (Clifford Berry) nadržavnom univerzitetu u Ajovi (Iowa StateUniversity).

• 1941. god. napravljen i predstavljenračunar Z3, koji je dizajnirao i napravionemački inženjer Konrad Zuse.

Page 20: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

ABCistorija

16/47

Page 21: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Z3• 600 releja u numeričkojjedinici

•1600 releja u memorijskojjedinici

• frekvencija rada 5, 3 Hz

• ulaz – decimalna tastatura

• izlaz – 4 cifre, sijalice

• težina – 1 tona

• potrošnja struje – 4 kW

istorija

17/47

• 600 releja u numeričkojjedinici

•1600 releja u memorijskojjedinici

• frekvencija rada 5, 3 Hz

• ulaz – decimalna tastatura

• izlaz – 4 cifre, sijalice

• težina – 1 tona

• potrošnja struje – 4 kW

Page 22: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Oblast 2Generacije računara

• 6 generacija računara• Razlika je pre svega u tehnoloskim

osnovama• Granica između 4., 5. i 6. generacije nije

jasna – ima preklapanja

18/47

• 6 generacija računara• Razlika je pre svega u tehnoloskim

osnovama• Granica između 4., 5. i 6. generacije nije

jasna – ima preklapanja

Page 23: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Prva generacija

• Elektronske cevi, releji, otpornici• Velika potrošnja struje• Ogromne dimenzije

19/47

Page 24: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Prva generacija• 1944. god. napravljen je Mark I – prvi računar opšte

namene. Korišćen je na Harvardu 15 godina.– 150000 raznih komponenti– 5 tona

20/47

Page 25: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Prva generacija• 1946. god. napravljen je Electronic Numerical Integrator

and Computer (ENIAC). Sastojao se iz 18000elektronskih cevi i 70000 otpornika. Trošio je 160 kW.

21/47

Page 26: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Prva generacija• 1951. god. napravljen je UNIVAC (Universal Automatic

Computer).• Karakteristike:

– programi smešteni u memoriju (1000 memorijskih ćelija),– uređaj spoljne memorije na magnetnoj traci,– ulazno/izlazni uređaji (tastatura, bušene kartice, štampač)– 54000 elektronskih cevi

22/47

• 1951. god. napravljen je UNIVAC (Universal AutomaticComputer).

• Karakteristike:– programi smešteni u memoriju (1000 memorijskih ćelija),– uređaj spoljne memorije na magnetnoj traci,– ulazno/izlazni uređaji (tastatura, bušene kartice, štampač)– 54000 elektronskih cevi

Page 27: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Druga generacija• Pojava tranzistora:

– smanjenje dimenzija– smanjenje potrošnje el. energije– povećanje brzine

• Tipičan predstavnik – IBM 1401– 4 KB memorije– ulaz - prekidači

23/47

• Pojava tranzistora:– smanjenje dimenzija– smanjenje potrošnje el. energije– povećanje brzine

• Tipičan predstavnik – IBM 1401– 4 KB memorije– ulaz - prekidači

Page 28: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Treća generacija

• Pojava integrisanih kola:– smanjenje dimenzija– smanjenje potrošnje– ubrzanje rada

• Tipičan predstavnik –IBM System/360– tastatura, diskovi– 8-bitna memorija,

magnetna jezgra, do 6 MB

24/47

• Pojava integrisanih kola:– smanjenje dimenzija– smanjenje potrošnje– ubrzanje rada

• Tipičan predstavnik –IBM System/360– tastatura, diskovi– 8-bitna memorija,

magnetna jezgra, do 6 MB

Page 29: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Četvrta generacija• Pojava VLSI (Very Large Scale

Integration) kola:– milioni komponenti u integrisanim

kolima– mikroprocesor izdvojen u jednom

integrisanom kolu (inženjer TedHoff) - Intel 4004

– smanjenje dimenzija, potrošnje– ubrzanje

• Tipičan predstavnik – IBM PCračunar:– 8086 mikroprocesor– 64 KB memorije (max 640 KB)– 360 KB flopi disk– 10 MB hard disk

25/47

• Pojava VLSI (Very Large ScaleIntegration) kola:– milioni komponenti u integrisanim

kolima– mikroprocesor izdvojen u jednom

integrisanom kolu (inženjer TedHoff) - Intel 4004

– smanjenje dimenzija, potrošnje– ubrzanje

• Tipičan predstavnik – IBM PCračunar:– 8086 mikroprocesor– 64 KB memorije (max 640 KB)– 360 KB flopi disk– 10 MB hard disk

Page 30: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Četvrta generacija• 80286 procesor

– 16 bita– 16 MB RAM– 6 MHz – 12,5 MHz– 134000 tranzistora

• 80386 procesor– 32 bita– 16 MHz – 40 MHz– 4 GB RAM– 275000 tranzistora

• 80486 procesor– 32 bita– 25 MHz – 100 MHz– 4 GB RAM– 1,2 miliona tranzistora

• PENTIUM procesor (imene prati seriju 80xxx zbogprava AMD-a na mikrokod):

– P1• 3,1 miliona tranzistora• 60 MHz – 166 MHz

– P2• 7,5 miliona tranzistora• 233 – 333 MHz

– P3• 9,5 miliona tranzistora• 650 MHz – 1,4 GHz

– P4• 55 – 200 miliona

tranzistora!• 1,4 GHZ – 3,4 GHz

26/47

• 80286 procesor– 16 bita– 16 MB RAM– 6 MHz – 12,5 MHz– 134000 tranzistora

• 80386 procesor– 32 bita– 16 MHz – 40 MHz– 4 GB RAM– 275000 tranzistora

• 80486 procesor– 32 bita– 25 MHz – 100 MHz– 4 GB RAM– 1,2 miliona tranzistora

• PENTIUM procesor (imene prati seriju 80xxx zbogprava AMD-a na mikrokod):

– P1• 3,1 miliona tranzistora• 60 MHz – 166 MHz

– P2• 7,5 miliona tranzistora• 233 – 333 MHz

– P3• 9,5 miliona tranzistora• 650 MHz – 1,4 GHz

– P4• 55 – 200 miliona

tranzistora!• 1,4 GHZ – 3,4 GHz

Page 31: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Peta generacija

• Izraziti paralelizam.• Primena veštačke inteligencije.• Virtuelna realnost.• Intenzivan razvoj računarskih mreža.

27/47

• Izraziti paralelizam.• Primena veštačke inteligencije.• Virtuelna realnost.• Intenzivan razvoj računarskih mreža.

Page 32: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Šesta generacija

• Optika.• Biočipovi.• Dramatičan razvoj računarskih mreža –

poboljšanje u domenu radnih stanica ibrzina prenosa informacija ukomunikacionim linijama.

28/47

• Optika.• Biočipovi.• Dramatičan razvoj računarskih mreža –

poboljšanje u domenu radnih stanica ibrzina prenosa informacija ukomunikacionim linijama.

Page 33: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

3. Osnovni pojmovi

• Hardver (tehnička podrška)– oprema koja predstavlja fizičku (materijalnu)

realizaciju bilo kog sistema koji obavljaodređene funkcije.

• Softver (programska podrška)– sveukupnost instrukcija, programa i drugog

“operativnog oruđa” koji se generiše, aktivira ikoristi na razne načine da bi omogućiohardveru da reši dati problem i obavi željeneposlove.

29/47

• Hardver (tehnička podrška)– oprema koja predstavlja fizičku (materijalnu)

realizaciju bilo kog sistema koji obavljaodređene funkcije.

• Softver (programska podrška)– sveukupnost instrukcija, programa i drugog

“operativnog oruđa” koji se generiše, aktivira ikoristi na razne načine da bi omogućiohardveru da reši dati problem i obavi željeneposlove.

Page 34: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Organizacija hardvera

• Elementi:– memorija,– procesor,

• upravljačka jedinica,• aritmetičko logička jedinica,• registri,• ultra brza memorija.

– ulazno-izlazni podsistem,– periferijski uređaji.

30/47

• Elementi:– memorija,– procesor,

• upravljačka jedinica,• aritmetičko logička jedinica,• registri,• ultra brza memorija.

– ulazno-izlazni podsistem,– periferijski uređaji.

Page 35: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Memorija• Služi za prihvat, čuvanje

(pamćenje, memorisanje) ipredaju podataka i programa.

• Element koji pamtielementarnu informaciju (1 bit)je memorijski element.

• Memorijski elementi seudružuju u memorijskulokaciju (memorijsku ćeliju).

• Skup memorijskih ćelija jememorijski modul (blok).

• Memorijski modul je najčešćeadresibilan.– adresa je jedinstveni prirodan

broj dodeljen svakoj ćeliji.

31/47

• Služi za prihvat, čuvanje(pamćenje, memorisanje) ipredaju podataka i programa.

• Element koji pamtielementarnu informaciju (1 bit)je memorijski element.

• Memorijski elementi seudružuju u memorijskulokaciju (memorijsku ćeliju).

• Skup memorijskih ćelija jememorijski modul (blok).

• Memorijski modul je najčešćeadresibilan.– adresa je jedinstveni prirodan

broj dodeljen svakoj ćeliji.

Page 36: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Podela memorije• Sa aspekta pristupa:

– sa sekvencijalnim (serijskim) pristupom (magnetna traka, bušena traka,...)

– sa cikličkim (periodičnim) pristupom (hard disk, floppy disk, CD-ROM)– sa proizvoljnim (slučajnim) pristupom (RAM – Random Access

Memory).• Sa aspekta mogućnosti promene:

– promenljiva memorija (RAM memorija)• Statička (pamti sadržaj dok ima struje),• Dinamička (pamti sadržaj dok ima struje, ali mora da se osvežava).

– polupromenljiva memorija• PROM – Programmable Read Only Memory,• EPROM – Erasable PROM,• EEPROM – Electrically EPROM),• flash memorija.

– stalna memorija (ROM – Read Only Memory)

32/47

• Sa aspekta pristupa:– sa sekvencijalnim (serijskim) pristupom (magnetna traka, bušena traka,

...)– sa cikličkim (periodičnim) pristupom (hard disk, floppy disk, CD-ROM)– sa proizvoljnim (slučajnim) pristupom (RAM – Random Access

Memory).• Sa aspekta mogućnosti promene:

– promenljiva memorija (RAM memorija)• Statička (pamti sadržaj dok ima struje),• Dinamička (pamti sadržaj dok ima struje, ali mora da se osvežava).

– polupromenljiva memorija• PROM – Programmable Read Only Memory,• EPROM – Erasable PROM,• EEPROM – Electrically EPROM),• flash memorija.

– stalna memorija (ROM – Read Only Memory)

Page 37: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Podela memorije

• Po načinu smeštanja sadržaja:– adresne (pristup mem. ćeliji preko adrese),– bezadresne (asocijativne mem., stek mem.,

...).

33/47

• Po načinu smeštanja sadržaja:– adresne (pristup mem. ćeliji preko adrese),– bezadresne (asocijativne mem., stek mem.,

...).

ključ

sadržaj

asocijativnamemorija

stek

Page 38: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Memorija u računaru• Operativna memorija• Ultra brza memorija• Jedinice spoljne memorije (masovna memorija):

– floppy disk,– hard disk,– CD-ROM,– DVD,– USB pocket drive,– ZIP drive,– ...

34/47

• Operativna memorija• Ultra brza memorija• Jedinice spoljne memorije (masovna memorija):

– floppy disk,– hard disk,– CD-ROM,– DVD,– USB pocket drive,– ZIP drive,– ...

Page 39: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Procesor• Funkcije:

– izvršava operacije obradepodataka definisaneprogramom

– vrši upravljanjeračunarskim procesima iinterakcijama izmeđupojedinih jedinica računara

• Elementi:– aritmetičko-logička jedinica,– upravljačka jedinica,– registri,– ultrabrza memorija.

35/47

• Funkcije:– izvršava operacije obrade

podataka definisaneprogramom

– vrši upravljanjeračunarskim procesima iinterakcijama izmeđupojedinih jedinica računara

• Elementi:– aritmetičko-logička jedinica,– upravljačka jedinica,– registri,– ultrabrza memorija.

Page 40: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Aritmetičko-logička jedinica

• Izvršava aritmetičke operacije (sabiranje,oduzimanje,...), logičke operacije(konjukcija, disjunkcija, negacija, ...),pomeranje bitova, itd.

• Elementi:– kombinacione mreže (sabirači),– registri u kojima se čuvaju operandi,

međurezultati i rezultati operacija,– pomoćni registri (statusni registar, i dr.)

36/47

• Izvršava aritmetičke operacije (sabiranje,oduzimanje,...), logičke operacije(konjukcija, disjunkcija, negacija, ...),pomeranje bitova, itd.

• Elementi:– kombinacione mreže (sabirači),– registri u kojima se čuvaju operandi,

međurezultati i rezultati operacija,– pomoćni registri (statusni registar, i dr.)

Page 41: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Upravljačka jedinica

• Upravlja pojedinim koracima u obradipodataka i to na osnovu informacijasadržanih u instrukciji koju upravljačkajedinica zahvata iz memorije.

• Sinhronizuje U/I jedinice, memoriju iaritmetičko-logičku jedinicu.

• Dva pristupa:– direktan (hardverski) i– mikroprogramski.

37/47

• Upravlja pojedinim koracima u obradipodataka i to na osnovu informacijasadržanih u instrukciji koju upravljačkajedinica zahvata iz memorije.

• Sinhronizuje U/I jedinice, memoriju iaritmetičko-logičku jedinicu.

• Dva pristupa:– direktan (hardverski) i– mikroprogramski.

Page 42: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Registri

• Vrste:– radni (Akumulator, ...),– upravljački (PC, MAR, MBR,...).

38/47

Page 43: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Ultrabrza memorija

• Veoma brza i veoma skupa.• Operativna memorija je sporija, ali je cena

niža.• Posledica: između operativne memorije i

procesora se nalazi ultrabrza memorija.• Registri procesora se takođe mogu

smatrati za ultrabrzu memoriju.• Ovaj koncept se primenjuje i kod sporijih

periferijskih jedinica (bafer).39/47

• Veoma brza i veoma skupa.• Operativna memorija je sporija, ali je cena

niža.• Posledica: između operativne memorije i

procesora se nalazi ultrabrza memorija.• Registri procesora se takođe mogu

smatrati za ultrabrzu memoriju.• Ovaj koncept se primenjuje i kod sporijih

periferijskih jedinica (bafer).

Page 44: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Ulazno-izlazni podsistem

• Omogućuje razmenuporuka izmeđuračunara i spoljnogsveta.

• Načini realizacije:– programirani U/I,– sistem prekida,– direktan memorijski

pristup (DMA – DirectMemory Access).

40/47

• Omogućuje razmenuporuka izmeđuračunara i spoljnogsveta.

• Načini realizacije:– programirani U/I,– sistem prekida,– direktan memorijski

pristup (DMA – DirectMemory Access).

Page 45: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Programirani U/I

• Procesor stalno:– proverava status periferijske jedinice– uzima/šalje podatke iz/ka periferijskoj jedinici

• Mana: troši puno procesorskog vremena.• Retko se koristi.

41/47

• Procesor stalno:– proverava status periferijske jedinice– uzima/šalje podatke iz/ka periferijskoj jedinici

• Mana: troši puno procesorskog vremena.• Retko se koristi.

Page 46: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Sistem prekida

• Sistem prekida (interrupt) omogućava da se:– regularan program prekine ako se pojavi određeni

događaj,– upravljanje prenese na program zadužen za obradu

tog događaja, i po završetku tog programa– nastavi sa izvršenjem regularnog programa

• Koristi se kod prenosa manje količine podataka.• Sporo kod prenosa velikog broja podataka.

42/47

• Sistem prekida (interrupt) omogućava da se:– regularan program prekine ako se pojavi određeni

događaj,– upravljanje prenese na program zadužen za obradu

tog događaja, i po završetku tog programa– nastavi sa izvršenjem regularnog programa

• Koristi se kod prenosa manje količine podataka.• Sporo kod prenosa velikog broja podataka.

Page 47: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Direktan memorijski pristup

• Periferijska jedinica “sama” upisujepodatke u operativnu memoriju (ili čita iznje), bez intervencije procesora.

• Završetak posla se prijavi procesoruupotrebom prekida.

• Korisno kod prenosa velikog brojapodataka (tu su i programirani U/I i sistemprekida spori).

43/47

• Periferijska jedinica “sama” upisujepodatke u operativnu memoriju (ili čita iznje), bez intervencije procesora.

• Završetak posla se prijavi procesoruupotrebom prekida.

• Korisno kod prenosa velikog brojapodataka (tu su i programirani U/I i sistemprekida spori).

Page 48: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Periferijske jedinice• Služe za ulaz i/ili izlaz

podataka.• Podela:

– Ulazne jedinice• tastatura,• miš,• džojstik, itd.

– Izlazne jedinice• štampač,• monitor,• ploter, itd.

– ulazno/izlazne jedinice• floppy,• hard disk,• modem,• mrežna kartica, itd.

44/47

• Služe za ulaz i/ili izlazpodataka.

• Podela:– Ulazne jedinice

• tastatura,• miš,• džojstik, itd.

– Izlazne jedinice• štampač,• monitor,• ploter, itd.

– ulazno/izlazne jedinice• floppy,• hard disk,• modem,• mrežna kartica, itd.

Page 49: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Softverske karakteristike računara

• Aplikacioni programi (korisnički programi):– skup programa koje obično koriste i/ili razvijaju

korisnici za rešavanje svojih specifičnih problema.• Sistemski programi (upravljački programi):

– programi za organizaciju i upravljanje procesima radaračunarskog sistema.

• operativni sistemi (upravljanje radom rač. sistema)• uslužni programi (dijagnostika, upravljanje podacima, itd.)• simulatori računarskih sistema• programski sistemi za programiranje (asembleri, prevodioci,

interpreteri).

45/47

• Aplikacioni programi (korisnički programi):– skup programa koje obično koriste i/ili razvijaju

korisnici za rešavanje svojih specifičnih problema.• Sistemski programi (upravljački programi):

– programi za organizaciju i upravljanje procesima radaračunarskog sistema.

• operativni sistemi (upravljanje radom rač. sistema)• uslužni programi (dijagnostika, upravljanje podacima, itd.)• simulatori računarskih sistema• programski sistemi za programiranje (asembleri, prevodioci,

interpreteri).

Page 50: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Aplikacioni programi

• Neke klase aplikacionih programa:– DTP (DeskTop Publishing)

• Quark Express, MS Publisher, Adobe Page Maker, ...

– CAD/CAM• AutoCAD, ArhiCAD, ...

– Word processors/Spreadsheet• MS Office, Open Office, ...

– Internet• WWW: Internet Explorer, Mozilla Firefox, ...• Email: Outlook Express, The Bat, ...• Chat, voice chat: MS Messanger, Skype, ...

46/47

• Neke klase aplikacionih programa:– DTP (DeskTop Publishing)

• Quark Express, MS Publisher, Adobe Page Maker, ...

– CAD/CAM• AutoCAD, ArhiCAD, ...

– Word processors/Spreadsheet• MS Office, Open Office, ...

– Internet• WWW: Internet Explorer, Mozilla Firefox, ...• Email: Outlook Express, The Bat, ...• Chat, voice chat: MS Messanger, Skype, ...

Page 51: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Sistemski programi

• Operativni sistemi– Windows, Linux, Solaris, ...

• Dijagnostika– Motherboard Monitor, Network Monitor, ...

• Simulatori računarskih sistema– VMWare, Spectrum Emulator, Amiga

Emulator, ...• Programski sistemi za programiranje

– Visual Studio, Eclipse, ...47/47

• Operativni sistemi– Windows, Linux, Solaris, ...

• Dijagnostika– Motherboard Monitor, Network Monitor, ...

• Simulatori računarskih sistema– VMWare, Spectrum Emulator, Amiga

Emulator, ...• Programski sistemi za programiranje

– Visual Studio, Eclipse, ...

Page 52: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računarski praktikum

Matematičke osnove radaračunara

Page 53: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Matematičke osnove rada računara

• Brojni sistemi– pozicioni i nepozicioni brojni sistemi– računarske operacije

• Predstavljanje celobrojnih brojeva u računaru– predstavljanje negativnih brojeva

• Predstavljanje razlomljenih brojeva u računaru• Kodiranje informacija u računaru• Kodovi za detekciju i korekciju grešaka

2/46

• Brojni sistemi– pozicioni i nepozicioni brojni sistemi– računarske operacije

• Predstavljanje celobrojnih brojeva u računaru– predstavljanje negativnih brojeva

• Predstavljanje razlomljenih brojeva u računaru• Kodiranje informacija u računaru• Kodovi za detekciju i korekciju grešaka

Page 54: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Brojni sistemi

• Pozicioni i nepozicioni brojni sistemi– Nepozicioni brojni sistem – Rimski Brojni Sistem:

• I – jedan• V – pet• X – deset• L – pedeset• C – sto• D – pet stotina• M – hiljadu• M – milion (broj crtica iznad slova M označava koliko puta

množimo sa hiljadu).

3/46

• Pozicioni i nepozicioni brojni sistemi– Nepozicioni brojni sistem – Rimski Brojni Sistem:

• I – jedan• V – pet• X – deset• L – pedeset• C – sto• D – pet stotina• M – hiljadu• M – milion (broj crtica iznad slova M označava koliko puta

množimo sa hiljadu).

Page 55: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Pozicioni brojni sistem• Svaka cifra ima zadatu težinu.• Opšti oblik:

anan-1...a1a0 ,a-1a-2...a-mtj.

an∙bn+an-1∙bn-1 + ... + a1∙b1 + a0∙b0 + a-1∙b-1+a-2∙b-2+...+a-m∙b-m

• a – cifra• b – osnova (baza)• n+1 – broj celobrojnih cifara• m – broj decimala

4/46

• Svaka cifra ima zadatu težinu.• Opšti oblik:

anan-1...a1a0 ,a-1a-2...a-mtj.

an∙bn+an-1∙bn-1 + ... + a1∙b1 + a0∙b0 + a-1∙b-1+a-2∙b-2+...+a-m∙b-m

• a – cifra• b – osnova (baza)• n+1 – broj celobrojnih cifara• m – broj decimala

Page 56: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Pozicioni brojni sistem - primeri• 198410 = 1∙103 + 9∙102 + 8∙101 + 4∙100 =

1∙1000 + 9∙100 + 8∙10 + 4∙1 =1000 + 900 + 80 + 4 = 1984

• 100112 = 1∙24 + 0∙23 + 0∙22 + 1∙21 + 1∙20 =1∙16 + 0∙8 + 0∙4 + 1∙2 + 1∙1 = 16 + 2 + 1 =19

• 12,310= 1∙101 + 2∙100 + 3∙10-1 =1∙10 + 2∙1 + 3∙0,1 =10+2+0,3 =12,3

5/46

• 198410 = 1∙103 + 9∙102 + 8∙101 + 4∙100 =1∙1000 + 9∙100 + 8∙10 + 4∙1 =1000 + 900 + 80 + 4 = 1984

• 100112 = 1∙24 + 0∙23 + 0∙22 + 1∙21 + 1∙20 =1∙16 + 0∙8 + 0∙4 + 1∙2 + 1∙1 = 16 + 2 + 1 =19

• 12,310= 1∙101 + 2∙100 + 3∙10-1 =1∙10 + 2∙1 + 3∙0,1 =10+2+0,3 =12,3

Page 57: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Predstavljanje brojeva u različitimbrojnim sistemima

• Cifre brojnog sistema su: 0 do (baza – 1)• Primer:

– binarni (b=2): {0, 1}– oktalni (b=8): {0, 1, 2, 3, 4, 5, 6, 7}– decimalni (b=10): {0, 1, 2, 3,4 ,5 ,6 ,7 , 8, 9}– heksadecimalni (b=16): {0, 1, 2, 3, 4, 5, 6, 7,

8, 9, A, B, C, D, E, F}

6/46

• Cifre brojnog sistema su: 0 do (baza – 1)• Primer:

– binarni (b=2): {0, 1}– oktalni (b=8): {0, 1, 2, 3, 4, 5, 6, 7}– decimalni (b=10): {0, 1, 2, 3,4 ,5 ,6 ,7 , 8, 9}– heksadecimalni (b=16): {0, 1, 2, 3, 4, 5, 6, 7,

8, 9, A, B, C, D, E, F}

Page 58: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Primer

7/46

Page 59: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računske operacije – binarni brojnisistem

• Sabiranje:

• Oduzimanje:

8/46

• Sabiranje:

• Oduzimanje:

Page 60: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računske operacije – binarni brojnisistem

• Množenje:

• Deljenje:– nulom nije dozvoljeno– jedinicom - trivijalno

9/46

• Množenje:

• Deljenje:– nulom nije dozvoljeno– jedinicom - trivijalno

Page 61: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računske operacije – binarni brojnisistem

11+11---110

110-101---001

110 x 11--------110

+ 110-----------10010

1001 : 11 = 11----100-011-----0011-0011------0000

10/46

110 x 11--------110

+ 110-----------10010

1001 : 11 = 11----100-011-----0011-0011------0000

Page 62: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računske operacije – oktalni brojnisistem

447+652----1321

54,3-45,4----6,7

123 x 21--------123

+ 246-----------2603

2603 : 21 = 123----26-21----50-42----63-63-----

011/46

123 x 21--------123

+ 246-----------2603

2603 : 21 = 123----26-21----50-42----63-63-----

0

Page 63: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računske operacije –heksadecimalni brojni sistem

127+1AA----2D1

2C-25----7

53 x 11--------53

+ 53-----------583

583 : 11 = 53----58-55----33-33----0

12/46

53 x 11--------53

+ 53-----------583

583 : 11 = 53----58-55----33-33----0

1A0 x 13--------4E0

+ 1A0-----------1EE0

Page 64: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Konverzije brojnih sistema

• Opšta formula– celobrojni deo:

celobrojni deo (a) u novu bazu b:a : b = r1 i ostatak o1r1 : b = r2 i ostatak o2r2 : b = r3 i ostatak o3...rn : b = 0 i ostatak on----------------------------------rezultat: on ... o3 o2 o1

13/46

• Opšta formula– celobrojni deo:

celobrojni deo (a) u novu bazu b:a : b = r1 i ostatak o1r1 : b = r2 i ostatak o2r2 : b = r3 i ostatak o3...rn : b = 0 i ostatak on----------------------------------rezultat: on ... o3 o2 o1

Page 65: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Konverzije brojnih sistema

• Opšta formula– razlomljeni deo:

razlomljeni deo (a) u novu bazu b:a ∙ b = c1,r1 tj. celobrojni deo c1 i razlomljeni deo r1r1 ∙ b = c2,r2 tj. celobrojni deo c2 i razlomljeni deo r2r2 ∙ b = c3,r3 tj. celobrojni deo c3 i razlomljeni deo r3...rn ∙ b = cn,0 tj. celobrojni deo cn i razlomljeni deo 0------------------------------------------Rezultat: c1 c2 ... cn

– Problem: ako razlomljeni deo ne bude 0

14/46

• Opšta formula– razlomljeni deo:

razlomljeni deo (a) u novu bazu b:a ∙ b = c1,r1 tj. celobrojni deo c1 i razlomljeni deo r1r1 ∙ b = c2,r2 tj. celobrojni deo c2 i razlomljeni deo r2r2 ∙ b = c3,r3 tj. celobrojni deo c3 i razlomljeni deo r3...rn ∙ b = cn,0 tj. celobrojni deo cn i razlomljeni deo 0------------------------------------------Rezultat: c1 c2 ... cn

– Problem: ako razlomljeni deo ne bude 0

Page 66: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Primer

• Broj 701,62510 konvertovati uheksadecimalni brojni sistem.

701 : 16 = 43 i ostatak 13 D43 : 16 = 2 i ostatak 11 B

2 : 16 = 0 i ostatak 2----------------------------------rezultat: 2BD

15/46

• Broj 701,62510 konvertovati uheksadecimalni brojni sistem.

701 : 16 = 43 i ostatak 13 D43 : 16 = 2 i ostatak 11 B

2 : 16 = 0 i ostatak 2----------------------------------rezultat: 2BD

Page 67: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Primer

• Razlomljeni deo: 0,6250,625 ∙ 16 = 10,0 tj. celobrojni deo 10A i razlomljeni deo 0-----------------------

• Konačan rezultat: 2BD,A16

16/46

• Razlomljeni deo: 0,6250,625 ∙ 16 = 10,0 tj. celobrojni deo 10A i razlomljeni deo 0-----------------------

• Konačan rezultat: 2BD,A16

Page 68: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Primer

• Broj 701,062510 konvertovati u oktalnibrojni sistem.

701 : 8 = 87 i ostatak 587 : 8 = 10 i ostatak 710 : 8 = 1 i ostatak 21 : 8 = 0 i ostatak 1

----------------------------------rezultat: 1275

17/46

• Broj 701,062510 konvertovati u oktalnibrojni sistem.

701 : 8 = 87 i ostatak 587 : 8 = 10 i ostatak 710 : 8 = 1 i ostatak 21 : 8 = 0 i ostatak 1

----------------------------------rezultat: 1275

Page 69: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Primer

• Razlomljeni deo: 0,06250,0625 ∙ 8 = 0,5 tj. celobrojni deo 0 i razlomljeni deo 0,50,5 ∙ 8 = 4,0 tj. celobrojni deo 4 i razlomljeni deo 0-----------------------

• Konačan rezultat: 1275,048

18/46

• Razlomljeni deo: 0,06250,0625 ∙ 8 = 0,5 tj. celobrojni deo 0 i razlomljeni deo 0,50,5 ∙ 8 = 4,0 tj. celobrojni deo 4 i razlomljeni deo 0-----------------------

• Konačan rezultat: 1275,048

Page 70: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Primer

• Broj 37,62510 konvertovati u binarni brojnisistem.

37 : 2 = 18 i ostatak 118 : 2 = 9 i ostatak 09 : 2 = 4 i ostatak 14 : 2 = 2 i ostatak 02 : 2 = 1 i ostatak 01 : 2 = 0 i ostatak 1

----------------------------------rezultat: 100101

19/46

• Broj 37,62510 konvertovati u binarni brojnisistem.

37 : 2 = 18 i ostatak 118 : 2 = 9 i ostatak 09 : 2 = 4 i ostatak 14 : 2 = 2 i ostatak 02 : 2 = 1 i ostatak 01 : 2 = 0 i ostatak 1

----------------------------------rezultat: 100101

Page 71: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Primer

• Razlomljeni deo: 0,6250,625 ∙ 2 = 1,250 tj. celobrojni deo 1 i razlomljeni deo 0,2500,250 ∙ 2 = 0,5 tj. celobrojni deo 0 i razlomljeni deo 0,50,5 ∙ 2 = 1,0 tj. celobrojni deo 1 i razlomljeni deo 0-----------------------

• Konačan rezultat: 100101,1012

20/46

• Razlomljeni deo: 0,6250,625 ∙ 2 = 1,250 tj. celobrojni deo 1 i razlomljeni deo 0,2500,250 ∙ 2 = 0,5 tj. celobrojni deo 0 i razlomljeni deo 0,50,5 ∙ 2 = 1,0 tj. celobrojni deo 1 i razlomljeni deo 0-----------------------

• Konačan rezultat: 100101,1012

Page 72: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Konverzija iz binarnog u oktalni iheksadecimalni brojni sistem

• Drugačijim grupisanjem bitova:– po tri bita za oktalni brojni sistem– po četiri bita za heksadecimalni brojni sistem

• Primer:01 100 1112 = 1478

0110 01112 = 6716

21/46

• Drugačijim grupisanjem bitova:– po tri bita za oktalni brojni sistem– po četiri bita za heksadecimalni brojni sistem

• Primer:01 100 1112 = 1478

0110 01112 = 6716

Page 73: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

heksadecimalni oktalni

• Preko binarnog brojnog sistema.• Primer:

A316 = 1010 00112

10 100 0112 = 2438

22/46

• Preko binarnog brojnog sistema.• Primer:

A316 = 1010 00112

10 100 0112 = 2438

Page 74: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Predstavljanje celobrojnih brojevau računaru

• Svaka memorijska ćelija u računaru ima 8bitova – jedan bajt.– u jedan bajt se može smestiti broj u rasponu od

0 – 255• Ako je celobrojna vrednost veća od 255,

uzme se više bajtova:– dva bajta – 16 bita: 0 – 65535– četiri bajta – 32 bita: 0 – 4.294.967.295

23/46

• Svaka memorijska ćelija u računaru ima 8bitova – jedan bajt.– u jedan bajt se može smestiti broj u rasponu od

0 – 255• Ako je celobrojna vrednost veća od 255,

uzme se više bajtova:– dva bajta – 16 bita: 0 – 65535– četiri bajta – 32 bita: 0 – 4.294.967.295

Page 75: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Predstavljanje negativnih brojeva

• Preko znaka i apsolutne vrednosti– komplikovan algoritam za sabiranje i

oduzimanje• Preko komplementa

– jednostavan algoritam za sabiranje ioduzimanje

24/46

• Preko znaka i apsolutne vrednosti– komplikovan algoritam za sabiranje i

oduzimanje• Preko komplementa

– jednostavan algoritam za sabiranje ioduzimanje

Page 76: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Predstavljanje negativnih brojevakomplementom

• Potpuni komplement (u binarnom brojnomsistemu se još zove i komplement dvojke).

• Nepotpuni komplement (u binarnombrojnom sistemu se još zove i komplementjedinice).

• U oba sistema se poslednja cifra koristi zaznak broja (pozitivan ili negativan).

25/46

• Potpuni komplement (u binarnom brojnomsistemu se još zove i komplement dvojke).

• Nepotpuni komplement (u binarnombrojnom sistemu se još zove i komplementjedinice).

• U oba sistema se poslednja cifra koristi zaznak broja (pozitivan ili negativan).

Page 77: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Potpuni komplement

• broj x• n cifara• baza b• PotpuniKomplement (x) = bn+1 – x

26/46

• broj x• n cifara• baza b• PotpuniKomplement (x) = bn+1 – x

Page 78: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Potpuni komplement

• Primer:

x = 00102=210

n = 3b = 2PotpuniKomplement (2) = 23+1 – 2 =100002 – 00102 = 11102

znak!

27/46

• Primer:

x = 00102=210

n = 3b = 2PotpuniKomplement (2) = 23+1 – 2 =100002 – 00102 = 11102

znak!

Page 79: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Potpuni komplement

• Primer:

x = 11102=-210

n = 3b = 2PotpuniKomplement (-2) = 23+1 – (-2) =100002 – 11102 = 00102

znak!

28/46

• Primer:

x = 11102=-210

n = 3b = 2PotpuniKomplement (-2) = 23+1 – (-2) =100002 – 11102 = 00102

znak!

Page 80: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Sabiranje sa potpunimkomplementom

• Pravilo:A – B = A + PotpuniKomplement(B) =

Rezultat + Prenos• Ako je Prenos = 1 onda je Rezultat

korektan.• Ako je Prenos = 0 onda je rezultat

negativan (stvarni rezultat je potpunikomplement od rezultata sa negativnimpredznakom).

29/46

• Pravilo:A – B = A + PotpuniKomplement(B) =

Rezultat + Prenos• Ako je Prenos = 1 onda je Rezultat

korektan.• Ako je Prenos = 0 onda je rezultat

negativan (stvarni rezultat je potpunikomplement od rezultata sa negativnimpredznakom).

Page 81: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Primer

• 01012 – 00102 = 01012 + 11102 = 100112

• 00012 – 00102 = 00012 + 11102 = 011112

Stvarni rezultat: - PotpuniKomplement(11112) =100002 – 11112 = - 000012

prenos

30/46

• 01012 – 00102 = 01012 + 11102 = 100112

• 00012 – 00102 = 00012 + 11102 = 011112

Stvarni rezultat: - PotpuniKomplement(11112) =100002 – 11112 = - 000012

prenos

Page 82: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Prekoračenje (overflow)

• Javlja se kada se prilikom sabiranja dvabroja dobije rezultat koji ne može da staneu zadati broj bitova

• Pravilo:– ako se prilikom sabiranja dva pozitivna ili dva

negativna broja dobije broj suprotnog znaka,dogodilo se prekoračenje.

• Primer:01012 + 01002 = 10012 (5 + 4 = 9)10012 + 10102 = 100112 ((-7)+(-6) = -13)

31/46

• Javlja se kada se prilikom sabiranja dvabroja dobije rezultat koji ne može da staneu zadati broj bitova

• Pravilo:– ako se prilikom sabiranja dva pozitivna ili dva

negativna broja dobije broj suprotnog znaka,dogodilo se prekoračenje.

• Primer:01012 + 01002 = 10012 (5 + 4 = 9)10012 + 10102 = 100112 ((-7)+(-6) = -13)

Page 83: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Nepotpuni komplement

• broj x• n cifara• baza b• NepotpuniKomplement (x) = (bn+1 -1) – x

32/46

• broj x• n cifara• baza b• NepotpuniKomplement (x) = (bn+1 -1) – x

Page 84: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Nepotpuni komplement

• Primer:

x = 00102=210

n = 3b = 2NepotpuniKomplement (2) = (23+1 -1) – 2 =(100002 – 00012)– 00102 = 11012

znak!

33/46

• Primer:

x = 00102=210

n = 3b = 2NepotpuniKomplement (2) = (23+1 -1) – 2 =(100002 – 00012)– 00102 = 11012

znak!

Page 85: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Nepotpuni komplement

• Primer:

x = 11012=-210

n = 3b = 2NepotpuniKomplement (-2) = (23+1 -1)– (-2) =(100002 - 00012) – 11012 = 00102

znak!

34/46

• Primer:

x = 11012=-210

n = 3b = 2NepotpuniKomplement (-2) = (23+1 -1)– (-2) =(100002 - 00012) – 11012 = 00102

znak!

Page 86: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Sabiranje sa nepotpunimkomplementom

• Pravilo:A – B = A + NepotpuniKomplement(B) =

Rezultat + Prenos• Ako je Prenos = 1 onda je

konačan rezultat = rezultat bez prenosa + 1.• Ako je Prenos = 0 onda je rezultat

negativan (stvarni rezultat je nepotpunikomplement od rezultata sa negativnimpredznakom).

35/46

• Pravilo:A – B = A + NepotpuniKomplement(B) =

Rezultat + Prenos• Ako je Prenos = 1 onda je

konačan rezultat = rezultat bez prenosa + 1.• Ako je Prenos = 0 onda je rezultat

negativan (stvarni rezultat je nepotpunikomplement od rezultata sa negativnimpredznakom).

Page 87: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Primer• 01012 – 00102 = 01012 + 11012 = 1 00102

Pravi rezultat: 00102 + 1 = 00112

• 00012 – 00102 = 00012 + 11012 = 011102

Stvarni rezultat: - NepotpuniKomplement(11102) =100002 – 00012 - 11102 = - 000012

prenos

36/46

• 01012 – 00102 = 01012 + 11012 = 1 00102

Pravi rezultat: 00102 + 1 = 00112

• 00012 – 00102 = 00012 + 11012 = 011102

Stvarni rezultat: - NepotpuniKomplement(11102) =100002 – 00012 - 11102 = - 000012

prenos

Page 88: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Sračunavanje komplementa bezoduzimanja!

• Potpuni komplement: invertovati svebitove i dodati 1.– Primer: 00102 => 11012 + 1 = 11102

• Nepotpuni komplement: invertovati svebitove.– Primer: 00102 => 11012

37/46

• Potpuni komplement: invertovati svebitove i dodati 1.– Primer: 00102 => 11012 + 1 = 11102

• Nepotpuni komplement: invertovati svebitove.– Primer: 00102 => 11012

Page 89: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Predstavljanje celobrojnih brojevau računaru

• Svaka memorijska ćelija u računaru ima 8 bitova – jedanbajt.– u jedan bajt se može smestiti broj u rasponu od:

• 0 – 255, neoznačen• -128 – 127, označen, u potpunom/nepotpunom komplementu

• Ako je celobrojna vrednost veća od 128/255, uzme se višebajtova:– dva bajta – 16 bita:

• 0 – 65535, neoznačen• -32768 – 32767, označen, u potpunom/nepotpunom komplementu

– četiri bajta – 32 bita:• 0 – 4.294.967.295, neoznačen• -2.147.483.648 – 2.147.483.647, označen, u potpunom/nepotpunom

komplementu

38/46

• Svaka memorijska ćelija u računaru ima 8 bitova – jedanbajt.– u jedan bajt se može smestiti broj u rasponu od:

• 0 – 255, neoznačen• -128 – 127, označen, u potpunom/nepotpunom komplementu

• Ako je celobrojna vrednost veća od 128/255, uzme se višebajtova:– dva bajta – 16 bita:

• 0 – 65535, neoznačen• -32768 – 32767, označen, u potpunom/nepotpunom komplementu

– četiri bajta – 32 bita:• 0 – 4.294.967.295, neoznačen• -2.147.483.648 – 2.147.483.647, označen, u potpunom/nepotpunom

komplementu

Page 90: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Predstavljanje razlomljenih brojevau računaru

• U nepokretnom zarezu– fiksna pozicija decimalnog zareza.

• U pokretnom zarezu (floating point)– brojevi se predstavljaju u obliku: m ∙ be

m – mantisab – bazae – eksponent

• U memoriji računara se pamte mantisa ieksponent kao celobrojne označene vrednosti,najčešće sa bazom 2.

39/46

• U nepokretnom zarezu– fiksna pozicija decimalnog zareza.

• U pokretnom zarezu (floating point)– brojevi se predstavljaju u obliku: m ∙ be

m – mantisab – bazae – eksponent

• U memoriji računara se pamte mantisa ieksponent kao celobrojne označene vrednosti,najčešće sa bazom 2.

Page 91: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Primer

• 2*102 + 1*101 = 2*102 + 0,1*102 =(2+0,1)*102 = 2,1*102 = 210

• 2*102 * 3*101 = (2*3)*102+1 = 6*103 = 6000

40/46

• 2*102 + 1*101 = 2*102 + 0,1*102 =(2+0,1)*102 = 2,1*102 = 210

• 2*102 * 3*101 = (2*3)*102+1 = 6*103 = 6000

Page 92: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Pokretni zarez

• Sabiranje odn. oduzimanje - pre sabiranja(oduzimanja) brojevi se svedu na isti eksponent:m1∙ be + m2 ∙ be = (m1 + m2) ∙ be

• Množenje, odn. deljenje:(m1∙ be1) ∙ (m2 ∙ be2) = (m1 ∙ m2) ∙ b(e1+e2)

• Svođenje eksponenata na istu vrednost se svodina smanjenje/povećanje eksponenta, uzistovremeno deljenje/množenje mantise bazom– u računaru se deljenje/množenje matise bazom 2

svodi na pomeranje desno/levo bitova.41/46

• Sabiranje odn. oduzimanje - pre sabiranja(oduzimanja) brojevi se svedu na isti eksponent:m1∙ be + m2 ∙ be = (m1 + m2) ∙ be

• Množenje, odn. deljenje:(m1∙ be1) ∙ (m2 ∙ be2) = (m1 ∙ m2) ∙ b(e1+e2)

• Svođenje eksponenata na istu vrednost se svodina smanjenje/povećanje eksponenta, uzistovremeno deljenje/množenje mantise bazom– u računaru se deljenje/množenje matise bazom 2

svodi na pomeranje desno/levo bitova.

Page 93: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Pokretni zarez• Normalizovana mantisa: kada je

b-1 ≤ |m| ≤ 1• U praksi se normalizacija mantise svodi na

zapis: 1,xxxx, gde se 1 podrazumeva• Tada je preciznost najveća.• Pokretni zarez u računarnima, u nekim

situacijama nije dovoljno precizan!– razlog je taj što je baza 2, pa konverzija decimalnih

brojeva u oblik m ∙2e ne daje okrugao broj.– greška je veoma mala, ali se uzastopnim operacijama

može akumulirati.42/46

• Normalizovana mantisa: kada jeb-1 ≤ |m| ≤ 1

• U praksi se normalizacija mantise svodi nazapis: 1,xxxx, gde se 1 podrazumeva

• Tada je preciznost najveća.• Pokretni zarez u računarnima, u nekim

situacijama nije dovoljno precizan!– razlog je taj što je baza 2, pa konverzija decimalnih

brojeva u oblik m ∙2e ne daje okrugao broj.– greška je veoma mala, ali se uzastopnim operacijama

može akumulirati.

Page 94: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Primer

• 2*102 + 1*101 = 2*102 + 0,1*102 =(2+0,1)*102 = 2,1*102 = 210

• 2*102 * 3*101 = (2*3)*102+1 = 6*103 = 6000

43/46

• 2*102 + 1*101 = 2*102 + 0,1*102 =(2+0,1)*102 = 2,1*102 = 210

• 2*102 * 3*101 = (2*3)*102+1 = 6*103 = 6000

Page 95: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Kodiranje alfanumeričkihinformacija

• Alfanumerički simboli:– numerički simboli (0, 1, ..., 9)– slovni simboli (A, B, ..., Z)– inteprunkcijski znakovi (, . ; : “ ...)– specijalni simboli (#, $, %, ...)

• Standardi:– ASCII (American Standard Code for Information

Interchange)– ISO 8859-1– Windows CP 1250– Unicode

44/46

• Alfanumerički simboli:– numerički simboli (0, 1, ..., 9)– slovni simboli (A, B, ..., Z)– inteprunkcijski znakovi (, . ; : “ ...)– specijalni simboli (#, $, %, ...)

• Standardi:– ASCII (American Standard Code for Information

Interchange)– ISO 8859-1– Windows CP 1250– Unicode

Page 96: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Kodovi za detekciju i korekcijugrešaka

• Koncentrisaćemo se na binarni brojnisistem. Sve informacije će biti kodiranebinarno!

• Uzrok pojave grešaka.• Kodovi za detekciju grešaka

– u stanju su da detektuju grešku, ali ne i da jekoriguju

• Kodovi za korekciju grešaka– detekcija i korekcija grešaka

45/46

• Koncentrisaćemo se na binarni brojnisistem. Sve informacije će biti kodiranebinarno!

• Uzrok pojave grešaka.• Kodovi za detekciju grešaka

– u stanju su da detektuju grešku, ali ne i da jekoriguju

• Kodovi za korekciju grešaka– detekcija i korekcija grešaka

Page 97: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Kodovi za detekciju grešaka• Najjednostavnije je da se doda još jedan bit tako da

ukupan broj jedinica u poruci bude paran ili neparan.• Primer:

– originalna poruka: 001101– sa dodatnim bitom (uk. br. jedinica paran):

0011011– sa greškom: 0001011– vidimo da je došlo do greške pošto je ukupan broj jedinica

neparan!• Greške od više od jednog bita mogu da prođu

nedetektovane!1111011

46/46

• Najjednostavnije je da se doda još jedan bit tako daukupan broj jedinica u poruci bude paran ili neparan.

• Primer:– originalna poruka: 001101– sa dodatnim bitom (uk. br. jedinica paran):

0011011– sa greškom: 0001011– vidimo da je došlo do greške pošto je ukupan broj jedinica

neparan!• Greške od više od jednog bita mogu da prođu

nedetektovane!1111011

Page 98: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Karakter za proveru bloka

b1 b2 b3 b4 p1b5 b6 b7 b8 p2p3 p4 p5 p6 p7• U slučaju greške od jednog bita bilo gde,

moguće je detektovati i korigovati grešku:b1 b2 b3 b4 p1b5 b6 b7 b8 p2p3 p4 p5 p6 p7

47/46

b1 b2 b3 b4 p1b5 b6 b7 b8 p2p3 p4 p5 p6 p7• U slučaju greške od jednog bita bilo gde,

moguće je detektovati i korigovati grešku:b1 b2 b3 b4 p1b5 b6 b7 b8 p2p3 p4 p5 p6 p7

Page 99: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

CRC kod

• Cyclic Redundancy Character• Poruka se kao niz bitova deli sa nekim

unapred dogovorenim brojem, rezultat seodbacuje a ostatak pri deljenju se doda uzporuku.

• Na prijemnoj strani se primljena porukadeli istim brojem i ostatak se poredi saprimljenim ostatkom.

48/46

• Cyclic Redundancy Character• Poruka se kao niz bitova deli sa nekim

unapred dogovorenim brojem, rezultat seodbacuje a ostatak pri deljenju se doda uzporuku.

• Na prijemnoj strani se primljena porukadeli istim brojem i ostatak se poredi saprimljenim ostatkom.

Page 100: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računarski praktikum

Rešavanje problema primenomračunara

Page 101: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Rešavanje problema primenomračunara

• Tri faze (opšte):– analiza problema– specifikacija rešenja– realizacija

2/36

• Tri faze (opšte):– analiza problema– specifikacija rešenja– realizacija

Page 102: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Rešavanje problema primenomračunara

• Tri faze:– analiza problema– razvoj algoritma za rešavanje problema– transformacija algoritma u računarski program

(programiranje).

3/36

• Tri faze:– analiza problema– razvoj algoritma za rešavanje problema– transformacija algoritma u računarski program

(programiranje).

Page 103: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Analiza problema

• Cilj: da pruži preciznu definiciju i opisproblema, specifikaciju ulaznih podataka,specifikaciju izlaznih podataka (rezultatekoji se očekuju), kao i postupak da se dotakvih rezultata dođe.

• Specifikacija ulaznih i izlaznih podatakaodređuje u izvesnom stepenu i algoritamobrade podataka.

4/36

• Cilj: da pruži preciznu definiciju i opisproblema, specifikaciju ulaznih podataka,specifikaciju izlaznih podataka (rezultatekoji se očekuju), kao i postupak da se dotakvih rezultata dođe.

• Specifikacija ulaznih i izlaznih podatakaodređuje u izvesnom stepenu i algoritamobrade podataka.

Page 104: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Algoritmi• Algoritam predstavlja niz uputstava koja tačno

određuju redosled operacija koje će dovesti dorešenja za probleme datog tipa.

• Karakteristike:– broj operacija koje se moraju izvršiti za rešenje

konkretnog problema nije poznat unapred.– procedura koja je određena algoritmom je

deterministički proces – data u obliku konačnog brojainstrukcija

– instrukcije koje čine algoritam definišu proceduru kojase može izvršiti na odgovarajućem skupu podataka iu svakom slučaju dovodi do korektnog rezultata.

5/36

• Algoritam predstavlja niz uputstava koja tačnoodređuju redosled operacija koje će dovesti dorešenja za probleme datog tipa.

• Karakteristike:– broj operacija koje se moraju izvršiti za rešenje

konkretnog problema nije poznat unapred.– procedura koja je određena algoritmom je

deterministički proces – data u obliku konačnog brojainstrukcija

– instrukcije koje čine algoritam definišu proceduru kojase može izvršiti na odgovarajućem skupu podataka iu svakom slučaju dovodi do korektnog rezultata.

Page 105: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Algoritmi

• 5 važnih osobina:– konačnost– definisanost (bez dvosmislenosti – opis u

odgovarajućem jeziku)– ulaz– izlaz– efikasnost (vreme ili količina zauzete

memorije)

6/36

• 5 važnih osobina:– konačnost– definisanost (bez dvosmislenosti – opis u

odgovarajućem jeziku)– ulaz– izlaz– efikasnost (vreme ili količina zauzete

memorije)

Page 106: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Predstavljanje algoritama

• Različite tehnike:– prirodni jezici– blok dijagrami algoritma (grafička predstava)– meta jezici (između prirodnih i programskih

jezika)– programski jezici

7/36

• Različite tehnike:– prirodni jezici– blok dijagrami algoritma (grafička predstava)– meta jezici (između prirodnih i programskih

jezika)– programski jezici

Page 107: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Blok dijagram algoritma

8/36

Page 108: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Simbol obrade

• Za predstavljanje svih operacija u kojima dolazido transformacije informacionih strukturanajčešće aritmetičkim, logičkim ili operacijamaprenosa informacionog sadržaja.

9/36

A <- B * 3

Page 109: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Simbol obrade

POČETAK

X 2

10/36

Y X * 4

KRAJ

Page 110: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Simbol ulaza/Izlaza

• Za predstavljanje ulazno/izlaznih operacija kojeuvode podatke u obradu i/ili ispisuju rezultateobrade.

POČETAK

11/36

UČITAJX

ULAZ N

KRAJ

IZLAZ REZ

REZ N * N

Page 111: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Simbol odluke

• Za označavanje operacijaodlučivanja ili grananjatoka izvođenja algoritma,a prema nekomkriterijumu odlučivanja.

• Dve vrste:– aritmetički– logički

E1:E2< >

=

12/36

• Za označavanje operacijaodlučivanja ili grananjatoka izvođenja algoritma,a prema nekomkriterijumu odlučivanja.

• Dve vrste:– aritmetički– logički L

DA

NE

E1:E2< >

=

Page 112: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Simbol podalgoritma• Da označi više

algoritamskih korakapogodno grupisanih ucelinu koju nazivamopodalgoritam i koju nijepotrebno dalje razlagati udetalje.

• Motivacija:– ponavljajuće delove

grupisati u podalgoritam– dekompozicija problema na

manje

Sortiranje niza A porastućem redosledu

13/36

• Da označi višealgoritamskih korakapogodno grupisanih ucelinu koju nazivamopodalgoritam i koju nijepotrebno dalje razlagati udetalje.

• Motivacija:– ponavljajuće delove

grupisati u podalgoritam– dekompozicija problema na

manje

Sortiranje niza A porastućem redosledu

Page 113: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Podalgoritmi

POČETAK

ULAZN, A

KRAJ

IZLAZREZ

A = {ai}, i = 1, ..., NN - br. el. niza

SABIR(A, N, REZ)

POČETAK

POVRATAK

=SUMA <- SUMA + X(i)

I <- 1SUMA <- 0

I <- I + 1

I > M

DA

NE

SABIR(X, M, SUMA)X = {xi}, i = 1, ..., M

M - br. el.SUMA - suma niza

14/36

POČETAK

ULAZN, A

KRAJ

IZLAZREZ

A = {ai}, i = 1, ..., NN - br. el. niza

SABIR(A, N, REZ)

POČETAK

POVRATAK

=SUMA <- SUMA + X(i)

I <- 1SUMA <- 0

I <- I + 1

I > M

DA

NE

SABIR(X, M, SUMA)X = {xi}, i = 1, ..., M

M - br. el.SUMA - suma niza

Page 114: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Osnovne algoritamske strukture

• Linijska struktura• Struktura sa grananjem• Petlja• Struktura sa podalgoritmima

15/36

• Linijska struktura• Struktura sa grananjem• Petlja• Struktura sa podalgoritmima

Page 115: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Linijska struktura

• Postoji samo jednagrana izvršavanja.

• Svaki algoritamskikorak se izvršavasamo jednom.

POČETAK

ULAZA, B

SUMA <- A+BRAZ<- A - B

IZLAZA, B, SUMA, RAZ

KRAJ

16/36

• Postoji samo jednagrana izvršavanja.

• Svaki algoritamskikorak se izvršavasamo jednom.

POČETAK

ULAZA, B

SUMA <- A+BRAZ<- A - B

IZLAZA, B, SUMA, RAZ

KRAJ

Page 116: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Struktura sa grananjem

• Kada se u algoritmupojavi korakodlučivanja, odn.aritmetičkog ililogičkog testa.

POČETAK

ULAZA

KRAJ

A:0< >

=

ABS <- - (A) ABS <- 0 ABS <- A

IZLAZA, ABS

17/36

• Kada se u algoritmupojavi korakodlučivanja, odn.aritmetičkog ililogičkog testa.

POČETAK

ULAZA

KRAJ

A:0< >

=

ABS <- - (A) ABS <- 0 ABS <- A

IZLAZA, ABS

Page 117: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Petlja (ciklična struktura)

• Odlikuje se višestrukim izvršavanjemjednog ili više algoritamskih koraka.

18/36

Page 118: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Petlja (ciklična struktura)

• Suma niza:– Niz:

A = {a1, a2, a3, ..., aN}= {ai}, i = 1, ..., N

POČETAK

ULAZN, A

KRAJ

=SUMA <- SUMA + A(i)

I <- 1SUMA <- 0

I <- I + 1

IZLAZSUMA

I > N

DA

NE

A = {ai}, i = 1, ..., N

19/36

POČETAK

ULAZN, A

KRAJ

=SUMA <- SUMA + A(i)

I <- 1SUMA <- 0

I <- I + 1

IZLAZSUMA

I > N

DA

NE

A = {ai}, i = 1, ..., N

Page 119: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Struktura sa podalgoritmima

• Veza između algoritma i podalgoritma –lista ulazno-izlaznih parametara– stvarna lista parametara – parametri koji se

prosleđuju podalgoritmu iz glavnog algoritma– formalna lista parametara – lista parametara

pozvanog algoritma• Broj, redosled i vrsta parametara stvarne i

formalne liste mora da se poklapa.

20/36

• Veza između algoritma i podalgoritma –lista ulazno-izlaznih parametara– stvarna lista parametara – parametri koji se

prosleđuju podalgoritmu iz glavnog algoritma– formalna lista parametara – lista parametara

pozvanog algoritma• Broj, redosled i vrsta parametara stvarne i

formalne liste mora da se poklapa.

Page 120: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Struktura sa podalgoritmima

POČETAK

ULAZN, A

KRAJ

IZLAZREZ

A = {ai}, i = 1, ..., NN - br. el. niza

SABIR(A, N, REZ)

POČETAK

POVRATAK

=SUMA <- SUMA + X(i)

I <- 1SUMA <- 0

I <- I + 1

I > M

DA

NE

SABIR(X, M, SUMA)X = {xi}, i = 1, ..., M

M - br. el.SUMA - suma niza

21/36

POČETAK

ULAZN, A

KRAJ

IZLAZREZ

A = {ai}, i = 1, ..., NN - br. el. niza

SABIR(A, N, REZ)

POČETAK

POVRATAK

=SUMA <- SUMA + X(i)

I <- 1SUMA <- 0

I <- I + 1

I > M

DA

NE

SABIR(X, M, SUMA)X = {xi}, i = 1, ..., M

M - br. el.SUMA - suma niza

Page 121: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Struktura sa podalgoritmima

• Primer:

)!(!

!

ini

nn

i

n

i

n

i i

in

11

POČETAK

ULAZ N, I

FAKT(N, FN)

FAKT(I, FI)

22/36

• Primer:

n

i

n

i i

in

11

10

n

nn

1

FAKT(N-I, FNI)

KRAJ

IZLAZ REZ

REZ FN/(FI*FNI)

Page 122: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Struktura sa podalgoritmima

• Parametar N jeulazni

• Parametar F jeizlazni– u njemu je

sračunati faktorijel(faktorijel od N)

POČETAK

I 1F 1

F F * I

FAKT(N, F)F – Faktorijelod N

23/36

• Parametar N jeulazni

• Parametar F jeizlazni– u njemu je

sračunati faktorijel(faktorijel od N)

POVRATAK

F F * I

I I + 1

I <=NDA

NE

Page 123: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Struktura sa podalgoritmima

• Bolje rešenje:

)!(!

!

ini

nn

i

n

i

n

i i

in

11

POČETAK

ULAZ N, I

24/36

• Bolje rešenje:

n

i

n

i i

in

11

10

n

nn

1

BIN(N, I, REZ)

KRAJ

IZLAZ REZ

Page 124: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Struktura sa podalgoritmima

• Bolje rešenje:

)!(!

!

ini

nn

i

n

i

n

i i

in

11

POČETAK

K 0REZ 1

REZ (N-K)/(K+1)*REZ

BIN(N, I, REZ)REZ – Bin. koefod N nad I

25/36

• Bolje rešenje:

n

i

n

i i

in

11

10

n

nn

1

POVRATAK

REZ (N-K)/(K+1)*REZ

K K + 1

K <=IDA

NE

Page 125: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

UML

• Objedinjeni jezik modeliranja (UNIFIEDMODELING LANGUAGE)

• Jezik za modeliranje koji je standardizovanod strane OMG (Object ManagementGroup), najšire korišćen u ObjektnoOrijentisanoj (OO) analizi i dizajnu

• Vizuelni jezik• UML daje standardizovanu notaciju i

semantiku za skup OO apstrakcija

26/36

• Objedinjeni jezik modeliranja (UNIFIEDMODELING LANGUAGE)

• Jezik za modeliranje koji je standardizovanod strane OMG (Object ManagementGroup), najšire korišćen u ObjektnoOrijentisanoj (OO) analizi i dizajnu

• Vizuelni jezik• UML daje standardizovanu notaciju i

semantiku za skup OO apstrakcija

Page 126: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Dijagrami• Slučajevi korišćenja (use-case diagram)• Statički

– dijagram klasa (class diagram)• Dinamički

– dijagram sekvenci (sequence diagram)– dijagram saradnje (collaboration diagram)– dijagram stanja (statechart diagram)– dijagram aktivnosti (activity diagram)

• Fizički– dijagram komponenti (component diagram)– dijagram razmeštaja (deployment diagram)

27/36

• Slučajevi korišćenja (use-case diagram)• Statički

– dijagram klasa (class diagram)• Dinamički

– dijagram sekvenci (sequence diagram)– dijagram saradnje (collaboration diagram)– dijagram stanja (statechart diagram)– dijagram aktivnosti (activity diagram)

• Fizički– dijagram komponenti (component diagram)– dijagram razmeštaja (deployment diagram)

Page 127: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Slučajevi korišćenja – primer

Radnik kod aplikanta : 4Obradjivač/ komisija : 9

Registacija spoljnjeg korisnika

Formiranje validne prijave kroz interakciju Aplikanta i Obrađivača

Podnošenje konačne prijave

28/36

Radnik kod aplikanta : 4Obradjivač/ komisija : 9

Registacija spoljnjeg korisnika

Formiranje validne prijave kroz interakciju Aplikanta i Obrađivača

Podnošenje konačne prijave

Page 128: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Dijagram klasa – primer

29/36

Page 129: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Dijagram sekvenci – primer

Page 130: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Dijagram saradnje - primer

Page 131: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Dijagram stanja – primer

32/36

Page 132: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Dijagram aktivnosti – primerRadnik kod aplikanta Obrađivač/ komisija

[Nije istekao]

[Istekao]

Provera da li je istekao zvanican rok za

preliminarnuobradupodataka

Npr. Receno je da 5(N) dana pre isteka

zvanicnog rokasekretarijat nece imati

vremena zapreliminarnu obradu i

nece se time baviti

[Da]

[Ne]

[Ne]

[Da]

<<decisionInput>>Da li je prikupljena

dokumentacijakompletna?

<<decisionInput>>Da li korisnik želi danastavi da sakupljadokumentaciju i da

konkurise?

Sakupljanje dokumentacije potrebne za konkurs

Proveravanje kompletnosti primljene dokumentacije

Sakupljena konkursna dokumentacija [inicijalno]

Dokumentacija kompletna

Obaveštavanje aplikanta

Obaveštavanje aplikanta o potrebnoj dodatnoj dokumentacij iNastavak sakupljanja dokumentacije

Sakupljanje dodatne dokumentacije

Sakupljena konkursna dokumentacija [dopunjeno]

Provera roka

Radnik kod aplikanta Obrađivač/ komisija

[Nije istekao]

[Istekao]

Provera da li je istekao zvanican rok za

preliminarnuobradupodataka

Npr. Receno je da 5(N) dana pre isteka

zvanicnog rokasekretarijat nece imati

vremena zapreliminarnu obradu i

nece se time baviti

[Da]

[Ne]

[Ne]

[Da]

<<decisionInput>>Da li je prikupljena

dokumentacijakompletna?

<<decisionInput>>Da li korisnik želi danastavi da sakupljadokumentaciju i da

konkurise?

Sakupljanje dokumentacije potrebne za konkurs

Proveravanje kompletnosti primljene dokumentacije

Sakupljena konkursna dokumentacija [inicijalno]

Dokumentacija kompletna

Obaveštavanje aplikanta

Obaveštavanje aplikanta o potrebnoj dodatnoj dokumentacij iNastavak sakupljanja dokumentacije

Sakupljanje dodatne dokumentacije

Sakupljena konkursna dokumentacija [dopunjeno]

Provera roka

Page 133: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Dijagram komponenti – primeră

Primarni

ă

agentski centar

ă

Agentsk i

ă

centar 1

ă

Agentski

ă

centar 2

ă

Agentski

ă

centar 3

ă

Agentski

ă

centar 4

ă

Agentski

ă

centar 5

ă

Agentski

ă

centar 6

ă

Primarni

ă

agentski centar

ă

Agentsk i

ă

centar 1

ă

Agentski

ă

centar 2

ă

Agentski

ă

centar 3

ă

Agentski

ă

centar 4

ă

Agentski

ă

centar 5

ă

Agentski

ă

centar 6

Page 134: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

<<TCP/IP>>

Server baze:PowerPC

Dijagram razmeštaja – primer

<<TCP/IP>>

Atena:PENTIUM

Afrodita:PENTIUM

Page 135: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Programiranje• Implementacija algoritma na računaru• Program: niz naredbi (instrukcija) pisanih u

određenom programskom jeziku (izvornomjeziku) koji poseduje implicitan ili eksplicitanredosled izvršavanja na računaru.

• Nakon pisanja programa sledi:– testiranje i– otkrivanje grešaka (debagiranje – debugging):

• greška u lošoj definiciji problema• logičke greške u algoritmu• greške prilikom unosa programa.

36/36

• Implementacija algoritma na računaru• Program: niz naredbi (instrukcija) pisanih u

određenom programskom jeziku (izvornomjeziku) koji poseduje implicitan ili eksplicitanredosled izvršavanja na računaru.

• Nakon pisanja programa sledi:– testiranje i– otkrivanje grešaka (debagiranje – debugging):

• greška u lošoj definiciji problema• logičke greške u algoritmu• greške prilikom unosa programa.

Page 136: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računarski praktikum

Masovna memorija

Page 137: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Masovna memorija

• Magnetni diskovi– hard disk,– flopi disk

• Optički uređaji– CD-ROM– CD-Recordable (CD-R)– CD-R/W– DVD

• Magnetna traka2/41

• Magnetni diskovi– hard disk,– flopi disk

• Optički uređaji– CD-ROM– CD-Recordable (CD-R)– CD-R/W– DVD

• Magnetna traka

Page 138: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Magnetni diskovi

• Podloga u obliku diska presvučena magnetnimmaterijalom

• Podloga– je ranije bila aluminijum– je sada od stakla

• uniformnija površina– povećana čitljivost podataka

• smanjen broj oštećenja površine– smanjen broj grešaka

• manja udaljenost glave od površine• čvršće?• veća otpornost na udarce

3/41

• Podloga u obliku diska presvučena magnetnimmaterijalom

• Podloga– je ranije bila aluminijum– je sada od stakla

• uniformnija površina– povećana čitljivost podataka

• smanjen broj oštećenja površine– smanjen broj grešaka

• manja udaljenost glave od površine• čvršće?• veća otpornost na udarce

Page 139: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Čitanje i pisanje po magnetnimdiskovima

• Čitanje i pisanje preko navoja žice zvanog glava• Za vreme čitanja i pisanja, glava je fiksirana, a ploča se rotira ispod nje• Čitanje (nekada)

– magnetno polje koje se pomera ispod glave izaziva indukciju struje navoju glave– isti navoj i za čitanje i za pisanje

• Čitanje (sada)– odvojene glave za čitanje i pisanje, jedna uz drugu– delimično oklopljni senzor koji menja otpornost u zavisnosti od magnetnog polja

(magnetoresistive sensor – MR sensor)• električna otpornost senzora zavisi od smera magnetnog polja• ovo omogućuje rad na većim frekvencijama

– veća gustina zapisa i brzina

• Pisanje– struja kroz navoj izaziva pojavu magnetnog polja– impulsi se šalju u navoj– magnetno polje izaziva namagnetisanje materijala ispod glave

• različit smer struje izaziva različit smer namagnetisanja 4/41

• Čitanje i pisanje preko navoja žice zvanog glava• Za vreme čitanja i pisanja, glava je fiksirana, a ploča se rotira ispod nje• Čitanje (nekada)

– magnetno polje koje se pomera ispod glave izaziva indukciju struje navoju glave– isti navoj i za čitanje i za pisanje

• Čitanje (sada)– odvojene glave za čitanje i pisanje, jedna uz drugu– delimično oklopljni senzor koji menja otpornost u zavisnosti od magnetnog polja

(magnetoresistive sensor – MR sensor)• električna otpornost senzora zavisi od smera magnetnog polja• ovo omogućuje rad na većim frekvencijama

– veća gustina zapisa i brzina

• Pisanje– struja kroz navoj izaziva pojavu magnetnog polja– impulsi se šalju u navoj– magnetno polje izaziva namagnetisanje materijala ispod glave

• različit smer struje izaziva različit smer namagnetisanja

Page 140: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Inductive Write MR Read

5/41

Page 141: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Organizacija podataka iformatiranje

• Disk se sastoji iz koncentričnih krugova ilistaza– postoji razmak između staza

• smanjenje razmaka povećava kapacitet

• Staze se dele na sektore– najmanji blok podataka je sektor

• Isti broj bitova po stazi (varijabilna gustinapakovanja)– konstantna ugaona brzina

6/41

• Disk se sastoji iz koncentričnih krugova ilistaza– postoji razmak između staza

• smanjenje razmaka povećava kapacitet

• Staze se dele na sektore– najmanji blok podataka je sektor

• Isti broj bitova po stazi (varijabilna gustinapakovanja)– konstantna ugaona brzina

Page 142: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Staze i sektori

7/41

Page 143: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Brzina obrtanja diska• Zbog konstantne ugaone brzine, bitovi bliže centru

putuju sporije od bitova na spoljnom delu diska• Postoji razlika u razmaku između bitova na različitim

stazama (da bi ukupan protok bio isti na svimstazama)

• Konstantna ugaona brzina (constant angular velocity- CAV):– sektori po stazama imaju oblik pite (pie shaped)– glava se pomera do zadate staze i čeka da sektor prođe

ispod– gubi se prostor na spoljnim stazama

• smanjena gustina podataka8/41

• Zbog konstantne ugaone brzine, bitovi bliže centruputuju sporije od bitova na spoljnom delu diska

• Postoji razlika u razmaku između bitova na različitimstazama (da bi ukupan protok bio isti na svimstazama)

• Konstantna ugaona brzina (constant angular velocity- CAV):– sektori po stazama imaju oblik pite (pie shaped)– glava se pomera do zadate staze i čeka da sektor prođe

ispod– gubi se prostor na spoljnim stazama

• smanjena gustina podataka

Page 144: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Raspored sektora

9/41

Page 145: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Pronalaženje sektora

• Glava mora da pronađe stazu i početaksektora

• Formatiranje diska– zapisivanje dodatne informacije koja nije

dostupna korisniku– označava staze i sektore

10/41

• Glava mora da pronađe stazu i početaksektora

• Formatiranje diska– zapisivanje dodatne informacije koja nije

dostupna korisniku– označava staze i sektore

Page 146: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Fizičke karakteristike magnetnihdiskova

1. Fiksna ili pomerajuća glava2. Promenljivi (removable) ili fiksni3. Jednostran ili dvostran (single/double

sided) medijum4. Jedna ili više ploča5. Mehanizam glave:

– kontaktni (floppy)– fiksan razmak– plutajući (leteći) – Winchester

11/41

1. Fiksna ili pomerajuća glava2. Promenljivi (removable) ili fiksni3. Jednostran ili dvostran (single/double

sided) medijum4. Jedna ili više ploča5. Mehanizam glave:

– kontaktni (floppy)– fiksan razmak– plutajući (leteći) – Winchester

Page 147: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

1. Fiksna ili pomerajuća glava

• Fiksna glava– jedna glava po stazi– glava montirane na fiksnom postolju, svaka

iznad svoje staze• Pomerajuća glava

– jedna glava po strani– glava montirana na postolju koje se može

pomerati iznad staza

12/41

• Fiksna glava– jedna glava po stazi– glava montirane na fiksnom postolju, svaka

iznad svoje staze• Pomerajuća glava

– jedna glava po strani– glava montirana na postolju koje se može

pomerati iznad staza

Page 148: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

2. Promenljivi ili fiksni diskovi

• Promenljivi (removable) disk– može da se ukloni iz uređaja i da se zameni

drugim diskom– “neograničen kapacitet”– jednostavan prenos podataka (frisby net)

• Fiksni disk– trajno montiran u uređaju

13/41

• Promenljivi (removable) disk– može da se ukloni iz uređaja i da se zameni

drugim diskom– “neograničen kapacitet”– jednostavan prenos podataka (frisby net)

• Fiksni disk– trajno montiran u uređaju

Page 149: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

3. Jedna ili dve strane

• Magnetni sloj može biti na obe ili samo najednoj strani podloge

14/41

Page 150: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

4. Jedna ili više ploča

• Više ploča:– jedna glava po strani– glave su poravnate i spojene na istu podlogu– staze istog prečnika formiraju cilindre

• Podaci su razmešteni po cilindru– cilindar je skup staza sa istim prečnikom– smanjuje pomeranje glave– povećava brzinu prenosa (transfer rate)

15/41

• Više ploča:– jedna glava po strani– glave su poravnate i spojene na istu podlogu– staze istog prečnika formiraju cilindre

• Podaci su razmešteni po cilindru– cilindar je skup staza sa istim prečnikom– smanjuje pomeranje glave– povećava brzinu prenosa (transfer rate)

Page 151: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Više ploča

16/41

Page 152: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Staze istog prečnika formiraju cilindar

17/41

Page 153: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

5. Mehanizam glave

• Procep na glavi bi trebalo da je što manji– manji procep, veća gustina podataka– manji procep, manja razdaljina od glave do površine

• veća verovatnoća greške zbog nečistoća i nesavršenostipodloge

• Tri vrste mehanizma glave:– kontaktni (floppy)– fiksan razmak– plutajući (leteći) – Winchester

• moderni hard diskovi

18/41

• Procep na glavi bi trebalo da je što manji– manji procep, veća gustina podataka– manji procep, manja razdaljina od glave do površine

• veća verovatnoća greške zbog nečistoća i nesavršenostipodloge

• Tri vrste mehanizma glave:– kontaktni (floppy)– fiksan razmak– plutajući (leteći) – Winchester

• moderni hard diskovi

Page 154: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Floppy Disk

• 8”, 5.25”, 3.5”• Mali kapacitet

– do 1.44Mbyte (2.88M nikada nije zaživeo)• Sporo• Jevtino• Zastarelo!

19/41

• 8”, 5.25”, 3.5”• Mali kapacitet

– do 1.44Mbyte (2.88M nikada nije zaživeo)• Sporo• Jevtino• Zastarelo!

Page 155: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Winchester Hard Disk

• Razvijen u IBM-u, u Winchester (USA)• Hermetički zatvoren disk• Jedna ili više ploča• Lagane glave lebde na sloju vazduha koji

se pomera usled okretanja diska• Veoma mali razmak između glave i ploče

20/41

• Razvijen u IBM-u, u Winchester (USA)• Hermetički zatvoren disk• Jedna ili više ploča• Lagane glave lebde na sloju vazduha koji

se pomera usled okretanja diska• Veoma mali razmak između glave i ploče

Page 156: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Vreme za jednu operaciju

21/41

Page 157: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

RAID

• Redundant Array of Independent Disks• Redundant Array of Inexpensive Disks• 6 nivoa u upotrebi• Skup fizičkih diskova koji se vide kao jedan od

strane operativnog sistema• Podaci su distribuirani po fizičkim diskovima• Podaci su izdeljeni na trake (strip)

– skup blokova ili staza• Moguća upotreba redundantnih podataka da bi

se podaci sačuvali u slučaju otkaza diska 22/41

• Redundant Array of Independent Disks• Redundant Array of Inexpensive Disks• 6 nivoa u upotrebi• Skup fizičkih diskova koji se vide kao jedan od

strane operativnog sistema• Podaci su distribuirani po fizičkim diskovima• Podaci su izdeljeni na trake (strip)

– skup blokova ili staza• Moguća upotreba redundantnih podataka da bi

se podaci sačuvali u slučaju otkaza diska

Page 158: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

RAID 0• Nema redundantosti• Podaci su distribuirani po diskovima na

principu Round Robin• Povećana brzina

– uzastopni zahtevi verovatno neće završiti naistom disku

• velika verovatnoća da će podaci biti na višediskova

– umesto da se pomeri na sledeću traku u jednom disku,čita se sledeća traka drugog diska

23/41

• Nema redundantosti• Podaci su distribuirani po diskovima na

principu Round Robin• Povećana brzina

– uzastopni zahtevi verovatno neće završiti naistom disku

• velika verovatnoća da će podaci biti na višediskova

– umesto da se pomeri na sledeću traku u jednom disku,čita se sledeća traka drugog diska

Page 159: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Data Mapping For RAID 0

24/41

Page 160: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

RAID 0

25/41

Page 161: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

RAID 1

• Podaci duplirani (Mirrored Disks)• Podaci su rapodeljeni po diskovima• Dve kopije svake trake na odvojenim diskovima• Čita se sa bilo kog diska• Piše se po svim diskovima• Spasavanje podataka je jednostavno:

– zameni se neispravan disk i prekopiraju se podaci– nema gubitka vremena (podaci se uvek mogu pročitati

sa ispravnog diska)• Skupo

26/41

• Podaci duplirani (Mirrored Disks)• Podaci su rapodeljeni po diskovima• Dve kopije svake trake na odvojenim diskovima• Čita se sa bilo kog diska• Piše se po svim diskovima• Spasavanje podataka je jednostavno:

– zameni se neispravan disk i prekopiraju se podaci– nema gubitka vremena (podaci se uvek mogu pročitati

sa ispravnog diska)• Skupo

Page 162: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

RAID 1

27/41

Page 163: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

SSD• Solid State Disk• Memorijska integrisana kola umesto magnetnog medijuma• Realizovan električno izbrisivom memorijom (flash

memorija)– čuva sadržaj i posle nestanka napajanja

• Problem: ograničen broj upisa u memorijske ćelije– 10.000 ili 100.000 upisa

• Podaci se snimaju u stranice (4KB), organizovane ublokove (512KB)– najmanja količina podataka je jedna stranica– može se pisati u stranicu, samo ako je prethodno obrisana– brišu se čitavi blokovi, a ne stranice

• Solid State Disk• Memorijska integrisana kola umesto magnetnog medijuma• Realizovan električno izbrisivom memorijom (flash

memorija)– čuva sadržaj i posle nestanka napajanja

• Problem: ograničen broj upisa u memorijske ćelije– 10.000 ili 100.000 upisa

• Podaci se snimaju u stranice (4KB), organizovane ublokove (512KB)– najmanja količina podataka je jedna stranica– može se pisati u stranicu, samo ako je prethodno obrisana– brišu se čitavi blokovi, a ne stranice

28/41

Page 164: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Optički uređaji

• CD-ROM• CD-Recordable (CD-R)• CD-R/W• DVD

29/41

• CD-ROM• CD-Recordable (CD-R)• CD-R/W• DVD

Page 165: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Optički medijum CD-ROM

• Originalno zamišljen za audio zapise• 650MB ili 70 minuta muzike

– u međuvremenu se kao standard pojavio CDkapaciteta 700MB

• Polikarbonat presvučen refleksnom materijom,obično aluminijumom

• Podaci su smešteni kao rupe• Podaci se čitaju laserom• Konstantna gustina podataka

– konstantna linearna brzina (promenljiva ugaonabrzina) 30/41

• Originalno zamišljen za audio zapise• 650MB ili 70 minuta muzike

– u međuvremenu se kao standard pojavio CDkapaciteta 700MB

• Polikarbonat presvučen refleksnom materijom,obično aluminijumom

• Podaci su smešteni kao rupe• Podaci se čitaju laserom• Konstantna gustina podataka

– konstantna linearna brzina (promenljiva ugaonabrzina)

Page 166: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Način rada CD-a

31/41

Page 167: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

CD-ROM Brzine

• Audio je jednobrzinski (150 KB/s)– Konstantna linearna brzina (Constant linier

velocity)– 1.2 m/s– spiralna staza dugačka 5.27km

• Ostale brzine se daju kao umnošciosnovne brzine– primer: 24x

• Navedena brzina je maksimalna brzinakoju uređaj može da postigne 32/41

• Audio je jednobrzinski (150 KB/s)– Konstantna linearna brzina (Constant linier

velocity)– 1.2 m/s– spiralna staza dugačka 5.27km

• Ostale brzine se daju kao umnošciosnovne brzine– primer: 24x

• Navedena brzina je maksimalna brzinakoju uređaj može da postigne

Page 168: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

CD-ROM Format

33/41

• SYNC – identifikacija početka bloka• ID – zaglavlje sa pozicijom bloka i modom (0 – prazan

blok, 1 – podaci sa korekcijom greške, 2 – podaci bezkorekcije greške)

• Data – podaci• ECC – dodatni podaci za korekciju greške (u modu 1),

još podataka u modu 2 (do ukupno 2336 bajtova)

Page 169: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Random Access na CD-ROM-u

• Teško se postiže:– glava se pomeri na približnu poziciju– brzina se prilagodi zadatoj poziciji– pročita se adresa– podesi se na željenu lokaciju

34/41

• Teško se postiže:– glava se pomeri na približnu poziciju– brzina se prilagodi zadatoj poziciji– pročita se adresa– podesi se na željenu lokaciju

Page 170: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Dobre i loše osobine CD-ROM-a

• Dobre:– velik kapacitet– jednostavna tehnologija za masovnu

proizvodnju– promenljiv medijum (removable)– robusno

• Loše:– skupo za male serije– sporo– može samo da se čita (read only) 35/41

• Dobre:– velik kapacitet– jednostavna tehnologija za masovnu

proizvodnju– promenljiv medijum (removable)– robusno

• Loše:– skupo za male serije– sporo– može samo da se čita (read only)

Page 171: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Ostali optički medijumi• CD-Recordable (CD-R)

– WORM (Write Once Read Many)• fabrički se naprave "plikovi" jakim laserom• u uređaju se zapisivanje svodi na "pucanje plikova" slabim

laserom

– Kompatibilno sa CD-ROM tehnologijom• CD-RW

– Izbrisivi medijum• Promena faze (phase change)• materijal ima različitu refleksivnost u dva stanja• stanje se menja laserom• ograničen broj upisa laserom

– Kompatibilno sa CD-ROM tehnologijom 36/41

• CD-Recordable (CD-R)– WORM (Write Once Read Many)

• fabrički se naprave "plikovi" jakim laserom• u uređaju se zapisivanje svodi na "pucanje plikova" slabim

laserom

– Kompatibilno sa CD-ROM tehnologijom• CD-RW

– Izbrisivi medijum• Promena faze (phase change)• materijal ima različitu refleksivnost u dva stanja• stanje se menja laserom• ograničen broj upisa laserom

– Kompatibilno sa CD-ROM tehnologijom

Page 172: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

DVD

• Digital Video Disk– zamena za VHS kasete– u početku samo za puštanje filmova– sada mogu i da se snimaju filmovi

• Digital Versatile Disk– zamena za CD-ROM/CD-R/CD-RW– ista tehnologija, samo u računaru, pa se zato

kloristi i ovo objašnjenje skraćenice– velik kapacitet

37/41

• Digital Video Disk– zamena za VHS kasete– u početku samo za puštanje filmova– sada mogu i da se snimaju filmovi

• Digital Versatile Disk– zamena za CD-ROM/CD-R/CD-RW– ista tehnologija, samo u računaru, pa se zato

kloristi i ovo objašnjenje skraćenice– velik kapacitet

Page 173: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

DVD - tehnologija

• Višeslojni medijum (multi-layer)• Veoma velik kapacitet (4.7GB po sloju)

– maksimalan kapacitet oko 17GB (dva sloja, dvestrane)

• Ceo film može da stane na jednom disku– uz upotrebu MPEG kompresije

• Filmovi koriste regionalno kodiranje– pokušaj sprečavanja piraterije – uređaji reprodukuju samo one filmove koji imaji

korektan region– može da se "sredi" 38/41

• Višeslojni medijum (multi-layer)• Veoma velik kapacitet (4.7GB po sloju)

– maksimalan kapacitet oko 17GB (dva sloja, dvestrane)

• Ceo film može da stane na jednom disku– uz upotrebu MPEG kompresije

• Filmovi koriste regionalno kodiranje– pokušaj sprečavanja piraterije – uređaji reprodukuju samo one filmove koji imaji

korektan region– može da se "sredi"

Page 174: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Izmenjivi DVD

• Izmenjivi samo jednom:– DVD -R– DVD +R

• DVD-RW– izbrisivi DVD

• DVD – RAM– izbrisivi DVD– nema spiralnu stazu, već sektore i staze

poput hard diska

39/41

• Izmenjivi samo jednom:– DVD -R– DVD +R

• DVD-RW– izbrisivi DVD

• DVD – RAM– izbrisivi DVD– nema spiralnu stazu, već sektore i staze

poput hard diska

Page 175: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

CD and DVD

40/41

Page 176: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Magnetna traka

• Serijski pristup podacima• Sporo• Veoma jevtino• Koristi se za arhiviranje (backup)

41/41

• Serijski pristup podacima• Sporo• Veoma jevtino• Koristi se za arhiviranje (backup)

Page 177: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računarski praktikum

1. Prenos podataka i računarskemreže

2. Internet

Page 178: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

1. Prenos podataka i računarske mreže• Vrste veza

– Point-to-point – direktna veza.– Deljene veze – više prijemnika i predajnika dele medijum za

prenos.

Prijemnik Medijum Predajnik

2/36

Prijemnik Medijum Predajnik

Prijemnik Prijemnik Predajnik Predajnik

Medijum

Page 179: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Medijum

• Medijum - fizička veza• žični• bežični

• Karakteristike medijuma• slabljenje• kašnjenje• šum

3/36

• Medijum - fizička veza• žični• bežični

• Karakteristike medijuma• slabljenje• kašnjenje• šum

Page 180: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Žični – Parice

• Koriste se za prenos signala u• LAN – Lokalnim računarskim mrežama

• Udaljenosti prijemnika i predajnika do 100m• Prenos podataka na brzinama 10, 100, 1000 Mbps

• Javnim telekomunikacionim mrežama• Udaljenost prijemnika i predajnika je < 10km

Medijum

4/36

Žični – Parice

• Koriste se za prenos signala u• LAN – Lokalnim računarskim mrežama

• Udaljenosti prijemnika i predajnika do 100m• Prenos podataka na brzinama 10, 100, 1000 Mbps

• Javnim telekomunikacionim mrežama• Udaljenost prijemnika i predajnika je < 10km

Page 181: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Žični – Koaksijalni kabel• Širok propusni opseg• Otporan na elektromagnetne smetnje

Medijum

5/36

Page 182: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Žični – Optički kablovi

Medijum

6/36

Page 183: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Bežične veze• Neusmerene

• radio i televizija• wireless mrežni uređaji (802.11g)

• Usmerene – point-to-point• relejne veze

Medijum

7/36

Bežične veze• Neusmerene

• radio i televizija• wireless mrežni uređaji (802.11g)

• Usmerene – point-to-point• relejne veze

Page 184: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računarske mreže

• LAN – Local Area Network• Definicija: mreža za prenos podataka, optimizovana

za geografski mala područja, kao što su zgrada ilikampus.

• MAN – Metropolitan Area Network• Definicija: mreže koje spajaju geografski veća

područja se ponekad nazivaju.

8/36

• LAN – Local Area Network• Definicija: mreža za prenos podataka, optimizovana

za geografski mala područja, kao što su zgrada ilikampus.

• MAN – Metropolitan Area Network• Definicija: mreže koje spajaju geografski veća

područja se ponekad nazivaju.

Page 185: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Topologije: prsten

• Stanice su međusobno povezane direktnim (point-to-point) vezama.

• Podaci se prenose paketski; paketi putuju kroz prsten ujednom smeru.

• Stanica koja želi da pošalje paket ubacuje ga u prsten.• Ista stanica čeka da se paket vrati i izbacuje ga iz

cirkulacije.

9/36

• Stanice su međusobno povezane direktnim (point-to-point) vezama.

• Podaci se prenose paketski; paketi putuju kroz prsten ujednom smeru.

• Stanica koja želi da pošalje paket ubacuje ga u prsten.• Ista stanica čeka da se paket vrati i izbacuje ga iz

cirkulacije.

Page 186: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Topologije: magistrala• Sve stanice su priključene na zajednički prenosni

medijum.• Svaka stanica može da primi svaki poslati paket.• Zajednički problem: upravljanje pristupom medijumu.

10/36

Page 187: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Topologije: zvezda

• Stanice su direktnim vezama povezane sa centralnimčvorištem.

• Klasičan primer: digitalna telefonska centrala.• Mreža fizički izvedena u obliku zvezde može se logički

ponašati kao magistrala (ili prsten).

11/36

Page 188: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Realizacija Topologijeprstena:Token Ring

• Dok je mreža slobodna za slanje, po njoj cirkuliše naročitkratak paket (token) koji to signalizira stanicama.

• Stanica koja želi da pošalje paket mora da sačekaslobodan token, modifikuje ga u zauzeti i odmah izanjega šalje podatke.

• Prsten se oslobađa kad stanica:• završi sa slanjem paketa i• ponovo primi zauzeti token.

12/36

• Dok je mreža slobodna za slanje, po njoj cirkuliše naročitkratak paket (token) koji to signalizira stanicama.

• Stanica koja želi da pošalje paket mora da sačekaslobodan token, modifikuje ga u zauzeti i odmah izanjega šalje podatke.

• Prsten se oslobađa kad stanica:• završi sa slanjem paketa i• ponovo primi zauzeti token.

Page 189: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Realizacija topologije magistralei zvezde:Ethernet

• Sistem sa zajedničkim medijumom.• Fizička izvedba:

• 10BASE5• 10BASE2• 10BASE-T• 100BASE-T• IEEE 802.3z Gigabit Ethernet

13/36

• Sistem sa zajedničkim medijumom.• Fizička izvedba:

• 10BASE5• 10BASE2• 10BASE-T• 100BASE-T• IEEE 802.3z Gigabit Ethernet

Page 190: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Ethernet: koaksijalni kabel [1]

• 10BASE5 (debeli ethernet):• 10 Mbits/s• pojedinačni segment: 500m• ukupna dužina: 2.5km• 100 stanica

14/36

Page 191: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Ethernet: koaksijalni kabel [2]

• 10BASE2 (tanki ethernet):• 10 Mbits/s• pojedinačni segment: 185m• ukupna dužina: 1km• 30 stanica

15/36

Page 192: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Ethernet: parice [1]

• 10BASE-T (UTP):– 10 MBits/s– dužina segmenta između stanice i hub-a: 100m

(neoklopljene parice)• 100BASE-T

• 100 Mbit/s• IEEE 802.3z Gigabit Ethernet

• 1 Gbits/s• Fizički se izvodi kao zvezda, sa hub-ovima ili switch-

evima kao čvorištima; logički funkcioniše kao magistrala.• Razlika između switch-a i hub-a.

16/36

• 10BASE-T (UTP):– 10 MBits/s– dužina segmenta između stanice i hub-a: 100m

(neoklopljene parice)• 100BASE-T

• 100 Mbit/s• IEEE 802.3z Gigabit Ethernet

• 1 Gbits/s• Fizički se izvodi kao zvezda, sa hub-ovima ili switch-

evima kao čvorištima; logički funkcioniše kao magistrala.• Razlika između switch-a i hub-a.

Page 193: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Ethernet: parice [2]

17/36

Page 194: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

1. Internet

Page 195: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Počeci Interneta

• 1957. god. Sovjetski savez lansira Sputnjik(prvi veštački satelit).

• 1958. god., kao odgovor na lansiranjeSputnjik-a, SAD osnivaju AdvancedResearch Projects Agency (ARPA).

• 1962. god., usvojena ideja da se počnesaradnja sa univerzitetima – osnovaARPANET-a (preteča Interneta).

istorija

19/36

• 1957. god. Sovjetski savez lansira Sputnjik(prvi veštački satelit).

• 1958. god., kao odgovor na lansiranjeSputnjik-a, SAD osnivaju AdvancedResearch Projects Agency (ARPA).

• 1962. god., usvojena ideja da se počnesaradnja sa univerzitetima – osnovaARPANET-a (preteča Interneta).

Page 196: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

ARPANET

• 1969. god. mreža računara na ARPANET-u se sastoji od 4 računara:

•UCLA (University ofCalifornia LosAngeles)

•SRI (StanfordResearch Institute)

•UCSB (University ofCalifornia SantaBarbara)

•University of UtahSalt Lake City

istorija

20/36

•UCLA (University ofCalifornia LosAngeles)

•SRI (StanfordResearch Institute)

•UCSB (University ofCalifornia SantaBarbara)

•University of UtahSalt Lake City

Page 197: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

ARPANET

• 1971. god. ARPANET proširen (15čvorova):

istorija

21/36

• 1971. god. ARPANET proširen (15čvorova):

Page 198: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

ARPANET

• 1971. god. definisan email – Elektronskapošta.

• 1973. god.– definisan File Transfer – razmena datoteka,– prvi čvor u ARPANET-u izvan SAD –

University College of London (Engleska),– email čini 75% saobraćaja na ARPANET-u.

• 1975. god. definisane mailing liste –diskusione grupe.

istorija

22/36

• 1971. god. definisan email – Elektronskapošta.

• 1973. god.– definisan File Transfer – razmena datoteka,– prvi čvor u ARPANET-u izvan SAD –

University College of London (Engleska),– email čini 75% saobraćaja na ARPANET-u.

• 1975. god. definisane mailing liste –diskusione grupe.

Page 199: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

ARPANET• 1979. god.

– dat predlog da se uvedu tekstualni znaci koji označavajuemocije – smajliji: :-) ;-) :-(

– kreiran BITNET, kao još jedna mreža računara• 1980. god. ARPANET u kompletnom zastoju zbog

virusa.• 1981. god. ukupan broj servera u mreži: 213.• kreiran CSNET, kao mreža institucija izvan

ARPANET-a.• 1982. god. osnovan Europe Unix Network – EUnet

– u početku spajao Holandiju, Dansku, Švedsku i VelikuBritaniju.

istorija

23/36

• 1979. god.– dat predlog da se uvedu tekstualni znaci koji označavaju

emocije – smajliji: :-) ;-) :-(– kreiran BITNET, kao još jedna mreža računara

• 1980. god. ARPANET u kompletnom zastoju zbogvirusa.

• 1981. god. ukupan broj servera u mreži: 213.• kreiran CSNET, kao mreža institucija izvan

ARPANET-a.• 1982. god. osnovan Europe Unix Network – EUnet

– u početku spajao Holandiju, Dansku, Švedsku i VelikuBritaniju.

Page 200: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

ARPANET i druge mreže

• 1983. god.– ustanovljen Domain Name System – sistem

simboličkih adresa umesto numeričkih.– ukupan broj servera na mreži: 562.

• 1984. god.– iz CSNET-a kreiran NSFNET.– ukupan broj servera na mreži: 1024.

• 1985. god. ukupan broj servera na mreži:1.961.

istorija

24/36

• 1983. god.– ustanovljen Domain Name System – sistem

simboličkih adresa umesto numeričkih.– ukupan broj servera na mreži: 562.

• 1984. god.– iz CSNET-a kreiran NSFNET.– ukupan broj servera na mreži: 1024.

• 1985. god. ukupan broj servera na mreži:1.961.

Page 201: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Internet• 1986. god. kreiran IETF (Internet Engineering Task

Force) – telo za tehničku koordinaciju mreža.• 1989. god.

– broj servera na mreži prelazi 100.000.– objavljena priča o hakeru iz Nemačke koji je provaljivao u

vojne računare u SAD i prodavao informacije SovjetskomSavezu.

• 1990. god.– ARPANET prestaje da postoji.– osmišljen hipertekst sistem koji će postati osnova WWW

(World Wide Web).– prvi komercijalni provajder – World (world.std.com).– ukupan broj servera na mreži 313.000.

istorija

25/36

• 1986. god. kreiran IETF (Internet Engineering TaskForce) – telo za tehničku koordinaciju mreža.

• 1989. god.– broj servera na mreži prelazi 100.000.– objavljena priča o hakeru iz Nemačke koji je provaljivao u

vojne računare u SAD i prodavao informacije SovjetskomSavezu.

• 1990. god.– ARPANET prestaje da postoji.– osmišljen hipertekst sistem koji će postati osnova WWW

(World Wide Web).– prvi komercijalni provajder – World (world.std.com).– ukupan broj servera na mreži 313.000.

Page 202: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Internet

• 1991. god. startovan prvi WWW server(nxoc01.cern.ch – kasnije preimenovan uinfo.cern.ch).

• 1992. god.– broj servera na mreži prelazi 1.000.000,– pojavio se izraz “surfovati po mreži”.

• 1993. god.– Bela Kuća postavila svoju prezentaciju na internet:

www.whitehouse.gov– broj servera na mreži: 2,056,000.

istorija

26/36

• 1991. god. startovan prvi WWW server(nxoc01.cern.ch – kasnije preimenovan uinfo.cern.ch).

• 1992. god.– broj servera na mreži prelazi 1.000.000,– pojavio se izraz “surfovati po mreži”.

• 1993. god.– Bela Kuća postavila svoju prezentaciju na internet:

www.whitehouse.gov– broj servera na mreži: 2,056,000.

Page 203: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Internet• 1994. god.

– kupovina preko Interneta (naručivanje pice kod Pizza Hut),– broj servera: 3.864.000.

• 1995. god.– WWW postaje servis broj jedan na Internetu,– broj servera: 6.642.000.

• 1996. god.– pojavljuju se kompanije koje omogućavaju telefoniranje preko

Interneta,– provaljeni (uhakovani) sajtovi: US Dept of Justice, CIA, US Air

Force,– pretraživači interneta (Altavista, Yahoo, i dr.),– SR Jugoslavija dobila pristup na Internet (podignute sankcije).

istorija

27/36

• 1994. god.– kupovina preko Interneta (naručivanje pice kod Pizza Hut),– broj servera: 3.864.000.

• 1995. god.– WWW postaje servis broj jedan na Internetu,– broj servera: 6.642.000.

• 1996. god.– pojavljuju se kompanije koje omogućavaju telefoniranje preko

Interneta,– provaljeni (uhakovani) sajtovi: US Dept of Justice, CIA, US Air

Force,– pretraživači interneta (Altavista, Yahoo, i dr.),– SR Jugoslavija dobila pristup na Internet (podignute sankcije).

Page 204: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Internet

• 1997 – danas:– uvođenje e-commerce,– prvi veliki sajber-rat za vreme bombardovanja SRJ

(napadi hakera na NATO i ostale institucije),– panika zbog milenijumske greške (godina 2000.),– mobilni telefoni pristupaju Internetu (WAP, GPRS),– uvođenje Interneta v6 – više čvorova,– 2003. god. broj servera na Internetu: 171.000.000.

istorija

28/36

• 1997 – danas:– uvođenje e-commerce,– prvi veliki sajber-rat za vreme bombardovanja SRJ

(napadi hakera na NATO i ostale institucije),– panika zbog milenijumske greške (godina 2000.),– mobilni telefoni pristupaju Internetu (WAP, GPRS),– uvođenje Interneta v6 – više čvorova,– 2003. god. broj servera na Internetu: 171.000.000.

Page 205: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Adresiranje na Internetu• Aktuelna verzija Interneta je v4• Računari se identifikuju preko IP adrese:

a.b.c.da, b, c, d su brojevi u rasponu od 0 do 255

• Primer:147.91.173.1

• Podela IP adresa:– javne (jedinstvene na Internetu, vidljive sa svake adrese na

Internetu),– privatne (unutar privatnih mreža; primer: 192.168.0.1),– specijalne namene (broadcast).

• Internet verzija 6 (v6) omogućuje postojanje većeg brojaadresa– sve više računara podržava ovaj standard– Internet v4 uskoro ostaje bez javnih IP adresa

29/36

• Aktuelna verzija Interneta je v4• Računari se identifikuju preko IP adrese:

a.b.c.da, b, c, d su brojevi u rasponu od 0 do 255

• Primer:147.91.173.1

• Podela IP adresa:– javne (jedinstvene na Internetu, vidljive sa svake adrese na

Internetu),– privatne (unutar privatnih mreža; primer: 192.168.0.1),– specijalne namene (broadcast).

• Internet verzija 6 (v6) omogućuje postojanje većeg brojaadresa– sve više računara podržava ovaj standard– Internet v4 uskoro ostaje bez javnih IP adresa

Page 206: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Adresiranje na Internetu• Alternativan način identifikacije – simbolička

adresa:ime_računara.domendomen = institucija.tip_institucije.lokacija

• Primeri:www.uns.ac.rswww.ftn.uns.ac.rswww.whitehouse.gov

• Domeni:– nacionalni,– internacionalni/američki

30/36

• Alternativan način identifikacije – simboličkaadresa:ime_računara.domendomen = institucija.tip_institucije.lokacija

• Primeri:www.uns.ac.rswww.ftn.uns.ac.rswww.whitehouse.gov

• Domeni:– nacionalni,– internacionalni/američki

Page 207: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Nacionalni domen• Lokacija – dvoslovna skraćenica na kraju

adrese, prema ISO-3166 standardu (rs – Srbija, uk –Velika Britanija, itd.).

• Tip institucije:– ac (akademske ustanove),– co (komercijalne ustanove),– org (nekomercijalne organizacije),– itd.

• Primer nacionalnog domena iskorišćenog uinternacionalne svrhe:www.mtv.tv (tv je skraćenica za državu Tuvalu!)

31/36

• Lokacija – dvoslovna skraćenica na krajuadrese, prema ISO-3166 standardu (rs – Srbija, uk –Velika Britanija, itd.).

• Tip institucije:– ac (akademske ustanove),– co (komercijalne ustanove),– org (nekomercijalne organizacije),– itd.

• Primer nacionalnog domena iskorišćenog uinternacionalne svrhe:www.mtv.tv (tv je skraćenica za državu Tuvalu!)

Page 208: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Internacionalni/američki domen• Tip institucije:

– edu (akademske ustanove),– com (komercijalna ustanova),– org (nekomercijalne organizacije),– mil (vojne organizacije),– gov (vladine organizacije),– itd.

• Primer:www.ibm.comwww.revlon.comwww.sony.com

• SAD uglavnom koriste domene: edu, gov, mil(www.whitehouse.gov).

32/36

• Tip institucije:– edu (akademske ustanove),– com (komercijalna ustanova),– org (nekomercijalne organizacije),– mil (vojne organizacije),– gov (vladine organizacije),– itd.

• Primer:www.ibm.comwww.revlon.comwww.sony.com

• SAD uglavnom koriste domene: edu, gov, mil(www.whitehouse.gov).

Page 209: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Servisi na Internetu

• Servisi su usluge.• Vrste:

– WWW (World Wide Web) – multimedijalnidokumenti na Internetu,

– Chat, voice chat, video telefonija,– Elektronska pošta (email, e-mail, Email, ...),– Prenos datoteka (FTP – File Transfer,

Protocol),– Telnet – rad na udaljenom računaru.

33/36

• Servisi su usluge.• Vrste:

– WWW (World Wide Web) – multimedijalnidokumenti na Internetu,

– Chat, voice chat, video telefonija,– Elektronska pošta (email, e-mail, Email, ...),– Prenos datoteka (FTP – File Transfer,

Protocol),– Telnet – rad na udaljenom računaru.

Page 210: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

WWW• Sistem se sastoji iz klijenata i servera.• Multimedijalni dokumenti se kreiraju upotrebom HTML

jezika (HyperText Markup Language).• WWW Klijenti:

– spajaju se na WWW servere i zahtevaju resurse (html datoteke,slike, muziku, itd.)

– trenutno aktuelni: Internet Explorer, Mozilla, Opera, itd.• WWW Serveri:

– čekaju klijente i opslužuju njihove zahteve– trenutno aktuelni: Apache, Internet Information Services (IIS), itd.

• Protokol za komunikaciju između klijenata i servera jeHTTP protokol (HyperText Transfer Protocol).

34/36

• Sistem se sastoji iz klijenata i servera.• Multimedijalni dokumenti se kreiraju upotrebom HTML

jezika (HyperText Markup Language).• WWW Klijenti:

– spajaju se na WWW servere i zahtevaju resurse (html datoteke,slike, muziku, itd.)

– trenutno aktuelni: Internet Explorer, Mozilla, Opera, itd.• WWW Serveri:

– čekaju klijente i opslužuju njihove zahteve– trenutno aktuelni: Apache, Internet Information Services (IIS), itd.

• Protokol za komunikaciju između klijenata i servera jeHTTP protokol (HyperText Transfer Protocol).

Page 211: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Chat, telefonija

• Chat – mogućnost komunikacije pisanimporukama u realnom vremenu

• Voice chat – razgovor preko interneta• Video telefonija – razgovor uz upotrebu

kamere preko interneta.• Programi:

– MIRC, Yahoo messanger, MS Messanger,Skype, ICQ, ...

35/36

• Chat – mogućnost komunikacije pisanimporukama u realnom vremenu

• Voice chat – razgovor preko interneta• Video telefonija – razgovor uz upotrebu

kamere preko interneta.• Programi:

– MIRC, Yahoo messanger, MS Messanger,Skype, ICQ, ...

Page 212: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

email• Sistem se sastoji iz klijenata i servera.• Protokoli za komunikaciju između klijenata i servera:

SMTP (Simple Mail Transport Protocol), POP3 (PostOffice Protocol), IMAP (Internet Message AccessProtocol).

• Organizovano po principu postojeće pošte (elektronskosanduče prima poruke, klijenti preuzimaju poruke izsandučeta i prikazuju, postoji adresa primaoca, pošiljalacne mora da se identifikuje).

• Email adresa: username@adresa_računara• Primer: [email protected]• Trenutno aktuelni klijenti: Mozilla Thunderbird, Microsoft

Outlook, Microsoft Outlook Express, itd.

36/36

• Sistem se sastoji iz klijenata i servera.• Protokoli za komunikaciju između klijenata i servera:

SMTP (Simple Mail Transport Protocol), POP3 (PostOffice Protocol), IMAP (Internet Message AccessProtocol).

• Organizovano po principu postojeće pošte (elektronskosanduče prima poruke, klijenti preuzimaju poruke izsandučeta i prikazuju, postoji adresa primaoca, pošiljalacne mora da se identifikuje).

• Email adresa: username@adresa_računara• Primer: [email protected]• Trenutno aktuelni klijenti: Mozilla Thunderbird, Microsoft

Outlook, Microsoft Outlook Express, itd.

Page 213: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Programski jezik Java

Uvod

Page 214: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Uvod

• Dr Milan Vidaković• Preporučena literatura:Java i Internet programiranje,Branko Milosavljević, Milan Vidaković,FTN izdavaštvo, Novi Sad, 2007.ISBN 978-86-7892-047-9

2/47

• Dr Milan Vidaković• Preporučena literatura:Java i Internet programiranje,Branko Milosavljević, Milan Vidaković,FTN izdavaštvo, Novi Sad, 2007.ISBN 978-86-7892-047-9

Page 215: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Programski jezik Java1.1. JavaJava:: platforma za izvršavanje programaplatforma za izvršavanje programa

2.2. JavaJava:: programski jezikprogramski jezik

3/47

1.1. JavaJava:: platforma za izvršavanje programaplatforma za izvršavanje programa

2.2. JavaJava:: programski jezikprogramski jezik

Page 216: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Java kao platforma

• dizajniran da što manje zavisi odspecifičnih karakteristika konkretnogračunarskog sistema

• jednom napisan i preveden program seizvršava na bilo kojoj platformi kojapodržava Javu

4/47

• dizajniran da što manje zavisi odspecifičnih karakteristika konkretnogračunarskog sistema

• jednom napisan i preveden program seizvršava na bilo kojoj platformi kojapodržava Javu

Page 217: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Java kao platforma

• interpretirani jezik– just in time compiler

• bajt-kod– specifikacija je dostupna – više

implementacija kompajlera• Java virtuelna mašina (JVM)

– specifikacija je dostupna – višeimplementacija JVM

5/47

• interpretirani jezik– just in time compiler

• bajt-kod– specifikacija je dostupna – više

implementacija kompajlera• Java virtuelna mašina (JVM)

– specifikacija je dostupna – višeimplementacija JVM

Page 218: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Java kao programski jezik• jezik opšte namene• konkurentno, objektno-orijentisano

programiranje• literatura

– Referentna dokumentacija: JavaSoft homepagehttp://java.sun.com

– Preporučena knjiga:Milosavljević, Vidaković: Java i InternetprogramiranjeBruce Eckel: Thinking in Java,http://www.bruceeckel.com

6/47

• jezik opšte namene• konkurentno, objektno-orijentisano

programiranje• literatura

– Referentna dokumentacija: JavaSoft homepagehttp://java.sun.com

– Preporučena knjiga:Milosavljević, Vidaković: Java i InternetprogramiranjeBruce Eckel: Thinking in Java,http://www.bruceeckel.com

Page 219: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Izvršavanje programa

• metoda main()

Hello.javaclass Hello {public static void main(String args[]) {

System.out.println(“Hello world!”);}

}

7/47

• metoda main()

Hello.javaclass Hello {public static void main(String args[]) {

System.out.println(“Hello world!”);}

}

Page 220: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Prevođenje i pokretanje

• prevođenje:javac Hello.java

• pokretanje:java Hello

8/47

• prevođenje:javac Hello.java

• pokretanje:java Hello

[ ovo važi sa standardni razvojni paket JDK (Java Development Kit) ]

Page 221: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Osnovni koncepti• sintaksa: podseća na C++• programski blok je ograđen vitičastim zagradama:

{ ... }• tipovi podataka

– primitivni tipovi• kao lokalne promenljive i parametri metoda, čuvaju se na steku• kao parametri, uvek se prenose po vrednosti!

– objekti• čuvaju se na heap-u• postoje samo reference na objekte, nikada se ne može pristupiti

samom objektu• kao lokalne promenljive i parametri metoda, reference se čuvaju na

steku• metode: povratna_vrednost naziv(parametri) { }

9/47

• sintaksa: podseća na C++• programski blok je ograđen vitičastim zagradama:

{ ... }• tipovi podataka

– primitivni tipovi• kao lokalne promenljive i parametri metoda, čuvaju se na steku• kao parametri, uvek se prenose po vrednosti!

– objekti• čuvaju se na heap-u• postoje samo reference na objekte, nikada se ne može pristupiti

samom objektu• kao lokalne promenljive i parametri metoda, reference se čuvaju na

steku• metode: povratna_vrednost naziv(parametri) { }

Page 222: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Osnovni koncepti

• primitivni tipovi podataka

Primitivni tip Veličina Minimum Maksimumboolean 1-bit – –char 16-bit Unicode 0 Unicode 216- 1byte 8-bit -128 +127short 16-bit -215 +215 – 1int 32-bit -231 +231 – 1long 64-bit -263 +263 – 1float 32-bit IEEE754 IEEE754double 64-bit IEEE754 IEEE754void – – –

10/47

• primitivni tipovi podataka

Primitivni tip Veličina Minimum Maksimumboolean 1-bit – –char 16-bit Unicode 0 Unicode 216- 1byte 8-bit -128 +127short 16-bit -215 +215 – 1int 32-bit -231 +231 – 1long 64-bit -263 +263 – 1float 32-bit IEEE754 IEEE754double 64-bit IEEE754 IEEE754void – – –

Page 223: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Konstante• Celobrojne konstante:

– 2,– 2000000L

• Razlomljene konstante: 3.14• Heksadecimalne konstante: 0xF, 0xFF• Znakovne konstante:

– ‘a’– ‘\n’– ‘\xxx’, gde je xxx oktalni ASCII kod karaktera

• String konstante: “ovo je tekst”11/47

• Celobrojne konstante:– 2,– 2000000L

• Razlomljene konstante: 3.14• Heksadecimalne konstante: 0xF, 0xFF• Znakovne konstante:

– ‘a’– ‘\n’– ‘\xxx’, gde je xxx oktalni ASCII kod karaktera

• String konstante: “ovo je tekst”

Page 224: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Deklaracija promenljive primitivnogtipa

• Promenljiva se može deklarisati u bilo kom bloku– ne mora na početku metode.

• int a;

• int a = 0;

• int a, b;

• int a = 0, b = 3;

12/47

• Promenljiva se može deklarisati u bilo kom bloku– ne mora na početku metode.

• int a;

• int a = 0;

• int a, b;

• int a = 0, b = 3;

Page 225: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Implicitna konverzija tipova

• Sa “užeg” ili “manjeg” tipa na “širi” ili “veći”tip.

• Nema gubitka informacije jer “uži” tippodatka staje u “širi” tip podatka.

• Primer:long a;int i = 5;a = i;

13/47

• Sa “užeg” ili “manjeg” tipa na “širi” ili “veći”tip.

• Nema gubitka informacije jer “uži” tippodatka staje u “širi” tip podatka.

• Primer:long a;int i = 5;a = i;

Page 226: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Eksplicitna konverzija tipova

• Sa “šireg” na “uži” tip podatka – posledicaje gubljenje informacije.

• Primer:long a = 5L;int b = a;

Greška prikompajliranju!

14/47

• Sa “šireg” na “uži” tip podatka – posledicaje gubljenje informacije.

• Primer:long a = 5L;int b = a;

Greška prikompajliranju!

Page 227: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Eksplicitna konverzija tipova

• Pravilna eksplicitna konverzija – upotrebacast operatora:

• Primer:long a = 5L;int b = (int)a;

15/47

• Pravilna eksplicitna konverzija – upotrebacast operatora:

• Primer:long a = 5L;int b = (int)a;

Page 228: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Enumeracije

• Nabrojivi tipovi podataka (celobrojni)• Primer:enum Size {SMALL, MEDIUM, LARGE,

EXTRA_LARGE};Size s = Size.MEDIUM;enum Days {MON, TUE, WEN, THU, FRI,

SAT, SUN};Days d = Days.MON;

16/47

• Nabrojivi tipovi podataka (celobrojni)• Primer:enum Size {SMALL, MEDIUM, LARGE,

EXTRA_LARGE};Size s = Size.MEDIUM;enum Days {MON, TUE, WEN, THU, FRI,

SAT, SUN};Days d = Days.MON;

Page 229: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Operatori

aritmetički operatori relacioni i logički bit-operatori operator dodele

17/47

aritmetički operatori relacioni i logički bit-operatori operator dodele

Page 230: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Aritmetički operatori

• Osnovne operacije:+, -, *, /, %• Umesto x = x + 1x += 1

• Automatski inkrement: ++x odn. x++

18/47

• Osnovne operacije:+, -, *, /, %• Umesto x = x + 1x += 1

• Automatski inkrement: ++x odn. x++

Page 231: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Aritmetički operatori

y = 5;

Operator Rezultatx=y+2 X 7x=y+2 X 7x=y-2 X 3x=y%2 X 1x=++y X6, y6x=y++ X5, y6x=--y X4, y4

Page 232: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Aritmetički operatorix = 10;y = 5;

Operator Isto kao Rezultatx=y x 5

20/47

x=y x 5x+=y x=x+y x 15x-=y x=x-y x 5x*=y x=x*y x 50x/=y x=x/y x 2x%=y x=x%y x 0

Page 233: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Relacioni i logički operatori

• Relacioni: < > <= >= == !=• Logički: && (I), || (ILI), ! (NE)

21/47

• Relacioni: < > <= >= == !=• Logički: && (I), || (ILI), ! (NE)

Page 234: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Relacioni operatorix = 5;Operator Rezultat== x == 8 je netačno (false)!= x != 8 je tačno (true)

22/47

!= x != 8 je tačno (true)> x > 8 je netačno (false)< x < 8 je tačno (true)>= x >= 8 je netačno (false)<= x <= 8 je tačno (true)

Page 235: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Logički operatori• Logički: && || !• Rezultat logičkih operatora je tačno (true) ili

netačno (false)• Operandi logičkih operatora su logički izrazi

• Logički: && || !• Rezultat logičkih operatora je tačno (true) ili

netačno (false)• Operandi logičkih operatora su logički izrazi

!

false true

true false

&& false true

false false false

true false true

|| false true

false false true

true true true

Page 236: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Logički operatorix = 6;y = 3;

Operator Objašnjenje Primer&& konjukcija (and, i) (x < 10 && y > 1)

tačno (true)

24/47

&& konjukcija (and, i) (x < 10 && y > 1)tačno (true)

|| disjunkcija (or, ili) (x==5 || y==5)netačno (false)

! negacija (not, ne) !(x==y)tačno (true)

Page 237: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Bit operatori

• Logičko I nad bitovima: &• Logičko ILI nad bitovima: |• Ekskluzivno ILI (XOR) nad bitovima: ^• Logička negacija nad bitovima -unarni

operator: ~• Kombinacija sa =:&= |= ^=

25/47

• Logičko I nad bitovima: &• Logičko ILI nad bitovima: |• Ekskluzivno ILI (XOR) nad bitovima: ^• Logička negacija nad bitovima -unarni

operator: ~• Kombinacija sa =:&= |= ^=

Page 238: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Bit operatori• a = 3; // a=011 binarno• b = 6; // b=110 binarno• c = a & b;

011& 110--------

010• c 2;

26/47

• a = 3; // a=011 binarno• b = 6; // b=110 binarno• c = a & b;

011& 110--------

010• c 2;

Page 239: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Bit operatori• Shift-ovanje (pomeranje):a>>b – pomera bitove u a za b mesta- ako je a pozitivan, ubacuje 0- ako je a negativan, ubacuje 1a<<b – pomera bitove u levo i ubacuje 0a>>>b – pomera bitove u a u desno za b mesta i

ubacuje 0 bez obzira na znak a.• Rezultat pomeranja je 32-bitan, osim ako

promenljiva koja prihvata rezultat nije long (tadaje 64-bitan)!

27/47

• Shift-ovanje (pomeranje):a>>b – pomera bitove u a za b mesta- ako je a pozitivan, ubacuje 0- ako je a negativan, ubacuje 1a<<b – pomera bitove u levo i ubacuje 0a>>>b – pomera bitove u a u desno za b mesta i

ubacuje 0 bez obzira na znak a.• Rezultat pomeranja je 32-bitan, osim ako

promenljiva koja prihvata rezultat nije long (tadaje 64-bitan)!

Page 240: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Pomeranje

• a = 3; // a = 011 binarno• b = a<<2; // b = 01100 binarno

• a = 7; // a = 111 binarno• b = a>>2; // b = 001 binarno

28/47

• a = 3; // a = 011 binarno• b = a<<2; // b = 01100 binarno

• a = 7; // a = 111 binarno• b = a>>2; // b = 001 binarno

Page 241: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Operator dodele

• Ako su operandi primitivni tipovi, kopira sesadržaj:

int i = 3, j = 6;i = j; // u i ubačeno 6• Ako su operandi reference, kopira se

sadržaj reference, a ne kompletni objektina koje ukazuju!

21.10

29/47

• Ako su operandi primitivni tipovi, kopira sesadržaj:

int i = 3, j = 6;i = j; // u i ubačeno 6• Ako su operandi reference, kopira se

sadržaj reference, a ne kompletni objektina koje ukazuju!

Page 242: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Kontrola toka

• if else• switch• for• while• do while• break• continue

30/47

• if else• switch• for• while• do while• break• continue

Page 243: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

if

if (uslov)akcija

if (uslov)akcija

elsedruga_akcija

31/47

if (uslov)akcija

if (uslov)akcija

elsedruga_akcija

Page 244: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

if else

int result = 0;if(testval > target)result = -1;

else if(testval < target)result = +1;

elseresult = 0; // match

32/47

int result = 0;if(testval > target)result = -1;

else if(testval < target)result = +1;

elseresult = 0; // match

Page 245: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

if (bodovi >= 95)ocena = 10;

else if (bodovi >= 85)ocena = 9;

else if (bodovi >= 75)ocena = 8;

else if (bodovi >= 65)ocena = 7;

else if (bodovi >= 55)ocena = 6;

elseocena = 5;

33/47

if (bodovi >= 95)ocena = 10;

else if (bodovi >= 85)ocena = 9;

else if (bodovi >= 75)ocena = 8;

else if (bodovi >= 65)ocena = 7;

else if (bodovi >= 55)ocena = 6;

elseocena = 5;

Page 246: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Uslovni operatora = i < 10 ? i * 100 : i * 10;

• isto kao:if (i < 10)

a = i * 100;else

a = i * 10;

34/47

a = i < 10 ? i * 100 : i * 10;

• isto kao:if (i < 10)

a = i * 100;else

a = i * 10;

Page 247: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

switch

• Izraz u switch() izrazu mora da proizvedecelobrojnu vrednost.

• Ako ne proizvodi celobrojnu vrednost, nemože da se koristi switch,() već if()!

• Ako se izostavi break; propašće u sledećicase:

• Kod default: izraza ne mora break; - to sepodrazumeva.

35/47

• Izraz u switch() izrazu mora da proizvedecelobrojnu vrednost.

• Ako ne proizvodi celobrojnu vrednost, nemože da se koristi switch,() već if()!

• Ako se izostavi break; propašće u sledećicase:

• Kod default: izraza ne mora break; - to sepodrazumeva.

Page 248: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

switch

switch(c) {case 'a':case 'e':case 'i':case 'o':case 'u':

System.out.println("samoglasnik");break;

default:System.out.println("suglasnik");

}36/47

switch(c) {case 'a':case 'e':case 'i':case 'o':case 'u':

System.out.println("samoglasnik");break;

default:System.out.println("suglasnik");

}

Page 249: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

varijanta 1, bez switchif (ocena == 5)

System.out.println(“odlican”);else if (ocena == 4)

System.out.println(“vrlo dobar”);else if (ocena == 3)

System.out.println(“dobar”);else if (ocena == 2)

System.out.println(“dovoljan”);else if (ocena == 1)

System.out.println(“nedovoljan”);else

System.out.println(“nepostojeca ocena”);37/47

if (ocena == 5)System.out.println(“odlican”);

else if (ocena == 4)System.out.println(“vrlo dobar”);

else if (ocena == 3)System.out.println(“dobar”);

else if (ocena == 2)System.out.println(“dovoljan”);

else if (ocena == 1)System.out.println(“nedovoljan”);

elseSystem.out.println(“nepostojeca ocena”);

Page 250: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

varijanta 2switch (ocena) {

case 5: System.out.println(“odlican”);break;

case 4: System.out.println(“vrlo dobar”);break;

case 3: System.out.println(“dobar”);break;

case 2: System.out.println(“dovoljan”);break;

case 1: System.out.println(“nedovoljan”);break;

default: System.out.println(“nepostojeca ocena”);} 38/47

switch (ocena) {case 5: System.out.println(“odlican”);

break;case 4: System.out.println(“vrlo dobar”);

break;case 3: System.out.println(“dobar”);

break;case 2: System.out.println(“dovoljan”);

break;case 1: System.out.println(“nedovoljan”);

break;default: System.out.println(“nepostojeca ocena”);

}

Page 251: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

for

• Za organizaciju petlji kod kojih se unapredzna koliko puta će se izvršiti telo ciklusa.

• Petlja sa početnom vrednošću, uslovom zakraj i blokom za korekciju.

• Opšta sintaksa:for (inicijalizacija; uslov; korekcija)

telo

39/47

• Za organizaciju petlji kod kojih se unapredzna koliko puta će se izvršiti telo ciklusa.

• Petlja sa početnom vrednošću, uslovom zakraj i blokom za korekciju.

• Opšta sintaksa:for (inicijalizacija; uslov; korekcija)

telo

Page 252: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

forfor (int i = 0; i < 10; i++)

System.out.println(i);• može i višestruka inicijalizacija i step-statement:for(int i = 0, j = 1;i < 10 && j != 11;i++, j++)• oprez (može da se ne završi):

for (double x = 0; x != 10; x+=0.1) ...

40/47

for (int i = 0; i < 10; i++)System.out.println(i);

• može i višestruka inicijalizacija i step-statement:for(int i = 0, j = 1;i < 10 && j != 11;i++, j++)• oprez (može da se ne završi):

for (double x = 0; x != 10; x+=0.1) ...

Page 253: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

while

• Za cikličnu strukturu kod koje se samo znauslov za prekid.

• Telo ciklusa ne mora ni jednom da seizvrši

• Opšta sintaksa:while (uslov)

telo• Važno: izlaz iz petlje na false!

41/47

• Za cikličnu strukturu kod koje se samo znauslov za prekid.

• Telo ciklusa ne mora ni jednom da seizvrši

• Opšta sintaksa:while (uslov)

telo• Važno: izlaz iz petlje na false!

Page 254: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

whileint i = 0;while (i <= 10){System.out.println("Trenutnoje " + i);i=i+1;

}• Važno: izlaz iz petlje na false!

42/47

int i = 0;while (i <= 10){System.out.println("Trenutnoje " + i);i=i+1;

}• Važno: izlaz iz petlje na false!

Page 255: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

do while

• Za cikličnu strukturu kod koje se samo znauslov za prekid

• Razlika u odnosu na while petlju je u tomešto se telo ciklusa izvršava makar jednom.

• Opšta sintaksa:dotelo

while (uslov);• Važno: izlaz iz petlje na false!

43/47

• Za cikličnu strukturu kod koje se samo znauslov za prekid

• Razlika u odnosu na while petlju je u tomešto se telo ciklusa izvršava makar jednom.

• Opšta sintaksa:dotelo

while (uslov);• Važno: izlaz iz petlje na false!

Page 256: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

do while

int i = 0;do {System.out.println(i++);

} while (i < 10);• Važno: izlaz iz petlje na false!

44/47

int i = 0;do {System.out.println(i++);

} while (i < 10);• Važno: izlaz iz petlje na false!

Page 257: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

break i continue

• break – prekida telo tekuće cikličnestrukture (ili case: dela) i izlazi iz nje.

• continue – prekida telo tekuce cikličnestrukture i otpočinje sledeću iteracijupetlje.

45/47

• break – prekida telo tekuće cikličnestrukture (ili case: dela) i izlazi iz nje.

• continue – prekida telo tekuce cikličnestrukture i otpočinje sledeću iteracijupetlje.

Page 258: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

break i continuefor(int i = 0; i < 10; i++) {

if (i==7) {break;}if (i == 2)continue;

System.out.println("Broj je:" + i);}

46/47

for(int i = 0; i < 10; i++) {if (i==7) {break;}if (i == 2)continue;

System.out.println("Broj je:" + i);}

Page 259: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Izlaz iz ugnježdene petljefor (...){

for (...){...if (uslov)break;

}}

47/47

for (...){

for (...){...if (uslov)break;

}}

Page 260: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računarski pratikum

Nizovi, kolekcije i asocijativne mape

Stringovi

Page 261: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Nizoviint a[]; // još uvek nije napravljen niz!a = new int[5]; // niz od 5 nulailiint a[] = new int[5]; // niz od 5 nulailiint a[] = { 1, 2, 3, 4, 5 };

2/26

int a[]; // još uvek nije napravljen niz!a = new int[5]; // niz od 5 nulailiint a[] = new int[5]; // niz od 5 nulailiint a[] = { 1, 2, 3, 4, 5 };

Page 262: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Nizovi primitivnih tipova 1/3

3/26

heapstek

a

int a[];

Page 263: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Nizovi primitivnih tipova 2/3

4/26

heapstek

a

0 0 0 0 0

a = new int[5];

Page 264: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Nizovi primitivnih tipova 3/3

5/26

heapstek

a

1 2 3 4 5

a[0]=1; a[1]=2; a[2]=3; a[3]=4; a[4]=5;

Page 265: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Nizovi primitivnih tipovajednim potezom

6/26

heapstek

a

1 2 3 4 5

int a[] = { 1, 2, 3, 4, 5 };

Page 266: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Višedimenzionalni nizovi

int a[][] = { {1, 2, 3 }, {4, 5,6 } };

int a[][] = new int[2][3];

int a[][] = new int[2][];for(int i = 0; i < a.length; i++){

a[i] = new int[3];}

7/26

int a[][] = { {1, 2, 3 }, {4, 5,6 } };

int a[][] = new int[2][3];

int a[][] = new int[2][];for(int i = 0; i < a.length; i++){

a[i] = new int[3];}

Page 267: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Klasa String• Niz karaktera je podržan klasom String. String nije samo

niz karaktera – on je klasa!• Objekti klase String se ne mogu menjati (immutable)!• Reprezentativne metode:

– str.length()– str.charAt(i)– str.indexOf(s)– str.substring(a,b), str.substring(a)– str.equals(s), str. equalsIgnoreCase(s) – ne koristiti ==– str.startsWith(s)

8/26

• Niz karaktera je podržan klasom String. String nije samoniz karaktera – on je klasa!

• Objekti klase String se ne mogu menjati (immutable)!• Reprezentativne metode:

– str.length()– str.charAt(i)– str.indexOf(s)– str.substring(a,b), str.substring(a)– str.equals(s), str. equalsIgnoreCase(s) – ne koristiti ==– str.startsWith(s)

Page 268: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Klasa Stringclass StringTest {public static void main(String args[]) {String s1 = "Ovo je";String s2 = "je string";System.out.println(s1.substring(2));

// karakter na zadatoj pozicijiSystem.out.println(s2.charAt(3));

// poređenje po jednakostiSystem.out.println(s1.equals(s2));

// pozicija zadatog podstringaSystem.out.println(s1.indexOf("je"));

// dužina stringaSystem.out.println(s2.length());

// skidanje whitespace-ova sa poč. i krajaSystem.out.println(s1.trim());

// provera da li string počinje podstringomSystem.out.println(s2.startsWith("je"));

}}

Ispis na konzoli:

o je

s

false

4

9

Ovo je

true

9/26

class StringTest {public static void main(String args[]) {String s1 = "Ovo je";String s2 = "je string";System.out.println(s1.substring(2));

// karakter na zadatoj pozicijiSystem.out.println(s2.charAt(3));

// poređenje po jednakostiSystem.out.println(s1.equals(s2));

// pozicija zadatog podstringaSystem.out.println(s1.indexOf("je"));

// dužina stringaSystem.out.println(s2.length());

// skidanje whitespace-ova sa poč. i krajaSystem.out.println(s1.trim());

// provera da li string počinje podstringomSystem.out.println(s2.startsWith("je"));

}}

Ispis na konzoli:

o je

s

false

4

9

Ovo je

true

Page 269: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Redefinisan + operator sastringovima

• Ako je jedan od operanada klase String, ceoizraz je string!

String a = “Vrednost i je: “ + i;• metoda toString()

10/26

• Ako je jedan od operanada klase String, ceoizraz je string!

String a = “Vrednost i je: “ + i;• metoda toString()

Page 270: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Metoda split() klase String• "cepa" osnovni string na niz stringova po

zadatom šablonu– originalni string se ne menja– parametar je regularni izraz

• Poziv: String[] rez = s.split(“regex”);• Primer:String s = "ja sam svetski mega car";String[] rez = s.split(" ");

11/26

• "cepa" osnovni string na niz stringova pozadatom šablonu– originalni string se ne menja– parametar je regularni izraz

• Poziv: String[] rez = s.split(“regex”);• Primer:String s = "ja sam svetski mega car";String[] rez = s.split(" ");

Page 271: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Metoda split() klase Stringclass SplitTest {

public static void main(String args[]) {String text = "Ovo je probni tekst";String[] tokens = text.split(" ");for (int i = 0; i < tokens.length; i++)System.out.println(tokens[i]);

}}

}

12/26

class SplitTest {public static void main(String args[]) {String text = "Ovo je probni tekst";String[] tokens = text.split(" ");for (int i = 0; i < tokens.length; i++)System.out.println(tokens[i]);

}}

}

Page 272: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Kolekcije

• Nizovi imaju jednu manu – kada sejednom naprave nije moguće promenitiveličinu.

• Kolekcije rešavaju taj problem.• Zajedničke metode:

– dodavanje elemenata,– uklanjanje elemenata,– iteriranje kroz kolekciju elemenata

13/26

• Nizovi imaju jednu manu – kada sejednom naprave nije moguće promenitiveličinu.

• Kolekcije rešavaju taj problem.• Zajedničke metode:

– dodavanje elemenata,– uklanjanje elemenata,– iteriranje kroz kolekciju elemenata

Page 273: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Kolekcije

Implementacija

Koncept

Hashtable

ResizableArray

BalancedTree

LinkedList

Hash table +Linked list

Set HashSet TreeSet LinkedHashSet

List ArrayList LinkedList

Map HashMap TreeMap LinkedHashMap

Page 274: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Tipizirane kolekcije - Generics

• U dosadašnjim kolekcijama mogli su da se smeste bilo koji objekti.• Mana: prilikom pristupa elementu iz kolekcije, obavezno se kastuje

u konkretan tip:

ArrayList kolekcija = new ArrayList();kolekcija.add("tekst");String s = (String)kolekcija.get(0);• Tipizirane kolekcije omogućavaju smeštaj samo jednog tipa podatka

u kolekciju.• Primer:ArrayList<String> kolekcija = new ArrayList<String>();kolekcija.add("tekst");String s = kolekcija.get(0);

Potencijalan problemprilikom pogrešnog

kastovanja

15/26

• U dosadašnjim kolekcijama mogli su da se smeste bilo koji objekti.• Mana: prilikom pristupa elementu iz kolekcije, obavezno se kastuje

u konkretan tip:

ArrayList kolekcija = new ArrayList();kolekcija.add("tekst");String s = (String)kolekcija.get(0);• Tipizirane kolekcije omogućavaju smeštaj samo jednog tipa podatka

u kolekciju.• Primer:ArrayList<String> kolekcija = new ArrayList<String>();kolekcija.add("tekst");String s = kolekcija.get(0);

Potencijalan problemprilikom pogrešnog

kastovanja

Page 275: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

for bez indeksiranja(poznat i kao foreach)

• Omogućuje prolazak kroz niz ili kolekciju.• Opšta sintaksa:for (varijabla : niz) {

... // telo}• Primer:for (int i : niz) {System.out.println(i);

}for (Auto a : kolekcija) {System.out.println(a.radi);

}

16/26

• Omogućuje prolazak kroz niz ili kolekciju.• Opšta sintaksa:for (varijabla : niz) {

... // telo}• Primer:for (int i : niz) {System.out.println(i);

}for (Auto a : kolekcija) {System.out.println(a.radi);

}

Page 276: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Klasa ArrayList• Predstavlja kolekciju, odn. dinamički niz• Elementi se u ArrayList dodaju metodom

add()• Elementi se iz ArrayList uklanjaju

metodom remove()• Elementi se iz ArrayList dobijaju (ne

uklanjaju se, već se samo čitaju) metodomget()

17/26

• Predstavlja kolekciju, odn. dinamički niz• Elementi se u ArrayList dodaju metodom

add()• Elementi se iz ArrayList uklanjaju

metodom remove()• Elementi se iz ArrayList dobijaju (ne

uklanjaju se, već se samo čitaju) metodomget()

Page 277: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Klasa ArrayListArrayList<Integer> lista = newArrayList<Integer>();lista.add(5);lista.add(10);lista.add(1, 15);System.out.println("Velicina je: " +lista.size());lista.remove(0);int broj = lista.get(0);System.out.println(broj);System.out.println("Velicina je: " +lista.size());

ArrayList<Integer> lista = newArrayList<Integer>();lista.add(5);lista.add(10);lista.add(1, 15);System.out.println("Velicina je: " +lista.size());lista.remove(0);int broj = lista.get(0);System.out.println(broj);System.out.println("Velicina je: " +lista.size());

Page 278: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Klasa ArrayListimport java.util.ArrayList;class ArrayListTest {public static void main(String args[]) {ArrayList v = new ArrayList();v.add("Ovo");v.add("je");v.add("probni");v.add("tekst");for (int i = 0; i < v.size(); i++)System.out.println(v.get(i));

}}

19/26

import java.util.ArrayList;class ArrayListTest {public static void main(String args[]) {ArrayList v = new ArrayList();v.add("Ovo");v.add("je");v.add("probni");v.add("tekst");for (int i = 0; i < v.size(); i++)System.out.println(v.get(i));

}}

Page 279: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Tipizirana klasa ArrayListimport java.util.ArrayList;class ArrayListTest {public static void main(String args[]) {ArrayList<String> v = new ArrayList<String>();v.add("Ovo");v.add("je");v.add("probni");v.add("tekst");for (int i = 0; i < v.size(); i++)System.out.print((String)v.get(i) + " ");

}}

20/26

import java.util.ArrayList;class ArrayListTest {public static void main(String args[]) {ArrayList<String> v = new ArrayList<String>();v.add("Ovo");v.add("je");v.add("probni");v.add("tekst");for (int i = 0; i < v.size(); i++)System.out.print((String)v.get(i) + " ");

}}

Page 280: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Asocijativne mape

• Memorijske strukture koje omogućuju brzupretragu sadržaja po ključu

21/26

• Memorijske strukture koje omogućuju brzupretragu sadržaja po ključu

Page 281: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Klasa HashMap• Predstavlja asocijativnu mapu• U HashMap se stavljaju dva podatka:

– ključ po kojem će se pretraživati– vrednost koja se skladišti u HashMap i koja se

pretražuje po ključu• Metodom put() se ključ i vrednost

smeštaju u HashMap• Metodom get() se na osnovu ključa

dobavlja (samo čita) vrednost iz HashMap

22/26

• Predstavlja asocijativnu mapu• U HashMap se stavljaju dva podatka:

– ključ po kojem će se pretraživati– vrednost koja se skladišti u HashMap i koja se

pretražuje po ključu• Metodom put() se ključ i vrednost

smeštaju u HashMap• Metodom get() se na osnovu ključa

dobavlja (samo čita) vrednost iz HashMap

Page 282: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Klasa HashMapimport java.util.HashMap;public class HashMapTest {public static void main(String args[]) {HashMap ht = new HashMap();ht.put("E10020", "Marko Markovic");ht.put("E10045", "Petar Petrovic");ht.put("E10093", "Jovan Jovanovic");String indeks = "E10045";System.out.println("Student sa brojem indeksa " +

indeks + " je " + ht.get(indeks));indeks = "E10093";System.out.println("Student sa brojem indeksa " +

indeks + " je " + ht.get(indeks));}

23/26

import java.util.HashMap;public class HashMapTest {public static void main(String args[]) {HashMap ht = new HashMap();ht.put("E10020", "Marko Markovic");ht.put("E10045", "Petar Petrovic");ht.put("E10093", "Jovan Jovanovic");String indeks = "E10045";System.out.println("Student sa brojem indeksa " +

indeks + " je " + ht.get(indeks));indeks = "E10093";System.out.println("Student sa brojem indeksa " +

indeks + " je " + ht.get(indeks));}

Page 283: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Tipizirana klasa HashMapimport java.util.HashMap;public class HashMapTest {public static void main(String args[]) {HashMap<String, String> ht =new HashMap<String, String>();

ht.put("E10020", "Marko Markovic");ht.put("E10045", "Petar Petrovic");ht.put("E10093", "Jovan Jovanovic");String indeks = "E10045";System.out.println("Student sa brojem indeksa " +

indeks + " je " + ht.get(indeks));indeks = "E10093";System.out.println("Student sa brojem indeksa " +

indeks + " je " + ht.get(indeks));}

24/26

import java.util.HashMap;public class HashMapTest {public static void main(String args[]) {HashMap<String, String> ht =new HashMap<String, String>();

ht.put("E10020", "Marko Markovic");ht.put("E10045", "Petar Petrovic");ht.put("E10093", "Jovan Jovanovic");String indeks = "E10045";System.out.println("Student sa brojem indeksa " +

indeks + " je " + ht.get(indeks));indeks = "E10093";System.out.println("Student sa brojem indeksa " +

indeks + " je " + ht.get(indeks));}

Page 284: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Klasa StringTokenizer• Radi sličan posao kao i metoda split()

klase String – "cepa" zadati string podelimiteru (ili delimiterima)

• Ne radi sa regularnim izrazima• Reziltat cepanja je kolekcija stringovva

kroz koju se iterira metodamahasMoreTokens() i nextToken()

25/26

• Radi sličan posao kao i metoda split()klase String – "cepa" zadati string podelimiteru (ili delimiterima)

• Ne radi sa regularnim izrazima• Reziltat cepanja je kolekcija stringovva

kroz koju se iterira metodamahasMoreTokens() i nextToken()

Page 285: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Klasa StringTokenizerimport java.util.*;class TokenizerTest {public static void main(String args[]) {String text = "Ovo je probni tekst";StringTokenizer st = new StringTokenizer(text, " ");while (st.hasMoreTokens()) {System.out.println(st.nextToken());

}}

}

26/26

import java.util.*;class TokenizerTest {public static void main(String args[]) {String text = "Ovo je probni tekst";StringTokenizer st = new StringTokenizer(text, " ");while (st.hasMoreTokens()) {System.out.println(st.nextToken());

}}

}

Page 286: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računarski praktikum

Funkcije

Page 287: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Funkcije

• Motivacija:– ponavljanje koda– dekompozicija na manje celine

• Osnovni elementi:– definicija– poziv

2/16

• Motivacija:– ponavljanje koda– dekompozicija na manje celine

• Osnovni elementi:– definicija– poziv

Page 288: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Definicija• Opšta sintaksa:povratni_tip ime_funkcije(parametri) {...

}

• Povratni tip je bilo koji tip podatka ili void ako funkcija ne vraćavrednost.– funkcija vraća najviše jednu vrednost!

• Parametri se deklarišu na isti način kao i promenljive.– Ako funkcija nema parametara ostave se prazne zagrade.

• Ako funkcija vraća vrednost, to se postiže return naredbom:– return a;– return (a);

3/16

• Opšta sintaksa:povratni_tip ime_funkcije(parametri) {...

}

• Povratni tip je bilo koji tip podatka ili void ako funkcija ne vraćavrednost.– funkcija vraća najviše jednu vrednost!

• Parametri se deklarišu na isti način kao i promenljive.– Ako funkcija nema parametara ostave se prazne zagrade.

• Ako funkcija vraća vrednost, to se postiže return naredbom:– return a;– return (a);

Page 289: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Parametri i rezultat metoda• parametri mogu biti:

– primitivni tipovi– reference na objekte

• rezultat može biti:– primitivni tip– referenca na objekat

• Metoda vraća vrednost naredbom:return vrednostilireturn (vrednost)

4/16

• parametri mogu biti:– primitivni tipovi– reference na objekte

• rezultat može biti:– primitivni tip– referenca na objekat

• Metoda vraća vrednost naredbom:return vrednostilireturn (vrednost)

Page 290: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Primeri definicijestatic int max(int a, int b) {

if (a > b)return a;

elsereturn b;

}

static void printInt(int i) {System.out.printf("%d", i);

}5/16

static int max(int a, int b) {if (a > b)

return a;else

return b;}

static void printInt(int i) {System.out.printf("%d", i);

}

Page 291: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Primer• Napisati funkciju sinus koja izračunava sinus razvojem u

Tejlorov red, tačnosti 10-6, po formuli:sinus(x) = x/1! - x3/3! + x5/5! - x7/7! + ...

sabirak = x; znak = 1; stepen = 1;while (Math.abs(sabirak) > 1E-6){

s = s + sabirak;znak = znak*-1;stepen = stepen + 2;sabirak = znak *Math.pow(x,stepen)/fakt(stepen);

}

Sinus.java

6/16

• Napisati funkciju sinus koja izračunava sinus razvojem uTejlorov red, tačnosti 10-6, po formuli:sinus(x) = x/1! - x3/3! + x5/5! - x7/7! + ...

sabirak = x; znak = 1; stepen = 1;while (Math.abs(sabirak) > 1E-6){

s = s + sabirak;znak = znak*-1;stepen = stepen + 2;sabirak = znak *Math.pow(x,stepen)/fakt(stepen);

}

Page 292: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Parametri funkcija

• Parametri funkcija se u nekimprogramskim jezicima prenose povrednosti ili po referenci– u programskom jeziku Java, prenos je

isključivo po vrednosti

7/16

• Parametri funkcija se u nekimprogramskim jezicima prenose povrednosti ili po referenci– u programskom jeziku Java, prenos je

isključivo po vrednosti

Page 293: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Prenos parametarapo vrednosti

• Prenos parametara po vrednosti:– prave se kopije parametara i te kopije se

prosleđuju funkciji– posledica: nije moguće promeniti prosleđenu

promenljivu iz funkcije

8/16

• Prenos parametara po vrednosti:– prave se kopije parametara i te kopije se

prosleđuju funkciji– posledica: nije moguće promeniti prosleđenu

promenljivu iz funkcije

Page 294: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Prenos parametarapo vrednosti

static void f(int i){

i = 3;}public static void main(String[] a) {

int i = 5;f(i);System.out.printf("%d", i);

}

Vrednost.java

9/16

static void f(int i){

i = 3;}public static void main(String[] a) {

int i = 5;f(i);System.out.printf("%d", i);

}Šta će biti

odštampano?

Page 295: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Nizovi kao parametri funkcija• U listi parametara funkcije ne navode se

dimenzije.• Primer:void f(int a[]) {...a[3] = 5;

}• Ako je potrebna veličina niza, ona se može

saznati iz atributa length:a.length

Ovo će promeniti a[3] u pozivajućojfunkciji!POSLEDICA:• Niz se može promeniti iz funkcije!• Nizovi se ne prosleđuju po vrednosti,tj. ne pravi se kopija niza!

10/16

• U listi parametara funkcije ne navode sedimenzije.

• Primer:void f(int a[]) {...a[3] = 5;

}• Ako je potrebna veličina niza, ona se može

saznati iz atributa length:a.length

Ovo će promeniti a[3] u pozivajućojfunkciji!POSLEDICA:• Niz se može promeniti iz funkcije!• Nizovi se ne prosleđuju po vrednosti,tj. ne pravi se kopija niza!

Nizovi.java

Page 296: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Višedimenzionalni nizovi kaoparametri funkcija

• U listi parametara funkcije se ne navodedimenzije– ta informacija se može saznati iz same promenljive

• a.length – broj vrsta• a[0].length – broj kolona

• Primer:void f(int a[][]) {...a[3][3] = 5;

}11/16

• U listi parametara funkcije se ne navodedimenzije– ta informacija se može saznati iz same promenljive

• a.length – broj vrsta• a[0].length – broj kolona

• Primer:void f(int a[][]) {...a[3][3] = 5;

}Nizovi.java

Page 297: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Opseg vidljivosti promenljivih

• Promenljive deklarisane unutar funkcije se“vide” samo u funkciji– to su lokalne promenljive

• Pomenljive deklarisane izvan funkcije se“vide” i u ostalim funkcijama– to su atributi

12/16

• Promenljive deklarisane unutar funkcije se“vide” samo u funkciji– to su lokalne promenljive

• Pomenljive deklarisane izvan funkcije se“vide” i u ostalim funkcijama– to su atributi

Page 298: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Opseg vidljivosti promenljivihvoid f(int i) {i = 3;

}int a;void f2(int i) {int b;a = 5;i = 3;

}void f3(int i) {int a;a = 5;i = 3;

} 13/16

void f(int i) {i = 3;

}int a;void f2(int i) {int b;a = 5;i = 3;

}void f3(int i) {int a;a = 5;i = 3;

}

Page 299: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Rekurzivne funkcije• Rekurzija: funkcija poziva

samu sebe• Svaka rekurzivna funkcija

mora da ima uslov zaizlaz iz rekurzije!

• Pozitivno:– razumljivije– ponekad i jedino moguće

(Akermanova funkcija)• Mana:

– opterećuje stek– brzina

14/16

• Rekurzija: funkcija pozivasamu sebe

• Svaka rekurzivna funkcijamora da ima uslov zaizlaz iz rekurzije!

• Pozitivno:– razumljivije– ponekad i jedino moguće

(Akermanova funkcija)• Mana:

– opterećuje stek– brzina

Page 300: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Rekurzivne funkcijeint fakt(int n){int i, f=1;for (i = 1; i <= n; i++){f *= i;

}return f;

}

int fakt(int n){if (n < 2)return 1;

return n * fakt(n-1);}

15/16

int fakt(int n){int i, f=1;for (i = 1; i <= n; i++){f *= i;

}return f;

}

int fakt(int n){if (n < 2)return 1;

return n * fakt(n-1);}

Fakt1.java Fakt2.java

Page 301: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Varijabilan broj parametara

• Ako želimo da metoda ima varijabilan brojparametara, deklarišemo na sledeći način:

void f(int... params) {...}• Parametrima se pristupa kao elementima

niza:int a = params[2];

16/16

• Ako želimo da metoda ima varijabilan brojparametara, deklarišemo na sledeći način:

void f(int... params) {...}• Parametrima se pristupa kao elementima

niza:int a = params[2];

Page 302: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računarski praktikum

Ulazno izlazni podsistem

Page 303: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Ulazno izlazni podsistem• standardna biblioteka za ulazno/izlazne operacije

• izvorišta/odredišta:

• tastatura/konzola

• fajl sistem

• memorija

• mrežne konekcije

• oslanja se na tokove (streams) i čitače/pisače(reader/writer)

2/20

• standardna biblioteka za ulazno/izlazne operacije

• izvorišta/odredišta:

• tastatura/konzola

• fajl sistem

• memorija

• mrežne konekcije

• oslanja se na tokove (streams) i čitače/pisače(reader/writer)

Page 304: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Štampanje na ekran

• System.out je izlazni tok:System.out.print(“Poruka”);System.out.println(“Poruka”);• Ispis se može i formatirati:System.out.printf(“format”, argumenti);System.out.printf(“%.2f %d”, (10000.0 / 3), 5);

3/20

• System.out je izlazni tok:System.out.print(“Poruka”);System.out.println(“Poruka”);• Ispis se može i formatirati:System.out.printf(“format”, argumenti);System.out.printf(“%.2f %d”, (10000.0 / 3), 5);

Page 305: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Štampanje na ekran

• Funkcija printf iz biblioteke stdio.h• Prvi parametar je specifikator formata ispisa,

a ostali parametri su varijable čija se vrednostštampa.

• Specifikator formata:%[širina][.preciznost]tip

4/20

• Funkcija printf iz biblioteke stdio.h• Prvi parametar je specifikator formata ispisa,

a ostali parametri su varijable čija se vrednostštampa.

• Specifikator formata:%[širina][.preciznost]tip

Page 306: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

printf - širina• Definiše broj cifara

[širina]¦ Kako utiče na preciznost---------+--------------------------------------------------------

n ¦ Štampa zadati broj cifara.0n ¦ Štampa zadati broj cifara.

¦ Ako broj nema toliko cifara, sa leve se popunjava nulama.

5/20

• Definiše broj cifara

[širina]¦ Kako utiče na preciznost---------+--------------------------------------------------------

n ¦ Štampa zadati broj cifara.0n ¦ Štampa zadati broj cifara.

¦ Ako broj nema toliko cifara, sa leve se popunjava nulama.

Page 307: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

printf – tip - brojevi

Tip ¦ Očekivan ulaz ¦ Format rezultat------------------------------------------------------------------------------Brojevi------------------------------------------------------------------------------

b ¦ Boolean ¦ Booleand ¦ Integer ¦ Signed decimal integero ¦ Integer ¦ Unsigned octal integeru ¦ Integer ¦ Unsigned decimal integerh,x¦ Integer ¦ Unsigned hexadecimal int (with a, b, c, d, e, f)H,X¦ Integer ¦ Unsigned hexadecimal int (with A, B, C, D, E, F)f ¦ Floating point ¦ Signed value oblika [-]dddd.dddd.e ¦ Floating point ¦ Signed value oblika [-]d.dddd or e[+/-]dddg ¦ Floating point ¦ Kraći zapis od %f i %eE ¦ Floating point ¦ Isto kao e; samo ima ‘E’ za eksponentG ¦ Floating point ¦ Isto kao e; samo ima ‘E’ za eksponent ako je e format

------------------------------------------------------------------------------

6/20

Tip ¦ Očekivan ulaz ¦ Format rezultat------------------------------------------------------------------------------Brojevi------------------------------------------------------------------------------

b ¦ Boolean ¦ Booleand ¦ Integer ¦ Signed decimal integero ¦ Integer ¦ Unsigned octal integeru ¦ Integer ¦ Unsigned decimal integerh,x¦ Integer ¦ Unsigned hexadecimal int (with a, b, c, d, e, f)H,X¦ Integer ¦ Unsigned hexadecimal int (with A, B, C, D, E, F)f ¦ Floating point ¦ Signed value oblika [-]dddd.dddd.e ¦ Floating point ¦ Signed value oblika [-]d.dddd or e[+/-]dddg ¦ Floating point ¦ Kraći zapis od %f i %eE ¦ Floating point ¦ Isto kao e; samo ima ‘E’ za eksponentG ¦ Floating point ¦ Isto kao e; samo ima ‘E’ za eksponent ako je e format

------------------------------------------------------------------------------

Page 308: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

printf – tip - karakteri

Tip ¦ Očekivan ulaz ¦ Format rezultat---------------------------------------------------------------------------Karakteri---------------------------------------------------------------------------

c ¦ Character ¦ Jedno slovos ¦ String ¦ Štampa string do kraja ili do zadatog broja slova% ¦ Ništa ¦ Štampa znak %

---------------------------------------------------------------------------

7/20

Tip ¦ Očekivan ulaz ¦ Format rezultat---------------------------------------------------------------------------Karakteri---------------------------------------------------------------------------

c ¦ Character ¦ Jedno slovos ¦ String ¦ Štampa string do kraja ili do zadatog broja slova% ¦ Ništa ¦ Štampa znak %

---------------------------------------------------------------------------

Page 309: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

printf - primeriSystem.out.printf("celobrojni: %d\n", c); --> celobrojni: 356System.out. printf("celobrojni: %6d\n", c); --> celobrojni: 356System.out. printf("celobrojni: %-6d\n", c); --> celobrojni: 356System.out. printf("celobrojni: %+6d\n", c); --> celobrojni: +356System.out. printf("celobrojni: %+6d\n", -c); --> celobrojni: -356

System.out. printf("razlomljeni: %f\n", 3.141); --> razlomljeni: 3.141000System.out. printf("razlomljeni: %6.2f\n", 3.141); --> razlomljeni: 3.14System.out. printf("razlomljeni: %e\n", 3.141); --> razlomljeni: 3.141000e+00System.out. printf("razlomljeni: %6.2e\n", 3.141); --> razlomljeni: 3.14e+00System.out. printf("razlomljeni: %g\n", 3.141); --> razlomljeni: 3.14100

8/20

System.out.printf("celobrojni: %d\n", c); --> celobrojni: 356System.out. printf("celobrojni: %6d\n", c); --> celobrojni: 356System.out. printf("celobrojni: %-6d\n", c); --> celobrojni: 356System.out. printf("celobrojni: %+6d\n", c); --> celobrojni: +356System.out. printf("celobrojni: %+6d\n", -c); --> celobrojni: -356

System.out. printf("razlomljeni: %f\n", 3.141); --> razlomljeni: 3.141000System.out. printf("razlomljeni: %6.2f\n", 3.141); --> razlomljeni: 3.14System.out. printf("razlomljeni: %e\n", 3.141); --> razlomljeni: 3.141000e+00System.out. printf("razlomljeni: %6.2e\n", 3.141); --> razlomljeni: 3.14e+00System.out. printf("razlomljeni: %g\n", 3.141); --> razlomljeni: 3.14100

TestPrintf.java

Page 310: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Unos sa tastature

• System.in je ulazni tok:BufferedReader in = new BufferedReader(new

InputStreamReader(System.in));String s = in.readLine();• Alternativa je klasa Scanner koja ne

učitava samo stringove:Scanner sc = new Scanner(System.in);String s = sc.nextLine();int i = sc.nextInt();float f = sc.nextFloat();

9/20

• System.in je ulazni tok:BufferedReader in = new BufferedReader(new

InputStreamReader(System.in));String s = in.readLine();• Alternativa je klasa Scanner koja ne

učitava samo stringove:Scanner sc = new Scanner(System.in);String s = sc.nextLine();int i = sc.nextInt();float f = sc.nextFloat();

Page 311: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Unos drugih primitivnih tipova satastature

• Koristi se wrapper klasa i njena metodaparseXxx():

BufferedReader in = new BufferedReader( newInputStreamReader(System.in));

String s = in.readLine();int i = Integer.parseInt(s);• Kraće je klasom Scanner:Scanner sc = new Scanner(System.in);int i = sc.nextInt();

10/20

• Koristi se wrapper klasa i njena metodaparseXxx():

BufferedReader in = new BufferedReader( newInputStreamReader(System.in));

String s = in.readLine();int i = Integer.parseInt(s);• Kraće je klasom Scanner:Scanner sc = new Scanner(System.in);int i = sc.nextInt();

Page 312: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Klasa Console• Sistemska konzola:

– Console c = System.console();• Metode:

– printf("format", promenljive)– readLine()– readLine("format", promenljive)

• ispiše promenljive u zadatom formatu, pa učita jedan redteksta

– readPassword()• čita šifru sa tastature, bez prikazivanja slova

– readPassword("format", promenljive)• ispiše promenljive u zadatom formatu, pa učita šifru sa

tastature, bez prikazivanja slova

11/20

• Sistemska konzola:– Console c = System.console();

• Metode:– printf("format", promenljive)– readLine()– readLine("format", promenljive)

• ispiše promenljive u zadatom formatu, pa učita jedan redteksta

– readPassword()• čita šifru sa tastature, bez prikazivanja slova

– readPassword("format", promenljive)• ispiše promenljive u zadatom formatu, pa učita šifru sa

tastature, bez prikazivanja slova

ConsoleTest.java

Page 313: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

File klasa

• Za manipulaciju datotekama idirektorijumima:– kreiranje datoteka i direktorijuma– brisanje datoteka i direktorijuma– pristup atributima datoteka i direktorijuma– modifikacija naziva i atributa datoteka i

direktorijuma

12/20

• Za manipulaciju datotekama idirektorijumima:– kreiranje datoteka i direktorijuma– brisanje datoteka i direktorijuma– pristup atributima datoteka i direktorijuma– modifikacija naziva i atributa datoteka i

direktorijuma

FileTest.java

Page 314: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

File klasa

• File f = new File(".");• File f = new File("C:\Windows");• f = new File(f, "pera");• f = new File(f, "..");

• if(f.exists()) ...• if(f.isDirectory()) ...• f.createNewfile();

13/20

• File f = new File(".");• File f = new File("C:\Windows");• f = new File(f, "pera");• f = new File(f, "..");

• if(f.exists()) ...• if(f.isDirectory()) ...• f.createNewfile();

Page 315: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Tokovi (streams) 1/4

• Bazirani na bajtovima– prenos jednog bajta– prenos niza bajtova– rad sa primitivnim tipovima podataka (int,

boolean, float, ...)

14/20

• Bazirani na bajtovima– prenos jednog bajta– prenos niza bajtova– rad sa primitivnim tipovima podataka (int,

boolean, float, ...)

Page 316: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Tokovi (streams) 2/4

• Osmišljeni kao mehanizam koji omogućuje unificiranpristup podacima

• Isti kôd se koristi za čitanje/pisanje iz, na primer,datoteke ili mrežne konekcije

• Koncept filtera - donose dodatnu funkcionalnosttokovima:– prenos primitivnih tipova na mašinski nezavisan način

(DataInputStream, DataOutputStream)– baferizovan prenos podataka (BufferedInputStream,

BufferedOutputStream)

15/20

• Osmišljeni kao mehanizam koji omogućuje unificiranpristup podacima

• Isti kôd se koristi za čitanje/pisanje iz, na primer,datoteke ili mrežne konekcije

• Koncept filtera - donose dodatnu funkcionalnosttokovima:– prenos primitivnih tipova na mašinski nezavisan način

(DataInputStream, DataOutputStream)– baferizovan prenos podataka (BufferedInputStream,

BufferedOutputStream)

FileStreamTest.java

Page 317: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Tokovi (streams) 3/4

• Metode u tokovima:– read() – čita jedan bajt iz toka– read(byte[]) – čita niz bajtova

• vraća pročitan broj bajtova ili -1 ako je stigla dokraja datoteke

– skip(long n) – preskače zadati broj bajtova– available() – vraća broj raspoloživih bajtova iz

toka koji se mogu pročitati pre blokiranjasledećeg čitanja

– close() – zatvara tok

16/20

• Metode u tokovima:– read() – čita jedan bajt iz toka– read(byte[]) – čita niz bajtova

• vraća pročitan broj bajtova ili -1 ako je stigla dokraja datoteke

– skip(long n) – preskače zadati broj bajtova– available() – vraća broj raspoloživih bajtova iz

toka koji se mogu pročitati pre blokiranjasledećeg čitanja

– close() – zatvara tok

Page 318: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Tokovi (streams) 4/4

• Primer upotrebe – kopiranje sadržaja datoteke:

byte[] buffer = new byte[BUFFER_LENGTH];while((read=in.read(buffer, 0,BUFFER_LENGTH)) != -1) {

// obrada učitanog niza bajtovaout.write(buffer);

}

17/20

• Primer upotrebe – kopiranje sadržaja datoteke:

byte[] buffer = new byte[BUFFER_LENGTH];while((read=in.read(buffer, 0,BUFFER_LENGTH)) != -1) {

// obrada učitanog niza bajtovaout.write(buffer);

}

CopyFile.java

Page 319: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Čitači/pisači (readers/writers) 1/2

• Koriste se za prenos Unicode teksta:• Čitači/pisači ne zamenjuju tokove – oni ih

dopunjuju• Čitači/pisači se koriste kada je potrebno

preneti Unicode stringove ili karaktere – uostalim situacijama koriste se tokovi

18/20

• Koriste se za prenos Unicode teksta:• Čitači/pisači ne zamenjuju tokove – oni ih

dopunjuju• Čitači/pisači se koriste kada je potrebno

preneti Unicode stringove ili karaktere – uostalim situacijama koriste se tokovi

Page 320: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Čitači/pisači (readers/writers) 2/2

• Metode u čitačima:– read() – čita jedan karakter iz toka– read(char[]) – čita niz karaktera– skip(long n) – preskače zadati broj karaktera– close() – zatvara čitač

• Baferizovani čitač (BufferedReader)– metoda readLine vraća učitan string ili null ako je

stigao do kraja datoteke• Štampanje stringova u datoteku (PrintWriter)

– metoda println štampa tekst u datoteku

19/20

• Metode u čitačima:– read() – čita jedan karakter iz toka– read(char[]) – čita niz karaktera– skip(long n) – preskače zadati broj karaktera– close() – zatvara čitač

• Baferizovani čitač (BufferedReader)– metoda readLine vraća učitan string ili null ako je

stigao do kraja datoteke• Štampanje stringova u datoteku (PrintWriter)

– metoda println štampa tekst u datoteku

FileReaderWriterTest.java

Page 321: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Zaključak• Podaci se u čitaju iz ulaznih tokova, a pišu u

izlazne tokove• Iz programa se retko radi direktno sa bajtovima

– zato se tokovi ugrađuju u Filter klase koje imajuodgovarajuće metode za čitanje/pisanje

– zato imamo tokove objekata, tokove primitivnih tipovaitd.

• Ako radimo sa karakterima/stringovima,koristimo čitače i pisače

20/20

• Podaci se u čitaju iz ulaznih tokova, a pišu uizlazne tokove

• Iz programa se retko radi direktno sa bajtovima– zato se tokovi ugrađuju u Filter klase koje imaju

odgovarajuće metode za čitanje/pisanje– zato imamo tokove objekata, tokove primitivnih tipova

itd.• Ako radimo sa karakterima/stringovima,

koristimo čitače i pisače

Page 322: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Računarski praktikum

Sortiranje

Page 323: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Sortiranje

• Sortiranje ili uređenje• Preuređenje niza tako da svi elementi

nakon toga zauzimaju rastući ili opadajućiporedak

• Vreme za sortiranje raste sa brojemelemenata u nizu– kvadratno (n2): selection sort, bubble sort, itd.– logaritamski (n log n): quick sort, merge sort, itd.

2

• Sortiranje ili uređenje• Preuređenje niza tako da svi elementi

nakon toga zauzimaju rastući ili opadajućiporedak

• Vreme za sortiranje raste sa brojemelemenata u nizu– kvadratno (n2): selection sort, bubble sort, itd.– logaritamski (n log n): quick sort, merge sort, itd.

Page 324: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Kvadratna zavisnost vremena

• Vreme za sortiranje raste sa kvadratom brojaelemenata niza

3

Page 325: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Logaritamska zavisnost vremena

• Vreme za sortiranje raste u skladu sa formulomn * log(n), gde je n broj elemenata niza

4

Page 326: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Selection sort

• Prolazi se kroz niz i traži se najmanjielement.

• Najmanji element se stavlja na prvo mestoniza.

• Zatim se prođe kroz preostali niz (oddrugog elementa, pa na dalje) i traži senajmanji element.

• Ovo se ponavlja dok se ne dođe do krajaniza.

5

• Prolazi se kroz niz i traži se najmanjielement.

• Najmanji element se stavlja na prvo mestoniza.

• Zatim se prođe kroz preostali niz (oddrugog elementa, pa na dalje) i traži senajmanji element.

• Ovo se ponavlja dok se ne dođe do krajaniza.

Select.java

Page 327: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Selection sort

• Pronalaženje najmanjeg elementa:– prvi element se fiksira– polazi se od drugog, pa do kraja– traženje najmanjeg elementa se odvija

uzastopnom zamenom ova dva elementakada god se ustanovi da je drugi manji odprvog.

6

• Pronalaženje najmanjeg elementa:– prvi element se fiksira– polazi se od drugog, pa do kraja– traženje najmanjeg elementa se odvija

uzastopnom zamenom ova dva elementakada god se ustanovi da je drugi manji odprvog.

Page 328: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Bubble sort

• Porede se dva uzastopna elementa niza izamenjuju se ako je drugi manji od prvog.

• Nakon prvog prolaza, na kraju niza je najvećielement.

• Algoritam se ponavlja za preostali deo niza (odprvog do pretposlednjeg elementa) i na mestupretposlednjeg elementa će ostati najvećielement iz tog podniza.

• Algoritam se ponavlja dok ne smanjimo podnizna prva dva elementa.

7

• Porede se dva uzastopna elementa niza izamenjuju se ako je drugi manji od prvog.

• Nakon prvog prolaza, na kraju niza je najvećielement.

• Algoritam se ponavlja za preostali deo niza (odprvog do pretposlednjeg elementa) i na mestupretposlednjeg elementa će ostati najvećielement iz tog podniza.

• Algoritam se ponavlja dok ne smanjimo podnizna prva dva elementa.

Bubble.java

Page 329: O predmetu - casovinovisad.yolasite.comcasovinovisad.yolasite.com/resources/Racunarski praktikum... · • Vilhelm Šikard (Wilhelm Schickard) je 1623. osmislio mehanički kalkulator.

Pretraga niza• Tražimo element u nizu• Razlika između pretrage u uređenom i

neuređenom nizu– ako je neuređen, nemamo izbora

• prolazimo kroz sve elemente niza dok ne nađemo element ilistignemo do kraja

– ako je niz uređen, imamo dve mogućnosti:• prolazimo kroz sve elemente niza dok ne nađemo element ili

stignemo do kraja• krenemo od sredine niza i proverimo koji je element tu

– ako je traženi element veći od tekućeg, znači da moramo datražimo u gornjoj polovini niza

– ako je traženi element manji od tekućeg, znači da moramo datražimo donjoj polovini niza

– ponavljamo ovu proceduru za odabranu polovinu niza dok nenađemo element, ili dok ne iscrpimo niz

SearchL.java SearchB.java

8

• Tražimo element u nizu• Razlika između pretrage u uređenom i

neuređenom nizu– ako je neuređen, nemamo izbora

• prolazimo kroz sve elemente niza dok ne nađemo element ilistignemo do kraja

– ako je niz uređen, imamo dve mogućnosti:• prolazimo kroz sve elemente niza dok ne nađemo element ili

stignemo do kraja• krenemo od sredine niza i proverimo koji je element tu

– ako je traženi element veći od tekućeg, znači da moramo datražimo u gornjoj polovini niza

– ako je traženi element manji od tekućeg, znači da moramo datražimo donjoj polovini niza

– ponavljamo ovu proceduru za odabranu polovinu niza dok nenađemo element, ili dok ne iscrpimo niz