informacione tehnologije u biznisu • predstavljaju ga svi programi koji se izvršavaju na...

57
1 Informacione tehnologije u biznisu Software

Upload: others

Post on 01-Mar-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

1

Informacione tehnologije u

biznisu

Software

Page 2: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Softver (Software)

• Softver je neopipljivi deo računara

• Predstavljaju ga svi programi koji se izvršavaju na

računaru

• Softver su programi (naredbe, instrukcije) koji 'govore'

računaru kako treba da izvršava određene zadatke

• Softver je veza između korisnika i računara

• Pojam softver prvi put pominje John W. Tukey, inženjer

informatike, 1957. godine

• Pojam je nastao kao analogija pojmu hardver

• Na engleskom reč hardver znači tvrde stvari (hard =

tvrdo), a soft znači meko

2

Page 3: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Softver (Software)

• Definicija Instituta inženjera Elektrotehnike i

Elektronike (The Institute of Electrical and

Electronics Engineers - IEEE) za pojam softver

glasi:

• Softver je sveobuhvatni zbir informatičkih

programa, procesa, pravila; dokumentacije i

datoteka u vezi, koji čine deo operacija

jednog informacionog sistema

3

Page 4: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Sistemski i korisnički

• Razlikujemo dve vrste softvera, sistemski i

korisnički (aplikativni)

4

Softver

Operativni sistemi

Upravljački programi

Uslužni programi

Programi prevodioci

Programi opšte namene

Namenski pisani programi

Sistemski softver Aplikativni softver

Page 5: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Sistemski softver

• Sistemski softver (System Software) pokreće

računar i upravlja njegovim radom

• Ovi programi direktno upravljaju fizičkim delom

računara, hardverom i omogućavaju interakciju

korisničkog softvera sa hardverom

• U sistemski softver spadaju operativni sistem,

upravljački programi (drajveri), uslužni programi i

programi prevodioci

5

Page 6: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Operativni sistemi

• Operativni sistem (Operating System) je skup

programa koji sve komponente računara

povezuje u jednu operativnu celinu

• Operativni sistem upravlja radom hardvera

(ulaznim i izlaznim jedinicama, memorijom),

koordinira rad korisničkih programa, proverava

ispravnost pojedinih delova računara, upravlja

datotekama itd

• Operativni sistem se nalazi na hard disku i

učitava u RAM memoriju odmah po uključivanju

računara6

Page 7: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Operativni sistemi

• Operativni sistem je skup programa koji se

automatski učitava u RAM memoriju po

uključenju računara i neprekidno upravlja radom

računara

• Drajveri su programi koji se pišu posebno za

svaki operativni sistem, a predstavljaju uputstva

operativnom sistemu kako da koristi određenu

hardversku komponentu, štampač, skener,

zvučnu karticu itd

• Najpoznatiji operativni sistemi su Microsoft

Windows, Unix, Linux, Mac OS7

Page 8: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Operativni sistemi

• Najpopularniji OS su Android, Windows,

iOS, OS X i Linux

dr Dušan Ljubičić 8

Page 9: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Različiti interfejs

• Postoje dva osnovna interfejsa preko

kojih korisnik komunicira sa

računarom:

–komandno linijski (tekstualni)

–grafički interfejs

9

Page 10: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Command Line Interfaces

• Kod tekstualnog korisnik komande unosi

tekstualno, kucanjem na tastaturi, liniju po liniju

• Ovakav način rada je od korisnika zahtevao

dobro poznavanje velikog broja komandi i

njihovih parametara

• Kod PC računara, najpoznatiji predstavnik

komandno linijski orijentisanog operativnog

sistema je MS DOS (Microsoft Disk Operating

System)

10

Page 11: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

MS DOS

11

Page 12: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

GUI - Graphical User Interface

• Kod operativnih sistema koji su grafički orijentisani

komande se izvršavaju izborom komande iz padajućih

menija, jednostrukim ili dvostrukim klikom mišem na

objekat

• Na ovaj način korisnici više nisu morali da pamte veliki

broj komandi, upotreba računara je znatno olakšana

• Najpoznatiji predstavnik grafički orijentisanog

operativnog sistema (GUI - Graphical User Interface) je

MS Windows (Windows 95 i kasnije verzije, starije

verzije do verzije zaključno sa Windows 3.11 nisu OS)

• Poznati su i IBM OS2, UNIX, LINUX

12

Page 13: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Windows

13

Page 14: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Funkcije operativnog sistema

• upravljanje procesima (mogućnost izvršavanja

više procesa istovremeno (multitasking) i deljenje

procesorskog vremena na procese (time sharing))

• upravljanje memorijom (razdvajanje sistemskih,

aplikativnih programa i podataka u memoriji,

upravljanje virtuelnom memorijom...)

• upravljanje uređajima (drajveri koji omogućavaju

funkcionisanje uređaja, prihvatanje podataka sa

ulaznih uređaja, skladištenje podataka na

diskovima, slanje podataka ka izlaznim uređajima)

14

Page 15: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Funkcije operativnog sistema

• upravljanje podacima (organizacija podataka na disku i

u memoriji u vidu, datoteka (files), foldera (folders,

directories), adresiranje fajlova i memorisanje fizičke

lokacije fajlova, obrada više istovremenih zahteva za

pristup istom fajlu)

• zaštita podataka (upravljanje pristupom sistemskim

resursima, zaštita od neautorizovanog pristupa

podacima i programima upotrebom koriničkog imena

(username) i lozinke (password), povezivanje sa drugim

računarima u mreži)

• upravljanje greškama i oporavak sistema

15

Page 16: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Upravljački programi

• Upravljački programi (drajveri) su programi

koji upravljaju određenim uređajem, kao

što su štampač, skener, grafička kartica,

mrežna kartica itd.

• Oni omogućavaju OS da koristi uređaj

dr Dušan Ljubičić 16

Page 17: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Uslužni softver

• U uslužne programe ubrajamo programe

za

– zaštitu od virusa

– zaštitu podataka od gubitka i oštećenja

(bekap, skeniranje diskova...)

– kompresiju datoteka (zip, arhive...)

– analizu hardvera u cilju dijagnosticiranja

problema i performansi računara itd.17

Page 18: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Programi prevodioci

• Programi prevodioci prevode programe koje pišu

programeri na mašinski jezik koji razume procesor

• Otkrivaju i identifikuju greške tokom prevoda

• Postoje tri vrste ovih programa: kompajler,

interpreter i asembler

• Viši programski jezici koriste kompajler ili

interpreter

• Asembler prevodi niže programske jezike u

mašinski jezikdr Dušan Ljubičić 18

Page 19: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Razvojni programi

• Razvojni programi za razvoj drugih programa

• Editor je program koji omogućava unos izvorne

verzije programa, nešto kao tekst procesor

• Izvorni kod prevodi se na mašinski jezik pomoću

prevodioca tj. kompajlera

• Objektni kod povezuje se sa eventaulnim drugim

potprogramima, ili bibliotekom gotovih

potprograma neophodnih za funkcionisanje

izvršne verzije. Ovo povezivanje se radi pomoću

linkera

19

Page 20: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Razvojni programi

20

Page 21: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Razvojni programi

• Za pokretanje programa potrebno je da se program učita

u RAM memoriju i ovo se izvršava pomoću programa

punioca, loader

• Još jedan program pomaže u izradi, tačnije testiranju

funkcionisanja programa, zove se debager (debug)

• Kod interpretera prevođenje programa se radi tako što

se prevodi instrukcija po instrukcija u trenutku

izvršavanja, usporava izvršenje programa

• Instrukciju možemo izmeniti u toku izvršenja programa

• Da bi se program pokrenuo moramo imati izvorni kod

programa za razliku od kompajlerske verzije21

Page 22: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Programski jezici

• Programski jezik je bilo koji od veštačkih jezika kojim je

moguće dati detaljne instrukcije računaru

• Programski jezici koriste se da olakšaju komunikaciju sa

računarom prilikom organizovanja i manipulacije

informacijama, ali i da precizno izraze algoritme

• Postoje mašinski i asemblerski jezici i jezici višeg nivoa

• Mašinski i asemblerski jezici su jezici niskog nivoa, koji

zahtevaju od programera da se posveti upravljanju svim

parametrima vezanim za čuvanje podataka i operacije

nad njima

• Jezici visokog nivoa bliži su prirodnom (ljudskom) jeziku,

čitljiviji su i daleko lakši za pisanje i održavanje programa

22

Page 23: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Mašinski i asemblerski jezik

• Mašinski jezik sastoji se od numeričkog kôda za

operacije koji određeni računar može direktno da izvrši.

Kôd je alfanumerička serija binarnih cifara 0 i 1 koji se

pretvara u heksadecimalni kôd radi lakše čitljivosti

• Asemblerski jezik je jedan nivo iznad mašinskog jezika.

Koristi kratki mnemonički kôd za instrukcije i omogućava

programeru da unosi imena za blokove memorije koja

sadrži podatke. Dizajniran je da omogući lako

prevođenje u mašinski jezik

• Kao i mašinski jezik, asemblerski jezik zahteva od

programera detaljno poznavanje računarske arhitekture

23

Page 24: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Programski jezici

• Programski jezici omogućavaju pisanje

instrukcija računaru i razvoj programa

• Postoje mašinski, asemblerski jezici i jezici

višeg nivoa

• Mogu da se podele u pet generacija

dr Dušan Ljubičić 24

Page 25: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Programski jezici – prva gen.

• U prvu generaciju spadaju mašinski jezici

• Kompletan program je pisan binarnim

ciframa

• Izuzetno težak za korišćenje

dr Dušan Ljubičić 25

Page 26: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Programski jezici – druga gen.

• U drugu generaciju spadaju asemblerski programi

• Uvedene su skraćenice za nazive instrukcija

• Umesto navođenja fizičkih adresa na kojima su se

nalazili podaci, mogla su se davati imena istima

• Mašinski i asemblerski jezici su niskog nivoa

• Pisani su za određenu arhitekturu računara,

procesori različitih arhitektura nisu mogli da koriste

iste programe

dr Dušan Ljubičić 26

Page 27: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Programski jezici – treća gen.

• Treću generaciju čine jezici visokog nivoa

• Oni su čitljiviji i bliži ljudskom jeziku i daleko lakši

za pisanje i održavanje

• Najpoznatiji jezici ove generacije su COBOL,

Fortran, Pascal, ALGOL, Basic i C

• i objektno orijentisani programi. C++, C#, Java i

Python

• To su ujedno i jezici koji se danas najviše koriste

dr Dušan Ljubičić 27

Page 28: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Programski jezici – četvrta gen.

• Jezici četvrte generacije su namenjeni za:

– rad sa bazom podataka

– matematičku optimizaciju

– razvoj grafičkog interfejsa

– razvoj veba

– prikupljanje izveštaja…

• Poznatiji predstavnici ove generacije su SQL,

SAS i SPSSdr Dušan Ljubičić 28

Page 29: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Programski jezici – peta gen.

• U jezike pete generacije ubrajaju se svi programi

koji se baziraju na rešavanju problema kroz

davanje ograničenja programu, umesto

korišćenja algoritama za njihovo rešavanje

• Uglavnom se koriste za istraživanja vezana za

veštačku inteligenciju

• Prolog, Merkur i OPS5 su predstavnici ove

generacije jezika

dr Dušan Ljubičić 29

Page 30: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Korisnički (aplikativni) softver

• Korisnički softver predstavljaju programi koji su

namenjeni krajnjim korisnicima računarskog sistema

• Granica između operativnog sistema i korisničkih

programa nije precizno određena i predstavlja često

predmet rasprava

• Na primer, jedno od ključnih pitanja u

antimonopolskom sudskom slučaju Sjedinjene

Američke Države protiv Majkrosofta je - da li je

Majkrosoftov pretraživač Internet Eksplorer deo

operativnog sistema Windows, ili je deo skupa

korisničkih programa30

Page 31: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Aplikativni softver

• Aplikativni softver su programi koji omogućavaju

korisniku rešavanje konkretnih problema i zadataka

• Ovde spadaju

– programi koji su pisani za rešavanje nekih opštih

problema, kao što je pisanje i obrada teksta,

tabelarna izračunavanja, rad sa bazama podataka itd.

(Word, Excel, Access, AutoCad...)

– namenski pisani programi koji rešavaju problem

jednog ili određenog broja korisnika (programi za

vođenje računovodstvenih poslova, kadrovskih i

ostalih evidencija)31

Page 32: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Vlasništvo nad softverom

• Svaki softver podleže zaštiti autorskih prava

• Autorsko pravo za područje softvera (Software

Copyright) podrazumeva isključivo pravo proizvođača

da umnožava softver na koji polaže pravo

• Prodajom softvera proizvođač i dalje zadržava

autorska prava. Ovakav softver ne sme se kopirati bez

znanja i dozvole nosioca ovog prava

• Kupovinom softvera postajete vlasnik prava upotrebe

softvera (Software Licence) i na osnovu tog prava

softver možete samo koristiti i to obično na samo

jednom računaru32

Page 33: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Licenca

• Licenca korisnika (End User Licence) je

zakonski ugovor između autora ili izdavača

softverske aplikacije i korisnika u vezi uslova

distribucije, dalje prodaje i ograničenja upotrebe

• Ovo predstavlja ugovor o korišćenju softvera

između autora i korisnika

• Ovaj dokument može da zauzima i desetak

strana. Instaliranjem softvera morate da

odgovorite da prihvatate (Agree) ova prava i

obaveze

33

Page 34: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Freeware i Shareware

• Freeware (slobodni softver) je jedini softver

koji se zakonski besplatno kopira i koristi, ali bez

prava prodaje

• Shareware (softver sa odloženim plaćanjem)

je softver koji možete koristiti ograničen

vremenski period ili ga možete pokrenuti

određen broj puta. Obično se koristi kako biste

isprobali i uvideli mogućnosti programa

• Ovakav metod se naziva Try before you Buy

(probajte pre kupovine)

34

Page 35: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Open source software

• Open source software (Softver otvorenog kôda)

se odnosi na bilo koji softver čiji izvorni kod je

dostupan za upotrebu i modifikaciju

• Otvoreni kod omogućava organizacijama da

softver prilagode svojim potrebama, a prodavcima

softvera da ga modifikuju radi dalje prodaje

• Linux je najpoznatiji primer ovog tipa softvera

• Red Hat je najveća kompanija koja pravi softver

otvorenog kôda

dr Dušan Ljubičić 35

Page 36: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

ANALIZA SISTEMA I ZAHTEVA KORISNIKA (SSA, UML, UMM)

KONCEPTUALNI MODEL (MOV, RM, Dijagram klasa)

LOGIČKO PROJEKTOVANJE BAZE PODATAKA U DATOM SUBP

(MOV u RM, ERwin)

FIZIČKO PROJEKTOVANJE BAZE PODATAKA

IMPLEMENTACIJA I PODEŠAVANJE

SPECIFIKACIJA APLIKACIJA (UML)

PROJEKTOVANJE APLIKACIJA (JPRS, MDA)

NOVI RAZVOJNI CIKLUS

PROJEKTOVANJE BAZE PODATAKA

PROJEKTOVANJE APLIKACIJA

STRATEŠKO PLANIRANJE

TESTIRANJE

UVOĐENJE SA ODRŽAVANJEM I MODIFIKACIJAMA SISTEMA

Page 37: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Faze razvoja softvera

• Prilikom razvoja novog softvera postoje određene faze

• Analiza

Analitičari analizaju postojeće stanje i analiziraju potrebe

korisnika računara. Planiraju kako će sistem da funkcioniše

u realnom okruženju

• Dizajniranje (projektovanje)

Projektanti, na osnovu plana i specifikacije sistem

analitičara, prave projekat koji opisuje sve module, zahteve

• Programiranje

Programeri, na osnovu projekta, izrađuju programe koje će

u realnom okruženju koristiti krajnji korisnici. Program je niz

instrukcija koje govore računaru šta treba da radi

37

Page 38: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Faze razvoja softvera

• Testiranje

Podrazumeva detaljna testiranja svih delova programa. Na

osnovu izvršenih testiranja ponovo se radi analiza,

projektovanje i programiranje, odnosno sve se obavlja u

ciklusima

• Dokumentovanje

• Jedna vrsta dokumenata odnosi se na tehničke detalje i

namenjena je profesionalcima koji eventualno treba da

nastave rad na odgovarajućem softveru

• Druga vrsta dokumentacije jeste uputstvo za upotrebu i

namenjeno je korisnicima softvera

38

Page 39: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Faze razvoja softvera

• Održavanje programa

• Ne postoji program koji ne zahteva održavanje

• Vremenom dolazi do potrebe prilagođavanja

softvera, ispravke nekih njegovih delova

• U slučaju da firma kupuje određeni softver, mora

posebno da obrati pažnju na ovu fazu, jer

održavanje softvera uglavnom u potpunosti zavisi

od njegovog autora

39

Page 40: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Algoritmi

• Algoritam je opis, uputstvo za rešavanje nekog

problema

• Prvi put reč algoritam pominje se kao greška u

prevodu arapskog matematičara Muhameda Al

Horezmija. Njegovu knjigu Al Horezmi o

indijskim brojkama prevode na latinski kao

Algoritmi de numero indorum

• Ubrzo se reč algoritam (lat. Algorithmus)

odomaćila za način računa sa novim brojkama

(sada poznate kao arapske, a ne indijske)

40

Page 41: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Algoritmi

• U novije vreme, algoritam je pojam koji se gotovo

isključivo vezuje za informatiku i, mada ne postoji

jedinstvena opšteprihvaćena definicija, podrazumeva se

da je u pitanju nekako opisana procedura za obavljanje

posla

• Algoritmi mogu biti prikazani ili realizovani na više načina:

– prirodnim jezikom (razumljiv govornicima tog jezika),

– grafički, dijagramom toka (blok-dijagramom),

– tekstualno - pseudokodom, veštačkim precizno

definisanim jezikom koji liči na programski jezik,

– odgovarajućim programskim jezikom

41

Page 42: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Algoritmi

• Recept za spremanje nekog jela može se smatrati

jednim algoritmom ispisanim prirodnim jezikom

• Ali ako za taj recept koristimo simbole sa značenjem

odgovarajućih radnji govorimo o dijagramu toka,

grafičkom algoritmu, Ovakav način sigurno je pregledniji,

ali zahteva da se pridržavamo strogih pravila upotrebe

simbola

• Ako uvedemo neki standard reči koje koristimo za

pisanje recepata govorimo o pseudo kodu

• Ali ako koristimo jezik koji će razumeti računar govorimo

o programskom jeziku

42

Page 43: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Osobine algoritama

• diskretnost — u odvojenim koracima izvršavaju se

diskretne operacije algoritma koji vode ka konačnom

cilju;

• rezultativnost — označava sposobnost algoritma

da posle konačnog broja koraka daje izlazne

podatke;

• determinisanost — za iste ulazne podatke

algoritam uvek generiše iste vrednosti na izlazima i

• masovnost — algoritam je primenljiv na veći broj

ulaznih vrednosti43

Page 44: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Algoritamske strukture

• U algoritmima se koriste odgovarajuće

strukture:

– sekvenca,

– selekcija i

– iteracija

44

Page 45: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Sekvenca

• Sekvenca podrazumeva niz instrukcija koje se

izvršavaju jedna za drugom. Na primer, to može

da bude uputstvo kojim se opisuje kojim redom

student treba da polaže ispite

45

Page 46: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

46

Sekvenca je niz naredbi koje se izvršavaju jedna za drugom uokvirenih velikim zagradama { }. Sekvenca je obično deo složenije strukture u programu.

{naredba_1; naredba_2; naredba_3;}

Ili

{

naredba_1;

naredba_2;

naredba_3;

}

naredba 1

naredba 2

naredba 3

{

}

Sekvenca u jeziku C

Page 47: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Selekcija

• Selekcija podrazumeva da se određeni niz

instrukcija izvršava ako je ispunjen neki uslov, a

u suprotnom se izvršava neki drugi niz

instrukcija.

• Na primer, ako student nije položio kolokvijum

ne može da izađe na ispit.

47

Page 48: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

48

Osnovnom selekcijom se vrši uslovno izvršavanje jedne od dve moguće naredbe (sekvence). Ako izraz (uslov) ima vrednost logičke istine (T – true, numerička vrednost različita od 0) izvršava se naredba_1. Ako je vrednost izraza (uslova) logička neistina (F – false, numerička vrednost jednaka 0) izvršava se naredba_2.

izraz

naredba 2naredba 1

FT

Selekcija u jeziku C

Page 49: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

49

izraz

naredba 2

naredba 1

FTAko je uslov istinit izvršiće se

naredba_1, a zatim naredba_2.

U suprotnom izvršiće se samo

naredba_2.

if (izraz-uslov) naredba_1;

naredba_2;

Selekcija u jeziku C

Page 50: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Iteracija

• Iteracija podrazumeva da se određeni set

instrukcija ponavlja više puta dok se ne ispuni

neki uslov

• Na primer, ako student ne položi neki ispit, treba

da dalje uči i ponovo polaže sve dok ne položi

ispit

50

Page 51: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

51

1. while (uslov-izraz)

naredba;

2. while (uslov-izraz)

{

naredba_1;

naredba_2;

}

Naredbe ciklusa se izvršavaju

sve dok je vrednost izraza

logička istina, tj. različita od

nule. Kada vrednost izraza

postane logička neistina

(jednaka nuli) izvršiće se

naredbe definisane posle

strukture ciklusa. U slučaju da

je u prvom prolasku kroz ciklus

vrednost izraza logička neistina

(jednaka nuli) naredbe ciklusa

neće se izvršiti nijednom.

izraz

Naredbe

T

F

Iteracija u jeziku C

Page 52: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Selekcije u programskom jeziku

• IF uslov THEN operacija

(ako je uslov ispunjen tada izvrši operaciju)

• IF uslov THEN operacija1 ELSE operacija2

(ako je uslov ispunjen, tada izvrši operaciju 1, u

suprotnom izvrši operaciju 2)

• CASE uslov OF

vrednost1: operacija1

vrednost2: operacija2

ELSE operacija n

(ako uslov ima vrednost1 izvrši operaciju1, ako uslov ima

vrednost2, izvrši operaciju2... u suprotnom izvrši

operacijun)

52

Page 53: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Iteracije u programskom jeziku

• WHILE uslov DO operacija

(sve dok je uslov ispunjem, radi operaciju)

• FOR početak TO kraj DO operacija

(od početne vrednosti do krajnje vrednosti, radi

operaciju)

• REPEAT operacija UNTIL uslov

(ponavljaj operaciju sve dok se ne ispuni uslov)

53

Page 54: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Dijagrami

• Uobičajen način pristupanja kreiranju algoritma je

crtanjem dijagrama. Postoji više vrsta dijagrama

• Najpopularniji i najrasprostranjeniji je standardni

dijagram toka kada se tok prati po pravcu kretanja

strelica. U pravougaonike se upisuju kratki opisi

operacija i poslova, a u rombove i izdužene

šestougaonika uslovi za grananje

• Popularizacija strukturnog programiranja je dovelo do

uvođenja novih, strukturnih dijagrama toka. Ceo

dijagram je u obliku niza spojenih pravougaonika. Oni,

međutim, nisu široko prihvaćeni od programera

54

Page 55: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

Standardni dijagram toka Strukturni dijagram toka

55

Dijagrami toka

Page 56: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

56

{

printf("\n\n\nUnesite ceo broj sa tastature ");

scanf("%d", &broj);

ost = broj % 2;

if (ost == 0)

kvadrat = pow(broj,2);

printf("\n\nBroj = %d", broj);

printf("\n\nKvadrat broja = %d", kvadrat);

}

Unos vrednosti

Ostatak

Prikaz

Ako je paran

računaj kvadrat

Unos vrednosti

Izračunavanje ostatka

Paran?

Računaj kvadrat

Prikaži rezultat

Učitajte ceo broj sa tastature. Ako je paran izračunajte

kvadrat broja i prikažite ga, u suprotnom kvadrat je nula

Page 57: Informacione tehnologije u biznisu • Predstavljaju ga svi programi koji se izvršavaju na računaru • Softver su programi (naredbe, instrukcije) koji 'govore' računaru kako treba

57

Informacione tehnologije u

biznisu

Software