You are on page 1of 186

UREDNICA ZeUko Juric

Jasmina Alagic

RECENZENTI
Edin Hadzikadullic
Robert Onodi
Dzavid Osmanbegovic

DIZAJN I GRAFICKO UREDENJE


Izedin Sikalo
Fotoarhiv Sarajevo Publishinga

SLOG I PRI)ELOM
DTP studio Sarajevo Publishinga

LEKTURA I KOREKTURA
Lektorsko~korektorska sluzba Sarajevo Publishinga

Sarajevo-Publishing d.d. Sarajevo, 2003.


Nijedan dio ave knjige ne smije se umnozavati, fotokopirati niH na bilo koji naCin reprodudrati bez
izdavacevog pismenog odobrenja.
INFORMATIKA
Federalno ministarstvo obrazovanja i nauke na osnovu odluke Vijeca za izradu i pracenje nastavnih ZA 1, 2, I 3. RAZRED GIMNAZlJE
planova i programa i odabir udibenika od 11. 06. 2003. godine, rjesenjem broj 03-38-2035/03~7S od
1. 07. 2003. odobrilo fe ovaj udibenik za upotrebu,

Stampa: "GRAFOrrSAK" Grude ~ Bosna i Hercegovina

eIP - Katalogizacija u publikaeiji


Naeionalna i univerzitetska biblioteka
Bosne i Hereegovine, Sarajevo

004,2/ .4 (075 3)

JURIC:, Zeljko
Informatika za 1, 2, :i 3. razred gimnazije /
Z,eljko ,Turic, - Sarajevo: Sarajevo Publishing,
2003. 372 St1'. : i1ustr. ; 26 em

ISBN 9958-21-208-0
COBISS . Bfl-ID 12218118
SARAJEVO PUBLISHING, Sarajevo, 2005.
PREDGOVOR
Ovaj udtbenik zamisljen je kao integralni udtbenik koji se moze koristiti u svim vrstama i tipovi-
ma srednjih skala j u svim razredima u kojima se slusa predmet "Informatika". Odmah na pocetku
neophodno je napomenuti da je ovakav ci!j veoma tesko postiCi, s obzirom da razBeiti profili sred-
njih sl<ola imaju razliCite nastavne planove i programe za ovaj predmet, sa razlititim brojem casova
sedmicno predvidenih za nastavu informatike, pa cak i sa razli6itim brojem razreda u kojima se ovaj
predmet slusa. Pose ban problem predstavlja i decentralizirani sistem obrazovanja, koji dopusta da
razli6iti kantoni unutar Federacije Sosne i Hercegovine imaju razlitite nastavne planove i programe
za iste predmete. Izlaz iz ave situacije naden je taka sto je udzbenik pravljen prema najobuhvatni~
jem planu j programu koji je u upotrebi na podrucju Federacije, a to je Federalni nastavni plan i
program za gimnazije matematicko~informatickog usmjerenja. Prednost ovog nastavnog plana
i programa je u tome sto on u sabi sadrzi sve druge nastavne planove i programe po kojima se
trenutno odvija nastava u Federaciji. Stoga se udzbenik maze koristiti na cijelom podrucju
Federacije. Autor ovog udzbenika je duboko svjesan i nedostataka ovakvog rjesenja. Naime, mnoge
skale koriste znatno skromnije nastavne planove i programe, po kojima se inrormatika izucava sa
po jednim iii eventualno dva, easa u prvom iii drugom razredu (zapravo, u trenutku pisanja ovog
udzbenika, Federalni nastavni plan i program nije u cjelini bio primjenjivan nit! u jednoj srednjoj
skoli). Ovaj prividni nedostatak lako se moze ukloniti uz pom06 nastavnika, ~oji 6e sami procijeniti
koje se nastavne jedinice iz udzbenika trebaju obradivati, u skladu sa aktuelnim nastavnim planom
i programom koji se koristi u kohkretnoj skoli. Postojanje prividno "suvisnih" nastavnih cjelina i jedini-
ca ns treba shvatiti kao nedostatak, vee kao dopunski materijaJ koji zainteresiranim i nadarenim
ucenicima maze sluziti za proslrivanje i nadopunjavanje siecenog znanja.

Neophodno je napornenuti da je Federalni nastavni plan i program, po kojem je raden ovaj


udzbenfk:, bez obzira na njegovu savremenost i neosporan kvalitet, izuzetno obiman i zahtjevan, i
da ga je veoma_tesko realizirati u potpunosti, pogotovo u tehnieki slabije opremljenim skoiama (5tO
je, vjerovatno, bio j osnovni razlog za njegovo nekoristenje). 8toga na nastavnicima kojl realiziraju
nastavu iz ovog predmeta leii odgovornost da procijene za koje nastavne jedinice postoji objektiv~
na mogu6nost realizacije u konkretnoj 5koli. Sre60m, udlbenik je take koncipiran da se gotovo sve
nastavne jedinice mogu bez problema realizirati barem teoretski, cak i u slueaju kada ne posteje
uvjeti za njihovu prakticnu realizaciju (autor se iskreno nada da 6e se situacija sa tehnickorn oprem-
IjenosGu skola qrasticno promijeniti nabolje u bliskoj buducnosti). Nastavnici takoder moraju i da
izvrS~ procjenu koje na.stavne jedinice odgovaraju intelektualnoj sposobnostl ucenika koji 6e koristi-
ti ~dzbenik, $ obzlrom da postoji odreCieni brej nastavnih jedinica koje su dosta teske i nisu pogodne
npr. za ucenike srednjih strucnih skola, u kojima je informatika sporedan predmet (mada treba istaCi
da je danas, u eri racunarskih tehnologija, informatika, cak i tame gdje spada u sporedne predmete,
sigurno jedan od najvaznijih sporednil1 predmeta). Teze nastavne jed in ice, kao s10 su npr. reladone
baze podataka (sa uvodom u SOL), mogu se even.tualno ostaviti za obradu na informatickim sekci~
jama. Na taj nacin, udtbenik mote da pasluzi i kao prlrucnlk za rad na informatiCkim sekcijama. To
se PCl~b!lo odnosl na skole u kojima se programlranje obraduje samo u okvlru sekclja, a ne unutar
r~dovne nastave.

Udibenik je- podijeljen u tri cjeline (poglavlja), kOje su po Federalnom nastavnom planu i pro-
gramu predvidene respektivno Z3 izueavanje u prvom, drugom i trecem razredu Gimnazije, U drugim
'<:skolama, raspodjela ovih cjelina po razredima moze biti i drugaCija, 5to je jedan od razloga zbog
6ega je _udzbenik raden kao integralni udzbenlk za sve razrede, Prva cjelina, nazvana "Opca infol"-
,matika""obraduje opee pojmove iz informacionih tehnologlja, druga cjelina, nazvana "Korisnicka
informatika", posmatra informatiku sa aspekta korisnika racunara, dok je freta cjelina, nazvana
-"{)snove programiranj;i', posvecena osnovama programiranja u programskom jezilw Pascal.
Svaka cjeHna je dalje hijerarhijski podijeljena na niz podpog!avlja, koja su numerirana na sis-
tematican naein, 8tO olaksava snalazenje u udzbeniku. Materija sve trl cjeline se dosta prepli6e, taka
da se na mnogim mjest!ma unutar recimo drugs cjellne, udzbenik poziva na dljelove materije
5
obradene u prvoj cje!ini. Ovo ne bl bilo moguce da je istl materljal realizlran kao tfi neovisne cjeline
u tri razlicita udzbenika. Na ova] nacin, ucenic! mogu lakse steei cjelokupnu sliku 0 informatici kao 1. OPCA INFORMATIKA
multidisciplinarnoj naueL

Poznato je da je informatika nauka cije se vjestine rnogu steei iskljucivo kroz praktiean rad. 1.1 UVOI) U INFORMATIKU KAO NAUKU
Stoga je veOrna vazno naglasltl da oval udzbenik ni u korn slueaiu nE! moze nadomjestiii praktiean
rad na racunaru. lz istih razloga, ovaj udtbenik nije zamisljen da sluzi kao priruenik za rad sa
konkretnim operativnim sistemima (poput Windowsa), niti za rad sa konkretnim aplikaeijama (poput 1.1.1 Sia je informalika?
Worda i Exeela), jer se vjeStine rada sa ovim softverskim sistemima najbolje stieu kroz konkretan
rad na racunaru i uz pornoe nastavnika. Bez obzira na to, u udzbeniku su dosta temeljito obradeni U danasnjem svakodnevnom tivotu neprestano se susreeemo sa pojmom informatike. Cesto
osnovni koncepti tekst procesora Word i programa za tabelarne prora6une Excel, koji predstavljaju mozemo euti kako "tivimo u eri informatlcke revolucije"-, i sticne fraze. Medutim, postavimo Ii pros-
dvije najeesee koristene racunarske ap!ikacije u danasnje vrijeme. Pri tome je akeenat stavljen na
jecnom sagovorniku pitanje sla je zapravo informatika, dobi6emo veoma saro!ike i najceS6e veoma
manje poznate osobine ovih programa (pogotovo programa Exce~, kOje se ne mogu tako laka savla-
neprecizne adgovore. Nairne, danas se veoma cesto termini informatika i ra6unarstvo paistovjecuju,
dati sarno kroz praktican rad. Ovdje cemo ponovo naglasiti da nastavne jediniee kOje obraduju
konkretne raeunarske aplikacije (pretetno jedinice iz drugog dijela udzbenika) oe treba ni u korn mada izmedu njih pastoje izvjesne razlike. Informatika je zapravo nastala neovisno ad samih
slucaju uciti napamet, vee iskljucivo kroz praklican rad na racunaru. Pored toga, treba istaei da je raeunara kao nauka koja se bavi savremenim nacinima prikupljanja, memoriranja i obrade informaci~
osnovna vrijednost ovog udtbenika u tome SIO ucenicima nudi teoretske podloge koje predstavljaju ja. Interesantno je, medutim, da do danasnjeg dana ns postoji opteprihva6eni medunarodni konsen~
"vezivno tkivo" izmedu prividno nepovezanih discipllna kojima S8 bay! informatika, a koje S8 ne mogu zus a tome sta je zapravo informatika. Na nasim prostorima najvise Se susrete sljedeca definicija:
steei kraz praktican fad na ra6unaru. Naime, na nasim prostorima je primijetan braj samozvanih
kompjuterskih "slrucnjaka" koji veoma dobro znaju kako nesto uraditi na racunaru, a bez ikakve lnformatilw. je nauka koja se bal'i proucal'anjem i razvojem racullara kao _saFremenih
predstave zasto se to radi bas na takav naGin. Takvi "strucnjaci" lipieno imaju probleme kada se god sreelstam za obradll inJormacija, te primjcnom rael/nara u mznim oblasiima ljttdske djelatllosti.
susretnu sa problemima sa kojima se nisu prije suoci!i. Gilj ovog udtbenika je, izmedu ostalog, i da
umanji ovakve probleme tako sto te prutiti ueenicima solidne teoretske osnove na kojima se bazi- 8itno je naglasiti da ova definiclja nije opeeprihvacena definicija informatlke (kao, uostalom, nl
ra informatika kao nauka, a ne samo kao vjestina. jedna druga definiclja). Na primjer, u Sjedinjenim Ameri6kim Drzavama pravi se stroga razlika
izmedu raeunarstva kao nauke koja se bavi racunarom kao slozenim tehnickim uredajem, kao i
Bitno je napomenuti i da Je udtbenik jezick! pri!agoden tako da se, bez veCih problema, maze naCinom njegove konstrukcije i osnovnim principima rada, i intormalike kao nauke koja se bavi priku-
koristiti na eitavom podrucju,Federacije. Da bi se postigao ova] cilj, u udtbeniku nisu upotrebljavani pljanjem, prenosenjem, obradom i prezentaciiom informacija, pri cemu se racunar posmatra
termini koji su posebno specificni za govor nekog od tri konstitutivna naroda na podrucju Federacije, iskljuCivo kao etrkasno sredstvo za obradu informacija.
nego je akcenat stavljen na upotrebu rijeGi koje su manje Hi vise univerzalne. Autor ne vidi nikakvu
prepreku da se udzbenik, po telji nastavnika, mote koristiti i kao dopunska literatura na podrucju
Bez obzira na to koju definiciju informatike prihvatimo, moramo biti svjesni da je daMs infor-
RepubHke Srpske, bez obzira sto je registriran za upottBbu na podrucju Federacije.
matika jedna kompleksna i multidisciplinarna nauka, koja ima mnostvo dodirnih taeaka kako sa
Sadrzaj ovog udzbenika je takav da se moze koristi1i kao dopunski udtbenik ne samo u srednjim prlrodnim i tehnickim, tako i sa drustvenim naukama. Tako, moderna informatika lma dodirnih tacaka
sko!ama, nego i na nitim godinama fakulteta na Kojima se izucava materija prezentirana u ovom sa matematikom, fizikom, e!ektrotehnikom, automatikom i kibernetikom sa jedne strano, ali i sa
udtbeniku, tim prije sto je evidentan nedostatak literature Koja na adekvatan naCin prezentira ovu ekonomijom, dokumentaristikom, iurnalistikom itd. sa druge strane, Danas, informatika ima dodirnih
materiju. Ovdje narocito mislimo na predmete "Osnovi racunarstva I programiranja" koji se izueava taeaka sa gotovo svim naukama, cak i sa naukama koje bi malo 1(0 mogao povezati sa informatikom
na I godini Elektrotehnickog fakulteta u Sarajevu, zatim "Osnovi kompjuterskih sistema' j "Uvod u (npr. medidnom, filozofijom, psihologijom, soclologijom, ltd.).
racunare' koji se izucavaju na Prirodno-matematickom faku/letu u Sarajevu, kao i na predmete
"Iniormatika t', "Informatika 2' i "Informatika 3' koji se izueavaju oa Pedagoskom fakultetu u Zenici.
1.1.2 Podaci i informacije
Autor udzbenika teli da Izrazi posebnu zahvalnost Lejli Ljubovi6, studentici Odsjeka za
Racunarstvo i informatiku Elektrotehnickog Jakulteta u Sarajevu, za veliku pomoe u pripremi ovag
'materijala, korekciju uacenih propusta, kao i za veoma korisne sugestlje koje su bltno utjecale na Rijeci informacija i podatak6esto se susrecu u svakodnevnom govoru. Medutim, nije nimaio lako
poboljsanje kvaliteta udtbenika. Autor se takoder duboko zahvaljuje Dia,vldu' Dautbegovicu, asis~ precizno definirati ove pojmove, vjerovatno upravo zbog njihove elementarnosti i sveprisutnosti (u
tentu na Pedagoskom fakultetu u Zeniei, na mnogobrojnim, saVi_etlma koji- su 'narocitb unaprijedili nauei je oduvijek bilo poznato da je najteze definirati upravo elementarne pojmove). Jasno-je, di3: je._
dijelove udtbenika koji su posveeeni relacionim bazama -podataka kao Cprogramiranju u -program- besmisleno govorit] 0 informatici kao nauei 0 obradi informacija ukoliko nismo u stanju definirati:poj~ -
skam jeziku Pascal. Na kraju, autor se zahvaljuje i svim osaba'ma koje ovdje,nisu. spGimenute: a koje move kao SiD su informacija i podatak. Mada mnogi poistovjecuju pojam informacije i podatka,
su na direktan iii indirektan naCin doprinije!i da ovaj udzbenik ugl~_Qa syi,?HQst. dana'o:oyakvorr, obliku. izmedu njih postoji znacajna razHka. Definirajmo prvo pojam podatka, kao elementarniji pojam:

Podatakje bilo kakar zapis (l!- bilo kahom oblikll) u /wjemje zabiljeietl neki dogaaaj, poja;;a,
lilljcllica iii z.apai.anj( iz okoline,
Sarajevo, Juli 2003. Autor
Podaci mogu biti zapisanl na razne nacine. Na primjer, bilo kakav tekst ill sllka predstayljaju
podatl<e, mada zapisane na razlieite nacine. Stoga, podatke moterno podijeliti- na tekstuafne,'
brojeane, znakovne, sli~ovne, zvuene, ltd.
6 7
Bltno je primijetitl da lsti podatak moze imati razli6ita zna6enja za razlitite primaoce (subjekte). Da bi infarmacija uopce postojala, neophodno je da postoji i nosflac informacije. Veoma je
Na primjer, lstu umjetnicku sliku dva posmatraca mogu protumaCftl na sasvim razlicite nacine. tesko definirati Sta Stl tacno nosioci informaclja. 8pomenimo samo da pastoje razni nosioci informa-
Recenicu zapisanu na nekom stranom jeziku razlicito dozivljava onai ko razumije taj jezik i onaj ko elja, poput zivih blea, knjiga, sredstava javnog informiranja (novina, radija, televizije); ltd. Biolozl 6e
ga ne razumije. cak i obican besmisleni niz znakova, poput XYZZY predstavlja podatak. Neko bi reci da su genl takoder veoma vazn! n~sioci informacija. Na posve elementarnom nivou, nosiocima
mogao re6i da taj podatak ne predstavlja ni5ta, medutim takav zakljucak je preuranjen, jer ne moze- informacije mazemo smatrati 'svjetlost, zvuk, miris, itd. 8matra se da nikakva razmjena informacija
mo znati da se mozda ne radi 0 nekoj sifrovanoj poruci. Na primjer, upravo besmislena rijec XYZZY nije mvguca bez razmjene energije, tako da su danas rasprostranjena j materijalisti6ka shvatanja
ima znacenje kao jedna od magicnih rijedi u igrt "Colosal Cave". tz navedenog primjera vidimo cia 0 prema kojima je informacija sarno jedan od v]dova'energije, odnosno treCi vid postoj?nja materije
znacenju nekog podatka samag za sebe ne mozema govoriti. Mogu6e je govoriti jadino 0 tome (pored mase i energije),
kakvo znacenje oeki podatak predstavlja nekom primaocu.
Za efikasnu upotrebu informacija, ileophodno je objedinjavati informacije iz razlicitih izvora, koji
Podaci mogu postojatl neovisno od toga da Ii se koriste iii ne. Na primjer, bilo koja knjiga sadrzi su cesto razbacani kako prostorno, tako i vremenski. Ovo objedinjavanje nazivamo infegracija
ogromnu kolicinu podataka, neovisno od toga da Ii ce je neka 6itati iii ne. Podaci postaju informa- Informacija. Ovaj pojam prvi put je upotrijebljen 1945. godine u Clanku "As We May Think" (autor
cije tek ukoliko se koriste, ukoliko podstfcu primaoca na neku akciju. Podaci koji se ne korlste nisu clanka je Vannevar Bush, poznat kao tvorac prvog analognog racunara) u kOjo] se spominje
informaeije. -Isto tako, podaei koje primaoe ne razumije nisu informacije. izmisljena Memex masina ,koja omogucava putovanje kroz izmisljeni "prostor informacija" (pedeset
godina kasnije, nesto sasvim slicno tome.desava se I<ada "surfamo" po Internetu, koji je pastao
lsti podatak moze za jednog primaoca da predstavlja intormaciju; a za drugoga ne. Na primjer, "prostor informacija" danasnjeg vremena). Opcenito, pod integracijom informacija podrazumijevamo
ma kakva knjiga za nepismenog covjeka ne predstavlja nikakvu informaciju, za razliku ad govorne mogu6nost da na jednom mjestu dobijemo aktuelne, potpune i smislene informacije IZ raznovrsnih
poruke (koja opet ne predstavlja nikakvu informaclju gluham cavjeku). cak i u slucaju da neki izvora 0 onome sta nas zanima. Prednost integracije informacija je ocigledna, jer smatra se da
podatak predstavlja infarmaciju za dva razlicita primaoca, kolicina prenesene informacije ne mora danas oko 70% ukupnih troskova za dobavljanje informacija odlazi na potragu za pravim informaci-
biti isia. Na primjer, vijest objavljena na televiziji da na Bjelasnici pada snijeg predstavlja informaci- jama. Stoga je iedan od osnovnih zadataka razvoja informacfonih tehnologija upravo razvaj efikas-
ju svakome ko je cuo (i razumio) ovu vijest. Medutim, sigurno.da ova vijest nudi znatno ve6u kolicinu nih sistema za integraciju informacija.
informacija osobi kOja je planirala da se uputi na Bjelasnicu na skijanje ne90 nekome ko je planirao
da ostane kod ku6e.
1.1.3 Kolicina informacije i entropija
Kao ni za samu informatiku kao nauku, ne postoji nl op6eprihva6ena definiclja iniormacije. 8ve
definicije koje su u upotrebi priHcno su teske i apstraktne. Ipak, izlozeni primjeri pomazu da se shvati
Sasvim je jasno da svaka informacija nije podjednako vrijedna, Zapravo, informacija 0 nekom
jedna od najvise koristenih filozofskih definicija informacije koju je predlozio ruski filozof Arkadij
dagadaju (uz pretpostavku da su ispunjeni uvjeti ispravnosti, potpunosti i blagovremenosti) je tim vrednl-
Dmitrijevic UrsuJ, a kOja glasi:
ja sto je dogadaj 0 !<ojem nas ana informira nevjerovatniji (iii, kako bi novinari rekl1, senzacionalniji). 8toga,
u novinarstvu vrijedi pravilo da "nije vijest kada pas ugrize covjeka, nego je vijest kada covjek ugrize psa".
brjormacija predstarTja preslikaranje stanjajedllog subjekta (izvora il1formac?je) u .vtanje drugog
subje/i:ta (primaoca injormacijcj, pri ecm!! m'o prcslikarallje maze hili ra::;licito za razfiCite suMckte.
Do znacajnog napretka u razvoju teorije informacija dove!a je spoznaja da se ko!lcina informa-
cije moze precizno mjeriti (za koju ie najvise zasluzan Claude Shannon, osnivac matematicke teori-
Informacije je mogu6e vrednovati na razne nacine. Da bi ad informacije imali koristi, ana mora biti
je informacija). Od davnina je poznato da se svaka informacija moze prenijeti samo putem odgovo-
ispravna, potpuna i bfagovremena. Znacaj ispravnosti i potpunostl informacije je ocigledan. ZnMai
blagovremenosti najbolje mozemo uvldjeti iz cinjenice da ni najpotpunija i najtacnija informcicija nije ra tipa DA iii NE. Tako su, jednom prilikom, stari Rimljani zarobHl neprijateljskog vojnika koji je bio
ni od kakve koristi uko!iko nije primljena u pravo vrijeme (tj. ukoliko je primljena sa zakasnjenjem). nijem, tako da nije mogao odgovarati na postavljena pitanja. Medutim, Rimljani su uspjell saznati sve
informacije koje su ih zanimale, postavljaju6i samo pitanja DAINE tipa, na koje je zarobljelli vojnik
Kao sto je tesko definirati pojam informacije, tako je tesko dati i zadovo!javaju6u k!asifikaciju odgovarao klimanjem glave. 8toga je usvojeno da se kao mjera za kolicinu informacije definira najN
informacija. Ipak, ve6ina teoret!cari;'l slaze se da postoje tri osnovne vr~te informacija: cfnjenice, manji broj pitanja DNNE tipa koje }e potrebno postaviti da bi se pnjemom odgovora na ta pitanja
miS/jenja i vjerovanja. Ginjenice su informacije za clju se vjerodostojnost smatra da nije sporna (na postigao istl' efekat kao i prijemom posmatrane fnformacije. Jedinica za mjerenje kolicine informacl-
primjer, "Zemlja se okre6e oko 8unca."). MiSljenja su informacije za kOje postoje konkretni pokaza~ je naziva se bit (ista jedinlea se koristi i za mjerenje koll6ine memorije). Jedan bit je ona kolicina
te1j] koji ukazuju na njihovu vjerodostojnost, mada se mnogi subjekti neee sa njima s!oziti (na prim- . inf6rmacije koja se moze dobiti odgovorom na jedno pitanje DNNE tipa.
jer, "Mozariova muzika je kvalitetna"). Vjerovanja su informacije koje izvjesni subjekti prihvataju. kao_
tacne, mada za njih ne postojl nikakav konkretan pokazatelj koji moze potvrditi njlhovu vjerodos~ Vee sma napomenu!i da je koliCina informacije 0 nekom dogadaju u-vezi sa vjerovatnocom
tOjnost (na primjer, "Bog postoji."). samog- dogadaja. Osnovna formula teorije informacija tvrdi da su ko!icina informacije (oznaCimo je
sa i)-o nekam-dogadaju i vjerovatn06a v 18tOg dogadaja povezani formulom lIv::: t.
Mada na ovom
Najprostlje informacije, koje mozemo nazvati elementarne fnformacije, sastoje se od svega tTl rrij'estu ne mozemo precizno definirati sta se tacno podrazumijeva pod vjerovatnocom nekog
pokazatelja: poj'ave, svojstva (iIi atributa) i vrijednosti. Na primjer, ako kazamo "Trava je zelena.", dogadaja, recimo samo ta da je svakom dogadaju moguee pridruziti broj v iz opsega od,Q d<? 1, koji
"trava" je pojava, "boja" je svojstvo, a "zelena" ie vrijednost. Slozene informacije gradimo grupiranjem ._ nazivamo njegova. vjerovatnoca, koji je tim veGi sto je veta mogucnost da se dogadaj dogodi.
elementarnih informacija. Uz pokazatelje pojave, svojstva i vrijednosti potrebno je dodati i taldor vre a
Ukoliko neka situacija moze dovesti do N razliCitih j jednako vjerovatnih ishoda, tada je vjerovatnoca
mens, koji)e neophodan za obezbjedivanje blagovremenosti informad)e. Na primjer, trava na nekgi svakog ishoda 11N. Na primjer, vjerovatnoca da pri bacanju igrace kocke dobijemo peticu iznosi 1/6,
livadi maze danas biti zuta Oer se sasusila od jakog sunca), lako je bila zelena prije ~O dana. jer j'e petica jedan od sest jednako vjerovatnih ishoda bacanja igrace kacl<e.
8 9
lIustrirajmo avu relaciju na jednam primjeru. Zamislimo da je asaba A sakrila kuglicu u jednu od i~formacija, obieno se uporedo vrsi i postupak uskJaditavanja (memoriranja) informacij'a. 8toga,
16 neprovidnih kutija, i da asoba B treba da pagodi u kojoj kutiji se nalazi kug!ica,'Osoba B ima pravo qelokupan proces obrade informacija mozemo shematski prikazati kao na sljedeeoj slici:
da postavlja pitanja osobi A na koje osoba A mote odgovoriti sa da iii ne, U ovom slucaju vjerovat~
no(;a da osoba B nasumice pogodi pravu kutiju lznosi v = 1/16. Kako je 1fv = 16 = 2\ sHjedi da infor~
madja 0 !okaciji kuglice vrijedU = 4 bita, i da osoba B moze pomoeu 4-pltanja da/ne tipa tacno saz~
naB gdje se kuglica nalazi. Pokaiimo da je to zaista taeno. Pretpostavimo da su kutije rasporedene
kao na sljedecoj slici (mada je slicnu strategiju moguce razviti za ma kakav raspored kutija):

00000000 MEMORIRANJE
INFORMACIJA

00000000 Mada obrada informacija djeluje kao krajnje sloten i apstraktan proces, on je sastavni dio cak i
Kutija u kojoj se nalazi kuglica posebno je oznacena na sllei (naravno, asoba B to ne vidi). Kaka uobicajenih Ijudskih aktivnosti. Na primjer, ucenik dok Gita ovaj udzbenik, vrsi obradu informacija.
Dsoba B mote naCi kuglicu pomoGu 4 DAiNE pitanja? Strategija se zasniva na izboru takvih pitanja da Zaista, on prikuplja podatke iz ovog udtbenika, anafizira ih, prevodi u njemu prihvatljiv oblik, i
nakon odgovora na svako od njih mazemo odbaciti polovieu moguenosti. Na primjer, osoba B mote ponranjuje (u svom mozgu) za kasniju upotrebu. U ovom slucaju ulogu obradivaca Informacija (iii
prvo pilati osobu A da Ii se kuglica nalazi u donjem redu kutija. Nakon sto dobije odgovor, u nasem informacionog procesora) preuzima covjek. Obrada informacija u kojoj covjek preuzima ulogu
primjeru NE, osoba 8 odmah maze eliminirati razmatranje donjeg reda kutija, 6ime je prepo!ovljen broj informacionog procesora naziva se rucna (manualna, Ijudska) obrada informacija,
mogucnosti i sveden sa 16 na 8. Sljedece pitanje bi moglo biti da Ii se kugliea nalazi u lijevoj polovinl
gornjeg reda. Nakan dobijanja odgovora (OA u nasem primjeru), osoba B moze ellrninirati razmatran~ Ljudska obrada informacija ukljucuje Ijudsku aktivnost uz upotrebu jednostavnijih pomagala
je kutija u desnoj polovini gomjeg reda, Cime je broj mogucnosti sveden na 4. Sada nije tesko zakljuciti poput papira, olovke, biljezniea, arhiva, itd, U rucnu obradu svrstava se i obrada uz pomoe jednos~
kOja bl trebala biti preosta!a pitanja, pomocu kojih,bismo mogli tacno locirati trazenu kuglicu. tavnijih mehanickih iii elektronickih pomagala, poput masina za pisanje, dtepnih kalkulatora itd.
Drugim rijecima, svaka neautomatizirana obrada informacija, eak i ukoliko ukljucuje savremena
U prethodnom razmatranju govorili smo 0 koliCini informacije koja se dobija 0 jednom dogadaju. pomagala, svrstava se u Ijudsku (rucnu) obradu. Ovaj vid obrade pogodan je za pojedince i organi~
U praksi cesee imamo situaciju da imamo skupinu dogadaja ad kojih se treba dogoditi neki od njih, zacije u slucajevima kada je kolicina informacija kOje se obraduju mala. Rezultatl Ijudske obrade
ali mi ne znamo koji. U tom slueaju, uvodi se velicina nazvana entraplJ'a koja se definira kao zbir dobijaju se u jednostavnom i eQvjeku pristupacnom obliku pisanih dokumenata, pa js lako izvrsiti
proizvoda vjerovatnoce svakog od dogadaja i ko1i6ine informaCije 0 tom dogadaju (tJ. v1i1+v2i2+"'). eventua!ne ispravke i dopune. Pored toga, rucna obrada podataka je veoma jeftina, ali samo u
Entropija je zapravo srednja koli6ina informaclJe za skupinu dogadaja. U slucaju da tacno znamo koji slutaju relativno male kolicine podataka koji se obraduju.
dogadaj ce se dogoditi entropija je jednaka nuH, jer svi dogadaji osim jednog imaju vjerovatnocu
v :::: 0 (tj. sigurno se neee desitl), a onaj dogadaj koji 6e Se sigurno desiti ne nasi nikakvu informaci~ Kako se potrebe za informadjama kao i kolicina ulaznih podataka neprestano poveeavaju, ruena
ju, pa je za njega i:::: O. Moze se pokazati da je entropija najveca u slucaju kada su svi dogadaji jed~ obrada informadja vise ne moze da zadovolji. RUena abrada informacija ne moze da abradi veliku
nako vjerovatni, tj. kada je neizvjesnost ishoda najveca. U tom smis!u, entropija je mjera neizvjes- ko!iCinu informadja, sp~ra je i podlozna greskama, a pored toga 6esto se oslanja na krajnje mono~
nosti ishoda za skupinu dogadaja. Kako nam je upravo informacija tim potrebnija sto je neizvjesnost tone i dosadne postupke. Tako se jav!ja potreba za elektronickom obradom informacija. Pod
veda, to je entropija takoder i mjerllo kallGine informacije koju mozemo dobiti 0 ishodu za skupinu elektronickom obradom informacija smatramo upotrebu racunara kao sredstva za automatsku
dogadaja. Entropija se takoder smatra i mjerom nereda (iii haosa), jer je neizvjesnost najveea upra~ obradu popataka. Oakle, u njoj ufogu informacionog procesora preuzima racunar. U skladu s tim,
vo u haoticnim situacijama, dok u stanju potpunog reda nema nikakve neizvjesnosti (tj. entropija je motemo dati opcenftu definiciju sta se uopce podrazurnijeva pod pOjmom racunar.
nula), U teoriji sistema se pokazuje da entropija rna kakvog sistema (tj. skupa objekata koji ostvaruju
isti cilD prepustenog samog sebi mote samo da raste, odnosno svaki sistem prepusten samom sebi Racuuar je sl'aki uredaj kOJi je sposoball da prima lJodatke od korisuika, da. ih Illemorira i
tezi stanju potpunog haosa (npr. pogledajte na sta 6e Hciti vasa soba ukoliko ie: 15 dana ne odrza obrailuje prema zadanilllupulama (prugramuj i da saopd korisniku rezuliatc obrade.
. vate). Entropija se ne moze smanjivati spontano, nego samo Qrganiziranim. djelovanjem, u kOje je
neophodno ulagati energiju. Stoga, entropija ima narocitu primjenu u fiziei, posebno u termodinam~ Kako racunar mote automatski izvrsavati programe sacinjene od niza uputa (instrukcija),
iei, gdje se koristi kao mjera kolitine energije (obicno toplotne)' koja se r1e mo.te korlsno iskoristiti (~. Ijudska intervencija nije vise potrebna u procesu obrade. Zbog toga se e!ektronicka obrada'PQdata~
pretvoriti u koristan rad). . . ka jos naziva i 8utomatska abrada podataka. Osnovne karakieristike eiekironicke. obrade podata:-
ka su sljede6e: .

1.1.4 Obrada informaciJa . Brzina - Danasnji racunari su u stanju da izvrse i na stotine miliona instrukcija.u sekundi: .takQ
da za razumno vrijeme mogu da odrade pos!ove za koje bi timu strucnjaka uz rucnu obradu bio
Pod obradom podataka mazemo smatrati skup 9.ktivnostL koje pre~5a~e podatke u oblik koji je potreban citav Ijudski vijek.
upotrebljiv krajnjem korisniku {npr. covjeku iii grupi Ijudi}: ObiadiJ f(lformacijt! mozemo poistovjeti~ Repetitivnost - Racunari su u stanju da bez ikakvog zamora i dosade (te osbbine -SQ
ti sa obradom podataka, jer ono sto je obieni podatak.za jecrri0g posr'ry.atracaLmoze biti informacija svojstvene iskljucivo tivim bieima, a posebno Ijudima) obavljaju iste operadje milionima puta. 8"
za drugog posmatraca. Informacije koje obradujemo nazlvamo ulazrie informacije; dok iriformad- druge strane covjek koji mora da obavi isti postupak vise desetaka puta pocinje."da gubi kon~',
je koje dobijamo kao rezultat obrade nazivamo izJazne informacije: .Zajedno sa 'postupkom obrade centraciju i greske u obradi postaju sve tesee.
10
.11
Tacnost - Raeunar nikada nece napravitl gresku u obradl podataka, pod uvjetom da su ulazni Pri 8n~/ogno! obradi po~ata~~ k?ris_t8"se ?dgovar~.i,:!6.i m?!ematski metodi, ka9. Leksperimen-
podaci taeni, 1daje program po kojem S8 vrSi obrada tacan. cesto se u svakodnevnom govoru euje
talna p~o~j.e~~IJ~nJa, ~. t9m.,G'!j~ se.p.e~to k.ot1stru,1.r~j.~ mo~eli po~ocu .~?,~p6nenti koje po obliku,
fraza "Pogrljesio raeunar.". Medutim, traba biti jasno da nije pogrijesio racunar, nego programer
s~.~UI~ttl_~1 I oso~,m.arl1a.,.()~1.6.n~,,~.IS~ ~11~.ne, ,_a!~ ,su .pv~ .tll~t.ernatickim karakteristlkama iste kaoj odgo~
koji je pisao program za obradu ill, jos vjerovatnije, operater koji je unosio podatke u racunaL \,araJug!J~I.~~entl ~~~.arn()g o~jekt~ n~d ,kOjlm vrsl!ll~ obra'du: ova:kar.po$tupak. qbrade enazivamo
Osnovni prindp obrade podataka nazvan GIGO princip (garbage In, .Garbage Qut - Smece usia, analogna !Jlmulacija, a uredaj za izvadenje opisanog postupka naziva se anal0!lni ra~u"!?r
smece izaslo) tvrdi da ne motema ocekivati korektne rezultate obrade ukoliko ulazni podad nisu Glavne komponante elektronickog analognog racunara su uredaji nazvanj operaciQ11.i".p(jjacavacf.
korektnL Analogni r~tun.~ri su pri.licn~ nep~ecizni, jer njihova ta6nost izuzetno avisi 0 ta6nosti upotrijebffenih
Pouzdanost - Mada su racunari, kaa i svaki drugi elektronicki uredaji, podlozni kvarovima, kompanentl kOjlma se simuhra obJekat nad kojim vrsimo obradu.
kvarovi na danasnjim racunarima su relativno rijetki, i'vrijeme potrebno za popravku u slueaju
kvara tipicno je kratko (ako zanemarimo Ijudski faktor, koji mote dovesti do usporenja). _ ~ri digitalnoj o?radi podataka svi podad koji se obraduju pretvaraju se u brojeve, taka da se
su~tlna obr~?e svodl na r~znov:sna izra6unavanja~ Tako, na primjer, dig;tafni ra~unarprima podatke
Ekonomicnost - Zahvaljujuci danasnjim niskim Gijenama racunara, elektroni6ka obrada
u vldu speclJalno uredenlh brojeva, abavlja sa njima odredeni niz izracunavanja, i na kraju formira
podataka postaje isplativija od rucne abrade cak I za relativno malu kolicinu podataka,
~ove brojev~ kao. rezultat iz~rsene abrade. Da bi grada digitalnog racunara bila sto jednostavnija, sva
Racunar je superiomiji od 60vjeka u brzini, jasnoCi, preciznoscu i kOlicini memoriranih informacija. 1~:a6una~a.~Ja kOja .s.e o~av~aju svode se iskljucivo na najelementarnije operacije, 0 cemu cerna kas-
lpak, racunar ima jednu sustinsku manu u odnosu na covjeka - tesko se sna/azi u nepredvidenim n!j~ detaljnl)8 gov~nh: Pn tome treba napomenuti da gotovo svaki digitalni racunar posJeduje i dijelave
situacljama, jer ne posjeduje inteflgenciju. Zbog toga, neophodno je razluCiti kada treba, a kada ne kO)1 su P? svom pnn~lpu rad.~ zapravo analogni (na primjer, ve6ina u!aznih i izlaznih uredaja racunara
treba koristiti ra6unare. f3itno je shvatiti da racunar treba bit! u slutbi 6ovjeka, a ne obrnuto. su pretezno analognl uredaJI). !pak, glavnina digitalnih racunara je digitalne prirode.

Broj informacija se svakodnevno povecava, tako da smo naprosto zasuti raznovrsnim informa- Da~as kada ~~z~mo. ~a6unar, gotovo iskljucivo mislimo na digitalne raCunare, jer su analogn!
cijania koje pristizu putem raznih otvorenih medija, a narocito putem Interneta. Time sve vise posta- r~?~nan zbo~~~oJlh l~r~Zltlh ~edos~ataka prakticno izbaceni iz upotrebe. Kako su analogni racunari
je znacajno dobivanje kvaHtetnih informacija u 510 kracem vremenskom periodu, kao i njihova brza bll~)ako pravktl.cnl za rJesavanJe neklh problema nauke i tehnike, napravljeni su program! simulator!
obrada. Stoga informatika, kao nauka koja proucava metode i sredstva obrade informacija vatnih k~JI oponasaju rad an~logvnog .racunar~ na digitalnom racunaru (primjer takvog 'programa je
za covjeka postaje sve znacajnija, a racunar kao programabilno sredstvo koje moze automatski da VlsSlm). Ip~k: analognl racunan, mada Izrazito ogranicene primjene, ima!i su jednu prednost u
prikuplja, obraduje, prenosi i uskladistava podatke i informacije, postaje sve neophodnije sredstvo u o~n~su. n~ dl~ltal~e rac;ma:: - a~a!o~ni ra.cu~ari su brti od najbrtih digitatnih racunara. Stoga pos-
mnogim oblastima Ijudske djelatnosti. tale I lu"bridm racumm, kOJI komblnlraju prinCipe rada analognih i digita!nih racunara.

1.1.5 Analogne i digilalne velieine 1.1.6 Brojni sislemi

U savremenim tehnickim sistemima, informacije se obi6no prenose u vidu signala koji pred- (;ovjek ~ri!iko~ zapisa ?rojeva i ra?,unanja koristi 10 cifara. Ako malo pazljivije razmislimo zbog
stavljaju promjene neke fizikalne velicine, najcesce elektri6ne prirode. U~QI.i.ko.je stanje-posmatrane cega se kon~t~ bas de~et clfara, shvatlcemo da za ovakav izbor nema sus-tinski nikakvog valjanog
~e!iCine .p~zn~to u svakotr} .trenl!!~y'.x/C!!!?ena un~t~rposmatrCln().g,inte.fvalB:'. t?k~~ ,V~!i~.ine nazi~Cl~ razloga. J.edml ra~log je zapravo historijski, zbog cinjenice da covjek ima 10 prstiju, i da je shvatio
rno-.-anaf6gile ..velicine,~-iboff6fnjenice da sa-one laRO'mogu -slmullrati nekim drugim Tjromjenljiv(m da za brojeve vece od 10 ne maze vise racunati na prste, nego da mora izmisliti neki nacin zapisa
vellcinama koje ispunjavaju s!icne (analogne) zakonitostl. S dru~e stran,~,.~.k<:)!ikO je . ?tanje,PQs.ma~ v~ci~ brojeva: Me~utim, ovaka~ vid zapisa, iz razloga koji' cemo uvidjeti uskoro, nije pogodan za
trqne veH~ine poznato ,sarno u t.(i.9D ()dreden!m vfemenskirp trenucima, -ia takvu v~Ii.i.0u k~z~m.C? pflmJenu u racunanma. Pokazacemo stoga da se svaki braj mote zapisati j sa manje od 10 cifara.
daje diskretna velicina. ". ,- '-' Za tu svrhu moramo uvesti pojam brojnih (Iii numerickih) sistema.

~a bis.mo ~bjasnili sts. su uopce numericki sistemi, postavimo prvo pitanje: sta zapravo pred-
~t~vlJ~ broj zaplsan kao 342, i po cemu se on razlikuje ad brojeva 423 i 234 I<ojl su sastavljeni od
Istlh clfara? Znamo da svaka cifra ima svoju tezinu (koja je stepen broja 10), i da braj 342 predstavlja
skraceno pisanje za izraz
('TT,
.0.')(/ /224 3 10~ + 4 .10 1 + 2,100
- :::;; '0 '-f .)
+--------? V su.Stini, svaki cijeli broj, zapisan kao aN . a2al 80 zapravo predstavlja skraceni zapis za lzraz oblika
Ana/ogna vdi(ino Diskretna vefiCino

Diskretne,.yelicine koje mogu uzimatisamo vrijednosti iz ,unaprijad.odredenogj-koliacnog skupa '. Kaie se da je baza (iii osnova) ovako zapisanog broja 10. Moze se dokazati da se svaki pozitivan
vriredridstCnaziv~jLJ se digitalne velicine, zbog toga sto S8 njlhov!:"l vrijednosti najeesce predstav- broj maze na jedinstven na6in zapisatl u obHku
ljaju u broj6anom obliku pomo6u odgovarajucih citara (rijec "digit" zapravo znaCi "cifra"),

12
13
Dakle, broj 142 se u binarnom brojnom sistemu pise kao 1.0001110. Pogodnost da se koriste
d"e'e baza B proizvoljan cijeli braj veGi ad jedinice, a pri cemu ~u sve cifre ai u opsegu od.O d~ B-
sam~ dvije cifre "placena" je time da u binarnom sistemu cak i relativno mali brojevi imaju veHki braj
gLJ drugim rijeCima, brajeve mozemo zapisiv~ti u bila kOja! b~zl ~ > 1.Kad go~ baza b~oja nlJe 10,
cifara (otprilike 3,3 puta vise nego u dekadnom brojnom sistemu). Racunaru to, medutim, ne srneta
moramo to posebno naglasiti stavljanjem broja u zagradu I plSanje.m baze ~ao lO~eks~ Iza za~~~de
mnogo. Bitno je napomenuti da binarn8 brojeve uvijek izgovaramo cifru po cifru. tj. binarni brej 10
(osim ukoliko je iz konteksta jasno 0 kajoj bazi govorimo). Npr. br?J \3402)5 je bra] zaplsan u bazi 5.
citamo iskljucivo kao "jedan nula" a niposto kao "deset" jer to nije braj deset (to je zapravo braj 2),
Sasvim je lako pretvorlti brai iz proizvoljne baze u bazu 10. Na prtlllJer,
Ilustrirajmo jos jednom i obrnutu pretvorbu na primjeru pretvaranja broja 10101.0011 lz binarnog
(3402)5:: 3 . 5~ + 4.52 + 0.5 1 + 2 3.5:: 477. u dekadni brajni sistem:
Slijedi da je (3402)0 = (477)10' Ako ovo sve nekome djeluje cud no i besrr:i~leno, treba se ~je~iti da se
i u praksi (npr. u mjerenju vremena i uglova) ponekad kariste ~aze. ~azllcj~e ad 10. Na pnmJer, pos-
matrajmo broj 23 12''49''. Pretvareno u ugaone sekunde, ovaj broj Iznosl: Interesantno je da pastoje naredi koji ne koriste bazu 10. Na primjer, neka indijanska plemena
kOl'istili su baze 5 (vjerovatno na osnovu broja prstiju na jednoj fUci) i 20 (oni su vjerovatno brojall j na
23.60' + 1260' + 4960" = 83569 ruke i na noge). Postoji cak i jedno domorodacko pleme na Novoj Gvineji, za koje mozemo reei da
Ovdje se radi a jednom "3-cifrenom" broju, zapisanom u bazi.60, ~~ "~lframa" '~~3", '.'1~" i "49". Ovdj~~ brojeve izrazava u necemu sto donekle nalikuje na binarni brojni sistem. Oni koriste sarno dvije cifre,
naravno, "cifre" mogu biti u rasponu od 0 do 59. Standardnl brajnl Sistem 'ko)! konstl bazu 10 nazI nazvane uparun i okosa. Bro) 1 se kate uparun, 2 se kaze okosa, 3 se kaze uparun okosa, 4 je okosa
vamo dekadni (decimalm) sistem. okosa, 5 je uparun okosa okosa, 6 je okosa okosa okosa, itd. Glomaznost ovakvog izratavanja ovom
plemenu nije prevelik problem, jer nemaju potrebu'rada sa velikim brajevima (pripadniku tog pleme-
Moze se postaviti pitanje, kako se rjesava obrnuti problem, tj .. kako ?"i~~o opr.. broj 4?7 pretv~.~ na sigurno ne predstavlja veliku razliku da Ii se selu priblizava coper od 10 iii 20 tigrova, itd.).
rili iz baze 10 (dekadni zapis) u zapis u bazi 5? Za tu svrhu postoje razlicltl metodl, a najelegantmJI
pastupak zasniva 58 na postupku koj\ je u matematici poznat p?~ imenorr: Horner~va .:hem~: ~o Vee smo rekli da danasnji digitalni racunari sve poda1ke pamte iskljucivo kao skupinu brejeva,
ovom postupku, bro] se uzastopno dijeli sa zeljenom bazo~, po cernu se Ispod broja pl.~e .kollcnlk, pri cernu se svaki broj cuva u binarnom zap/su. Pri tome se svaka binarna citra broja (koja'se takoder
a sa desne strane ostatak pri dijeljenju. Postupak 58 ponavlJa sve dok se ~e dod~ do k~h?n!k~ nul~. naziva bit od eng!. .!2lnary Digit, kao i istoimena jedinica za mjerenje kolicine informacije iii kapacite w

Ostaci dijeljenja bitani od posljednjeg I<a prvom .daju .upravo trazene clfre broja u zelJenoJ .bazL ta memorije) cuva u elementarnoj memorijskoj celij! racunara, kOja moze zapamtiti samo jedan bit.
Pokazimo, na primjer, kako bi izgledalo pretvaranJ8 broja 477 ~ bazu 5 prema ovom postupku.
Glomaznost zapisa u binarnom sistemu u inforrnatici se rjesava uvodenjem heksadekadnog (iii
,5
heksadecimalnog) brojnog sistema, koji koristi bazu 16, I stoga se u njemu javlja 16 cifara. Posto
477 2
95 0 su Ijudi izmislil! znakove samo za deset cifara, nedostajucih sest clfara obicno S8 zaptsuju kao slova
19

0
4
3 t A, 8, C, 0, E i F. Razlog za upotrebu heksadekadnog brojnog sistema je u tome sto se brojevi u
ovom brojnom sistemu zapisuju veoma kompaktno, a pretvaranje iz binarnog u heksadekadni
brojni sistem i obmuto obavlja se veoma jednostavno. Da bismo pretvorili heksadekadni broj u
binarni, dovoljno js svaku cifru heksadecimalnog braja pretvoriti zasebno u 4 cifreni binarni broj (po
w

Odavde neposredno slijedi: potrebi se dodaju nule sa lijeve strane ukollko pretvoreni binarni broj ima manje od cetiri cifre). Na
477 :: 3 . 5'~ + 4 . 5~ + 0 . 51 + 2 . 5 = (3402)5 primjer, (C5)" = (11000101)" jer je (C)" = (12)" = (1100h i (5)" = (5)" = (101),. Za obrnu10 pret
varanje potrebno je binami braj podijeliti u grupe od po cetiri cifre zdesna nalijevo, i svaku grupu
lako je dekadni brajni sistem najvlse rasprostranjen u sva~od~evn?m ~!~otu, n~egova primj:~a zasebno pretvoriti u heksadecimalnu citru. Ovi postupci se uz malo prakse mogu uvjezbaH da se
u digitalnim ratunarima bila bi uzrok mnogih po~es~oea u tehnl?~~j re~lIzacljl ured~Ja" ~azlog ~ezl u brzo vrse cak i napamet, bez ikakvih pomagala (8to nije moguce za pretvaranje izmedu binarnog i
Cinjenici da bi elektronicki sklopovi za predstavlJa.nJe deset ~a~hcltlh. clfara morala Imatl deset J~sno dekadnog sistema), sto nam omogueava da se sateto izratavamo u heksadel(adnom sis1emu, ada
definiranih razlicitih stanja. To bi dovelo do drasttcnog usloznJavanw sa~.~g racunara: ~tog~ J.e ~a zapravo mislimo na binarne brojeve. Upravo je ovo osnovni razlog zbog cega je heksadekadni
stanovista lakse ipouzdanije realizadje digitalnih racunara qaleko po~oIJmje.da..se ~OrlStl brojn.1 SIS- brajn! sistem uopee uveden.
fern koji ee se moGi predstaviti sa samo dva ~tanja.kola,. od~osno.sa,s~~o.dvIJe cltre: Stoga je z~
primjenu u informatici od velikog znacaja baza 2 kOja.daje .bma~nt b-(oJnI s/s.tem.. U blnarnom?ra
jnom sistemu javljaju se samo dvije cifre, 0 i 1,.~ to'.18. uprayo on~~t? ~,am Ie potrebno. Kao Ilus- 1,1,7 Binarna arilme!ika
traclju, pretvorimo broj 142 iz dekadnog u binarnl brojn! slstem: ~
Vee smo rekli da digitalni racunari sve podatke pamte iskljuCivo kao brojeve u binarnom "brojnom
142
sistemu. Da bismo stekli eiementarnu predstavu 0 tome kako racunar uopee moze ista racunatF,
71
39 1 moramo se prvo spustiti na malo niti nivo i vidjeti kako se Jzvode osnovne racunske operacije u
17 1 ovom brojnom sistemu. -
8 0
4 0 Za sabiranje binarnih brejeva vrijedi ista logika ratunanja kao za dekadne brojeve osim 5tO sabi~
2 0 ranje brojeva 1 i 1 ne daje 2 nego 10 (u binarnom sistemu), taka da nulu pisemo a jedinicu prenosi~-"
1 1 mo. Demonstrirajmo ovu operaciju na jednom primjeru: .
0
15 ~
14
1101010
Negaclja
+101011001

~
------
111000011
A U matematickoj logic! negacija promjenljive A obicno se obiljezava sa A iii A', dok je u
racunarskoj tehnici mnogo uobicajenije nadvla6enje imena promjenljive linijom, kao 5tO
Oakle, (1101010)2 + (101011001)2' '" (111000011h" Pretvorimo Ii ove brojeve iz binarnog
o 1 je prikazano u gornjoj tablici.
u dekadni brajni sistem, dobijamo jednakost 106 + 345 : ; ; 451, Mo potvrduje tacnost racuna. 1 0

Kod oduzimanja se takoder koristl slican postupak, pri eemu kada oduzimamo manju cifru od veGe,
moramo izvr5iti "pozajmicu" koju cemo vratiti kasnije. llustrirajmo postupak na sljedecem primjer~. Konjukdja
Kako je (1101010)2 + (101011001)2 ;;; (111000011)2 i kako je oduzlmanje inverzna operacl~ Umatematickoj logici konjukcija promjenljivih A i B oznacava se sa AAB. Kako
A B AAB
ja sabiranju, tada je jasno da mora da vrijedi (111000011)2 - (1101010),2 (101011001)2' se rezultat operaclje konjunkclje poklapa sa obl6nim proizvodom u slucaju kada
Provjerimo ova neposrednim izracunavanjem: 0 0 0 su operandi oznaceni sa 0 i 1, u racunarskoj tehnici se obicno radi kratkoce
umjesto A A B pise sarno AB, iii A . B, kao da se radi 0 obi6nom prOduktu.
0 1 0
111000011
- 1101010 1 0 0 Disjunkci;a
101011001
1 1 1 A B AvB
lnteresantno je da su postupci mnoienja i dijeljenja binarnih brojeva posebno jednostavni, cemu
0 0 0
se moze zahvaliti "popularnost" binarnih brojeva u racunskoj tehnici. Na primjer, mnozenje u bina-
rnom brojnom sistemu je posebno jednostavno u odnosu na dekadni sistem, jer se citava tablica U matematickoj logici disjunkcija promjenljivlh A i B oznacava se sa A vB. 0 1 1
mnozenja koju treba zapamtiti svodi samo na trlvijalnu tablicu U racunarskoj tehnici se umjesto znaka cesto koristi znak +, kao da se radi
a obicnom sabiranju, ali to moze unijeti zabunu Uer je 1 + 1 1 v 1, tako 1 0 1
o. 0 '" 0 o 1 '" 0 1 1::;;; 1 da mi necemo koristiti takvo ozna6avanje.
1 1 1
Demonstrirajmo kompletan postupak mnozenja dva binarna broja na jednom primjeru:
Ove tri operacije (negacija, konjukcija i disjunkcija) cesto se oznacavaju engleskim nazivima NOT,
).101010 ...:.....ll..Q.;lJL AND i OR. Grana matematike kOja proucava ove operacije i pravila rada sa njima naziva se Bufova
0000000 (Boofeova) algebra (po Georgu Boo/eu, osniva6u matemati6ke logike). .
1101010
0000000
11.01010 Svaka funkcija koja se maze izraziti samo pomocu operacija negacije, konjukcije i disjunkcije,
_+ 1101010_ _ naziva se log/eka (iii Bulova) funkcija. Na primjer, funkcija
101011000100
Y = [AB v C(A v 8)] v CA vBe
Naro6ito se efikasno u binamom brojnom sistemu izvodi ope'racija dijeljenja. Naime, najve6i problem pri
dijeljenju dekadnih brojeva je odr~div~nje koUko put~- djem~C '~ide" u ~eki. ~ dijelo~~ djel!.enika. U binamo~ predstavlja logicku funkciju. Ovakve funkcije se najcesce predsiavljaju tabelom svojih vrijednosti za sve
sistemu vrijedi ista logika racunanja, all !<ako svaka clfra koli6nlka moze bltl samo.O 111.1, nlje potre~no odre~~ moguce kombinacije vrijednosti promjenljivih koje se javljaju u funkciji. Ove tabele nazivamo i tabelom
vati koliko puta djelilac "ide" u trazeni dio (iii "ide", kada]e cifra 1, iii "ne ide" kada,Je clf~ O) ..M~daJe u sustlnl istine logicke funkcije. Tabele istine za slozenije funkcije kreiraju se postupno, tako sto se prvo odrede
posve jednostavan, ovaj postupak maze biti prilicno glomazan, pa ga ovdje necemo 11ustnratt. vrijednosti manjih clanova, pa se nakon toga prelazi na formiranje sve vecih i vecih clanova. Na
sljede60j slici je prikazan postupak formiranja tabele istine za funkciju iz gornjeg primjera:

1.1.8 Bulova algebra

Cak i tako jednostavna operacija poput sabiranja u tako primitivnom. ?rojnom. sist.~mu ~~ s~o)e
I
,1
I
A B C B AB A AvB C(AvB) C(AvB) ABvC(AvB) BC AvBC AvBG GA vBG y

0 0 0 1 0 1 0 0 0 1 ~2.._
binarni brojni, sistem nije nimalo jednostavna za neposrednu elektronlc~u reahzaclju u d!gl.t~\nlm ! 1 1 1
-'-
racunarima. Stoga je potrebno uvesti jOs elementarnije operacije koje s.e Izvode samo nad clfr~ma L 0 0 1 1
0 1 0 0
0 1 1
1
1 0 0 1 1 0
1
0
0
0
o i 1, koje (:e biti jednostavnije za realizaciju, a koje su dovoljno unlverzalne da se sve ostale 0 1 0 1 1 0 0 1
neophodne operacije mogu svesti na nj!h. J
r .,
0 1 1 0
0 0 1
0
1
1
0
1
0
1
0
0
1
0
1
.. _-"
0
0
0
1
1
0
1
0
1
1.-
Medu najvaznije takve operacije ubrajamo negaciju, konjukciju (i~go~ara.~ sa."n" i "j" O?V0jeO?) i,' ~~ .,1 1 0 1 1 1 0 0 0 1 1 1 1 0 0 1
disjunkciju,Ove operacije se definiraju na sllcan nacin kao u matematIC~oJ loglcl, s tim d~v umje:to slm~_ " 1 1 0 0 0 0 1 0 1 1 0 1 0
r--:-
0 1-1
bola "tacno" i "netaeno" (odnosno T i 1. ) koriste cifre 1 i 0, pri cemu cifn 1 odgovara loglC~ vnJ~dn?st t--~. 1---
"tacno", a cifri 0 logicka vrijednost "netacno". U nastavku su prlkazane tablice ovih elementarnlh operacIJ~: 1I
1 1 1 0 0 0 1 1 0 0 0 1 0 0 0

i 17
16 .1
I
U tablicama istine, promjenljive koje u!aze u funkciju i njihove vrijednosti uvijek se pisu takvim redosli-
_ - - _ - (2() _ _ _ _=- (20) _ _ =_ _=-(9)
YoABvCvAvBvCAvBC 0 ABvCvAvBvCABC 0 ABvCvABvCABCo
jedom tako da posljednja (krajnja desna) promjenljiva mijenja svoju vrijednost u svakom redu tablice, _ _ _ _=- (lJ) _ _ _ _=- (6) _ _ _=- (l9)
sljedeca promjenljiva (gledano zdesna na lijevo) mijenja svoju vrijednost svaka dva reda, sljedeca ~ABvCvABvCABC = ABvABvCvCABC = ABvCvCABC 0

svaka eetiri reda, i tako dalje. Na taj naein, vrijednosti svih promjenljivih posmatrane po redovima kao _ _ _ == _ (9) _ _ _ _ (17) _ _ _ _ _ (21)

binarni brojevi, nakon pretvaranja u dekadni brojni sistem daju slijed brojeva 0, 1, 2, 3 itd. oABvCvCA(BvC) 0 ABvCvCA(BvC) 0 ABvCvCABvCAC 0
_ _ _ _ _ (10) _____ (71 ____ (1)

oABvCvABvCAC 0 ABvCvABvACCo ABvCvABvAOo


Znacaj operacija konjukcije, disjunkclje i negacije sastoji se u einjenici da se svaka funkcija koja _ _ _ (3) ___ (11) , _ _ _
uzima vrijednosti sarno 0 i 1, i u kojoj se javljaju promjenljive koje uzimaju samo vrijednosti 0 i 1 =ABvCvABvO"" ABvCvAB::::: ABvABvC
maze izraziti preko ove tri operacije. Postoji mnogo nacina da se to izvede. Najjednostavniji nacin je
da se za svaki red tabele u kojem funkcija uzima vrijednost 1 formira jedan clan (nazvan minterma) U zagradama lznad znakova jednakosti naznaeen je broj pravila koje je primijenjeno u svakom od
u koJem su sve promjenljive povezane znakom konjukclje! i u koji one promjenljive koje u tom redu koraka transformacije. Prikazani postupak je naveden elsto kao ilustracija pravila Bulove algebra, i od
imaju vrijednost 0 ulaze sa znakom negaclje, a ostale bez znaka negacije. Zatlm se trazena funkci- ueenika se ne ocekuje da moraju znati provesti ova] postupak, niti da moraju znati pravila Bulove
ja formira kao disjunkcija takvih elanova. Na primjer, neka je data sljedeca tablica istine: algebre napamet. Minimizacija logickih funkcija koristenjem sarno pravila Bulove algebre nije uvijek
jednostavan postupak, s obzirom da nema sistematienog postupka koj] bi propisivao kada treba
Kako ova funkcija uzima vrijednost 1 u 6 redova, to ona ima 6 mintermi: ABC, upotrijebiti koje pravilo. Stoga su za minimizaciju logiekih funkcija razvijeni mnogo praktieniji sis~
A B C Y
tematieni postupcL Najpoznatiji j najvise koristeni metodi za minim]zaciju logiekih tunkcija su
ABC, ABC, ABC, ABC ABC. Sloga, trazena funkcija glasi
0 0 0 1 Karnaughov metod i Weitchov metod, koji su medusobno veoma slieni, a zasnivaju se na upotre~
Yo ABC v ABC v ABC v ABC v ABC v ABC bi specijalnih dijagrama nazvanih Karnaughove mape odnosno Weitchovi dijagrami. Pored ova
0 0 1 0 dva metoda, koji su pogodni za rueni rad, postoji i Quine~McCluskyjev metod, koji je znatno pogod-
niji za programiranje na raeunaru. Na ovom mjestu necemo ulaziti u detaljan opis ovih metoda.
0 1 0 1

0 1 1 1 Kako se na ulaz ma kakvog digitalnog uredaja koji koristi binarni brojni sistem dovode ulazi ko)i
iskljutivo mogu imat! vrijednost 0 i 1 (uz pretpostavl<u da razlitite bite ulaznih podataka dovodimo
1 0 0 1 na razlieite ulaze), kako njegovi izlazi imaju samo vrijednosti 0 i 1, i kako se svaka funkdja koja
Aka pailjivije pogledamo ovu tablicu istine, primijeticemo da je ana ista kao i uzima vrijednosti samo 0 i 1, i u kojoj se javljaju promjenljlve -kOje uzimaju sarno vrljednosti a j 1
1 0 1 1
tabiica istine za prethodnu funkciju, iako se same funkcije razlikuju. Za logicke moze Izrazitl preko operacija Bulove algebre, slijed) da se rad svakog digitalnog uredaja moie
1 1 0 1 funkclje koje imaju istu tablicu istine kazemo da su ekvivalentne. Za svaku opisati iskljuCivo koristenjem operacija i pravila Bulove algebre. To je razlog za ogroman zna6aj
logieku funkciju postoji beskonaeno mnogo njo] ekvivalentnih funkcija. Bulove algebre u racunarskoj tehnici i informatici. Zapravo, to znae) da aka znamo kako da napra-
1 1 1 0 virna uredaJe koji mogu racunati operacije negacije, konjukcije i disjunkcije, Bulova algebra nam
Postupak nalazenja najjednostavnije logicke funkcije koja je ekvivalentna
zadanoj funkciji naziva se minimizacija logicke funkcije. Na primjer, najjednostavnija funkcija kOja moze pomoCi,da napravimobilo kakav digitalni uredaj-(uk!jucujuCi i digitalni racunar)!
je ekvivalentna gore prikazanim funkcijama glasi Y ::= AS v AS v C. Minimizacija logickih funkcija
Uredaji kojima se reaJiziraju operacije negacije, konjukcije'l disjunkcije nazivaju se osnovna
maze se izvesti korsilenjem raznih pravlla i formula Bulove algebre. Sljedeca tabela prikazuje neke /ogicka kola iii geji'ovi. Oni se obicno nazivaju engleskirn nazivima NOT, AND i OR, a njihovi sjm~
ad na]eesce koristenih formula Bulove algebra: boli prikazani su na sljedecoj slici:

1.XOoO 8. XvXol 15. X (I' Z) 0 (X Y) Z 0 X Y Z x---[>o- X ~=D-XY ~=D-XVY


2.XloX 9. Xo X 16. Xv(YvZ) 0 (XvY)vZ 0 XvYvZ NOT AND OR
3. X v 00 X 10.XYoYX 17. X (YvZ) 0 X YvX Z Pri tome AND i OR kola mogu imati i vise ad dva ulaza.

4. X v 1 01 11. XvY 0 YvX 18.X v Y Z 0 (XvY) (XvZ)


Osnovna 10glcka kola su uredall sasvim jednostavne grade. Teoretski, oni se mogu realizirati na
5. X X ... X 0 X 12. X (XvY) 0 X 19.}<Y" X vY raznim principima: mehaniekim, hidraulickirn, pneumatskim, elektromehanickim i elektronlekim.~ V
6. XvXv ... vX 0 X 13. X v X Y 0 X 20XVY ~XY prvim digitalnim raeunarima susretala su se svakakva rjesenja, isprva mehanicka, a tatim eJektrome-,-
21. X v x'Y'=X v Y hanieka. Medutim, jedino elektronicki princlp rada omogucava dovoljnu brzinu rada i dovoljnu minija:,:. "
7. X X 0 0 14. X YvX Y 0 X
turizaciju da bi se mogao napraviti racunar velike brzine rada i malih dimenzija. Naravno, ulazenje u
detaljne principe rada logiekih kola zahtijevalo bi poznavanje elektronike, stoga cemo ovd~- nav_Eistt
Pravila pod brojevima 19. i 20. nazivaju se De Morganove teoreme,<l imaju veliku p'rlmjenu, ne samo osnovnu ideju. Posmatrajmo sljedeca dva spoja prelddaca, serljsl<i i paralelni spoj:
samo u Bulovoj algebri, jer omogucavaju efikasno izvodeqi'e,-negacjje s!ozenib'jskaza, koji sadrze
konjukcije i disjunkcije. Prikazimo, na primjer, kako bi m<?gl.a izgledati IT!inimizacija logicke funkcije
koju smo prvu naveli kao primjer: Pamldol 'poi -C}-
18
(susrecu se i nazivi uzorkovanje i sempJovanje). U dru,goj etapi se vrij!.;lon.osti, u;?:etih.,uzQS(ika
U serijskom spoju struja moze ted sarno ukoliko su zatvorena oba prekidaca A i B" dok u paralel- zaokruzuju na _~~~Zt! yrljednost uzetu ~;..unam:ij~;~qg:::ll!lacrlog~KupavrijednoSti(kOji S8'
nom spoju struja moze te6i ako je zatv6ren makar jedan od prekidaca A iii B. Ako zamislimo da nam rlazlvaJu- kVantl), a zabm se taka zaokruze~,~YDj~9nost~~~.I,LLjJiqU"plQi~ (najciscs""binamm).
zatvoren prekidac i proticanje struje simbollziraju cifru 1, a otvoren prekidac i neproticanje struje cifru OV~ZlvaSeC1fgitalfzac1]a(m kvantizapJja). - ..-""~---,,--
.~--~--~--------~-.--.-
0, tada serijski spoj ostvaruje operaciju konjukcije, a parafelni spoj operaciju drsjunkcije. U elek"
tromehanickim izvedbama AND i OR lagickih kola zaista su se koristili prekidaci, dok se u eiek" Kako se prilikom diskretizacije ignorlra veliki broj vrijednosti posmatrane analogne velieine,
tronickim izvedbama oni simuliraju raznim elektronickim napravama (diodama i tranzistorima). prirodnoje postaviti pitanje da Ii prilikom diskretizacije dolazi do gubitka Informaclja. Do posve
neocel<ivanog odgovora dosll su prije vise od 50 godina Claude Shannon i Henry Nyquist, koji su
Povezivanjem osnovnih logickih kola moguce je realizlrati svaku loglcku funkciju, a samim tim i dokazali da u slucaju da je, pojednostavljeno receno,Jl@O,~.Jl.~lmanja [.!,~q@Js!tQ~S!rr.HM~. J?)dLa vea
svaki digitalni ureda), jar se rad ma kakvag digitalnog uredaja moze opisati logickim funkc1jama. U ?d !::~~~~~~~zine promj.~!!~.eosm_~.!!~~_~Qgprvei1me~:.n:eJiolaz.[ ;,nt;;do ..ka"k\lofi.:gUbltl<a _.,
sustini, svaki digltalni raeunar, posmatrano na najelementarnijem nivou, sastoji se samo od imormacija upostupk!LCfi~,kretizacije (ova je cuveni Shannon~Nyquistov teorem a uzorkovnnju).
osnovnih logickih kola, sarno sto se danas njihov bro] mjeri u ~"ilionimS pa_i u milljardama. Na Sl:trrrgErStrtn'iF,Kl"7lmtizae+ja'uvljeh'fbvodi do gubitka informacija, ali se gubitak moze uCiniti po volji
sljede60j sllci je prikazan uredaj koji realizira logicku funkciju Y ::: A B v A B v C : malim ukoliko se kvanti izaberu taka da su dovoljno blizu jedan drugom. Postupak pretvaranja digi~
tal nih (iH op6enitije diskretnih) velicina u ana!ogne naziva se i interpofad/a, i on nikada ne dovodi
ni do kakvog gubitka informacija.

Gotovo svi danasnji digitalnl uredaji zasnovani su na postupcima diskretlzacije i digitalizacije.


Posmatrajmo na primjer muzicki signal, koji je tipican primjer anafogne veJieine. Danas se muzika
najcesce zapisuje na kompakt diskove (CD-ove), koji su tipicni digitafni uredaji. Prilikom zapisa
muzike na kompakt diskove, vrsi se diskretfzacija uzimanjem uzoraka muzickog signala 44000 puta
u sekundi (kako Ijudsko uho ne cuje promjene zvuka brze od 20000 titraja u sekundi, po teoremu 0
Jasno je da ce jednostavnljoj funl<ciji odgovarati jednostavniji uredaj. Odavde yldimo u cemu j~ uzorkovanju do gubitka informacije ne dolaz! ukaliko uzorke zvuka uzimamo 40000 puta u sekundi
znacaj minimizacije logickih funkcija. Na primjer, razmatrana funkcija je patpuno ekvivale"ntn~. funkcl~ iii brze). Zatim se uzeti uzorci kvantiziraju i zapisuju na disk kao 16-cifreni binarni brojevi. Prilikom
ji koju smo prvu naveli kao primjer 10916ke funkcije, mada bi njoj odgovarao mnogo SIOZ8n1JI ured~J kasnije reprodukcije kampakt diska, uredaj za reprodukciju vrsi interpolaciju zapisanih vrijednosti
(probajte da ga nacrtate). 8toga se prilikom projektiranja digitalnih uredaja uvijek Bve logieke funkc~~ eime rekonstruira origina!ni muzi6ki signal.
je koje opisuju rad uredaja transformiraju u to je god moguce jednostavniJi oblik, pa se tek tada vrSI
realizacija uredaja. '
1.1.10 informacioni sislemi

1.1.9 Diskretizacija i digitalizacija Danasnjim organizacijama i njihovim rukovodiocima neprestano su potrebne informacije radi nji"
hovog opstanka i napredovanja, 5to zbog velike kolicine informacija vise nije maguce ostvariti bez
Vee sma rekU da je digitalni racunar uredaj za abradu. digitalnih vellejna i infor~acij~ ..Medutim: upotrebe savremenih informacionih tehnologi/a, koje se postizu upotrebom racunara, Racunarski
veeina informacija koje nas okruzuju kao i podaci sa Kojima neprestano baratamo, nlS~ d.lgltalne ~:c dobijene infarmacije posta!e su sastavni dio donosenja odluka u vecini organizacija. Karakteristike
analogne prirade. Da bismo mogl] upotrebljavati digltalni racunar za obradu analognlh mformaclJa, primjene racunara u tom procesu su brzo izvlacenje neophodnih informaclja na osnovu vel1kog broja
racunar mora prva da pretvori ulazne analogne infarmacije u digitalne informacije. Ovaj postupak se podataka. Say taj proces prikupljanja i abrade podataka, prenosenja informacija i donosenja od!uka
naziva anafognoldigitalna (AID) konverzija. Tako pretvorene digitalne informacije ?braduju se u naziva se informac;cmi sistem. Preciznija definicija informacionog sistema je s!jedeca:
dlgitalnom ratunaru, nakon 6ega se dobivene digitalne intormacije ponova pret~araJu u. analogne
informacije pamocu postupka koji se nazlva digitafnolanalogna (DIA) kOnverzlja .. AJD I. D~A ~~n. Informacioni "'istem predstav(ja sImp /judi, postupaka i opremc ImF po odrcilel1oj organizaciji i
.verzija obavljaju se unutar dijelova raeunara koji spadaju u grupu ulaznih o.dn?snO Izl~~mh JBdmlC~ metodama prilmpfjajl1l zapisuju, obradujll, memoriraju i prikaZl{ju il1formacije,
racunara, 0 cemu cemo kasnije detaljnije govoriti. Proces obrad~ analogmh InformaclJa uz pomoc
digitalnog racunara shematski se moze prikazati sljedecom slikom: Mada danasnji informacioni sistemi obicno ukljucuju racunar kao sastavni dio, informacioni sis-
temi pastoje u svim oblastima Ijudske djelatnosti, bez obzirada Ii se za obradu podataka i gener!"
Analogni Digitalni r - - - - - - Digilalni r - - - - - - , ranje informacija koriste racunari Hi ne. Raeunari ne predstavljaju sredisnju taeku informacionih sis-
ulm AID ulaz DIGITALNA izla D/A tema. Isto tako, sredisnja tacka informacionog sistema nisu ni podaci koji se obraduju. Sredisnja
.,.,.... KONVE;RZIJA OBRADA KONVERZIJA ~ ta{;ka svih informacionih sistema je covjek. Informacioni sistemi pastoje zbog Ijudl, a ne Ijudi
ibog informacionlh sistema. Pored Ijudi, informacion] sistemi sadrie i postupke, podatke, infor-
- macije i znanje, Zapravo, smatra se da je prvi informacioni sistem nas'tao kada je covjek odlucio da
Postupak pretvaranja analognih velicina u digitalne (AID kon~~.rzija) O~avlja se u d~ije et~~f?,y., ~. side sa grane, jer da nije imao "informacioni sistern", on ne bi znao da ce mu na zemlji biti bolje nego
prvQj stapi uzimaju seuz9IYly!:li,~_dnosti,po~matrane ,ana!og.~e.~~j.!g~ _~ ta~nq8E!r~.<1ellli!lillm9~$ce..-- na grani, pa bi i ostao na grani. Bez obzira na to sto su informacioni sistemi stari koliko i covjeeanst-
ravnomjerno,asp&eCtenirn) vreffiehstim .. r(~nu~i!!::-.q.9"K_-.$,~ __ ~~!L~,n?st,' _p~~_~~~~_..?-.~9Jog~.e YO, danas kada kazemo "informacioni sistem" ipak najeesce mislimo na racunarski bazirane infor~
veliCine u ostalim vremenskim trenuclma prosto ignoriraju. Ovaj postupa'k naZlVa se diskretiz8cIJ8 macione sisteme, iako moramo imati u vidu da to nisu jedini mogu6i informacioni sistemi.
-,.--~------.-.-~-.-----'

20 21
Danas postoje brojne vrste informacionih sistema, medutim najbolje su prouceni i najbolje
Racunarski bazirani informacioni sistemi ne mogu postojati bez odgovaraju6e hardverske, soft~ razradenl upravljacki Informacioni sistemi iii MIS sistemi (Management J.nformation System) i
verske, kadrovske i edukacijske podrske. Mada se pojmovi hardvera i softvera u ovom udzbeniku s;stemi za podrsku odluCivanju iii DSS sistemi (Qecision Support .s.ystem). Upravlja6ki informa~
obraduju tek kasnije, na ovom mjestu se pretpostavlja da ucenici'iz osnovne skole posjeduju ele- cioni sistemi predstavljaju informacione sisteme koji osiguravaju informacije potrebne za uspjesno
mentarna znanja 0 ovim i njima srodnim pojrnovima. donosenje odluka od strane rukovodilaea - menadzera. Oni predstavljaju najstariju vrstu informa-
clonih sistema. Donosenje odluka podrazumijeva izbor jednog od vise mogu6ih rjesenja. Prj tome
U hardversku podrSku informacionog sistema spadaju na prvom mjestu racunari, prateca opre- su za uspjesno donosenje odluka neciphodne informacije 0 tome sta svako rjesenje daje, sta zahti-
rna i mediii koj! su odabrani tako da na najbolji i najjeftiniji nacin omogu6e efikasno generiranje jeva i kako se moze realizirati, a to su upravo informaeije kOje nude upravljaeki informacioni sistemi.
neophodnih informacija. Jedan racunar, sam za sebe, tesko da moze ispunlti neophodne zahtjeve S druge strane, sistemi za podrsku odfu6ivanju su informacioni sistemi koji koriste modele odlueivan~
kOje postavljaju savremeni informacioni sistemi. Za potrebe informacionih sistema gotovo uvije,k je ja i baze podataka sa ciljem potpomaganja nekih od speclficnih odluka sa kojima se suocavaju
neophodno koristiti skupine medusobno povezanih racunara koji formiraju one sto se danas obicno menadzeri. Oni ne donose od/uke za menadzera, nego ga samo podrzavaju u proeesu odlucivanja.
naziva mreza racunara. Mreze kOje se koriste u informaeionim sistemima obieno su zasnovane na Stoga se oni bitno razlikuju od upravljackih informacionih sistema eiji je prvenstveni zadatak bio
tehnologiji kJijentiserver (iii korisnik/pos/uilteJ/). Kod ove tehnologije korisnik (klijent) koristi se obezbjedenje menadzera sa kompletnlm struktuiranlm informaeljama, odnosno izvjestajima.
licnlm racuna~om iii radnom stanicom, koja je preko mreze povezana sa nizom raeunara posluzite~
lja (servera) od kojih je svaki zaduzen za odredenu aplikaciju i odrzavanje baze podataka vezane Pored opisanih informacionih sistema, vaznu vrstu informaclonih sistema predstavljaju i eksperlni sjs~
za nju, Klijent komunieira sa aplikacijom preko svoje tastature i ekrana, a svrha poziva aplikacije temi, koj] koriste svoje znanje 0 specificnim slozenim podrucjirna primjene, tako da djeluju kao strucni sav-
moze biti, na primjer, unos podataka iii trazenje neke informacije. Server obavlja dio obrade iii cijelu jetnici (eksperti) krajnjim korisnicima. Ovi sistemi samo obezbjeduju odgovore na pitanja iz vrlo specificne
obradu, azurira datoteku na kojoj je obavljena promjena, te prikazuje rezultat obrade na koris- oblasti primjene, poput covjeka kojl je dobro obucen za neku usko specijaliziranu oblast Primjeri poznatih
nikovom ekranu iii stampacu. ekspertnih sistema su MYCIN, koj] je dizajniran da pomogne Ijekarima u dijagnozi i !ijecenju nekih bakte~
rijskih infekcija, PROSPEKTOR koji analizira i lumaei geoloske podatke kao vodic za istraiivanja mine-
U softversku podrsku informadonih sistema spadaju svi pohranjenl podaci (baza podataka) koji- rala, i XSEL koji pomaie prodavackom osoblju pri naruCivanju raeunarsklh konfiguracija za njihove muste-
ma raspolaze konkretan informacioni sistem, kao i skupina programa koji omogueavaju pretvaranje rije. U klasu ekspertnih sistema spadaju i geografski iniormacioni sistemf (G/S) koji se danas sve vise
ovih podataka u upotrebljive informadje koje omogucavaju donosenje odluka. Neophodne elemente koriste u raznim podrucjima primijenjene geografije (kartografijl, geologi]i, meteoroiogiji, itd.).
softverske podrske informacionih sistema predstavljaju programi za upravljanje bazama podataka,
programi za planiranje, formiranje izvjestaja, ltd. Dalje, softversku podrsku sacinjavaju j svi neophod-
ni programski alatl koji se,koriste priiikom razvoja sistema. U softversku podrsku u. strem smislu
1.1.11 Utjecaj racunara na drustvo i okolinu
spadaju i utvrdeni postupei, proplsi j definirana dokumentacija ko]i sluze kao osnova rada informa-
cionog sistema.
Racunari su znatno poveeal] covjekovu sposobnost analize, racunanja i komuniciranja, usljed
Kadrovsku podrsku informacionih sistema saCinjavaju korisnici informacionog sistema i cega je znatno povecana Ijudska mogudnost planiranja i upravljanja raznim potrebama. Posto su
raeunarski specijaJisti. Korisnici su osobe u organizaciji eiji ee rad bit] podrzan informacijskim sis- racunari u danasnjem drustvu prisutni svugdje i u svim aktivnostima dnevnog zivota, prirodno je da
temom. Racunarskf specl.lalisti predstavljaju kvalificirani kadar koji je u stanju da prihvati, projektira, su ratunari izvrsili znatan utjecaj na cjelokupno drustvo i okolinu. Kao posljedicu imamo pojavu da
programira i realizira neophodne zadatke na raeunaru. U raeunarske speCijaliste spadaju sistem- je drustvo postalo u potpunostl ovisno 0 racunarima i njihovoj upotrebL
ski analitieari, projektanti, programeri, operated, itd. Sfstemsk; analiticar je osoba koja prikuplja
i analizira informacije potrebne za razvo) informacionih sistema. On komunicira sa potencijalnim Uljecaj raeunara na drustvo i okolinu mazema posmatrati sa nekoliko aspekata. Na prvom mjes~
korisnicima sistema i priprema tehnlcke specifikacije za izvedbu informacionog sistema, Projektant tu, imamo socioJosko~ekonomski aspekt. Na primjer, automatizac~a proizvodnih procesa moze
prevodi zahtjeve sistema koje je pripremio sistemski analitiear u konkretan dizajn sistema i razvija imati efekat na smanjenje zaposlenosti i na obezbjedenje kupaca sa proizvodima boljeg I(valiteta i
detaljne specifikacije sistema. Programer je speCljalista koji obavlja prevodenje tehnickih speci~ po nizim cijenama. Na taj nacin racunari utjecu na zapaslenost i produktivnost. Sa jedne strane,
fikacija sistema u odredeni programski jezik. Programeri takoder vrse i testiranje napisanih progra- upotreba raeunara uvela je nove pos/ove i povecala produktivnost, ali je sa druge strane znacajno
rna kako bi provjerili da Ii oni rade konkretno. Operateri unose neophodne podatke u racunarski sis- umanjila mogunost zapos/enja u nekim vrstama pos/ova. Raeunari su u potpunostl zamijenili rad
tern i obavljaju druge rutinske poslove vezane za rad sa raeunarom. Osoba koja u isto vrijeme pos- mnogih sluzbenika i mehanieara. Novi poslov! koj! su nastali unutar radnih organizacija, traze
jeduje znanja sistemskog analiticara, projektanta i programera najeesce ima ulogu rukovodioca drugacije.vjestine i,ob(azQvanje nego poslovi koji ne zahtijevaju upotrebu racunara. Stoga se moze
pfojekta koji nadzire cjelokupni razvoj projekta. desifda nekl:k.ad.r6vi postanu. tehn%ski visak, ali se, na sre6u, obieno moze izvrsiti njihova pre~
kvaJifikacija rJ9..-novErradrte zadatke. Produktivnost pojedinaca znatno raste upotrebom racunara, jer
informacioni sistemi ne bi mogli obavljati svoju svrhu bez odgovarajuee edukacijske podrske. isti tadnlk mQzq:-da Qbavlja-vise poslova.za znatno kra6e vrijeme. Veda zarada uzrokovana poras-
Bitno is shvatiti da Ijudi koji razvijaju informacioni sistem nisu isti Ijudi koj! ce taj slstem i koristiti. tom,-p;:odiJktivriostLstiti1ulirainv~sticije za sirenje proizvodnje, s10 bi u krajnjem slueaJu trebalo da
KJajhji korisnici informacionog sistema moraju biti obueeni za upotrebu informacionog sistema, dbvede i do poiat?fa:zapos/enosti. Treba napomenuti da utjecaj raeunara na zaposlenost moze biti
od~osno moraju biti osposobljeni za postavljanje upita putem tastature, unosenje podataka i zadaM pozi!i",atl JedinO\jkoliko novi poslov! i organizirana prekva!ifikacija postoje61h kadrova omogucuju
vanje zadataka profesionalnom kadru. Osoba kOja razvija program obuke i upravlja realizacijom - smanjiJn/e nerzaposffJl?Osti uzrokovane uvodenjem racunara.
obuke osoblja informacionih servisa i krajnjih korisnika informacionih sistema naziva se koordinam
tor obuke. Racuna'rl- dopustaju velikim firmama da budu efikasnije, Cime se ostvaruje utjecaj racunars na
konkurencJju. Efikasnost firmama omogucava nastavak razvoja i spajanje sa drugim firmama, time
22 23
nastaju ve!ike i mone kompanije. Racunarski informacioni sistemi u stanju su da uprav!jaju s!oze- Pilanja i zadaci
nim aktlvnostima i odnosima koji uz njih nastaju, taka da i male firme magu steei prednast u odna-
su na konkurenciju upotrebom racunarski baziranlh sistema. Danas se smatra da 6e samo firme sa 1. Kako blste definirali sta je informatika? Kakvo misljenje 0 tom pitanju vrijedi u SAD-u?
efikasnim racunarskim informacionlm sistemima biti u stanju da pretive konkurenciju. 2. Sta je podatak, asia informacija? U cemu su bitne razlike izmedu ova dva pojma?
3. Kakve postoje vrste informacija, i sia su njihovi nosioci?
Savremena upotreba racunara eliminira prisustva !judskih odnosa, time yidimo da racunari vrse
utjecaj na indlvidualnost. .OVaj u~ecaj se obicno posmatra u nega1ivnom kontekstu, kroz tvrdnje 4. Sta je integracija informacija?
da racunari dehumaniziraju i desocijaJfziraju pojedinca, davodeCi do gubitka njihovog vlastitog iden- 5. Koliko bita vrijedi informacija gdje se nalazi bijeli kralj na sahovskoj tabli?
titeta, jer savremena obrada informaclja svakog pojedinca tretira iskl]udvo kao skupinu podataka, a 6. Sta je entropija i sta se njom izrazava?
ne kao licnost. Takoder, racunarski bazirani sistemi zahtijevaju striktno postupanje po propisanim 7. Sta je obrada informacija?
procedurama, 8to kod pojedinaca izaziva gubitak indlvidualnosti. Ipak, ovi problemi se dobrim 8. Koje'su osnovne karakteristike Ijudske, a koje elektronlcke abrade informacija?
dije!om mogu prevazi6i, cineel organizacione jedinice veCim, kreirajuei slozenije individualne i orga-
9. Kakva je razlika izmedu analognih, diskretnih i digitalnih velicina? Koje od ovih veliCina domini-
nizacione veze j poveeavajuei obim individualnih aktivnosti. Racunarima se mogu prepustiti dosad~
raju u raalnom svijetu u kojem zivimo?
ni i rutinski paslov!, time se pojedincima ostavlja vise prostora za poslove koji trate individualnost i
kreativnost. Jos jedan negafivan aspekt upotrebe racunara 0 kojem se sve cesce gavor! je utjecaj 10. Bta su analogni, digitalni i hibridni racunari?
n8 privatnost. Smatra se da formiranje velikih baza podataka kaje sadrze privatne podatke 0 pojed- 11. Zbog cega je uveden binarni brajnl sistem?
incima povecava mogucnosti zloupotrebe, i omogueava organiziranje raznih vidova racunarskog 12. Pretvorite brojeve 25,176,2412 j 33852 lz dekadnog u binarni i heksadekadni brojni sistem.
kr;minaJa. Protiv ovakvih tendencija drustvo se (sa manja iii vise uspjeha) mora boriti kao i protiv 13. Pretvorite brojeve 10101101, 10100,1110101 i 111100 iz binarnog u dekadni i heksadekadni
svake druge vrste kriminala. . brajni sistem.
14. Pretvorite brojeve 372, F2, ABC i 7D4 iz heksadekadnog u dekadni i binarnl brojni sistem.
Opcenito se ipak maze reCi da upotreba racunara dovodi do porasta kvafiteta iivola, zbog toga
15. Saberite, oduzmite i pomnozite binarne brojeve 10110100 110011010. Rezultal provjerite pret~
sto unapreduje kvalitet uvjeta rada i sadrzaj radnih aktivnosti. Upatreba ratunara dovela je do
varanjem ovih brojeva i rezultata racunanja u dekadnl brojnl sistem.
skracivanja radnog dana, sto dovodi i do povecanja slobodnog vremena. Ljudima ostaje vise vre-
mena za rekreaciju, obrazovanje i kreativne aktivnesti. Doduse, neki poslevi nastali upotrebom 16. Sta je Bulova algebra i cemu sluti?
racunara su dosadni i rutinski, tako da se od pojedinih radnika trati da se ponasaju kao masine, a 17. Navedite neko\iko pravila Bulove algebre.
ne kao kreativni budl. Mada takvi efekti imaju j stetan utjecaj na kvalitet zivota, oni su ipak neupore- 18. Pokusajte iskazatl rijeCima De Morganove teoreme.
divo manji od navedenih pozitivnih efekata. 19. Napravite tablicu istine za logicku funkciju Y == ABC v A 8(A v C)
20. Na osnovu tablice koju ste dobili u prethodnom zadatku pronadite barem jednu logicku funkciju
Na kraju, neophodno je napomenuti da je razvoj savremenih informaclonih tehnologija izvrsio koja je ekvivalentna funkciji iz prethodnog zadatka.
veliki utjecaj na Jokalizaciju i globalizaciju pojedinca i drustva. Globalne racunarske mreze, kao 21. Pokusajte primjenom pravila Bu!ove algebre da pojednostavite funkciju iz zadatka 19.
sto je Internet, omogucavaju pojedincu da, ne izlazeCi iz svoje sobe, obavlja poslove za naJve6e 22. Nacrtajte shemu uredaja koji realizira funkciju lz zadatka 19. pom06u osnovnih Jogickih kola.
internacionalne kompanije i da utjece na svjetska zbivanja, 6ime je pojedinac postaa die globalnog Uradite isto za pojednostavljenu funkciju koju ste dobiH u zadatku 21. Sta zakljucujete?
svjetskog sistema. Nerijetko mozemo nai6i i na remek djela u raznim oblastima, ukljucujuti nauku,
knjizevnost, itd. 6iii je autor nepoznati, anonimni pojedinac koji je svoj rad "objavio" putem A----{,
racunarske mreze. Ipak, ovakav trend sa sobom nosi opasnost od izrazite desocijalizacije pojedi-
naca, kOji, obavljajuci glavninu svojih djelatnosti putem racunara povezanih na globalne racunarske B----L/
mreze, u potpunosti gube kontakt sa pojedincima u svojoj bllzo] okolini, kao ! osjetaj za realni svijet
C --<r----{./
koji ih okruzuje. Za takve pojedince obicno kazemo da umjesto u stvarnom, zive u virtuafnom svi~
jetu (rijee virtuafan znaei nestvaran, prividan). Nerijetko se desava da se isti pojedinac u stvarnom i
virtualnom svijetu ponasa kao dvije potpuno razJiCite [ienosti, sa razlieltim interesovanjjma, karakte- DiLj)-----1 x>--l y

rima, itd. Psiholazi smatraju da je ovakav trend mazda i najveea opasnost koju sa sobom nose
savremene inforn:tacione tehnologije,
23. Odredite koju logi6ku funkciju realizira ure4aj s~ s!jEKie6e',s!lke.
24. Probajte pojednostaviti funkciju iz ,zadatka 23: i na"cliE!"jte: ur'edaj koji realizira pojednostavljenu
funkciju. Sta se mote zakljuciti? . ~'.. . . . .. ~
25, Sta su diskretizacija, digitalizacija i interpolacija~Ltemu-sLuZe?
26, Smatra se da prilikom prenosa glasa kroz telef?nSKU ffir~u ne dolazi 90 -promjeha brzih od 3400
titraja u sekundi. KoHko je cesto po.trebno.uzima..tf uz-iJi"KRglasa .da:bi se ostvario digita!ni prenos
glasa bez gubltka informacija? . .. ,..' .
27. Sta su informacioni sistemi? Staje-sredisnja tackasvakbg,.inforrryacionog sistema?
28. Opisite hardversku, softversku, kadrovsku i ediJkacijsku PC?drsku informacionog sistema.

24 25
29. Sta je zadatak svakog ad sljedecih kategorija Ijudi: korisnika informac!onag sistema, sistemsk!h 1.2 ARHITEKTUFIA FlACUNAFlA
analiticara, projektanata, programera i operatera?
30. Kakve vrste informacionih sistema poznajete?
31. Kako biste opisali utjecaj racunara na drustvo i okoHnu? 1.2.1 Historijski razvoj racunara
32. Kakve eventualne opasnosti sa sobom nose savremene intormacione tehnologije?
Sarna rijee racunar nastala je od rijed "racunati", odakle vidi-
mo da je prvobitna namjena racunara bila da posluze kaa sprave
za racunanje (mada je danas raeunanje sarno jedan ad zada1a-
ka, i to ne glavni, koji racunari obavljaju u danasnje vrijeme
nazlv informacioni procesor bio bi prikladniji). Potreba za
racunanjem postoji od davnina, tako da su tokom razvoja Ijudske
civilizacije javljala razna pomagala koja su sluzila za olaksava-
nje racuna. Najstarije poznato pomagalo za raeunanje je primi-
tivna racunaljka poznata pod nazivom abak (abacus), stara oko
2500 godina', i koja se u raznim oblicima koristila u raznim svjet-
skim civilizacijama (oblik koji se danas maze vidjeti potjece iz Abacus
Kine). Ova spravica is i danas u upotrebi u nekim azijskim zem- (verzija Suan-Pan)
Ijama. Racunanje na abaku izvodi se rucno, pomicanjem kuglica
nanizanih na nekoliko paralelnih zica. Izvje:'tban korisnik moze pomoGu abaka obavljati teM osnovne
racunske operacije (sabiranje, oduzimanje, mnozenje i dijeljenje) prilicno brzo, u svakom slutaju brze
nego pomo6u papira i olovke,

Prvi mehani6ki automatski uredaji za obavljanje racunskih operacija pojavili su se u 17. vijeku.
Smatra se da je prvu mehanieku ratunsku masinu sastavio Wilhelm Schickard, medutim model
njegave masine je izgubljen. Nakoliko godina kasnije, Blaise Pascal konstruirao je masinu koja je
magla obavljati operac!je sabiranja i oduzimanja, dok je krajem 17. vijeka Gottfried Wilhelm von
Leibniz konstruirao napredniju masinu kOja je mogla izvoditi sve tetiri osnovne racunske operacije.
Principi rada svih ovih masina uglavnom su bazirani na spregnutim zupcanicima, kao u satnim me
hanizmima.

Gottfried Wilhelm von Leibniz


Blaise Pascal Pascalova aritllletiika lIlaSilla

Smf3.tra -se.:da je Charles fJabbage ptvi predlozio koncept


mashie koja.,:po osnovnim konceptima odgovara danasnjim
ratunarima. 01'1, je 182~Vg9dine prvo predlozio tzv. diferencnu
'masinu, koja jefrel)ala_da bUge hesto r50put danasnjih kalkulatora,
a z:atlm dJiset-godina 'kas.nije i tzV. analiticku masinu, kOja je, u
sustini, ktasicn(digitalni r'acunar zasnovan Iwnceptualno na istim
principima-'kaq}danasnji racunari (osim sto je za pogan trebala biti
koristena: parna'm~sinaa ne elektricna struja). Analititka masina je
trebala p-osjedovati j-' memoriju za smjestanje podataka kao i
izl<':lzne jedinige za pdkaz rezultata. Programi su se trebali zapisi" Charles Babhage

26 27
vati na busene papirne kartice, pri 6emu su raz1i6iti rasporedi rupica predstav!jali razliCite instrukci- danasnjih ra6unara zasniva se upravo na Von Neumannovom modelu, 0 cemu cemo posebno go-
ie. Medutim, 8abbageove masine su po dimenzijama bile preg!omazne da bi bile isplative za real- voriti kasnije.
izaciju (anaHti6ka masina trebala je imati dimenzije uporedive sa velicinom fudbalskog igralista).
Stoga a~ami6ka masin,a nika?a v~ije rea!izirana, dok je diferencna masina realizirana stotinjak godi- Sve oplsane racunare mozemo smatrati prahistorijom racunarstva. Smatra se da je prva gew
na kasnlje kao ekspen~ent IZ elste radoznalosti (mada su u to vrijeme vee postojale savremenije nera~iJa.-racunara zap06ela 1951. godine sa ra(;unarom UNIVAC I (1!olY.ersa! :~ut9rnatic"Qomputer)
masine). ~ad an.aliti6ke masine u danasnje vrijeme simuliran je uz'pomoc savremenih digitalnih koji je bro prvf komercijalno dostupan ra6unar (kostao'je 1000000 $). Najpopularniji racunar prve ge-
ra6unara, I postoje osnovane pretpostavke da bi ova rnasina, da je ikada konstruirana, radlla (nar- neracije bio je racunar IBM 650. -Svi racunari prve generaeije bill su zasnovani na elektronickirn eije-
avno, veoma sporo). Ova pokazuje koliko je Babbage bio ispred svog vremena. Interesantno je vima, kOje su bile glomazne, nepouzdane i trasi!e su rnnogo energije. Zbog toga je podrucje primjene
napomenuti da je Augusta Ada Gordon (poznata kao vanbracna kcerka cuvenog pjesnika larda racunara pIVe generacije bilo veorna ogranieeno. Kapaciteti memorije ovih racunara bili su ad neko-
Byrona) pNa predlozila kako bi se Babbageova analitieka masina mogla zaista i program irati. Stoga liko kilobajta do nekoliko desetaka kilobajta, a brzina rada oka nekoJiko statina operacija u sekundL
~e smatra 'da j~ ana ~ila prvi programer u historiji, i jedan ad danasnjih programskih jezika nazvan
Je upravo po njenorn Imenu - ADA. __ .~f!E!!gJL9"t!.!]/l/1!~.ii~""!acunara nastupila je 1959, godine zamjenom elektronickih cijevi znatno
"manj[m '( pouzdanijim tranz;stor;ma, koje su 1947. godine otkrili Walter Brattain, John Bardeen i
. . B~bba~eovu ide!~ za koritenje busenih kartica kao medija za unos programa i padataka isko- Wilfiam Shockley. Raeunari druge generaclje bill su znatno manji, brzi i pouzdaniji. Brzina rada
~lstlO j9 krajem 19. vlJeka Herman Hoiernh, na osnovu s!ienog uredaja iz 18. vijeka koj! je konstru- porasla je na oko stotinjak hHjada operacija u sekundL Za memoriranje programa i podataka koris-
Irao Joseph Jacquardt;a potrebe automatskog upravljanja pletacirn masinama. Holerithova masina tili su se uredaji zasnovanl na magnetnom principu rada, koji su oneniogucavall znaeajnije sma-
imala je mogucnost i jednostavne abrade unesenih podataka, poput sortiranja, i upotrijebljena je za njenje velielne racunara. Za unos programa i podataka i dalje su se koristile busene kartice.
potrebe popisa stanovnistva u SAD-u 1890. godine. !pak, Holerithova masina nije imala rnogucnost
programiranja. Bitno je napomenuti da je kompanija IBM, kOja je jedna ad vodeCih racunarskih kom- TrJ?_t?!!_gJ!."fJ-.!'!.f.~i[a racunara zapocela je 1964. godine promo-
panija u svijetu, izrasla lz firme koju je osnovao upravo Holerith. djom ra6unara IBM 360. U ovim racunarima znacajno smanjenje
dimenzija ostvareno je uvodenjem. integr;ranih kola (iii iHpova),
Sredinom 20. vijeka javljaju se prvi ra6unari koji koriste i elekfri6nu struju. Princip rada ovih koji zapravo predstavljaju kompletne eiektronlcke uredaje
racunara kombinirao je metlanieke i elektrotehnicke principe, tako da ih svrstavamo u elektrome~ (sklopove) izradene u jednorn kristalu silicija dimenzije nekoliko
hanicke racunare. Glavna karakteristika avakvih racunara je sporost (oko petnaestak racunskih I<vadratnih rnilimetara. Karak1eristika trece generacije raeunara je
operacija u sekundi). Najpoznatlji ovakvi raeunari bili su 23, koji je 1941. godine konstruirao Konrad i pojava programskih jezika viseg nivoa prilagodenih 6ovjeku, tako
Zuse (isti tvorac je 3 godine ranije konstruirao mehanicki ra(;unar Z1) i Harvard MARK I, koji je kon- da je otpala potreba za mukotrpnim programiranjem u masinskom
strUirao Howard Aiken. Ovi racunari su po svojoj gradi bili digitalni racunari, a glavnu kornponentu jeziku (pom06u kornbinacija nula i jedinica), kao i pojava PNih
od koje su bili sastavljeni Cinili su efektromehanicki re/eji. operativnih sistema. Brzina fada porasla je do aka nekoliko mil-
iona operacija u sekundi, a dimenzije raeunara su se spustile na
P.ryi elektr0f'!;c.kl digItalni raunarsastavio je 1942, godine John Vincent Atanasoff, medutim veliCinu manjeg ormara. Sistem busenih kartica za unos podataka ~
mnogcr-pozIiEHiji"'bio je-racunar-ENiAC (!;iectronic Numerical ,tntegrator ,8nd Qalculator), koji su 1946. polako se napusta u korist unosa podataka putem tastature, a Seymour eray
godlne konstruirall John Mauchly i Presper Eckert. Ovi racunari su umjesto e!ektromehanickih pojavljuJu se i prvi moniiori za prikaz izlaznih podataka. U tre60j generaciji pojavili su se i prvi rnini-
releja koristili vakumske elektronicke cijevi. Racunar ENIAC bio je tezak oko 30 tona, i sastojao racunari, koji su magli da stanu na pisaci st~. Prvi miniracunar pod nazivom PDP-5proizvelaje firma
se od oko 18000 ejektroniekih cijevi. Dimenzije ovog raeunara bile su velicine prosjecne kuce, a DEC (Qigital,!;quipment Qorporation), a njihov najpoznatiji racunar bio je takoder miniratunar PDP-11.
troslo je toliko struje (174 kW) da je jaeina svjetlosti svih sijalica u gradu opala kada je ovaj racunar Seymour Cray 1964. godine konstruira superraeunar Cray CD C6600, koji je bio 10 puta brzi ad
bio prvi put uk!jucen. Programirao se uz pornoc oko 6000 prekidaea, Izmedu ostalog, koristen je i za ostalih racunara Ist09 vremena. Medutim, opca l~ar8.kteristika svih raeunara trece generacije i dalje
proracun prve hidrogenske born be. lnteresantno je napomenuti da je PNj kvar na elektronlckim ostaje upotreba g!arnaznih magnetnih memorija, koje su sprecavale da!ju minijaiurizaciju ra6unara.
racunarima uzrokovala bubica kOja je usetala u racunar i izazvala kratki spa), Otuda se i danas
greke u racunarskim sistemima nazivaju bagovt - rijee bag (pise se bug) na engleskom jeziku Smatra se da je"l?-.et.v!J~_genera_{:lja ra6unara zapotela 1972. godine, kada su magnetne me-
znaei bubica morije u potpunosti zamfjenjeife'''elektronicl<im kornponentama, to je dovelo do drastienog pada
cijena i dlrnenzija memorija. Elektranicke memo[ije takod;er su zasnovane na integriranim kolirna, ali
Glavnl nedostatak racunara ENIAC bilo je nepostojanje me- veoma velike gustine pakovanja, koja je omogucila pakovanje vise rniliona komponeliti u jedno inte~
morije za pohranjivanje programa. Pored toga, ENIAC nije mogao grirano kolo, Vjerovatno prv) racunar cetvrte:; generacijf} bio je raeun~r IBM~370, Glavna karakteris~
da izvrsava petlje kod kojih bro] ponavljanja nije unaprijed poznat. tika ratunara cetvrte generacije, pored drasticn99 pove,9anja brzine rada.1 kapaciteta memorije, kao
Pry] ra6unar koj] je otklonio ave nedostatke bio je EDSAC i smanjenja dimenzija, predstavlja' razvoj $ve savremehiFh uredaja zii unos ulaznih podataka i
"(&'Iectro~jc Qelayed s.torage Automatic Qomputer), koji je 1949. prezentaciju izlaznih podataka. .
godine konstruisao Maurice Wilkes. Otprillke u isto vrijeme nas-
taje i racunar EDVAC (.Electronic .Qiscrete .Y.ariable ,Automatic Nakon pojave prvog mikroprocesora (itavog procesQr-a-raeunara smjestenog u jednom clpu)
"QQmpu1er),"prema zamislima John von Neumanna, koji je pred- 1970. godine ad strane firme INTEL, cijene rac.on?-ra,,'$y.:poc~!e"rapjdno'<?padati, i vee se magla
102io rnodel racunara kod kojeg se programi j podaci skupa naslutiti pojava ra6unara za kuenu upotrebu . Raeunar ALTAIR- 8080 prolzveden 1974. godine
pohranjuju u racunarsku memoriju. Von Neumann je takoder opcenito se smatra prvim kucnirn racun"i,uom~, 6vaj raEunar je bio "izuzetno primitivan, i nije pasje-
predloi(o upotrebu binarnog umjesto dekadnog brojnog sistema, dovao tastaturu j ekran, nego je sa_korisnikori-rkomurUcirao pomocu. prekidaca i svijetlecih indikato-
John von Neumann sto je osjetno pojednostavllo arhitekturu raeunara, Vedina fa. Interesantno je napomenut! da je BASIC interpr'iuer-za A~TAIR 8080 napisao 1975. godine Bill
28 29
Gates i njegova firma Microsoft, koji 6e dvadesetak godina kasnije postati najbogatiji covjek na svi- CENTRALNA JEDINICA
jetu, Prvi personalni racunar sa tastaturom i ekranom bio je Apple II (njegov prethodnik Apple Ikon-
struiran' je u garazi), koji je dozivio nevjerovatnu popularnost, i njegove siromasne konstruktore
pretvorio u boga1ase. Desetak godina kasnije firma Apple proizvodi prvi racunar iz familije
Macintosh. Racunari jz ave famillje i danas su najpopularniji racunari u SAD-u. Ulazni ~
podad
ULAZNE
JEDINICE ~ MEMORIJA ~ PFIJCES:l'1 II;'; IZLAZNE
JEDINICE I<~ Izlazni
podaci
Prv! zaista jeflin racunar za ku(;nu upotrebu pod nazivom ZX 80 proizvodi 1980. godine Clive Sinclair
i njegova firma Sinclair Research. Istl tvorae godinu dana kasnije proizvodi racunar ZX 81, a 1982.
godine racunar ZX Spectrum, koji je dugo godina ,bio najpopularniji kucni racunar u EvropL Mada je po
danasnjim mjerilima ZX Spectrum posve los racunar, ovaj ratunar i danas ima svojih vatrenih prislaliea
sirom svijeta (u koje spada i autor ovog udzbenika). Njegov glavni konkurent bio je racunar Commodote
64, koji se pojavio iste godine, a smatra se najprodavanijim racunarom svih vremena. Firma Commodore Ulazne jedJnice, centralnu jedinicu i izlazne jedinice zajednitkim imenom nazivamo hardver
nekollko godina kasnije izbacuje na trziste racunar Amiga, koj] je u svojim naprednijim verzijama prisu- ratunara. S druge strane, programi za racunar kao i podaci koje ti programi obraduju cine softver
tan i dan as. Ostali racunari koji su obiljezili ovu epohu su razni modeli firmi BBC i Afar;. racunara. Hardver i softver zajedno saclnjavaju jedinstvenu cjelinu koju nazivamo racunarski SiSM
tern. Tako, mozemo reCi da hardver zapravo predstavlja materijalni, opipljivi dio ra6unarskog sis~
Danasnju epohu ratunara uglavnom cine racunari firme IBM i njihove kopije (klonovi) raznih tema, dok softver predstavlja, uvjetno receno, njegov intelektualni, neopipijlvi dio.
proizvodaca. Serija IBM PC racunara zapotela je 1983. godine sa racunarom IBM PC XT, Jedan
klon ovog ratunara, pod nazivom IRIS PC 16 proizvodila je i domaca firma Energoinvest (sus ret U Von Neumannovom modelu, po prvi put su, za razliku od prethodnih modela ratunara, kako
sa IRIS PC 16 racunarom 1986. godine bio je prvi susret autora ovog udzbenlkasa PC racunarima). podaci, taka i programi predstavljeni na jedinstven naCin, i na istlm medijima. Po ovom modelu, pro~
Dalje su slijedili ratunari J8M PC AT, i tako dalje, sve do danasnjih PC racuriara zasnovanih na grami i podad pohranjeni su u memoriji iskljucivo kao kombinacije nuta i jedlnica. Stoga se memo-
Pentium procesorima. rija dijeli na elementarne memorijske celije od kojih svaka maze da zaparnti tacna jednu binarnu cifru
oiii 1 (1j. jedan bit). Zbog toga se i najmanja jedinica za mjerenje kapaciteta memorije takoder nazi-
Cetvrta generacija racunara traje i do danas, mada se vee dugi niz godina vrse eksperimenti na va bit. Jedan bit je ona kolicina memorije koja moze da zapamti tacno jednu blnarnu cifru.
razvoju racunara pe,tff; genera.cJje. Od ovakvih racunara se ocekivalo da oponasaju proces Ijudskog
mis!jenja, tj. da posjeduju neku vrstu inteligencije. Ne moze se reCi da S8 na ovom planu nUe niSta Jedine dvije operacije koje se mogu obavljati sa memorijama su 6itanJe podataka iz memori~
postigio, ali uspjesi u ovoj oblasti istrazivanja znatno su manji ad otekivanih. je i upis podataka u memoriju. Danasnje memorije najtesce nisu organizirane na nacin koji
omogucava neovisan pristup svakom bitu u memoriji. Obicno se sku pine od po 8 bita grupiraju u
cjelinu nazvanu bajt. Svakom bajtu u memoriji pridruzen je identlfikacijski broj nazvan adresa. Dio
1.2.2 Von Neumannova arhilektura raeunara memorije koji odgovara jednoj adresi nazivarno memorijska lokacija. tz mernorije se sa odredene
lokacije maze proCitati sarno citav bajt. S!icno vrijedi i za upis podataka u memoriju. Memorije pas-
Nacin na koji je graden racunar i na koji su medusobno povezani njegovi dijelovi nazivamo jeduju skupinu ulaza nazvanu adresni uJazi, preko kojih se memoriji saopstava (u binarnom zaplsu)
arhitektura racunara. Mada postoje razlicite arhitekture racunara, veGina racunara koji su danas u adresa memorijske lokacije iz koje zelimo da proCitamo, odnosno u koju zelimo da upisemo podatak,
upotrebi zasnivaju se na arhitekturi koju je jos 1946. godine predlotio John von Neumann (iii na nez- i skupinu ulazalizlaza nazvanu uJazilizlazi podataka, preko kojih se Cita iii upisuje zeljeni podatak
natnim modifikacijama ave arhitekture), stoga ovu arhitehturu nazivamo Von Neumannova arhitek u
(takoder u binarnom zapisu). Pored toga, memorije posjeduju i dva upravlja6ka ulaza, preko kojih se
tura. Glavne novosti Von Neumannove arhitekture u odnosu .na raf1ijELarhit~ktl!re sastoje se u memoriji saopeava da zelimo iZVfsiti titanje, odnosno upis podataka. '
upotrebi iste memorije za pohranjivanje programa i podataka, ka,oi upotrebJ binarnog brojnog sis-

:::::;>LI_......_M_E_MO_R_I_JA--,-.--ll~
tema, sto je dovelo do znatnog pojednostavljenja grade ratunara. U nastavku cemo detaljnije opisati
Von Neumannov model racunara.
Ad",," Podae!
Podsjetimo se da danas pod racunarom podrazumijevamo svakl uredaj koji je sposoban da
prima podatke od korisnika, da ih memorira i obraduje prema zadanom programu i da saopci koris-
niku rezultate obrade. Da bi racunar mogao da opavlja navedenu funkcij.\J, on Deito mora posjedovati
barem tri grupe uredaja:
t
Nalog za
t
Nalog za
Citanje upis
Ulazne Jedinice, preko kojih racunarprimflpodatk&-0d korisnika;
Izlazne jedinice, preko kojih ratunar saopc~lta korisnikv- reiull~te ob'rade; Moze se postaviti pltanje zbog tega bajt ima bas osam bita. Bajt je zapraYG definlran: k.ao- ana
Centra/nu jedinicu, u kojaj se obraduju pO'dad, r-u .kojl(.se.'$r:njestaju pOd 0ci koji se obraduju, koliCina memorije koja je dovoljna da se zapamti jedno slovo, cifra, iii interpunkcijski-znak(pri cernu
zajedno sa programom po kojem se vrsi obradif. -"' . se podrazumijeva standardni engleski a!fabet). Da bi se slova, iii opcenitije znakovi~-llJog!H:'?J:edstaviri
Ceritralnujedinicu dalje mozemc podijel[ti na me,motlju, .
koja sluzi.za-smjestanje podataka i progra- u memoriji, potrebno ih je prikazati odredenom kombinacijom nula i jeqJn-ic~,: Dfi bi -se -ust-anoviio"
rna, i centralnu procesnu jedinicu (kojase skraceno naziva i-sa:r:no' procesna jediniea, !Ii, jos cssee, kojom ee se kombinacijom _nula i jedinica predstavljati koji znak, uspostavljene"su Qdgovarajuce
procesOl'j, koja vrsi obradu podataka; Centralna proce-snajedinica skracend se oznacava sa CPU medunarodno dogovorene sifre koje propisuju kombinaeije nu!a i jedinica kojim s6_,.predstavljaju
(Q.entral.Erocessing Unit). Von Neumannov model racw1ara shematskl je prikazan na sljedecoj slid: odredeni znakovi, i tih dogovora bi se svi trebali pridrzavati. Mada postol! vise ovakvih standardnih

30 31
sifri, danas ubjedljivo najvise koristena sifra (k6d) je tzv. ASCII k6d (ASCII - American ~tandard Broj masinskih instrukcija koje 'raspoznaju procesori krece se od nekoliko desetina do nekoliko
.Qades for Internatianallnterchange). Na primjer, znak "A" se prema ASCII standardu predslavlja stotina (iii nekoliko desetina hiljada ukoHko brojimo i sve podvarijante pojedinih instrukcija) .
kao 01000001. Znak "a" predslavlja se kao 01100001, znak "2" kao 00110010, znak "!" kao Procesori koji raspoznaju svega mali brej sasvim jednostavnih instrukcija nazivaju se RiSe proce-
00100001, znak"" (prazno mjesto) kao 00100000, itd, Kako se pakazal0 da se sa 8 nula iii jedini" sari (Beduced lnstruction .set .computing), dok GISe procesori (Qomplex lnstruction .set
ea maze saslaviti davoljno kombinaeija (28 = 256) da se prikazu sva mala i velika slova engleskog Qomputing) prepoznaju veel braj ponekad i prili6no slozenih instrukcija. Mada na prvi pogled Izgle-
alfabeta, cifre i klasicni znaci interpunkcije, usvojeno je da bajt ima 8 bita. Napomenimo da je pored da da su Glse procesori bolji, RfSC procesori rade mnogo brze. Interesantno je da je dokazano da
ASCII standarda danas sve vise u upotrebl j UNICODE standard, pri kojem se za pam6enje jednog je procesof koji zna da obavlja svega dvije (tacna odredene) instrukcije teoretski u stanju da .nji-
znaka kariste 2 bajta (16 bita). Sa 16 nula j jedinica moze se napraviti 216 "" 65536 kombinacija, sto hovom kambinacijom postigne sve sto mogu da postignu svi ostall procesori (to naravno ne znaei
je davaljno za pamcenje svlh slova iz svih alfabeta koji se koriste na svijetu (npr., Ciri!ice, 9r6k09, da takve procesore treba praviti).
arapskog, hebrejskog, kineskog i drugih alfabeta, nasih slova poput "c", "s" ltd.).
Na osnovu opisanog rada procesora, vidimo da on neprestano komunicira sa memorijom, kao
Veee jedlnlce od bajta su kllobajt (KB), megabajt (MB), glgabajt (GB) I terabajt (TB). Ponekad, sto je prikazano na s!jede60j slici (na potpuno lsti na6in procesor komunicira i sa ulaznim i izlaznim
mada znatno rjede, susrecu se i kilobit, megabit, itd. Odnos izmedu ovih jedinica je sljedeci: jedinicama, samo sto se razmjenjuju samo podaei a ne i instrukcije, i sto ulazne jedinice nemaju
nalog za upis, a izlazne nalog za cltanje).
1 KB = 1024 bajta 1 MB" 1024 KB 1 GB = 1024 MB 1 TB=1024GB

Prisustvo neobi6nog braja 1024 umjesto 1000 posljedica je Cinjenice da stvarne elektranicke rea" Adrese
lizacije memorija imaju kapacitete koji kada se izraze u bajtima gotovo uvijek predstavljaju bra) koj!
je stepen dvojke. Kako je broj 1024 stepen dvojke (210 "" 1024), a prilicno je bHzak broju 1000, uzeto
..., Podaci i instrukcije
0:
0
je da odnosi izmedu jedinica budu izrazeni sa faktorom 1024 umjesto 1000, Cime je postignuto da 0: if)
ill
se kapaciieti memorija izrazeni u KB, MB itd. izraz.avaju cijelim brajevima. 0 0
::; Nalog za Citanje
ill 0
Vee je reeeno cia Von Neumannov model predvida da se programi za raeunar takoaer na!aze ::; 0:
. (L
pallranjeni u memoriji u vidu nula i jedinica. Tako zapisan program naziva se maslnski progrmT"l. Nalog za upis
RazliCite kombinacije nula i jedinica (nazvane masinske fnstrukcije iii ponekad instrukcijski kodovi)
imaju razliMa znacenja. Prilikom rada raeunara, progesor eita masrnsku instrukciju sa neke adrese iz
memoriie, izvrsava akciiu predvidenu njenim zna6enjem, zatim Cita narednu instrukciju (najces6e sa Da bismo objasnili sta se tacno des.ava u komunlkaciji izmedu procesora i memorije, pret-
sljedece adrese); i tako unedogled, U tom smislu, svaka instrukcija se izvrsava u dvije faze: fazEl postavimo da se u memor!j! na adresama 30, 31 i 32 nalaze tri masinske instrukeije koje redom
prlpreme (odnosno, taza dobavljanja instrukcije), i faza izvrsavanja. Za potrebe privremenog cuva- zna6e "pribavi sadrzaj adrese 100 iz memorije", "saberi sadrzaj adrese 200 iz memorije na pribav-
nja masinske instrukcije koja se izvrsava ! podataka koji se obraduju, procesor unutar sebe takoder Ijeni sadrzaj"; i "smjesti rezultat na adresu 300". Tada se u komunikaciji izmedu procesora i memo-
sadrzi male memorijske jedinice, kapaciteta nekoliko desetaka bita, koje se nazivaju registri. riie moze uociti sljedeCi niz dogadaja:
Procesor salje memoriji adresu 30 (sve se desava u binarnom brojnom sistemu) i nalog za 6ita-'
Koje instrukcije procesor zna da izvrsava, zavisi od konkretnog procesora, ali tipicno se radi 0
nje. Memorija salje procesoru sadrtaj adrese 30, Procesor prihvata ovaj sadrzaj, anaHzka ga, i
izuzetno primltivnim instrukcijama koje se mogu podijeliti u tetiri osnovne skupine: instrukcije za
zakljueuje da se radi 0 instrukciji koja treba pribaviti sadrzaj adrese 100. Ovim je obav!jena faza
prenos podataka, aritmeticko-Iogicke instrukcije, instrukcije za upravfjanje tokom programa i
pripreme prve instrukcije. Dalje, procesor salje memoriji adresu 100 i nalog za eitanje. Memorija
ulazno-izlazne fnstrukcije. Instrukcije za preno$ podataka nalaiu procesoru da premjestl neki
salje procesoru sadrzaj adrese 100. Procesor ga prihvaca u neki od svojih registara. Ovim ie
podatak sa jednog mjesta na drugo, na primjer da proCita sadriaj neke memorijske lokacije u neki od
zavrsena i izvrsna faza prve instrukcije (tj. prva instrukcija je izvrsena).
svojih registara, da upise neku vrijednost iii sadrZaj nekog registra na odredenu memarijsku lokaciju,
ill da prepise sadrzaj jednog registra u neki drugi registar. Aritmeti6ko*Jogi6ke instrukcije nalazu proC8" Procesor salje memori]i adresu 31 j na!og za Cltanje. Memorija odgovara, procesor prihvata
.soru da izvrsi neku od elementarnih racunskih aperacija nad sadrzajlma registara iii memorijskih lokaci- sadrzaJ, anaHzira ga i zakijucuje da se radi 0 instrukciji koja treba pribaviti sadrzaj adrese 200 i
ja. Ove operacije mogu biti aritmeticke (poput sabiranja i oduzimanja) ill logicke (poput poredenja, sabrati ga sa prethodno pribavljenim sadrzajem. Proeesor sa!je memoriji adresu 200 i nalog za
konjukcije, disjunk.cije i negacije), Takoder, operacije koje obavljaju aritmeticko"loglcke jedinice mogu Citanje. Memorija odgovara, i procesor prihvaca podatak, Nak.an toga procesor prosljeduje prih H

se pod!jeliti i na binarne, koje se obavljaju nad dva operanda (npr. sabiranje, konjukcija,Jtd,) i ur;arne, . va6eni podatak i sadrzaj registra u kojem je sacuvao prethodno procitani podatak na ugradeni
koje se obavljaju nad samo jednim operandom (npr. negaclja). Instrukcije za upravljanje tokompro h sklop za sabiranje. Ovim je zavrsena i druga instrukcija.
grama su veoma zna6ajne, jer omogu6avaju da S8 izvodenje programa nastav! ad proizyoljne. memo~c--. Procesor salje memorijl adresu 32 i nal09 za 6itanie, Memorija odgovara, procesor prihvata
rijske lokaclje. Mogu se podijeliti na bezuvjetne, kod kojih se izvodenje programa bezuvjetno.f\astav~ , sadrtaj, analizira ga i zaklJucuje da se radi 0 instn.ikciji koia treba upisati rezultat na adresu 300.
Ija od zadane memarijske lokacije, i uvjetne, kad kojih se prela,zak oa zadanu memorijsku '"iok~ciju Procesor salje memariji adresu 300 (na njene adresne ulaze), rezultat sabiranja (na njene ulaze
]zvrsava samo pod odredenim uvjetom (na primjer, uko!iko je rezultat pasijednje aritmeti6ko !ogJ6ke'
H

podataka) i nalog za upis, Ovim je zavrsena i treca instru!ccija.


instrukcije bio jednak nUli). Upravo uvjetne instrukcije za upravljanje takom programa ,om0Q:.Ucavaju ,'.
racunaru da donosi odluke, tj. da planira buduce ponasanje u ovisnosti ad rezultata prethodnih 9peraci-. Cijelo vrijeme dok rac,:-!nar radi izmedu memorije i procesora odvija se dijalog poput gore prikazanog
ja. Konacno, ulazno-izlazne instrukclje slicne su instrukcijama za prenos podataka,.sa.mo st6 ostv~u~,.- dijaloga. Sve s10 racunar radi svodi se na kraju iskljuCivo na izvrsavanje ovakvih primltivnih instrukci-
ju komunikaciju izmedu registara procesora i ulaznih odnosno izlaznih jedinica umjesto memorije. ja. Medutim', aka pazljivije razmotrimo prikazani dijalog, vidJecemo da prili6an dio vremena memorija

32 33
i procesar provedu u razmjeni infarmacija paput adresa i instrukcijskih kodova koji nemaju nikakve automata kao modela procesora koji ce kasnije omogueiti strahovito smanjenje dimenzija pracesa-
veze sa samim podacima koji se obraduju. Ova pojava naziva se Von Neumannovo usko grio, i ra. Vidjeli sma vee da se svaka masinska instrukcija izvrsava u nekoliko etapa. Wilkesova ideja sas-
predstav!ja najveCi nedostatak Von Neumannovog modela. Takoder, primijecujemo da izmedu raz- tojala se u tome da se upute 0 tome kako se izvrsavaju pojedine etape svake masinske instrukcije
mjene masinskih instrukcija i podataka u sustini nema nikakve razlike. Zbog toga se svaka instrukci- pohrane u malu memoriju unutar samog proeesora (nazvanu mikromemorija). Te upute, nazvane
ja mote interpretirati kao podatak, i obrnuto, svaki podatak mote se interpretirati kao instrukcija. Ova mikrofnstrukcije, sastoje se od sasvim elementarnih informacija poput da Ii treba iii ne treba poslati
cinjenica smatra se osnovnom karakteristikom Von Neumannovog modela racunara. nalog za citanje, sta treba raditi aritmeticko-Iogicka jedinica, da Ii se treba pristupati registrima (i aka
treba, kojim), itd. Upravljacka jedinica zasnovana na koristenju mlkroinstrukcija nazvana je mikro-
Da bi procesor mogao da obavlja opisanu funkciju, on pored registara mora da sadrzi i sljedeee programirani automat. Osnovna prednost koristenja mikroprogramiranog automata sastoji se u
uredaje: aritmeticko-Jogicku jedinicu (skraeeno ALU od engl. 8rithmetical 1,,0gieal11nit) i uprav~ Cinjenici da je moguce mijenjati funkcioniranje automata sarno promjenom mikroinstrukc1ja, tako da
Jjacku jedinicu. Arftmetieko-logi6ka jedinica je relativno jednostavan uredaj koji izvodi elementarne isti_automat mote praktl6no slutiti kao upravljacka jediniea za ma koji procesor. Sasvim je jasno da
racunske operacije (poput sabiranja u gore navedenom primjeru), dok je upravljacka jedinica znat- je ovakav princ1p drasticno pojednostavio postupak projektiranja procesora.
no sloten!ji uredaj koji generira adrese koje izlaze lz proeesora, naloge za citanje i upis, prepozna-
je i analizira prihvaeene instrukcije, te upravlja radom aritmeticko-Iogicke jedinice, registara i ostalih Nakon Wilkesovog otkrica, dimenzije procesora su se neprestano smanjivale, tako da su 1970.
dijelova procesora. godine Marcian Hoff i Victor Poor iz firme INTEL uspjeli da konstruiraju pIYi mikropl'Ocesor - Citav
procesor smjesten u jednom jedinom cipu, Ovaj mikroprocesor, nazvan 4004, bio je zaista veorna los
Kao sto smo vidjeli, svaka masinska instrukcija izvrsava se u nekoliko etapa. prj tome, proeesor (4-bitni), desetak puta sporiji od tadasnjih procesora veeih dimenzija. Korisnici su bill
izvrsavanje svake lnstrukdje heba da bude rezu!tat uskladenog rada velikog broja komponenti razocarani, i firma INTEL je eak razmisljaJa da potpuno odustane od daljeg eksperimentlranja sa mikro-
unutar procesora. Da bi se ostvarila sinhronizacija izrnectu pojedninih komponenti, u svakom procesorima. Na svu sreeu, to se nije dogodilo, tako da je INTEL 1972. godine proizveo 8-bitni mikro~
raeunaru se na!azi generator taktnih (klok) impulsa, koji se jos naziva i sat, iii jos 68sce klok (od proeesor 8008, a dvije godine kasnije i mikroprocesor 8080 koji je postigao ogroman trtisni uspjeh.
engL clock) da se izbjegne zabuna sa satom ko]i prikazuje stvarno vrijeme. Generator taktnih impul-
sa vodi se na procesor (preciznije, na njegovu upravljacku jedinicu). Trenutak nailaska klok impu!sa
Danas je INTEL vodeei proizvodac mikroprocesora, a njihovi mikroprocesori pocevsi ad modela
odreduje kada ee zapoeeti s!jedeca faza masinske intstrukcije (izmedu dva klok impulsa procesor
8088 pa preko modela 80286, 80386, 80486, Pentium, Celeron itd. Cine sastavni dio veeine
uvjetno receno miruje). Klok impulsi nailaze velikom brzinom u pravilnim vremenskim razmacima, i
raeunara koje danas obicno nazivamo PC raCunarima. Mnogl proizvodaC! mikroprocesora kao sto
mozemo ih uporediti sa otkucajima ljudskog srca.
su AMD, Cyrix i drugi prave mikroprocesore kojl su kompatibilni sa INTELo.{)vim procesorima, sto
znaci da ani razumiju Iste masinske insfrukcije kao i fNTEL-ovi procesori, i mogu izvrsavati iste pro-
grame. Drugi veliki proizvodac mikroprocesora je firma Motorola, i njihov procesor 68000 [ njegovi
srodnici cine osnovu raeunara familije Macintosh firme Apple, koji su jako popu!arni u SAD"u,
Medutirn, MotoroJini i /NTEL-ovi procesori nisu medusobno kompatlbi!ni, tako da PC racunari ne
Klok illij)ulsi
mogu izvrsavati programe pisane za Macintosh i obrnuto.
Oeigledno ce procesor raditi tim brze sto brze dotaze klok impulsi. Broj klok impulsa u jednaj
sekundi naziva se frekvencija kloka i izratava se u- hercima (Hz). Kako je here m'ala jedinica, Od ostalih mikroprocesora koji su obiljezili historiju ratunara treba spomenuti Z80firme Zilog na
obicno se koriste vece jedinice megaherc (1 MHz : : : 1000000 Hz) i gigaherc kojem je bio baziran racunar ZX Spectrum, kao j proeesori 6502 i 6510 firme MOS Technology na
(1 GHz ::: 1000000000, Hz). Na primjer, frekvencija kloka ad 1 GHz oznacava mitijardu klok impulsa kojima su bitl bazirani racunari Apple II, BBC B i Commodore 64.
u sekundi. Danasnji procesori vee mogu da fade sa frekvencijama kloka od nekoliko gigaherca.
Frekvencija kloka zaprava izratava broj najelementarnijih radnji koje proeesor moze da abavi u jed-
noj sekundL Taka, procesor koji radi na frekvenciji kloka 1 GHz u jednoj sekundi obavlja oko mill j .2.4 Vrsle racunara
jardu elementarnih radnjil
Svl racunari se s obzirom na svoja svojstva mogu podijeliti na vise skupina. Najrasprostranjeniju
Za procesore koji u jednom koraku mogu da obrade podatke- dutine n bita katemo da pred~ skupinu predsiavljaju mikroracunari. To su racunari najmanje snage, i sa njima se veeina danasnjih
stavljaju n-bitne procesore. Nekada su na trzistu dominirali 8-bitni i 16-bitni procesori, dok sa danas korisnika racunara najvise susrece. Mozemo ih podijelitl na kucne racunaf(:J i licne iii persona/tie
najcasce susreCi 32~bitni, pa i 64-bitni procesoit QVe' cinjenic:e utjecu na brzinu rada procesora, pa racunare (skraeeno PC - Eersonal Qomputer). Kueni racunari su najjeftinijL i najiedriostavniji: i
je tako 32-bitni procesor u prosjeku dvostn,lko brzi 09 16-~lt.f)og pr~cesora prl istoj frekvendji kloka. koriste se pretetno za igru i ueenje, dok su PC racunari pogodni i za poslovn~ -primjenl;l: Kako so"
danas cijene PC racunara drasticno opale, oni se sve yise susreeu i u kuenoj upotrebi, ta}~o -da vise:
ne motemo govoriti 0 strogo] podjeli na kuene i personalne racunare. -,'

Mikroracunare.mozemo podijeliti i na stolne (desktop) i prenosne racuriare: StDlnl,raflVnarJ SU""


Prvi proeesori bili su glomazni uredaji, _prven$tv:eno,~zahyaljuju.c.i komplif<ovanoj upravlj'a6koj predvideni za smjestaj na jednom mjestu, dok su prenosni racunari predvideni z:St e'esto p~renoserije
jedinici. Upravljacke jedinice p-rvih proces6ra niSu priJjeklirane nLna kakav sistematican natin, i sa jednog na drugo mjesto, Stoga su prenosni racunarl matih-dimenzija i mal~ tetl.ne, a-opte-mljeni
koristile su posebne uredaje (komponente) za iivrsavCl,llje ratli6itih mC!sinskih instrukdja. Situacija su i baterijskim napajanjem da omoguce rad na mjestima gdje gradska (Japojna mreza I]Jje ,dosiup-
se drasticno mijenja 1951, godjne kada Maurice Wllkes UVO?i koncept mikroprogramiranag na. Posto]i mnoga vrsta prenosnih ra6unara, a najpoznatiji su laptop racunari '(namijenjeni za
drzanje na krilu), notebook racunari (ve!icine sveske), handnheld racunari (velicine,--kalkulatbra,
34 35
namijenjeni za drzanje u ruei), palmtop racunari (v!"!liCine diana) i sasvim minijaturni PDA racunari model predvida sarno jednu_ vrstu memorije, koja neposredno komunicira sa procesorom. U stvarnostl,
(Eersonal Qigital Assistant). imama dvije vrste memorlja: internu memorijukoja zaista neposredno komunlclra sa procesorom, i ekster
nu memoriju, koja sa procesorom komuniclra posredno, posredstvom- uredaja ko]i se nazlvaju kontroleri
Radne stanice predstav!jaj~ mocnije racunare _od mikroracunara, namijenjene intenzivnijoj eksteme memorije. 0 detaljnim razlikama izmedu intemih i eksternih memorlja govoricemo nesto kasnlje.
obradi podataka, Njihova brzina rada I kapacitet memorije znatno su veel nego kod mikroracunaril. 81oga, razradenu hardversku strukturu PC racunara mazema prikazati sljedeeom sllkom:
Obicno posjeduju izvanredne mogucnosti grafickog prikaza podataka, tako da se intenzivno koriste
KUGISTE RAGUNARA
za obradu grafickih podataka (dijagrama, crteza, slika, ltd.). Mlkroracunari i radne stan ice spadaju u
jednokorisnicke racunare, jer su namijenjeni za istovremeno opsluzivanje sarno jednog korisnika.
INTERNA
PROCESOR
Miniracunari, za razliku od mlkroracunara I radnih stanica, namijenjeni su za istovremeno .
MEMORIJA
opsluzivanje vise korisnika, te spadaju u klasu visekorisnickih racunara. Njihova snaga znatno
prelazl moguenosti mikroracunara i radnih stanica, stoga se koriste kada je potrebna velika brzina
abrade podataka. Najpoznatiji miniracunari blli su -racunari PDP~ 11 i VAX~ 11nSO (treba napomenu-
ti da se granice izmedu skupina racunara pomjeraju sa razvojem tehnologije, tako da su danasnji
PCmikroracunarl mocniji od nekadasnjih mlniracunara PDP-11 i VAX).
ULAZNE
JEDINICE
... ~
ULAZNI
VEZNI
SKLOPOVI
IZLAZNI
VEZNI
SKLOPOVI
IZLAZNE
JEDINICE

Veliki (mainframe) racunari predstavljaju racunare Izuzetno velike snage, koji se koriste u
situacijama kada ni miniracunari ne mogu ostvariti neophodnu brzinu obrade. Medutim, cijena veli- IKONTROLER
kih ra6unara js isuvise visoka, tako da Dve racunare sebi mogu priustiti samo velike kompanije.
Veliki racunarski sistemi se tipicno koriste za opsluzlvanje vise stotina iii hiljada korisnika u velikim
I EKSTERNE
MEMORIJE
-
EKSTERNA
MEMORIJA
..-
organlzacijama, koji su medusobno prostorno raStrkanL Najcesca primjena velikih racunara je u vla
dinim agencijama, bankarstvu, upravljanju avlonima i svemirskim letjeHcama itd.
Ulazne jedinlce, kao 5tO 1m ime govorl, slUle za unos podataka u racunaL Najprimitivnije ulazne
Superracunari su najmoenija vrsta racunara, koji se odlikuju sasvim specificnom (namjenskom) jedinice predstavljaju prekidaci, koji omogucavaju unosenje binarnih Inforrnacija DNNE tipa. Sa
arhitekturom i specijalnim tehnolosklm rjesenjima. Zbog enormno velike cijene (koja premasuje modernim ulaznim jedinicama susreli ste se u nastavi informatike u osnovnoj sko!i, stoga cemo se
desetine miliona dolara) ne'proizvode se serijski, nego iskljucivo pojedinacno (po narudzbi), a nami~ sarno ukratko podsjetiti najrasprostranjenijih ulaznih jedinica koje se susreeu u savremenim PC
jenjeni su iskljucivo za vojne primjene ill za potrebe veoma specificnih istrat.ivanja. Vodeci proiz- racunarima i njihovih karakteristika:
vodaci superracunara su eray Research i CDC (Control Qata Qorporation). Tastatura je najrasprostranjenljl ulazni uredaj, koji je ios uvljek nezamjenjiv pri unosu teksta u
racunar. Danasnje tastature najeesce imaju 102 tipke, sa cijom ste se 'funkcljom upoznali u
Racunarske sisteme mozemo podijellti i prema nacinu grade, odnosno po arhitekturi. Opisana Von osnovnoj sko!i.
Neumannova arhitektura tipican je predstavnik jednoprocesorskih sistema, jer racunari gradeni po ovoj
amitekturi imaju sarno jednu proeesnu jedlnicu. Postoje i viseprocesorski sistemi, kod kojih je karak~ Mis je tipican primjer pokaznog ulaznog uredaja. Pomicanjem misa po nepokretnoj podlozi pom-
teristicno postojanje vise procesnlh jedinica, ViseprocesorSki racunarski slstemj mogu neki zadatak podi jera se odgovarajuei pokazivac na ekranu, a prltiskorn na jedan od tastera misa Izvrsava se neka
jeliti na vise dijelova, koji se nakon toga istovremeno obraduju na vise procesora. Ovakav nacin obrade od komandi koja je vezana za objekat na kojl pokazivac misa 0 tom trenutku pokazuje.
naziva se paralelno procesiranje. Na taj naCin se postlt.e znatno veda brzina rada nego na jednopro- Pomicna kuglica (engL trackbafO je uredaj slican misu, koji izgleda kao naopako okrenutl mls.
cesorskim sistemima. Grada viseprocesorskih racunara kao i grada programa kojl mogu radai na takvlm Glavna prednost jo] je sto ne zahtijeva posebnu nepokretnu povrsinu, pa se moze I(orlstiti u
racunatima su prilicno slozenl, pa se takvl racunarl za sada ne koriste u svakodnevnoj upotrebi, nego slucajevima kada s!obodna nepokretna povrsina nije raspo!oziva (na primjer, kod prenosnih
iskljucivo za specifiCne zadatke kod kojih se trazi obrada velike koliCine podataka u kratkom vremenu. racunara).
Grat;cka plota ili tablet je uredaJ koji omogueava jednostavan unos crteta u ratunaL Crteti se
crtaju uz pomoc specijalne olovke po specijalnoj ploci, kojl se automatski pretvaraju u racunaru
1.2.5 Hardverska slruklura PC racunara prihvatrjiv obllk i prikazuju na ekranu racunara.
Skenerpredstavlja uredaj za direktni prenos slike sa paplrnog medija U racunar. Postoje skeneri
Danasnji PC racunarl gradenl su po Von Neumannovom modelu, koji smo vee detaljno opjsali, taka da
koji mogu prepoznavati sarnO crno-bljelu sliku, kao i skeneri koj] prepoznaju slike u bajL KValitet
je opci' Von Neumannov model primjenijiv i na PC racunare. Medutim, da bi smo u potpunosJi razumjeli ham:: - skenera mjeri se brojem tacaka po ineu (DPI 120ts E.er Inch, 1 inc 2.54 em) kale su skeneri
veTsku strukturu PC racunara, Von Neumannov model nije dovotjno precizan. Prvo, Iz- OVog modela moglc' '~" u stanju da razluce. Za razliku od graficke table, skeneri ne zahtijevaju da se crtez precrtava,
bi se zakljuciti da se ulazne i izlazne jedinice vezuju direkfno na centrafnu jedinicu racunara.. Stvame I,llazne' . vee su u stanju da prihvate vee nacrtane crteze ih slik~.
I izlazne jedinice, poput tastature i monitora, nikada se ne prikljucuju direktno na centralnu jedinicu, oogo -se-
njlhovo prikljucenje vl'Sl pom06u uredaja kojl sa nazivaju uJazni odnosno izlazn; vezni sklopoyi. to.gitkL '. Palica za igru (diojsfik) je pokazna naprava sa pokretnom palicom koja radi poput misa,
gledano, ulazni i Iziazni vezni sklopovi cine sastavni dio ulaznih I izlaznih uredaja, alf kako sE! .qni -nalaze medutlm koja je praktlcnija za potrebe upravljanja pomicnim objektima ko]] se prikazuju na
unutar kueista racunara zajedno sa procesorotl) i memorijom (za raz1iku ad npr. same t!lstature i monitora - ekranu, sto se naroCito cesto susrece u racunarskim igrama.
koji su izvan kuCista), fizicki gledano izgleda kao da oni cine dia centralne jedinice. Drugo, Vo'! Neumann9v

36 37
Mikrofon je danas sve z?stupljeniji ulazni uredaj, koji se moze koristiti za komunikaclju sa nalaze i vezni sklopovi na koje je moguce prikljuciti razHCite vrste u!aznih i izlaznih uredaja. Najvazniji
rac~narom putem govora. takvi vezni urec1,aji su paralelna vrata (iii paralelni port) j serijska vrata (iii serijsk; port). Na para-
lelna vrata prikljueuju se ulazni i izlazni urea-aji kod kojih se istovremeno sa racunarom razmjenjuje
Digitalne kamere su danas nezamjenljiv ulazni uredaj za potrebe unosenja podataka koji se vise bitova odjednom (najcesce stampac iii skener), dok se na serijska vrata prikljucuju ulazni i
mogu prikazati u vidu pokretnih (animiranih) slika. Njihova glavna primjena je prilikom realizaci- izlazni uredaji kod kojih se u jednom trenutku sa raeunarom razmjenjuje samo jedan bit (najeesee
je video tehnike uz pomoc racunara. mis i modem). Posebnu vrstu serijskih vrata Cine USB (Universal Serial Bus) vrata, preko kojih je
omogueeno standardizirano povezivanje vece skupine uredaja koji koriste serijski prenos (do 127
Izlazne jedinice sJuze za prikaz podataka iz racunara u covjeku prihvatljivom obliku. Najprlmitivnije uredaja) preko zajednickih vodica na jednu utiCnicu.
izlazne jedinice predstavljaju razne vrste svjetlosnih indikatora. Ovdje cema se podsjetiti prikaza
nekih najrasprostranjenijill izlaznih jedinica kOje se susrecu u savremenim PC racunarima, a sa koji~ Izlazni vezni sklop koji omogu6ava komunikaclju sa monitorom naziva se- graficka kartica, i od
rna ste se takoder susreli u nastavi i~formatike u osnovnoj skoli: njenog kvaliteta (pored kvaliteta monitora) zavis] kvalitet slike koja-6e se moei prikazati na ekranu
Monitor je najrasprostranjeniji lzlazni uredaj, koji na svom ekranu prikazuje tekst, crteze i druge (broj baja, rezolucija, itd.). Vecina danasnjih grafickih kartica spada u porodicu SVGA (S.uper ,'iideo
rezultate obrade u eovjeku prihvatljivom obliku. Kvalltet monitora izrazava se veliCinom njego- .Q.raphic Adapter) grafickih kartica. Ulazno~izlazni vezni sklop koj! omogucava komunikaciju sa
vog eMana, koja S8 mjeri u incima po dijagonali (danas se najcesce susrecu 17-incni monitori), mikrofonom odnosno zvucnlkom naziva se zvucna kartica (poznata je npr. Sound Blaster zvucna
kao i rezolucijom, koja predstavlja broj tacaka (zapravo sicusnih kvadrati6a nazvanih pikseJ~ kartica). Za razliku ad graficke kartice, zvucna kartica ne mora biti prisutna u svakom PC racunaru.
koje je monitor u stanju da prikaze na ekranu. Rezo!ucija monitora se izrazava u vidu produk'ta
broja tacaka po sirini i visini (npr. 1024 768). Danas postoje manitorl sa katodnom oljev; iii Vec smo rekli da se memorije mogu podijeliti u dvije grupe: interne memorije, koje se jos nazlvaju i
CRT monitori (Qathode Bay lube) kao i pljosnati monitori sa tecnim krista/om iii LCD mo~
unutrasnje, centraine iii radne memorije, i eksterne memorije, koje se jos nazivaju i vanjske, periferne
nitari (1iquid Qrystal Qisplay), koji se obiono susrecu u prenosnim racunarima, iii inasovne memorije. Osnovni kriterlj po kojem se memorije dijele na interne i eksterne je naCin na koji
lh vidi procesor. Interne memorije mogu neposredno komunicirati sa procesorom, dok eksterne memorije,
Stampac (printery je izlazni uredaj koji pre nasi sllku formiranu u memoriji racunara na papirnl medij. iako logicki giedano spadaju u memorije, procesor uvijek vidi kao ulazne odnosno izlazne uredaje, i komu~
Donedavno su S8 najvise koristili matricni stampaci, koji su -sliku iscrtavali pomocu niza i91ica koje su nicira sa njima na isti nacin kao sa tastaturom i ekranom koristeCi uJazno-iz/azne masinske instrukclje. Zbog
iscrtavale sliku formiranu od sitnih tackiea. Medutim, kvalitet otiska ovakvih stampaca bio je prilicno los, toga se pojedini uredaji koji spadaju u eksterne memorije (poput raznih vrsta dlskova), ponekad svrsiava~
a pored toga, oni su bili spori i buCni. Danas se najvise koriste laserskj stampacj, koji rade na elek- ju u ulazne ili izlazne uredaje, sto nije tacno sa iogickog aspekta (mada sa njima imaju mnogo slicnosti).
trostatskom principu rada koji je gotovo identican principu rada masina za fotokopiranje, kao i
stampaci sa mJazom tinte (eng!. ink~je~ koji rade na prindpu strcanja veoma tankog miaza tinte na Interne memorije se danas grade isk!jucivo na elektronickom principu rada, u vidu integriranih
papir, koji se uz pomoe elektricnog po!ja usmjerava na tacna odredena mjesla na papiru. Laserski kola (cipova), dok su se ranije susreta!e i interne memorije kOje se zasnivaju na magnetskom prin~
stampaci su brzi od stampaca sa mlazom tinte i imaju nesto bolji kvalitet otiska. Umjesto tinte koriste cipu rada. Ove memorije su prakticno neprenosive iz raeunara u racunar, jer su (;vrsto povezane sa
boju u prahu koja se naziva toner. Prednost stampaca sa mlazom tinte je niza cijena, i jednostavna procesorom j ostalim dijelovima racunara. Brzina pristupa podacima koji su smjestenl u internim
mogucnost stampanja stika u boji pomoeu vise strcaljkl koje Strcaju raznobojnu tintu, slo sa laserskim memorijama neuporedivo je veca nego brzina pristupa podacima na eksternim memorijama. Glavno
stampacima niie nimalo jednostavno postlei (stoga su laserski Stampaci u boji enormno skupi), svojstvo ovih memorija je cinjenica da se programi koji su u njima pohranjeni mogu neposredno
izvrsavati, s obzirom na cinjenicu da im procesor moze direktno pristupatL
Crtac (platef) je izlazni uredaj koji iscrtava sJiku na papiru pomoeu posebnih, obitno razno~
bojnih pisaljki. Nekada se mnogo koristio, a danas se susrece sve rjede. Osnovna prednost Interne memorije se obicno dijele na dvije skupine, nazvane RAM i ROM memorije. Kod ROM
crtaca u odnosu na Stampac je mogucnost crtanja po papiru veoma velikih dimenzija. memorija (Bead Qn!y Memory), podaci su u memoriju upisani jos u fazi proizvodnje neki.m postup-
Muftimedijskf projektor je izlazni uredaj koj! omogueava projekciju sllka zapisanih u racunaru kom (poput progorijevanja, busenja, ltd.) koji ostavlja trajne fizicke promjene u mediju koji slut! za
na p!atno iii zid, eime prikaz postaje znatno pogodniji za slucaj kada treba da ga prati velika memoriranje i stoga su podaci zapisani u njima trajni. Sto je jos bitnije, jasno je da se iz ovakve rne-
grupa posmatraca. Multimedijski projektori najcesee projek1iraju istu sliku koja bi se inaee morije podaci mogu samo Citaii, ali ne i upisivati, odakle j potice njeno ime, Mada se naziv ROM
prikazivala na ekranu monitora, tako da multimedijs!<i projektor zapravo predstavlja alternativu prvenstveno odnesi na vrstu interne memorije, neke eksterne memorije su takoder ROM tipa, u smis-
za monitor, u kojoj ulogu ekrana preuzima platno iii zid. Multirnedijski projektor i monitor spada- lu da .se podaci sa njih mogu samo Citati (npr. CD ROM). Kod RAM memorija (Random 8ccess
ju u interaktivne izlazne uredaje, jer se njihov prikaz moze izmijeniti u svakom trenutku, za raz~ Memaryfpodaci se mogu nasumice upisivati i Citati iz bllo kojeg dije!a memorije j po potrebi brisatl,
ogakle J P9tice njihovo lme. Nekada se nazivaju i RJW memorije (Bead/Write), sto je donekle nepre~
liku od npr. stampaca, eiii js prikaz statiCan.
ciznO', jer-za veeinu eksternih memorija takoder mozerno reCi da su RlVVtipa. Obicno se tvrdi da sve
Zvucnik je izlazni uredaj kojl sluti za prezentaciju informaClja u zvucnoj formi, obicno u formi RAM"rjembrije,_brisu komp/etan svoj sadrtaj iskijuCivanjem napajanja. Strogo uzevsi, ovo vrijedi sarno
govora iii muzike (ne zaboravimo da je i muzika specijalan slucaj podataka i informacija). . za RAM. mernorije' kOje su zasnovane na elektronickom principu rada, dok to ne mora bit! slucal ked
'RAM memO-rila kOje su.zasnovane na nekom drugom principu rada (npr. magnetnom). Ipak, veGina
Neki uredaji mogu se lstovremeno smatrati i ulaznlm I izlaznim uredajima. Takav je, na primjer, - dana~[1jih- RAM memorija koristi iskljucivo elektronicki princip rada. lnteresantno je napomenuti da
modem kO)i se koristi prilikom prikljucenja racunara na te!efonsku mrezu radi komunikacije sa - .grafiCj{e-~artfge posjeduju svoju vlastitu RAM memoriju (za potrebe pamcenja slike Koja se prlkazuje
drugim raeunarima. 0 ovome cemo detaljno govodti u poglavlju 1.6. !)a:ekranu), Qd-Cijeg kapaciteta direktno zavisi kvalitet slike koja moze bit! prikazana.

Kao sto je vee receno, ulazni i izlazni uredaji prikljucuju se na ulazne i izlazne vezne sklopovL Umjesto ,klasicnih ROM memorija danas se uglavnom koriste njihovi bliski srodnici PROM,
Ovo prikljucivanje vrsi se pomo6u utienica koje S8 nalaze na ku6istu racunara. Unutar racunara S8 E;:'-ROM i EEPROM. PROM memorija (Erogramable Bead Qnly Memory) je u trenutku proizvodnje

38 39
prazna, Korisnlk u nju moze upisatl sadrzaj pomoeu uredaja nazvanog PROM programator, 1. Postoje tri vrste kompakt diskova:,.p.D.BDM (na njih su podaci upisani ~i proi.z~~~e
medutim taj sadrzaj se moze upisati sarno jedanput (I ne maze se izbrisatl) zbog toga sto postupak mogu se rnijenjati niti brisatiLQQ:B (oznaka R potice ad engl.l:reCordable)JialfQJL.!LQ.QQacj
upisivanja ima destruktivno dejstvo na materijal ad kojeg je pravljena memorija. Kod EPROM mern- 1rl00u'tJ"plsati jedanpuf(poput PROM mem.2rija), i Cl'!MR!W dihgvLna.koje_se.pooacL.tIIo.gu..upj"
orija Q;.rasab!e .Erogramable Bead Qnly Memory) postupak upisa je sliean kao kod PROM memori- slvatn15i1SatTrieogran7~tLQJ.oj_Puta..StandardnHGrp~8frkompakt diskova su 650 MB i 700 MB
ja, ali nacin na koji je izvrsen upis nije potpuno destruktivan taka da postoji nacin da se memarija ruSlUcajevima kadase ani koriste kao muzicki diskovi, ovim kapacitetima odgovara 74 odnos~
vrati u prvobitno stanje i time Izbrise. Kod elektranickih EPROM memorija to brisanje se najeesce no 80 minuta zvucnog zapisa). Pristup podacima na kompakt diskovima je mnogo sporlji nego
izvodi izlaganjem cipa. jako] svjelosti izvjesno vrijeme. EEPROM memo(fje (Electrical .Erasable pristup podacima na hard disku, dok se upis podataka na upisive diskove vrsi izrazito sporo.
.Erogramable Bead Qnly Memory) su prilicno sliene EPROM-ima, ali kod njih postoji moglJenost NajveCi nedostatak kompakt diskova je izuzetna osjetljivost na prasinu i masnocu, kao i priliena
brisanja i pomoeu elektriene struje (tipicno mnogo jace nego pri normalnom radu). Logieki, EEPROM nepouzdanost odgovarajucih pogonskih uredaja (CD citaca). U posljednje vrijeme se pojavila i
liei na RAMmemoriju, jer se u njega ipak mogu upisivati podaci proizvoljan braj puta Cisto elektriekim vrsta kompakt diskova pOd naz.lR.~(Qigital ~ersatile Qisc). Kapacltet ovih diskova je znat~
putem (dakle, bez potrebe za vadenjem eipa iz racunara). Stoga se EEPROM memorije ponekad no ve61 (i do 17 GB), ali zahtijevaju specijalne pogonske mehanizme (citace). Mada je njihov
nazivaju i FLASH RAM. Medutim, njihov sadr2aj je postojan kao kod ROM memorija, tj. ne brise se kapacitet uporediv s~..1.?22.citetima hard diskov~c...~~L~E~.9.Q.lf?k~ ...IlELt2Qi~ct.\~iJL[lji~~vu fle,~.sibil~
tek taka sam od sebe iskljueenjem napajanja. Jos bitniji razlog zbog 6ega se EEPROM radije svrsta- , nosfUedina izfaZlt~dnOOt-im-je..prenosi)J.oSfLnjska...Gllima). .--. _.- -_.
va u ROM memorije je Clnjenica da se upis podataka u EEPROM vrsi neuporedivo sporije (i do mi- .,-?( Magnetne trake su najstarije eksterne memorije, koje za memoriranje podataka koriste traku
lion puta) ad upisa u klasicne RAM memorije tako da bi EEPROMtrebaio koristiti u situacijama kada
postoji principljelna potreba za mijenjanjem upisanih podataka, ali koja ce se vrsiti vrlo rijetko. U
,7~presvu6enu magnetnim materijalom, kOja je praktieno identiena kao traka koja se koristi za sni-
, manje muzike u kasetofonima (interesantno je spomenuti da su mnogi stari kucni raeunarl kao
danasnjim PC racunarima umjesto klasienog ROM-a najeesce se susrece upravo EEPROM. eksternu memoriju koristili iste kasete na kaje se snima muzika, a kao odgovarajuci pogonski
uredaj za upis i citanje podataka obieni kasetofon). Najveca mana magnetnih traka je izuzetna
Eksteme memorije najeesce nisu gradene iskljucivo na elektroniekom principu rada, oego na sparost. u pristupu podacima, zbog potrebe da se traka prethodno premota na odgovarajuce
elektromehanickom principu rada (poput magnetnih diskova) iii optickom (preciznije, mjesto. Mada spominjanje magnetnih traka danas moze djelovati posve zastarjelo, treba
optomehanickom) principu rada (poput optfckih kompakt diskova). Obicno posjeduju pokretne napomenuti da se one u pojedinim izvedbama (npr. strimer trake) zbog svoje male cijene i
dijeiove, koji rotiraju za vrijeme rada, zbog 6ega je brzina pristupa podacima na njima neuporedivo ogromnog kapaclteta i danas masovno koriste za arhiviranje velildh kolicina podataka kOjima S8
manja ne90 kod internih memorija, S druge strane, eksterne rnemorije su uvijek u manjem iii veeem nece cesto pristupati (npr. za euvanje rezervnih kopija vaznih podataka).
stepenu prenosive, i kapacitet im je najcesce znatno veei ad kapaciteta internih memarija. Kako pro-

.*
cesor nema direictan pristup sadrZaju eksterne memorije, programi pohranjeni na vanjskoj memorlji Svi programi i podaci na eksternim memorijama logieki su organizirani u povezane skupine nazvane
ne mogu se neposredno izvrsavati, nego se moraju prethodno prebaciti u internu memonju. Recimo datateke. Sto se tice fizicke organizacije podataka, napomenimo da su diskovi podjjeljeni na
nekoliko rijeei 0 najvaznijim eksternim memorijama: odredeni broj koncentricnih traka, i kruznih isjeeaka nazvanih sektori. Presjek jedne trake i jednog
sektora nazlva se blok. Blokovi predstavljaju e!ementarnu strukturu fizickog zapisa podataka na
Disketa iii flopi diskje okrugla ploca presvueena tanj(im slojem magnetskog materijala i upako- disku. Racunar moze u jednom trenutku proCitati sadrzaj samo Citavog bloka sa diska (koji sadrii od
, vana u eetvrtasto pl~sticno kuciste. Podaci su na disketu zapisani kao niz magnetiziranih cesti~ nekollko stotina do nekoHko hiljada bajta), a ne i pojedinacne bajtove unutar bloka. Slieno vrijedi i
ca koje mogu biti magnetizirane na dva razllcita naCina, koji predstavljaju zapis stanja 0 iii 1. prilikom upisa pcidataka na disk. Trake, sektori i blokovi iiustrativno su prikazani na sljedecoj slid:
DisketaBe prllikom upotrebe ubacuje u dfsketnf pagon (engl. disc drive). Danasnje diskete su
ye\iCine 3.5 inca i kapaciteta 1.44 MS, sto je po danasnjim mjerilima malo, tako da se diskete
\ / sve manje koriste kao eksterne memorije.
AzIP djs~ je, zapravo vrsta diskete znatno veceg kapaciteta (tipieno 100 MB). Mada su veama
pouzdanl, osnovni nedostatak ovih diskova je sto im je cijena prilieno velika u odnosu na
} kapacitet, i sto zahtijevaju posebne disketne pogone, koje proizvodi sarno jedna firma (IOMega).
~.Y . Hard disk (tvrdi disk, fiksni disk) je po gradi sllean disketi, sarno sto nije savltljiv i izraden je
7~ od k~utjh materijala .. Za razliku od disketa, okreee se veHkom brzinom (stoga je pristup podaci~ Svi dijelovi racunara ka]i Se nalaze unutar kucista, poput procesora, memorije i veznih sklopo-
ma.na njemumnogo brii). Kako su cestiee prasine iz zraka davoljne da ostete ovakve diskove, va, povezani su na zajednicku skupinu provo~nika koji se nazivaju sabirn;ce. I pojedini dijelovi
oni su. upakovani u .he(metieki zatvoreno kuCiste (zajedna sa pogonskim mehanizmom). Ovo unutar procesora takoder su medusobn.o.pove.zani sabirnicama, ko]i se za razliku od prethodnih, tzv.
kuc.lSte je .cvrsto" pricvrsceno na ku6iste samog racunara, tako da su ovi diskovi praktieno ekstemih sabirn;ca, naz!vaju. interh~. sabirnJce. .
nepre)1osj~F(mogu ~e prenijeti iz racunara u racunar samo zajedno sa kudStem diska i cjeldkup-
nim pogorls{(im hlehilJl1zmom). Kapaciteti danasnjih hard dlskova mjere se u desetinama pa i Glavni dijelovi racunara; popuLprocesora.; Qsn'ovne.memorije, kontrolera eksternih memorija i
\,. stotina1yJa gig~bajta. . . . ,
osnovnih veznih sklopova, .naj6es.ce J?1.I ft~s.i.rani lJa jedrj6j ploei kOja sec naziva maficna plata (eng!. '
~~~K~mpa.kt.d~~~~~vr($k~a~e~~ tD) predstavljaju diskove ko]i su se prvo koristili za zapis muzike motherboard). Svi uredaji koji se 2.ele riaknadnoprfkljuciti u racunar, a koji se obicno nazivaju lcartice
(ne za~oraylmo da muz!ka takoder predstavlja samo hrpu podataka), medutim kasnije su se iii adapterl(poput npr. vee spomenute z.Vu9ne..~-a..rtjce); moraju bit!" gracieni tako da se mogu prikljueiti
rasfrili i.kao. metlij Za masovno memoriranje podataka i programa. Za razliku od ostalih vrsta na sabirnice koje se nalaze u raeut}anJ .. Stogase na matte.noj ploei nalazi niz uticn;ca (slotova) koje
qisl<ova; bazirp.oi su "na opti6kom principu rada, pri 6emu se oCitavanje vrsi pomocu lasera koji su povezane na sabirnicu racunara,) kOje:sunamijenjene da se u njih utaknu odgovarajuce kartice,
formira veohla tanak i usmj~ren mlaz svjetlosti. Nairne, pojedini dijelovi medija ad kojih je kom~ Cime je omoguceno nakn~dna dodavanj~nOl'jh _dijeiova u (atunar na jednostavan naein.
.pakt disksacinjenodbijaju svjetiost pod raz!icitim uglovima, koji se mogu interpretirati kao 0 iii
40 41
1.2.6 Organizacija softvera PC racunara ment koj! je uraden sa novijom verzijom nekog programa nije moguce otvonti pomocu starije verzije
Istog programa. Jako, na primjer, tekstualni dokument koji je uraden pamocu programa za obradu tek-
Svaki racunar, pa taka i PC racunari, bez softvera predslavlja sarno neupotrebJjivu hrpu zeljeza, sta Microsoft Word verzija 97 iii 2000 nije moguce otvoriti u verzi]l Microsoft Word 6.0, osim ukoliko pri-
silicija, plastike i drugih materijala. Oa bi ra6unar postao upotrebljiv, neophodan mu je softver, koji likom snimanja dokumenta nisma posebno naglasili da dokument treba sacuvati u formatu verzije 6.0.
ukljucuje sve vrste programa koji sadrze racunaru razumljive naredbe i taka kontroliraju hardver
racunara prilikorn abrade informacija, kao i same informacije koje racunar obraduje. Mada je tesko Posta cemo 0 aplikativnom softveru detaljno gavoriti u poglavlju 1.5 kao i u citavom drugom
izvrsiti pogodnu klasifikaciju softvera, uobicajeno je da se softver obi6no dijeli u dvlje velike grupe: dijelu ovog udzbenika, reeimo sada nesto vise 0 sistemskom softveru. Vee smo rekli da je najvazniji
sistemski softver j apiikativni softver, mada je za neke programe tesko razlu6iti u koju od ove slstemski softver operativni sistem. Postoje mnogobrojni operativni sistemi. Na mocnim racunarima
dvije kategorije spadaju, jer granica izmedu ove dvije grupe nije ostra. Takoder, postoje i programi najvise se koristi operativni sistem UNIX, a njegova verzija prilagodena PC raeunarima pod nazivom
koje je veoma tesko svrstati u bilo koju od ove dvije kategorije (na primjer, racunarski virusi, koji Linux danas ima sve vise pristalica. Ipak, na PC ra6unarima ubjedljivo dominiraju operativni siste-
bez obzira na svoju destruktivnu prirodu, ipak jesu softver). mi iz porodice MS Windows (u raznim verzijama), koje je razvila firma Microsoft. Moguce je na istl
raeunar postaviti vise operativnih sistema, tako da prilican broj korisnlka ima na svojim ra6unarima
U sistemskf softver spadaju svi programi ko]i omogucavaju racunaru izvodenje osnovnih i Windows i Linux operativni sistem. Prije pojave Windows operativnih sistema glavni operativni sis-
operaclja, i on nlje neposredno namijenjen za rjesavanje stvarnih problema sa kojima S8 susrece tern za PC racunare bio je MS-DOS (Microoft Qisk Qperating ,System), medutim danas se zbog
korisnik (na primjer, sa obradom-teksta i!i matematickim proracunima). Sistemski-softver omogu6ava zastarjelosti ovaj operativni sistem rijetko koristL PoSto je MS-DOS imao i nekih lijepih osabina koje
komunikaeiju covjeka sa -racunarom, kao i komunikaciju izmedu pojedinih dijelova racunara iii se ne mogu !ako posIiCi pod Windows operativnim sistemom, u Windows je ugradena mogucnost
izmedu vise racunara (na primjer, u racunarskim mrezama). Vazno je znati da bez sistemskog soft- oponasanja (emufacije) operatfvnog sistema MS-DOS, taka da je moguce Windows "natjerati" da se
vera ra6unar ne bi znao da ispise niti jedno s!ovo'-na ekranu, ne bi znao da prima komande putem ponasa poput MS-DO$-a.
tastature niti misa, ne bi znao da proCita podatke sa diska niti da zapise podatke na disketu, itd. Sve
ove operacije, mada izgledaju banalne sa aspekta korisnika, raeunar "ne zna" odraditi sam po sebi Kako se ve6ina danasnjih korisnika susrece uglavnom sa Windows operativnim sistemima, reCi
(tj. racunarski hardver sam za sebe ne zna uraditi ave zadatke). Umjesto toga, postupci za izvodenje cemo nekoliko detalja 0 verzijama ovog aperativnog sistema. Mada je prva verzija Windawsa bila
ovih operacija moraju biti objasnjeni racunaru preko sku pine masinskih instrukcija (braj takvlh verzija 1.0, prva verzija kOja se masovnije korlstila bila je Windows 3.11. Sve verzije do verzije 3.11
instrukcija u danasnjem sistemskom softveru maze biti izrazen oak u milionima instrukcija). Upravo (ukljucujuci i ovu verziju) nisu bile kompletni operativni sistemi, nego su se oslanjaH na MS-DOS (tj.
ta objasnjenja pohranjena su u sistemskom softveru. nisu mogli da rade bez njega). Prvi neovisan Windows operativni sistem bio je Windows 95, koji je
uveo i znacajne konceptualne izmjene u izgledu radnog okruzenja. !za ove verzije s!ijedile su i verz-
Najvatniji sfstemski &lJftver, bez kojeg je nezamisliv bilo kakav rad na racunaru, predstavlja fje Windows 98 i Windows ME lMi!lenium ~dition). Windows 9B je u trenutku p!sanja ovog udzbeni-
operativni sistem. To je program, iii grupa pr?~!~rna._"kojLslute.. ,?,!1_,,"~PE.!y'U~~j~,..ra~?m racunara. ka bio ubjedljivo najrasprostranjenija verzija Windows operativnog sistema. Uporedo sa serijom
Operativni sistem -je tako projektiran-da-'''Sl:f"aufomatski pakre6e nakan ukljueivanja "racuni:fra (o Windows 951981ME koja je bila namijenjena obicnim korisnieima, razvijana je i serija Windows NT
ovame cemo detaUnije gavoriti u poglavlju 1.3). Kada se operativnj sistem pokrene, on preuzima pot~ (New Iechno!ogy) operativnih Sistema (takoder u raznim verzijama), koja je bila namijenjena za pro-
punu kontrolu nad racunarom, poput upravljanja memorijom, diskovima, ekranom, tastaturom, i fesionalne upotrebe. Mada Windows NT serija izgleda vizuelno poput obi6nih Windows operatlvnih
opcenlto, svim dijelovima racunara. On je aktivan tokom citavog rada racunara, i neprestano kon- sistema, Windows NTsu mnogo mocni]i aperativni sistemi, prilagodeni radu u mrezl. Windows NT se
trolira njegov rad. Kad god korisnik pokrene neki drugi program, njegovo pokretanje takoder vrsi lsporueuje u dvije varijante: NT Server (namijenjen za posluii1elje racunarske mreze), i
operativni sistem. U danasnjim opera1ivnim sistemima, izvrsavanje svakog korisni6kog programa NT WorkStation (namijenjen za radne stanice unutar ra6unarske mreze). Nazalost, neki programi
takoder je pod potpunom kontrolom operativnog sistema, mada postoje i operativni sistemi (poput ko]i rade pod 9519B/ME serijom ne rade pod NT serijam. Operaiivni sistem Windows 2000 takoder
DOS-a) u kojima operativni sistem nema kontrolu nad izvrsavanjem korisnickih programa. spada u NT seriju (Windows 2000 je zapravo trebao biti Windows NT 5. 0, ali se Microsoft u posljed~
njem trenutku odluCio da ga izda pod zvuenijim imenam Windows 2000). Posljednja verzija Windows
U aplikativni softver spadaju svi programi koji su namijenjeni za izvrsavanje speeificnih poslova operativnog sistema koja je bila dostupna u vrijeme pisanja ovog udtbenika je Windows XP. Ova]
sa kojima se susrece korisnik. Na primjer, u aplikativni softver spadaju programi za pisanje teksta, operativni sistem predstavlja pokusaj (po misljenju mnogit1 neuspjesan) spajanja serija 95198IMEi NT
crtanje, vodenje finansija, planiranje, pretrazivanje baza podataka, matematlcke i nau6no-tehnieke u jednu cjelinu. Windows XP je razvijen iz Windawsa 2000, ali sa vise svojstava 95/98/ME serije i sa
proracune, kreiranje grafikona i dijagrama, rad sa zvukom, ltd. Programe koji spadaju u grupu ap!ika- znatno izm-ijenjenim izgledom radnog okruzenja u odnosu na prethodne verzije Windowsa (koje se,
tivnog softvera skraceno nazivamo apJikacije (npr. aplikaeija za vodenje finansija). doduse", m~ze.prilagodjti da izgleda i8to kao u ranijim verzijama Windowsa).

Mada se vecina korisni6kih poslova obavlja putem aptikativnog softvera, neophodno je poznavati --- Vatna kategorija sistemskog softvera su razni pomocni uslutni programi- (engl. utility soft~
i rad sa operativnim sistemom, jer bez njega uapce nije moguce pokrenuti niti jednu aplikaciju. Bez wafe), k-dji' nisu dio operativnog sistema, ali su prirodna vezani za njega. Primjer ovakvih programa
poznavanja rada sa operativnim sistemom nfje moguce brisati dokumente, kopirati ih sa hard diska na SU pf.ogratni Zit arhiviranje (kao sto su WinZip, WinRAR, ltd.) koji omagucavaju pakovanje, velika
disketu, itd. Takoder, obavljanje nekih poslova prilikom rada sa apllkacijama (poput snimanja doku- -._ :koJicrne. pr6grama i p.odataka u arhive koje zauzimaju znatno manje prastora na disku, zatim pro~
menta na disk) u suslini se izvodi pozivom nekih komandi operativnog sistema, a ne same aplikacije. gramfza odriavanje- sistema, itd.

Vecina softvera se sialno usavrsava, tako da gotovo svi ozbiUniji program! imaju svoje verzije. - -Ja j~dna-vazna vrsta programa kojl spadaju u siste~'~ki softver su kompajleri, kaji prevode
Verzije programa se obicno oznacavaju brojem, iii sa dva broja razdvojena tackom (npr. 1.5), pri eemu p~pgrame: napisane u nekom jeziku razumljivom covjeku u mEtS,inski jezik koji je razumljiv procesoru.
prvi broj oznacava verziju, a drugi podverziju. Vazno je znati razlikovatl pojedine verzije programa, jer "'9 kompaj\!9rima cemo detaljnije govoriti u poglavlju 3.1. U sistemski softver jos spadaju i programi
izmedu dvije verzije istog programa mogu postojati znacajne razlike. Takoder, cesto S6 desava da daku- _ ~a uprav/janje bazama podataka {za razliku od programa za pretraiivanje baza podataka koji

42 43
spadaju u aplikativni softver) koji upravljaju kreiranjem, odrzavanjem i upotrebom memoriranih Pitanja i zadaci
podata~a i informacija KOjima se maze pristupitl preko razliCitih korisnitkih apHkacija.
1. Opislte kako je tekao razvoj racunarstva do pocetka 20. vijeka?
Na kraju izlaganja 0 PC softveru moramo nesto reCi i 0 veoma rasprostranjenom "softveru" koji 2. Na kojem su prineipu radilj prvi racunari?
tesko moze_da se svrsta bilo u sistemsl<i bilo u aplikativni softver (mada po principima rada spada u
3. Opisite generac!je savremenih racunara.
sistemski softver). To su programi specijalno pisani ad strane veoma iskusnih ali zlih programera,
6i}i je jedfnf eilj nanijetl neku stetu ra6unarskom sistemu (natalost, danas je poznato preko 20000 4. Kada su se pojavtJi prvi jeftini racunari za kucnu upotrebu?
takvih programa), tako da bi ih mogll nazvati antj~aplikativni softver. Najpoznatiji stetni programi 5. Opisite glavne dijelove racunara po Von Neumannovom modelu.
su racunarski virusi, koji imaju mogucnost da prave svoje vlastite kopije, taka da se "razmnozava- 6. Sta je hardver, a sta softver?
ju" poput pravih virusa (stoga su i dobili lme). Virusi svoj rad obavljaju u pozadini, tako-da korisnik 7. Koje su osnovne operacije koje S8 izvrsavaju nad memorijom?
ne primjecuje njihovo prisustvo. Pored toga, virus! se obicno "prilijepe" na neku od datoteka (pro- 8. Koje su jedinice za mjerenje kapaciteta memorije i kakvi su odnosi izmedu njih? Objasnite
gram iii dokumen1), time izmijene neke od karakteristika "napadnute" datoteke, i preuzmu kontrolu zasto.
nad njom. Takve datoteke nazivamo zaraiene datoteke. Racunar se moze "zaraziti" virusom uko- 9. KoUko bita ima u 640 kilobajta?
liko pristupi zarazenoj datotecL Nekada se zaraza najeesce sirila putem razmjene disketa koje
10. Sta su ASCII i UNICODE standardi?
sadrze zarazene datoteke (obicno su bile zarazene diskete sa ratunarskim igrama, jer su "prosle"
kroz najveci broj korisnika), dok je danas najces6! put zaraze preko racunarskih mreza i elektronicke 11. Sta su masinske instrukcije i koje su faze izvrsavanja masinsldh instrukcija?
poste. Postojl mnogo vrsta stetnih programa, a najrasprostranjeniji su: 12. Koje vrste masinskih instrukcija postoje i koje su im osnovne karakteristike?
13. Sta su RISe, a sta else procesori?
Trojanski kanji - Programi koji na prvi pogled rade nesto korisno, a u pazadini prave neku
14. cemu sluzi upravljacka, a cemu aritmetitko-logicka jedinica?
stetu.
15: Sta se podrazumijeva pod pojmom "Von Neumannovo usko grlo"?
Kameleon; - Pritajeni programi kaji u pazadini obavljaju neku skrivenu akciju. Na primjer, POz-
16. Sta je generator taktnih impulsa i u kojim jedinicama se izrazava njegova brzina?
nati program ovog tipa je Back Orifice-koji prillkom rada sa raeunarskom mrezom omogucava
17. Sta su mikroprocesori i kako su nastali?
udaljenim korisnieima da,u potpunosti preuzmu kontrolu nad vasim racunarom (da yam brisu iii
mijenjaju dokumente,-zabloklraju ra6unar, ltd.). Trojanski konji i kameieoni su prilicno s!icni, tako 18. Sta znaci kada kazemo da je Intel Pentium IV32-bitni procesor?
da mnogi autori ne prave razliku izmedu ovih programa. 19. Kakve postoje vrste ra6unara?
Softverske bombe - Programi koji prilikom prvog pokretanja unistavaju sve programe i 20. Sta su viseprocesorski ra6unari?
podatke na racunaru. Kako ovi programi nisu pritajeni, brzo se sazna za njih, taka da obicno 21. Sta su vezni sklopovi?
nap rave stetu samo na malom broju racunara. 22, Sta je graficka kartica?
Logiak! bombe- Prltajeni programi ko]] ne rade nista, dak se ne ispune odredeni uvjetl, kada 23. U cemu je razlika izmedu internih i eksternih memorija? Kako se jos nazlvaju ave vrste memo~
izazivaju neku stetu. Kako ovi program! mogu dugo ostati neotkriveni, mogu napraviti stetu na rija?
velikom broju racunara. 24. Navedite osnovne ulazne jedlnice i njihove karakterisUke.
25. Navedlte osnovne iz!azne jedinice i njihove karakteristike.
Vremenske bombs - Pritajeni programi koji ne rade nista do odredenog trenutka, kada izazi-
vaju neku stetu. Na primjer, virus Michelangelo ne radi nista sve do 6< marta (rodendana 26. Sta su serijska a sta paralelna vrata?
veHkog talijanskog umjetnika Mfchelangela), nakon 6ega brfse sve programe j podatke sa hard 27. Sta su RAM, ROM, PROM, EPROM i EEPROM memorije?
diska. Jos je god virus Chernobyl (poznat i pod imenom C/H), koji na godisnjicu nuklearne 28. Navedite najvaznije vrste ekstern!h memerija i njihove !<arakteristike.
I<atastrofe u Cernobilu unistava sve sto moze da unisti (na mnogim racunarima uspijeva da one~ 29. Sta su interne, a sta eksterne sabirnice?
sposobi 6ak i maticnu pI06u). 30. Sta je maticna ploca ra6unara i sta se na njoj nalazi?
~rvi - Racunarski virusi koji se sire putem racunarskih mreta. cesto nisu osobito stetni (mada 31. Kakva je razlika izmedu sistemskog i aplikativnog sofivera?
lma i jako stetnlh poput virusa~crva Klez), ali se neke verzije (tzv. replikatorJ) umnotavaju u 32. Sta je operativni sistem? Koje operativne'sisteme poznajete?
toJikjrn_k~liciflama da 'mogu u potpunosti zagu:3iti protek podataka kroz racunarske mreze. 33. Sta su racunarski virUS! j kakos!3 mote,rnoboriti 'protiv njih?
Protiv-racunarskih :\iirusa moguce se bariti pom06u specijalnih tzv. antivirusnih programa (koji
spadaju _u kaf$gorfiLJ_ 'sisfef(1skog softvera), Postoje tri tipa antivirusnih programa: detektori (engL
scan.ers) kojr-sarno lspituju .prisustvo virusa, clstaci (engl. cleaners) ko)i pokusavaju da oporave
zaraz-enu' datot.?k.ti ~ ukoliko to nije moguce (sto je cest slu6a)) brisu i datoteku i virus koji je u njoj
bio prisutan, i"stitovi(engL shields) ko)i pokusavaju da sprijece zarazu ra6unara virusom. VeGina
. proiivodata. bji- prave antivlrusne programe nude pakete koj! sadrze sva tri tipa antivirusnih pro-
grC!rrl,a, ahajpo;matiji iu Norton Antivirus, McAfee VirusScan Deluxe, Sophos Antivirus, F-Prot
Professio11lil, itd. Postoji rasprostranjeno ali nikad dokazano misljenje da ljudi koji prave antivirusne
programe ptave i viruse, da bi im se antivirusni programi bolje prodavaH.
44 45
1.3 OSNOVNI PRINCIPI RADA RACUNARA koje bi maglo dovesti do kvara racunara. Doduse, izvjesna mogu6nost nepravilnog prikljucenja posto-
jl, jer na primjer, cesto su uticnice u koju se ukljucuju mis i tastatura istog oblika, tako da je za ispravno
spajanje potrebno pratiti natpise iznad pojedinih uticnica ko]i prikazuju za sta je 'uticnica namijenjena.
!pak, ukoliko pogrijesimo, racunar se neee pokvariti, nego jednostavno neee raditi ispravno, dok
1.3. j Mjere bezbjednosti pri radu sa racunarima dije!ove ne povezemo kako treba. Bano ie napomenuti da se sv! dije!ovi racunara moraju propisno
povezati prije nego sto racunar ukijucimo u efektricnu struju. Svako prikljucenje na racunar dok je
Sarno prikljucenje racunara je dosta jednostavan postupak, jer su racunari projektimni taka je racunar pod napajanjem veoma je riziano, i moze 05tetiti racunar, pa cak i ugroziti tivot korisnika!
da na6in njihovog prikljucenja prilagoden svim vrstama korisnika, ukljucujuci i one manje iskusne.
Utikaci na racunarima su takvih oblika da jednostavno ne omogucavaju nepravilno prikljucenje, taka Neki dijelovi racunara, poput modema, zahtijevaju prikljucenje na telefonske i komunikacijske'
da nije mogu6e povezati dijelove ra6unara aka so utikaci ne postave pravilno. Time je 051gurano kablove. Kako elektricna struja za napajanje iz ovakvih kablova takoder moze biti opasna po koris-
pravilno povezivanje svih dljelova raCunara. To ipak ne znaGi da se pri radu sa racunarima no tre-
nika iii racunar, to se prilikom 'instalacije hardvera treba drzatl sljedeceg redoslijeda postupaka:
baju postovati elementarne mjere bezbjednosti.
IskJjucitl sve prekidate na racunaru;
Glavne mjere bezbjednosti kojih se treba pridrzavati pri radu sa racunarima su mjere koje SLI Povezati medusobno sve dijelove racunara koji ne trate ukljucivanje u telefonske iii druge
propisane za rad sa ma kakvim e!ektricnim urectajima, jer je racunar uredaj koji za rad takoder koristi utitnice;
elektricnu energlju. To znaci da prikljucenje racunara na elektricnu mrezu treba izvrsiti postujud sve PrikljuCiti sve ostale neophodne kab!ove u uticnice na racunaru;
propise. Kabel za prikljuCivanje ratunara treba biti izoliran i sa uzemljenjem, Kaka je potrosnja Ukljuciti kablove koji trate ul<ljutivanje u teJefonske i slicne uticnice u odgovarajuce uticnice u
racunara svega nekoliko stotina vati, nije potrebno predvidati neke posebne zastite ad preopterecenja. zidu;
U slucaju nestanka elektricne energije neophodno je odmah fskljuCiti racunar da bi se izbjegao s1rujni Ukljuciti kabel za napaJanJe elektricnom energijom u odgovarajuc:u uticnicu u_ zidu;
udar u trenutku panovnog dolaska elektricne energije. Takoder, neophodno je iskljuciti racunar u Ukljuciti racunar na glavni prekidac.
slucaju grmljavine, Jer udari groma mogu prodrijeti u elektrienu mrezu i ostetiti racunar.
P05tovanjem ovih pravila izbjeei cemo ostecenja koja mogu nastati usljed eventuaJnih strujnih
Racunari koj! su pravljeni za americko i evropsko trziste imaju na kUClstu prekidac za veIJ6inu radnog udara. Prilikom rastav!janja racunara, nakon sto iskljuCimo sve prekidace, potrebno je prvo izvuci
napona koji moze biti 110 V (za americko podrucje) i 220 V (za evropsko podrucje). Prije ukljucenja napojni kabeJ iz uticnice u zidLi, zatim sve ostale kablove koji su takoder prikljuceni na uticnice u zidu
takvog racunara u mrezu treba provjeriti da Ii je taj prekidac postavljen na ispravnu poziciju (220 V), Ovaj (npr. te!efonske), a tek tada mozemo pristupiti lskopcavanju ostalih kablova i rastavljanju racunara.
prekidac potrebno je podesiti sarno jedanput (prije prvog ukljucenja u mrezu), i vise ga ne treba dira,ti.
U slu6aju da unutrasnji dijelovi racunara nisu sklopljeni, instalacija hardvera takoder nije osobito
U slucaju kvara racunara, treba ga odmah iskljuciti i pazvatLstrucno lice (servisera) ko)i ce aba- komplicirana. Postupak se uglavnom svodi na ukljuCivanje odgovarajuCih kariica u odgovarajuce
viti neophodnu opravku. uticnice na maticnoj ploci, i povezivanje uredaja eksterne memorije sa odgovarajuclm kontrolerima.
Medutim, u ovom slu6aju postupak instalacije hardvera ipak je bolje prepustit! strucnom lieu.
Do sada sma govorili 0 hardverskoj bezbjednosti. Medutim, potrebno je reci nesto i 0 softverskoj
bezbjednosti. Kod racunara namijenjenih za upotrebu jednog korisnika na prvom mjestu misiirno na Nakon sto je uspjesno obavljena instalacija hardvera, neophodno je preci na instalaclj'u softvera,
zastitu ad racunarskih virusa (u raaunarskim mretama potrebno je preduzimati znatno vece mjere tj. na instalaciju neophodne programske podrske koja 6e "udahnuti zivot" raeunaru i pretvoriti ga u
bezbjednosti, u sta na avom mjestu ne mozema ulazlti). Korisnici racunara moraju uciniti sve sto je upotrebljivu spravu. Pod instalacijom softvera podrazumijevarno postupal< prebacivanja programa
u njihovoj moGi da sprijece njihov pristup racunaru. Osnovni princip za5tite od virusa je da se svi sa raznih prenosivih uredaja eksterne memorije (poput disketa, kompakt diskova, itd.). na fiksni disk
diskovi koji se prenose sa nekog drugog racunara, kao i svi programi j dokumenti koji se pribave racunara, sto 6e te programe uciniti stalno dostupnim racunaru.
putem racunarskih mreza iii elektronitke poste obavezno moraju testirati na prisustvo virusa uz
pom06 nekog od antivirusnill programa. Na prvom mjestu, potrebno je lnsta1irati operativni sistem. Danas se PC ra6unari najcesce
isporucuju sa vee instaliranim nekim operatlvnim sistemom (najcesee sa nekim od najnovijih oP.era-
tivnih sistema iz porodiee Windows operativnih sistema). Ne zaboravimo da ~ez,operativnog sis-
1.3.2Instaliranje racunara tema racunar ne moze raditi nista. Ukollko na racunaru nije insta!iran.operativni sistem, postoji
mogucnost (kao sto cemo kasnije vidjeti) da se operativni sistem ucita l! radnu me:moriju (i nakon
Kada prvi put nabavimo racuhar,---ppt~ebnO-je.--jzVrsitj njegovu pripremu za rad, sto nazivamo toga pokrene) direktno sa diskete iii kompakt diska. Nakan toga je-rnOguce rzvrsitf instaiaciju ope[H
instaiiranjem ratunara. Kako se sVakl racur-iars~,i sis!e.r~rsastoji od hardvera i softvera, to mozemo ativnog sistema poput instalacije svakog drugog programa. . . .
govorlti 0 instaiaciji hardv~ra I inst~t(}ciji .$oftv~'a. .
Kako se vrsi instalacija nekog programa, u sustin] zavisi od samQ9~prQgi'am~~, ali j~' danas po~tu
Pod instalacijom hardvera POdiaz:~mjjBVamG:i~_p';a'v~~ 'pov.eziy~nje svih fizickih dijelova racunara u pak instalacije manje iii vise standardiziran. Obicno svaki proizvodac softvera.,zajeqno -sa glavnim
funkcionalnu cjelinu, U slucE!ju d? je.la6I,!nar,'ispoJUcen sa vee sRlopljenim unutrasnjim dijelovima programom lsporucuje i mali programcie nazvan instaJacijski program. Qvaj p"rog-ramcic obicno ima
racunara koji se nalaze u kucistCI (sto je riajeescri slucaj), instalaciju hardvera moze da obavi i potpuno naziv INSTALL iii SETUP. U Windows operativnim sistemima, InstalaCijski program se pokrece
nestruno lice. Sve sto je potrebno/to je da.,,,utaknemo odgovarajuce uredaje koji se nalaze izvan otvaranjem Start menija, zatim izborom opGije Settings i podopcije .Control Panel, -na.kon 6ega treba
kuCista racunara (poput tastature, monttoi~, ~fampaca, itd.) -u odgovarajuce uticnice na kucistu duplo kliknuti na ikonu Add/Remove programs, i konacno na--dugme fnstall;-Ahernativno, pbkretanje
racunara. Kao sto je vee receno,-utikaci na ra0unarima'su takvih oblika da ne omogu6avaju prikljucenje instalacijskog programa se moze izvrsiti duplim klikom prvo na ikonu My Computer, 'zatim na ikonu

46 47

.:~
11
l
diska sa kojeg vrSimo Insta!aciju, i konacno, na instalacijski program. Nakon sto pokrenemo insta- tOje zakoni kojima se softversko piratstvo najstroze kaznjava, a takav zakon 6e bit) uveden i kod nas
lacijski program, proces instalacije zapocinje. Neki proizvodaci softvera podase da se instalaeijski (u vrijeme piS81lja ovog udzbenika takav zakon je bio u pripremi).
progr1im automatski pokrene elm S8 ubaci disk koji sadrzi program koji se instalira (instalacijskf
disk). Instalacijski program u potpunosti automatizira proces Instalacije kroz niz pitanja na koje koris- Iz prethadnog razmatranja magao bi se steei zakljueak da je softver iskljuciva privi!egija bogatih.
nik treba da odgovori, a od kojih zavisi proces instalacije. Na srecu, postoje Ijudi koj) pisu programe iz eistog entuzijazma iii hobija, i daju ih besplatno (tzv.
freeware program!), iii ih prodaju za bagatelnu cijenu. Takoder, pastoje programi koji se mogu
Instalacioni programi obicno nude barem tri vrste instalacije: tipicnu (eng!. typica~, kompaktnu besp!atno koristiti odredeni probni period (reclmo, mjesec dana), a nakan toga se moraju iii izbrisatl,
(engl. compacQ i prifagodlpvu (engL custom). Kod tipicne instalacije korisniku se postavlja sasvim ill platiti (obiono ne skupo). To su tzv. shareware program;. Alternativno, shareware programi mogu
mali braj pilanja, a za odgovore na ,ostala pitanja podrazumijeva se da su u skladu sa potrebama se isporu6ivati u dvije verzlje: demo verzija, kOja se ne mora platlti ali kojaj nedostaju odredene
veeine standard nih korisnika. Kod kompaktne instalacije, broj pitanja je takoder mali, a instalaclonl kljuene opcije, i puna verzija koja se placa. Kvalltet freeware i shareware programa varira od pro-
program podrazumijeva da zelimo da izvrsimo instalaciju sarno najnuznijih komponenti koji ee grama do programa, medutim postajs shareware, pa cak i. freeware programi koji po kvalitetu nima-
omoguciti rad sarno osnovnih mogucnosti programa. Kod prilagodljive instalacije, potrebno je 10 ne zaostaju za sli6nim komercijalnim programima Gija se cijena mjer! u sIotinama maraka.
odgovoriti na znatno veGi broj pltanja, ali ovakva instatacija omogucava da program bolje prilagodi M

rna svojim potrebama nego u slucaju tipicne instalacije. Na sljedecoj slici prikazano je kako izgleda U danasnje vrijeme je prakticno nemoguee razdvojiti instaiaciju hardvera ad instalacije softvera. Danas
jedan ad koraka prilikom instalacije programa Adobe Acrobat 4.0: skoro svaka instalacija novog hardverskog uredaja trazi j instalaciju odgovarajueeg softvera za podrSku.
Nairne, kako ni jedan operativnl sistem ne moze predvidjeti sve tipove ulazno-izlaznih uredaja koji mogu
Bltno je napomenutl da se biti eventualno prlkljuceni na racunar, podrska radu ovih uredaJa ostvaruje Se pomoeu posebnih pomoenih
instaiacija ne svodi samo na prosto upravljatkih programa nazvanih drajveri, koji nakon propisne lnstalacije praktitno postaju diD operativnog
kopiranje datoteka sa prenosnih sistema. Tako, kada god na racunar prikljucite nekJ novi uredaj, za njegov ispravan rad moraeete instalirati
diskova na fiksni disk. Naime, pro- i odgovarajuCi drajver (koji prolzvoc1ae uredaja isporucuje zajedno sa uredajem). Postoji relativno nova
grami su na instaladjskim diskovi- tehnologija nazvana PJug~and~Play (utakni i radi) iii skra6enim nazivom PnP, koja operativnom sistemu
ma obicno pohranjeni u vidu pako- omoguCava da automatski otkrije prisustvo novih uredaja prikljueenlh na ratunar j da zatrati Instaliranje
vanih arhiva sa ciljem da .se odgovarajuCih drajvera. Praksa je medutim pokazala dB. ova tehnologija prillcno cesto ne radi bas kako je
zauzme sto manje prostora na zamisljeno, tako da cinici kazu da PnP zapravo znaei Plug-and-Pray (utakni i moli se),
diskovima. Programi se ne mogu
izvrsavati u takvom obliku, pa se
prllikom instalacije obavezno vfsi
njihovo raspakivanje, Dalje, 0 pri- 1.3.3 BIOS i proces pokrelanja racunara
sustvu vecine programa operativni
sistem mora bit; obavijesten da bi Razmotrimo sada sta se desava u trenutku kada ukljuoimo racunar. Odmah nakon ukljucenja,
mogao korektno da rukuje sa procesor zapooinje svoj uobitajeni posao dobavljanja masinskih instrukcija iz memorije i njihovog
njima. Ova informiranje je takoder izvrsavanja. Druglm rijeeima, proeesor odmah zapoeinje da izvrsava neki program. Prirodno je
zadatak instalacijskog programa. postaviti pitanje koji program i gdje se on nalazj. Taj program oCig!edno se ne maze nalazlti u RAM
lnsfalacijski p;ogriiill z;a Adohe Acrobat 4,0 Danasnji operativni sistemi za PC memoriji jer je ona prazna u trenutku pokretanja ratunara, niti na nekoj od eksternih memorija, jer
, " " _ ,- .' raounare informadje 0 instaliranim procesor ne moze neposredno izvrsavati programe pohranjene na eksternim memorijama. Kao jedi-
programfm,,:, kao i mnoge"drUgednformacije vezane za njihov interni rad drie u internoj bazi podata- ni odgovor preostaje ROM memorija (Hi njeni bliski srodnici popu! EEPROM memorije). Dakle, pro-
ka nazvanoj reg;sfracijska baza (engl. registry base), cesor zapocinje izvrsavati program koji se nalaz! u ROM memoriji, 8to je osnovni razlog zasto svaki
ra6uriar pored RAM memorije nuzno mora posjedovati I ROM memoriju.
Nije dobra praksa installrati programe koje necemo koristlti, IIi koje eemo koristitl svega nekoliko
da~a. Mada gotovo svi programi podrzavaju mogu6nost svog vlastitog uklanjanja pomo6u postupka Sljedece pitanje koje se name6e je kakvi se uop6e program! nalaze u ROM memoriji. Nekadasnji
kOjl se zove deinstalacija (engl. uninsta/~, instalacija je nerijetko toliko kompleksan proces da dein~ kueni racunari, poput ZX Spectrum-a i Commodore-a 64 imali su citav operatlvni sistem pohranjen u
~talacija nije u st1!lnju da vrati sistem tacno u prvobitno stanje kakvo je bilo prije instalicije. Staga, ROM memorijL Osnovna prednost ovakvog rjesenja bila je cinjenica da je operativni slstem bio prak-
eesta mstalacija i deinstalacija raznih programa (sto je u nasoj sredini naza'los~veoma uobicajeno), ticki ugraden u racunar, I dostupan istdg trenutka kada se ratunar ukljucl, tako da je bilo moguce
drasticno ugrotava stabilnost operativnog sistema. .- zapoeet! rad sa racunarom odmah nakon ukljucenja napajanja. Praksa ugradivanja 6itavog opera-
ti tivnog sistema u ROM i danas se koristi kod nekih vrsta prenosnih raeunara, narodto dzepnih
Na avom mjestu nutno je ukazati na jednu negativnu pojavu. U vrijeme pisanja,Qvog iJdz6~ni- . :'1
racunara. Medutim, osnovnl nedostatak ovakvog pristupa je Sio su tada racunari ograniceni na
'I
ka veCina instalacionih diskova sa kojima su se korisnici racunara susretali"u' nasoj.sredjni .. pred- 1 izvrsavanje sarno jednog operativnog sistema, s obzirom da se sadrZaj ROM memorije ne moze
stavljali su iJegalne kopije originalnih diskova sa legalnim softverom, kojf preprodavc;i'SGftv~ra, naz- :1 mijenjatL Zbog toga se kod danasnjih PC ra6unara u ROM memoriju upisuju sarno najelementarniji
vani softverskf pimti, prodaju u bescjenje. Veoma vazno je shvatiti da je softll-er"roba -koja se mora i
J dijelovi operativnog sistema poznati pod nazivom BIOS (Basic .!nput-Qutput Q,ystem), IIi ponekad i _
platiti, ito najcesce skupa roba. Diskove sa programima eija je stvarna trzisna djena riekoJiko. stoti~ ROM BIOS. Ostatak (odnosno glavnina) operativnog sistema nalazi se na dlsku, a zadatak 810$-a
~a pa cak i hi!jada maraka, pirati prodaju za svega nekoliko maraka, -eime SEr stvara_neprbcjenjiva.
steta proizvodacima softvera, Sto negativno utjeee na produkciju softvera. U mnogirtl zeni'ljama pos-
1 je, izmedu ostal09, da prebaci ostatak operativnog sistema u RAM memoriju, gdje 6e biti omogucenp
njegovo izvrsavanje. Ovaj proces prebadvanja naziva se ucltavanje iH punjenje (engl. load).
48 49
BIOS u sustini predstav!ja skupinu programa (mazda je bolje reei potprograma iii rutina) koji omogueava korisniku da komunicira sa racunarom, opr. da zadaje racunaru komande itd. 0 korls~
prakticno odreduju sta racunar zna radlti bez ikakve pomod programa koji se uCitavaju sa diska. ni6kim intetiejsima cemo detaljnije govoriti u poglavlju 1.4.
Najcesce se radi 0 sasvim elementarnim programima koji omogucavaju racunaru da ocita koja je
tipka prifisnuta na tastaturi, ispise neki znak na ekran, prebaci sadrzaj nekog sektora sa diska u radnu Cje!okupan proces uCitavanja i pokretanja operativnog sistema naziva se boot praces iii, u
memoriju iii obrnuto, iii da posalje odnosno primi neki podatak preko serijskih iii paralelnih vrata. domaeem zargonu, dizanje sistema. Za vrijeme dizan]a sistema korisnik ne moze nista radlti sa
Pored programa, BtOS sadrzi i neke elementarne podatke, poput podataka kako su rasporedenj racunarom. Ovaj proces, zavisno od slozenosti operativnog sistema, moze trajati od nekoliko sekun"
znakovi na tastaturi, iii kakav je izgled pojedinih znakova koji se prikazuju na ekranu. Kod nekih di (npr. kod MS~OOS operativnog sistema), do nekoliko mlnuta kod slotenijih operativnih sistema.
racunara odmah po ukljucenju racunara sadrzaj 810S-a se iz ROM-a kopira u RAM i onda izvrsava
iz RAM-a, eime se postize veea brzina izvrsavanja, S obzirom na cinjenicu' da su dallasnje RAM me-
morije brze od ROM memorija. Ovakva tehnologija naziva se BIOS iz sjene (eng!. Shadow BIOS), i Detaljima procesa dizanja sistema obicno se moze uprav!jati preko sadrzaja odredenih tekstu"
alnih datoteka kOje moze kreirati korisnik. Na primjer, dizanjem MS"OOS-a upravlja se preko dvije
datoteke nazvane CONF'IG. SYS, koja sadrii najosnovllije sistemske informacije, kao I informacije
Prvi program iz 810S-a koji se pokrene prilikom ukljuCivanja racunara naziva se POST
(.!:ower-Qn ,Qelf rest). Zadatak ovog programa je da prikupi informaciju 0 tome koji su sve uredaji o drajverima kOje treba uCitatl, j AUTO EXEC . BA'l' koja sadrii spisak komandi koje se automatski
prikljuGeni na raGunar preko ulazno~iztaznih veznih sklopova, da ustanovi sa koliko radne memorije trebaju izvrsiti kao i spisak programa koji se trebaju automatski pokrenuti nakon zavrsetka dizanja
raspolaze raGunar, kao i da izvrsi niz testova pomocu kojih te utvrditi da li svi uredaji u racunaru sistema. Dizanjem Windows operativnih sistema upravlja se preko niza datoteka, od kojih su naj-
funkcioniraju ispravno' (na primjer, provjera RAM-a se moze izvrsiti nasumicnim upisivanjem podata vaznije WIN.INI 1 sYs'rEM,INL Datoteke CONFIG,SYS i AUTOEXEC.BAT U ogranieenom
ka u RAM, a zatim ispitivanjem da !i citanje istih memorijskih lokadja zaista daje one podatke koji obimu upravljaju i podizanjem Windows 95 i Windows 98 operativnih sistema, dok Windows 2000 i
su tamo upisani). Prilikom rada POSTobicno ispisuje na ekran najbitnije rezultate obavljenih istrati" Windows XP ugiavnom vise ne koriste ove datoteke.
vanja, ito su prvi podaci koje ugledate na ekranu kada ukljudte raCUllar.
Jos jedan izuzetno" vazan program koji se nalazi unutar BIOS-a, i koj! se pokreee iskljuCivo na
Sljedeci program iz BIOSa kaji se pokrece nakon sto POSTzavrsi sa radom naziva se bootstrap zahtjev korisnika, jeste program nazvan BIOS SETUP. Ovaj program om<;>9ucava korisniku da odre"
loader(ovaj rogobatni termin je zaista nemoguee adekvatno prevesti sa engleskog jezika). Ovaj pro-
di speciflcne detaije vezane za funkcioniranje samog hardvera racunara, poput brzine kojom ra6unar
gram je ujedno i posljednji program iz BIOS-a ko]i S8 automatski pokrece (svi ostali se pokretu
eita podatke iz memorije, koUko se brzo razmjenjuju podaci izmedu matiene place i odgovarajuCih
iskljucivo na eksplicitan zahtjev) po ukljucenju racunara. Njegov zadatak je da ueita glavninu ope-
kartica putem sabirnica, detalje 0 prenosu podataka preko serijskih ! paralelnih vrata, hardverskoj
rativnog sistema sa diska u radnu memoriju, i prepusti mu kontrolu nad racunarom. U sustini, bootstrap
loaderobavlja sasvim jednostavan zadatak: on sa diska ucitava u RAM sadrzaj samo jednog, tacno
strukturi hard dlska. i ostalih diskova, itd. Pored toga, pomoeu BIOS SETUP-a moguee je podesavati
odredenog b!oka nazvanog boot sektor (mada se. zapravo radio bloku, a ne sektoru), i zapocinje i redoslijed prioriteta diskova sa kojih ce se vrsiti boot proces (npr. da Ii te prioritet imati disketa,
izvrsavanje instrukcija pohranjenih u njernu. Boot sektor se tipicno nalazi u presjeku sektora, i trake kompakt disk Iii hard diSk), kao i jos mnoge druge detalje. Sve postavljene informacije racunar cuva
koji SU obiljezeni rednim brojevima a (tzv. nulti sektor i nulta traka), Nakan toga, BIOS vise nema u maloj RAM memoriji kapaclteta svega nekoliko desetina bajta nazvanoj CMOS (Qomplementary
kontrolu nad raeunarom, i sta ce se dalje desavati ovisi iskljucivo ad inslrukcija zapisanih u bootsek~ Metal Qxide Semiconductor) RAM. Ova memorija [ma posebno baterijsko napajanje unutar
tOfU. To su tipieno instrukcije koje ucitavaju ostatak operativnog sistema I predaju mu kontrolu, ali u raeunara, taka da njen sadrzaj ostaje oeuvan cak i Ilakoll gasenja racunara (inace, CMOS je naziv
boot sektoru se prlncipijelno mogu nalaziti rna kakve instrukcije. Program zapisan u boot sektoru za tehnologiju proizvodnje clpova i ostalih elektronickih komponellti kOja omogueava izuzetno malu
maze korisniku ponuditi i izbor operativnog sistema ko]i ce bitl ueilan, npc Windows iii Linux (ova su potrosnju elektricne ellergije). Postavke ko)e se mogu izvrsiti pomocu BIOS SETUP-a mogu u
tzv. duaJ~booti!i multiple-boot sistemi). Ukoliko se u raeunaru nalazi ubaceno vise diskova ad kojih drasticnoj mjeri da utje6u na periomanse rada ra6unara. Ipak, podesavanje parametara koji se mogu
su neki prenosivi (disketa, CD) a neki nisu (hard disk), tada obicno bootstrap loader uCitava boot mijelljati pomocu 810S SETUP-a obavezno treba prepustlti stru6noj osobi, jer se zadavanjem
sektor sa prenosivih diskova,' 6ime je omoguceno da se operativni sistem ucita sa diskete iii kom- pogresnih parametara moze poremetiti narma!no funkcioniranje racunara. Inace, BIOS SETUP se
pakt diska, cak i u slu6aju kada na hard disku vee postoji neki operativni sistem. Na disketama koje poziva tako sto se prHikom izvrsavanja POSTprograma, a prije pokretanja bootstrap loadera pritisne
ne sadrie operativni sistem, boot sektor sadrzi sarno kratki programCic kojl na ekranu ispise poruku odgovarajuca tipka na tastaturi, koja ovisi od konkretnog proizvoaaea BIOS~a (najcesee Del, FlO,
"Non-System Disk or Disk error. Replace and Htrike any key when ready." koju ste vjerovatno imali prj-
Esc iii CtX'l+Esc) .
.like da vidite ukoliko yam je slucajt:lo ostala ,dlsketa u disketnom pogonu prilikom ukljuclvanja
racunara. . . . u
U danasnjim ra6unarima veoma je cesta situacija da se BIOS ne na!azi ROMmemoriji nego
Kao sto je vet reeeno, sta se d~IJe d~a~a_priilkOrri uk!Jucenja ra6unara nakon ucitavallja boot
u EEPROM (odnosno Flash RAM) memorijL BIOS smjesten u Flash RAM memoriji obi6no se Ilazi~
va Flash BIOS (umjesto ROM BIOS). Na primjer, takvi -su goto.vo sviJ310&i koji podrtavaju
sektora zavisi isklju61vo od lnstrukcija'koje sUJJ'njem1u z~pisane.Tipicno se proces dalje nastavlja
ucltavanjem niza programa kofi tvore operativn(siste'ni,~'kao j iz:vrsavanj~m neophodnih pripremnih Plugand-Play-tehno!ogiju. Velika prednost Flash BIOS-a u ,odnosu Ila ROM--BfOS:1e moguenost
radnji kOje ce omoguCiti is'pravan ra~rovih:'i ~kas'-njjih' .programa. Kod operativnog sistema MS-DOS izmjene programa pohranjenih u BIOS, s obzirom na 6injenicu da jasadrtaj'Fla.Sti memorij~ mogu6e '
ova] proces sastojao se od uCitavanja i pokretanjqJrLprograma: 10. SYS, MSDOS, SYS i COBHP.1JD. COM izmijenitL Nazalost, upravo ova mogucnost ornogueila je prograrneJima"s~' -?Hm' .ria.mjeram~ da
(upravo navedenim redom),. dokje ~Qd"WjhdOWs'pperalivnjh siste-ma ovaj proces zllatno slozeniji i naprave programe koji ee unistiti sadriaj BIOS-a, tako sto ce u njega u-pU~ati 'neke besmislice
zavrsava se ueitavanjem I pokfetanjEHTi.p(ograma EXPL:ORER. EXE (koj! dovod! do prikaza poznate umjesto programa koji omogucavaju rad racunara. Najpoznatijl-"takav"destruktfvni program je vee
radne povrsine, odnosno CJesktopEij; Pos)j~gnji program koji se ueita i pokrene prilikom procesa spomenuti Chemobyl (ill CIH) virus. Ukoliko yam se ovako Ilesto,desi,.]edino sto mozete uraditi je
ucitavanja operativnog sistema (npr. cor':10ANlJ. COM' 'u s'lucaju MS-OOS-a iii EXPLORER. EXE u da zamijenlte cip u kojem se nalazi BIOS, iii eak i cijefu matiCnu plotu (u-slu'6aju da je 6ip sa BlOS-om
slucaju Windowsa) tipicno predstavlja ko.risnicki' interfejs operativnog sistema, i upravo on neodvojivo vezan za nju)!

50 51
1.3.4 Odnos nardI/era, BIOS-a, operativnog sistema i aplikacija Kako moderni operativni sistemi ne dozvoljavaju aplikacijama da komuniciraju direktno sa hard-
verom (pa cak ni sa memorijom), operativni sistem moze aplikacijama stvoriti lIuziju da imaju na
Nakan sto je proces dizanja sistema zavrsen, korisnik je u stanju da zadaje komande racunaru. raspolaganju znatno vecu koli6inu radne memorije nego sto je zaista ratunar posjeduje, pri 6emu
Najcesca komanda koju korisnik zadaje je pokretanje nekog ad korisnickih programa, odnosno operativni sistem po potrebi (bez ikakvog znanja aplikacija) prebacuje odredene dijelove radne
aplikacija. Neki operativni sistemi, poput MS-DOS-a, dozvoljavaju da se u jednom trenutku memorije na disk Iii obrnuto (stoga cesto mozete vidjeti da tOKom rada lampica koja signalizira rad
izvrsava sarno jedna apllkacija, dok moderni operativni sistemi (poput raznih verzlja Windowsa, hard diska gori u trenucima kada izgleda da nema nikakvog osnovanog razloga za upotrebu diska).
Linuxa, ltd.) omogucavaju da se paralelno (u 15tO vriJeme) izvrsava vise aplikacija. Ovakvi operativni Tehnologija kojom se ostvaruje ova "obmana" nazi'va se virtualna memorija. Taka, npr.
sistemi nazivaju se visezadani (iii multitasking) operativni sistemi. Windows 950perativni sistem daje svakoj aplikaciji iluziju da raspo!aze sa cak 2 gigabajia v!astite
radne memorije (potpuno neovisno od drugih aplikacija i neovisno 0 stvarnoj koli6ini radne memori-
Strogo receno, niH jedan procesor ne moze u isto vrijeme izvrsavati vise neovisnih poslova. je), mada se u sustini radi 0 virtualnoj, a nestvarnoj memoriji. Medutim, aplikacija to ne moze da zna
Staga se u viszada6nim aperativnim sistemima svaka ad aplikacija izvrsava izvjesno kratko vrijeme (niti treba da zna). Upravo zbog postojanja virtualne memorije, brzina ratunara drasticno ovisi I od
(nekoHko milisekundi), nakon 6ega se kontrola predaje drugoj aplikaclji, ltd. Kada posljednja aplikaci- stvarne koliCine RAM memorije. Nairne, sto je koliclna RAM memorije manja, operativni sistem ee
ja istrosl svoje vrljeme, kontrola se panovo predaje prvoj aplikaciji, nakon cega se postupak kruino 6esee morati da vrsi prebacivanje podataka lZ radne memorije na disk, Hi obrnuto, sto je izuzetno
ponavlja, Cime se stice utisak da se sve apllkaciJe izvrsavaju istovremeno. Ovakva tehnologija nazi- spor proces, s obzirom da su diskovi relativno sporl uredaji.
va se razdloba vremena (engl. time sharing).
Ap!1kacije se prlje pokretanja nalazs na eksternoj memorijl, tako da je pri11kom pokretanja
Starl]i operatlvni sistemi (npr. MS-DOS) prepustall su aplikaciji potpunu kontrolu nad racunarom aplikacija operativni sistem duzan da izvrsi njihovo prebacivanje lJ internu memorlju, kako bi se
nakon pokretanja, tako da se operativni sistem nastavljao izvrsavati tek kada aplikacija zavrsi sa omogucilo njihovo izvrsavanje. Ovaj proces takoder se naziva ucitavanje (punjenje). Ovaj naziv js
radom, iii kada aplikacija eksplicitno zatrazi neku uslugu od operativnog sistema. Takoder, aplikaci- opeenlti naziv za rna kakav proces prebacivanja podataka iz eksterne u iniernu memoriju. Suprotan
ja je mogla slobodno komunicirati sa svim resursima ra6unara, ukljucujuci j harqver. U modernijim proces, tj. proces prebacivanja podataka 1z interne u eksternu memoriju (npr. iz RAM-a na hard disk)
operativnim sistemima izvrsavanje svake ad aplikacija pod potpunom je kontrolom operativnog sis- naziva se snimanje iii pohranjivanje, a cesto i bukvalno spasavanje (od engl. save). Sn1manje je
tema"i operativni sistem maze da ap!ikacijama zabrani jzvrsavanje nekih akcija. Tako, na primjer, U takoder jadna ad usluga koju svakl operativni sistem mora obezbijediti. Na primjer, kada radimo sa
modernlm operafivnim sistemima aplikacije nikada ne komuniciraju direktno sa hardverom ra6unara nekim. tekstualnim dokumentom, on se za vrijeme rada naJazi u radnoj memorijL Kako se sadrzaj
niti sa BIOS-om, nego u slucaju potrebe za takvom komunlkacijom iskljuCivo traze usluge od ope- radne memorije brlse po iskljucenju racunara iz napajanja, neophodno je dokument iz radne me-
rativnog sistema kao posrednika. Operativni sistem takoder uglavnam ne komunicira direktno sa morije prije iskljucenja racunara snimiti, odnosno prebaciti iz radne memorije na disk.
hardverom, nego za tu svrhu koristi us luge BIOS-a, mada postoji i moguenost neposredne komu-
nikacije operatlvnog sistema sa hardverom putem odgovarajucih drajvera za upravljanje odgovara- 8truktura razlicitih operativnih sistema razlikuje se drasti6no od sistema do sistema. Ipak, u
ju61m uredajem (hardverom). Takoder, aplikac!je mogu da medusobno razmjenjuju podatke i jnfor~ svakom operativnom sistemu mazemo u061tl tri cjeline: jezgro (eng!. kerne~, izvrsioca (engl. executive)
macije, ali pod strogim nadzorom, operativnog sistema. 8toga odnos izmedu hardvera, BfOS~a, j Ijusku (engl. she/~. Jezgro predstavlja najnizi sloj operativnog sistema, najblizl hardveru. Ono
operativnog sistema i korisnickih aplikacija najbolje mozemo prikazati sljedecom slikom (na kojoj sadrzi skup programa za izvodenje operacija poput ocltavanja tastature, prikaza sUke na ekranu,
sma pretpostavi!i paralelno izvrsavanje tri aplikacije): komunikaclje sa diskovima na fizlckom nivou (nivou traka, sektora i blokova), razdiobe vremena,
upiavljanja virtual nom memorijom, itd. Izvrsilac je vis! sloj operativnog sistema, koji sadrzi skup pro-
grama ko)! obavijaju funkcfje kaje su vise orijentirane ka aplikacijama, kao sto su 10gl(;ka organizacija
APLIKACIJA 1 ~. podataka na diskovima u datoteke 1direktorije (odnosno foldere), upravljanje procesima ucitavanja

"'....................... ......................
i snimanja, ltd. Konatno, ljuska je najvisi sloj operativnog sistema koji neposredno komunicira sa
korisnikolTI. Ljusku operativnog sistema, na primjer, sacinjavaju programi ko]i predstavljaju korisnicki
intertejs operativnog sistema.

APLIKACIJA 2 I'" ,.IL_A--,P,.-Ll_K_AC_I_JA_3--1 Suprotno onome sto veGina danasnjih korisnika misli, stari operativni sistemi, poput MS-DOS-a,
omogucavaU su aplikacijama da u'principu budu mocnije i efikasnije, jer su imale neposrednu kon-
trolu nad svim racunarskim resursima. Stoga, iskusni korisnici racunara kada iele da obavljaju razne
OPERATIVNI SISTEM popravke na racunaru i intervencije u softveru, obavezno podlzu MS-DOS operativni sistem, jer jedi-
no tako dobijaju potpunu kontrolu na_racunarom, bez ikakvih ogranicenja. Racunarski profesionalci
moraju poznavali MS-DOS, bez obzira na njegovu zastarjelast, jer ih moderni operativni sistemi
.;-> ; mogu onemoguciti u obavljanju odredenih intervencija. "Ipak, pristup koji daje korisniku punu kontrolu
~~ nad racunarom posjeduje citav niz nedostataka. Prvo, aplikacije koje neposredno komuniciraju sa
'~j resursima racunara kao sto je hardver nile nimalo lako pisati. Pisanje takvih aplikacija traii kako
CS znanje, taka i vrijeme. Drugo, lose naplsana aplikacija maze da "srusi" cjelokupan sistem, jer ope-
rativni sistem nema nikakav uvid urad aplikacije. Principijelno, ad dvije aplikacije istog izgleda i
..1L._H_AR_D_V_E_R_....Jr mogucnosti, ad kojih je jedna pisana za MS~DOS, a druga za neki od Windows operativnlh sistema,
aplikacija za MS-DOS ce se izvrsavati znatno bt1:e i efikasnije n'ego aplikacija za Windows, i zauzi- .
Odnos hardrcra, BIOS-a, opcratiVlwg sistema i ap/ikarija mace mnogo manje memorije. Medutim, tinjenica je da je neophodno ulozitl enorman trud i vjestinu

52 53
da se napravi aplikacija za MSDOS koja bi imala isti izgled i mogucnasti kao tipicne aplikaclje za relativnu brzinu uredaja u odnosu na plVe CD cita6e. Preporucena brzina u vrijeme pisanja ovag
Windows, taka da se danas aplikacije za MSMDOS prakticna vise i ne proizvade. udzbenika bila je 52x.
Graficka kartica je neaphodna za prikaz slike na ekranu. Od njenog kvaliteta neposredno zavisi
kva!itet sllke koji ce se mod prikazati na ra6unaru. Preporu6ene grafi6ke kartice su kartice iz
1.3.5 Minlmalna hardverska i softverska konfiguracija PC racunara VGA serije, sa barem 32 MB vlastite RAM memorije (sto vise, to bolje). Uz graficku kartlcu,
neophadan je naravno i odgovarajuci monitor. Danasnje iskustvo pokazuje da bi monitor trebao
Nakon sto sma objasnili osnovne principe rada racunara, napravicemo kratku analizu da bude veliCine barem 17 inca, jer se sa manjim monitorima oei prebrzo zamaraju prilikom rada
neophodnog minimuma hardvera i softvera koji omogucava normalan rad raunara. S10 se tice na racunaru.
hardvera, ako govorima a krajnjem minimumu, PC racunar maze da radi ukoliko posjeduje proce
"Sor, ROM i RAM memoriju, barem jedan univerzalni ulazni uretfaj (npr. tastaturu), barem jedan uni Zvucna kartica, zajedna sa zvu6nicima i eventual no mikrofonom, ne spada u neophodan hard
verza/an izlazni uredaj (npr. monitor) j barem jedan uredaj eksterne memorije (npr. hard disk) koj! je ver, ali je veoma preporucljiv, jer bez ove opreme necete maGi koristiti racunar za reprodukciju
neophodan za dizanje operativnog sistema. Na oval spisak neophodno je dodati i napojnu jedinicu muzike sa muzi6kih kompakt diskova, niti za bilo kakve primjene u kojima je zvuk vazan faktor.
(koja omogucava napajanle racunara e!ektricnom energijom), kao i odgovarajuce prikljucne uredaje Mada se djene i kvalitet razlicitih zvu6nih kartica veoma razlikuju, razlike izmedu pojedinih
i kabfove. S druge strane, ukoliko govorimo sta bi danas jedan upotrebljiv ra6unar trebao da posje M zvu6nih kartica bitne su uglavnom samo muzickim profesionalcima, tako da ce i najjeftinija
duje, odgovor nije posve jednostavan i zavisi od namjene racunara. Danas se smatra da bi jedan zvucna kartica sasvim dobra posluziti svrsi.
moderan PC racunar trebao da posjeduje sljedece dijelove: Modem takoder, strogo gledano, ne spada u neophodan hardver, ali je danas tesko zamisliti
Maticnu p/ocu sa mikroprocesorom (po mogucnosti sto brzim), ROM memorijom, serijskim i ozbiljan rad sa ra6unarom bez mogucnosti prikljucenja na Internet, sto nam omogucava upravo
para/efnim vratima (barem po 2 komada za svaka vrata), te neophodnim kontrolerima za modem, stoga cemo ga ubrojitl u uredaje bez kojih racunar ni fzbUza ne pokazuje svoju punu
diskove. Preporucena frekvencija \aktnih impulsa mikroprocesora u vrijeme pisanja ovog moc. Razli6iti modem! razlikuju se po brzini prenasa infarmacija, a preporucena brzina prenosa
udzbenika bi!a je oka 2 GHz, a preporuceni modeli mikroprocesora bili su Intel Pentium IVi Intel je 56 kilobita u sekundi (obi6no se u specifikacijama madema brzina prenosa oznacava samo
Celeron Veli6ina ROM memorije uglavnom nije bitna, s obzirom da svaki proizvodac stavlja u siovom K, npi. 56 K).
ROM memoriju tacno ana sto zna da je neophodno za odgovarajud racunar. Ina6e, kapaciteti
ROM memorija krecu se od nekoliko desetina do nekoliko stotina kilobajta (sto je neuporedivo Pored navedenih dije!ova u neophodnu opremu spadaju i kudiste racunara, napojna jedinica i
manje od tipicnih kapaciteta RAM memorije). prikljucni kablovi, medutim ovo su dijelovi koji svakako dolaze uz svaki ratunar, tako da 0 njima
nema potrebe posebno govoriti. Takoder, pastole uredaji kOje je veoma pozeljno lmati ukoliko mate-
RAM memon/u, ciji bi kapacitet trebao da bude stn je god moguce veei, jer zahtjevi za koliCinom
rijalne mogucnosti dozvoljavaju, poput ZIP dfskova, stampaca, skenera, pisaca CD dlskova, 6118Ga
memorije rastu iz dana u dan nevjerovatnom brzinom (dobrim dijelom i zbog sve lasije pisanih OVO diskova itd. mada ani ne predstavljaju neophodnu opremu, Radije cema je nazvatl
programa). Pored toga, rekli smo da brzina rada ra6unara drasticno ovisi i od kapaciteta RAM preporuc/jiva oprema.
memorije. Preporucena kolicina RAM memorije u vrijeme pisanja ovog udzbenika bila je 256
MS, a kakva de situacija biti u vrljeme dok citate ovaj udzbenik, zaista je tesko predvidjeti. Autor
ovog udzbenika sjeca se vremena kada se sa 48 kilobajta radne memorije moglo sasvim lijepo Jedinice kojima se izrazava kapacitet memorije mnogima dje!uju prilicno apstraktno. Da bismo
radm, u sfa mnogi danasnji korisnici naprosto ne mogu da povjeruju. stekli izvjesnu sliku kolika ie zaista koliCina memorije jedan kiiobajt, megabajt, itd. navescemo nekolika
i!ustratlvnih primjera. Jedna stranica gusto kucanog teksta formata A4 orijentadono sadrzi oka
Tastatura je danas ug\avnom standardizirana, tako da se pri njenom izboru ne moze mnogo 1500-3000 znakova, taka da je za pameenje jedne stranice teksta potrebno oko 1500-3000 bajtov8,
pogrijesiti. Ipak, bilo bi pozeljno nabaviti tastaturu koja posjeduje nasa slova (C, 00, Z, itd.). odnosna oko 1,53 KB, uz pretpostavku da se znakovi zapisuju po ASCII standardu. U slucaju zapisa
Potrebno je napomenuti da je za koristenje nasfh slova neophodan i odgovarajud program za po UNICODE standardu (koji se sve 6esce korist0 gdje jedan znak zauzima 2 baita, potrebna je oko
podrsku (drajver), koji najcesce treba posebno instalirati. Takoder, danasnje aplikacije je veoma M
3 6 KB po j!dnoj stranici. Pri tome treba voditi ra6una da se misli lskljucivo na suhi, cist), neoblikovani
tesko (mada ne i nemoguce, u sta mnogi korisnici ne mogu da vjeruju) koristiti bez misa, taka (neformatirani) tekst. 6im pocnemo da ukrasavamo tekst, npr. da mijenjamo' ob!ik i velicinu slova iii da
da u neophodne dije!ove mazemo svrstati i misa. Trebamo voditi racuna da nabavimo mis sa dadajemo slike, tabe!e, formu!e ltd. zahtjevi za memorijom pocinju intenzivno da rastu. Koliko jedna
dvije iii tri tipke, jer postoje i misevi sa jednom tipkom (kakvi se, na primjer, koriste za Macintosh slika zauzima memorije, ovisi 0 vrsti i kvalitetu slike, njenoj velicini, broju boja i nacinu zapisa slike u
ra6unare). memoriji, ali opcenito se moze uzeti da jedna slika zauzima ad neko/iko kilobajta do nekoliko megaba~
Hard disk je najneophodniji uredaj spoljnje memorije, za ko]] vrijedi slican princip kao za RAM Ita: Moze sa primijetiti da sllke trose neuparedivo vise memorije nego tekst. To je i logi6no, s abzirom
memoriju: koliki god da uzmete kapacitet hard diska, uvijek ste treba!i uzeti vise. Preporuceni da sllka sadri! neuporedivo vecu koliCinu informacija od teksta (probajte, na primjer, da preko telefona
kapacite1i izrazavaju se u desetinama gigabajta, a u vrijeme kada budete citall ova] udzbenik flekomeVjerna opisete sliku koju gledate, a kaju sagavornik treba da nacrta). Ne kaze se dzabe u nar-
vjerovatno i u stotinama gigabajta iii cak i u terabajtima. '. :: odu da "jedna sllka vrijedi vise od hiljadu fije6i. Sto se Me zapisa zvutnih informacija, osnovne ]deje
o nacinu zapisa zvucnih podataka date su u adje!jku 1.1.9. Konkretna situacija jako varira od vrste j
Flop; disk je takoder neophodan uredaj za prenosenje manjih kolitina podataka (npr. tekstual
'kvalitetazvucnog zapisa, ali se generalno moze uzeti da je jednu minutu muzi6kog zapisa vrhunske
nih dokumenata) sa jednog na drugi .ratunar. Flop! diskovi su danas uglavnom potpuno stan kvaUtete feprodukcije nemoguce zapisati u manje od jednog megabajta. -
dardizirani, taka da se 0 njima nema mnogo red.
Kaka se danas vecina instalacijskih diskova za softver isporueuje na kompakt diskovima (CD~ima): Razmotrimo sada sa aspekta izlozenih objasnjenja kapacitete nekih uredaja eksterne memori-
Citac kompakt diskova mozemo slobodno svrstati u neophodne uredaje. Razne vrste CD citaea . je. Najmanji kapacltet imaju diskete. Njihov kapacitet od 1.44 MB je prili6no mali, ali sve zavisi od
razlikuju se po brzini. Njihova brzina se izrazava brojem iza kojeg slijedi znak x, a koji oznacava nacina posmatranja. Na primjer, na disketu moze stati preko 500 stranica 6istog teksta (sto ni u kom

54 55
slucaju nije malo), ali nerijetko na disketu ne moze da stane ni jedna jedina citava kvalitetna sllka, Pitanja i zadaci
5to je u svakom slucaju deprimirajuce. Takoder, u najbo\jem slucaju na disketu bi moglo da stane
nekolik6 minuta muzickog zapisa{i to ne vrhunske kvalitete}, $to je osnovni razlog za$to niko muziku 1. Kojih se hardverskih mjera bezbjednosti trebamo pridrtavati prilikom rada sa racunarom?
ne snima na diskete (mada je to principijelno moguce). OVO diskovi su drugi ekstrem po pitanju
kapaciteta memorije. Jedan jedini OVO disk (ko]i je prenosiv ureda]) maze imati kapacitet i od neko- 2. Sta se podrazumijeva pod softverskim mjerama bezbjednosti?
!lko desetina gigabajta. Ovaj kapacitet je sasvim uporediv sa kapaoitetom hard diskova (koji su 3. Opisite postupak hardverske instalacije racunara.
neprenosivi uredaji). Medutim, OVO diskovi nemaju ni izbliza fleksibHnost koju imaju hard diskovi u 4. Sta su instalaeijski diskovi, a sta instalacijski program]?
pogledu mogucnosti upisivanja i brisanja podataka, brzine pristupa podacima, itd. OVO diskovi se 5. Sta je registracljska baza j zasto nije dobra cesto instalirati i deinstalirati programe?
najcesce koriste za pohranjivanje digitalno zapisanih filmova, jer kako animirana slika nije nista
drugo nego slijed staticnih sllka koje se brzo izmjenjuju (tipieno 24 puta u sekundi), jasno je da vec " 6. Sta su softverski pirati?
7. Sta su drajveri?
i jedna sekunda pokretne (animirane) slike moze zauzeti jako mnogo memorije. 8toga se ponekad
tvrdi da.skra6enica OVO zapravo znabQigital Yideo .!disk. B. Sta je Plug-and-Play tehnologija?
9. Sta je BIOS i cemu sluti?
8to se tiee mlnimalne softverske konfiguraci]e racunara, tu je tesko postaviti neka precizna mje- 10. Opisite kompletan proces dizanja sistema.
rila. U sustini, nuzni minimum je samo operativni sistem, jer bez njega racunar ne moze raditi ama 11. Sta su dual-boot sistemi?
bas nista. Danas je na PC raeunarima preporuceno imati oeki od novijih Windows operativnih sis- 12. Sta je BIOS SETUP i kako se pokrece?
tema, a sve je popularniji i Linux operativni sistem, tako da iskusniji .korisnici eesta imaju oba opera-
13. Koje su prednosti i mane Flash 810S-a u odnosu na ROM BIOS?
tivna sistema (Windows oi u korn slueaju ne treba odbaciti, jer se aplikacije pisane za Windows oper-
atlvn! sistem ipak susrecu mnogo tesce nego aplikacije pisane za Unw?). Medutim, sa samim opere 14. Sta su multitasking operativni sistemi?
ativnim sistemom ne moze se raditi nista korisno. Mada uz veCinu operativnih sistema kao sastavni 15. Opisite odnos izmedu hardvera, BIOS-a, operativnog sistema i aplikacija.
dia dolate i jednostavnije aplikacije (poput programa za obradu teksta WardPad i programa za crtan- 16. Staje virtualna memorija i na koji naCin kolicina RAMmemorije utjece na brzinu rada ratunara?
je Paint koji dolaze uz Windows operativne sisteme), ove aplikacije su obicno nedovoljne za ozbiljan 17. Opisite ul09u pojedinih dijelova operativnog sistema.
rad. Stoga je potrebno instalirati i odgovaraju6i aplikativni softver, SIO. zavisi ad konkretnih potreba 18. Opisite neophodnu hardversku konfiguraciju savremenih PC racunara.
korisnika. 0 ovome cemo detaljnije govoriti u poglavlju 1.5. Danas se obicno smatra da skup progra-
19. Kollko tacno stranica Cistog teksta moze stati na jednu disketu, ukoliko jadna stranica teksta
rna iz paketa programa poznatog pod nazivom Microsoft Office (ko]i, na primjer, ukljucuje program
zauzima u prosjeku 2500 znakova, i ukoliko se koristi UNICODE sistem zapisa znakova?
za obradu teksta Microsoft Word, program za tabelarne proracune Microsoft Excel, program za rad
sa bazama podataka Microspft Access i jos nekoliko drugih programa) zadovoljava vecinu potreba 20. Ukoliko neki digitalni fotoaparat uspijeva da snimi 24 fotografije na jednu disketu, ko!iko memo-
prosjecnih korisnika racunara, koji nemaju vete racunarsko obrazovanje i vete prohtjeve. Kao dio rije ovaj fotoaparat koristi za zapis jedne slike?
uobicajene programske opreme PC racunara cesto se smatra i program za crtanje Corel Draw. 21. Znajuci da muzi6ki kompakt diskovi imaju kapacitet od 650 MS, a mogu zapamti1i 74 minute
muzike, izracunati koliko se memorije trosi za zapis jedne sekunde rTluzike na muzlckim
Bltno je ista6i da kolicina memorije (kako interne tako i eksterne) koju zahtijevaju pojedini pro- kompakt diskovima. (Napomena: zapis muzike na muziekim kompakt disl<ovima je daleko od
grami varira drastieno od programa do programa, tako da imamc programe ko]i zauzimaju svega optimalnog.)
nekoHko kilobajta, pa sve do programa koji zauzimaju nekollko gigabajta. Razumije se da masivniji 22. 8ta motete reCi 0 neophodnoj softverskoj konfiguradji savremenih PC racunara?
programi zahtijevaju i mocniji hardver, tako da zeljena softverska konfiguraclja namece zahtjeve na il 23. Na koji naCin softverska i hardverska konfiguracija racunara utjecu jedna na drugu?
hardversku konfiguraciju. Vrijedi i obrnuto, jer specificni hardverski uredaji zahtijevaju i specificne 24. 8ta oznacava termin bloatware?
drajvere (koji predstavljaju sofl:ver), tako da se neophodna hardverska j softverska konfiguracija
raeunara ne mogu nikada posmatrati neovisno jedna od druge.

Kvalitet programa je cesto u potpunoj nesrazmjeri sa kolitinom memorije koju zauzima, kao i sa
neophodnim hardverskim resursima koje zahtijeva za rad. Na primjer, nije nemoguce naci program
velleine nekoOko stotina kilobajta koji obavlja brte i efikasnije gotovo istu funkciju kao j neki program
koji zauzima nekoliko desetina megabajta, Naroato kratke i efikasne programe motemo naci medu
-fre.ewa(e i shareware programima, jer takve programe autori pisu lZ entuzijazma i Ijubavi, a ne iz trke
z.a: zaradom. Postoje i programl koji se namjerno prave tako da zauzimaJu neuporedivo vise memo-
rijejtraz~neLJP9redivo vise resursa nego sto bi zaista trebali, 6ime prislljavaju korisnike da kupuju
novi"~ardver i da.stalno ulatu novae u novu racunarsku opremu. Takvi programi,se obicno naziva-
"ju 'blo~ttwaFe,.programj, a takvih je danas sve vise i vise, posebno medu racunarskim igrama.

57
1.4 KOMUNIKACIJA KORiSNIKA SA RACUNAROM goden kanalu veze (elektricni signali). SHena, izmedu kanala veze i prijemnika informaclje mora se
nalazlti posrednik, nazvan dekoder, koji pretvara informacije lz oblika prilagodenom kanalu veze u
oblik razumljiv prijemniku. U nasem primjeru ulogu kodera i dekodera preuzlmaju telefonski mikro"
fan i slusalica.
1.4.1 Opca s!ruktura komunikacionog procesa
Nemoguce je zamisliti komunikacioni proces u kojem se neee pojaviti koder i dekoder u barem
U prethodnim poglavljirna upoznali sma se dataljno sa prlncipima funkcioniranja racunara. nel<om obliku. Na primjer, pri neposrednom razgovoru dva sagovornika, kanal veze je zrak, dok se
Medutim, bez obzira na say hardver i softver ko]i posjeduje racunar, nezaobilazan je Ijudski faktor
informacije kroz kanal veze prenose u vidu zvuenih talasa. Medutlm, informacije u mozgu nijednog
da bismo ad racunara imali i,kakve koristi. 60vjek je neophodan da dostavi racunaru podatke koji se
od sagovornika nisu zapisane u vidu zvucnih talasa -(tacan nacin zapisa informacija u Ijudskom
obraduju, kao i da prihvati i interpretira rezultate abrade. Drugim rijecima, neophodna je komu
mozgu do danas nije poznat, ali se sigurno zna da se ne radi 0 zapisu u vidu zvucnih talasa). Stoga
nikaclj'a izmedu 60vjeka i ratunara. Prije ne90 5tO detaljnije razmotrimo komunikaciju izmedu covje-
se u funkciji kodera javljaju usta prvog sagovornika, koja informacije iz njegovog mozga prevode u
ka i ra6unara, dacemo nekoliko opcih napomena 0 strukturi svih komunikacionih procesa koji ce
zvucne talase, dok se u funkcijl dekodera javljaju us; drugog sagovornika, koje vrse obrnuto pret-
nam biti od koristi u kasnijim razmatranjima.
varanje. U slueaju dva gluhonijema sagovornika koji gestikuliraju rukama, u funkciji kodera javljaju
se ruke, dok se u funkciji dekodera javljaju oei, itd. U oba slucaja prenose se iste poruke, sarno je
Bez obzira ko su u6esnici komunikacije i bez obzira na naCin na koji se informacije prenose
naC!n na ko]i se one prenose (t). nacin na ko]i su kodirane) drugaCiji.
izmedu ucesnika, u svakom komunikacionom procesu mogu6e je uoeitl tri bitna elementa: izvore
informacija koji saliu informacije, prijemnike informacija koji primaju [nformacije, i kanale veze
kojima se informacije prenose. Komunikacione procese mazemo podijeliti na proste u kOjima se Dodatni doprinos 8hannona je u Cinjenici da je uoCio da prilikom prenosa informaciJa kroz kana!
javlja po jedan izvor i prijemnik informacija, kao i jedan kana! veze, i s/oiene, u Kojima se javlja vise veze maze doci do gubitka informacija usljed prisustva smetnjj. Na primjer, u buenoj sredini
Izvora i prijemnika informacija, kao i vise kanala veze (na primjer, skup !judi na pijaci koji komunici" sasvim je moguee da primalac primi pogresnu poruku, zbog toga slo se prava poruka koju je poslao
raju medusobno sadrii mnostvo izvora i prijemnika informacija, kao i jos veGi braj kanala Kojima se izvor informacija pomijesala sa drugim nezeljenim zvukovima. 8toga se maze reCi da dekoder nika~
informacije prenose). Kod s!ozenih komunikacionih procesa mazema razlikovati komunikacije u da ne prima izvorni signal koji je poslao koder, vee signal pomijesan sa smetnjom, usljed cega se
zatvorenim sistemima, gdje mozema uzeti da ueesnici komunikacije fonniraju jednu cjelinu (sisw primljena poruka moze razlikovati ad paslane. OpCi model prostog jednosmjernog komunikacionog
tem) koja ne razmjenjuje nikakve informacije sa svojom okolinom, i komunikacije u otvorenim sjs~ procesa po Shannonu maze se efikasno prikazati pomocu sljede6e slike:
temima, gdje ueesnici komunikacije koji tine sistem pored toga sto komuniciraju izmedu sebe, Smetnja
razmjenjuju informacije i sa drugim srodnim sistemima (npr. skupina Ijudi unutar neke radne organi"
zacije, pored toga sto razmjenjuje informacije izmedu sabe, razmjenjuje informacije i sa pripadnici-
ma drugih radnih organizacija).
IZVOR Poruka
KODER ~ 0)
t Signa(+
SlIwtfl/U
DEKODER ~ PRIJEMI~IK

Mada sa socialaskog aspekta nije moguee posmatrati slozene komunikacione procese prosto INFORMACIJA INFORMACIJA
kao skupinu prostih komunikacionih procesa, pri razmatranju tehnickih aspekata kOlTIuniciranja razb!-
janje slozenih komunikacionlh procesa na niz prostih komunikacionih procesa eesta se pokazuje OpCi model kVlllunikacioflog pmcesa po SfI,;UI!IOII!I
sasvim opravdano. Zbag toga eemo detaljnlje razmotriti samo proste kamunikacione procese. Ove
procese dalje mozema podijeliti na jednosmjerne (nekooperativne) u kojima Informacije uvijek teku Mada Shannonov model moze djelovati prilicno naivan, on je omoguCio izvodenje veoma
samo od izvora ka prijemniku informacija (npr. eitanje novina, gledanje televizije, ltd.) i dvosmjeme detaljnlh matematsklh proraeuna koji su omogu6i1i proueavanje tehnickih aspekata komunikacionog
(kooperativne) u kojima Izvor i prijemnik mogu po potrebi zamijeniti uloge (npr. obieni razgovor). procesa. Jedan od najveCih Shannonovih doprinosa koji je izveden IZ ovog modela je euvena
Uprosc':eni model proslog jednosmjernog komunikacionog procesa prikazan je na sljedec':oj sHei: Shannonova formula koja povezuje maksima!nu teoretski mogueu brzinu prenosa informacija kroz
kanal veze sa odnosom srednje snage signala kaji Izlazi lz kodera i snage smetnjL Ova formula S8
uveliko primjenjuje pri projekliranju telefonskih i racunarskih mreza. Sa Shanonnovim mode!om
KANAL - prakticno je rodena maderna nauka 0 komunikacijama, koja je omogucila razvoj telekomunikacija,
IZVOR VEZE PRIJEMNIK odnosno nauke 0 prenosu informacija na daljinu uz pomoc': savremenih tehniekih sredstava.
INFORMACIJA INFORMACIJA

1.4.2 Metoda komunikacije covjek-racunar


Prikazani model isuvise je jednostavan da bi omogutio detaljn!ju anaJizu komunikacionih proce~
sa. Prvi detaljniji model prostog komunikacionog procesa predlozio je Claude Shannon, kojeg sma Razmotrimo sada komunlkaciju izmedu eovjeka i racunara sa aspekta opc':eg komunikacionog
vee spominjall kao jednog od osnivaca teorije informacija. Shannon je primijetio da se informacije ~ -- . modela. Jasno je da slJ informacije u racunaru pohranjene na posve drugaCijl natin u odnosu na
prakticno nikada ne prenose u onoj formi u kojaj su zapisane u izvoru, niti u forml koju oeekuje prj~ naeiil koji 6cekuje eovjek. Na primjer, sve informacije u racunaru pohranjene su u vidu binatnih bro"
jemnik. Na primjer, prilikom telefonskog razgovora dva sagovornika, informacije se kroz telefonsku .jeva, a korisnik niti zeli da taka zadaje informacije, niti zell da ih prihvaca u tom obliku. Slijedi da
mrezu prenose kao elektrieni signali, koji sigurno nisu vid zapisa informacija kako ih doz!vljavaju izmedu korisnika i racunara moraju postojati prili6na slazeni koderi I dekoderi (sa aspekta
sagovornici. Stoga se Izmedu svakog lzvora informacija i kanala veze mora nalazitl posrednik, naz- . Shanonnovog modela) koj! ee izvrsiti neophodno prilagodenje. Ti kaderi I dekoderi moraju posje-
van koder, koji pretvara informacije lz izvora (u nasem primjeru govorne informacije) u abUk prila" davati kaka hardversku, taka i softversku komponentu. Neka, na primjer, korisnik zeli da unese slovo

58 59
A Korisnik pritisce tipku A na tastaturi, koja predstavlja hardversku komponentu komunikacije ra koje zahtijeva vrsenje odredenih funkcija treba da bude sto slabiji. Bra] gresaka koje korisnik
covjek-racunar. Tastatura salje racunaru binarni signal koji informira racunar da je pritisnuta moze napraviti prilikom rada treba da bude sto manit. Posebno treba smanjiti mogucnost pravljenja
odredena tipka. Medutim, taj signal treba pretvoriti u informaciju da doticna tipka zaista predstavlja gresaka od kojih je tezak oporavak. Korisnitki interfejs mora biti sposoban da uoei mogucnost takvih
slova A, i pohraniti tu informaciju u vidu binarnih cifri (reeimo po ASCII standardu). Taj zadatak se gresaka, i da ih na vrijeme signalizira korisniku.
.obavlja u operativnom sistemu, u dijelu koji je namijenjen za upravljanje tastaturom, i taj dio opera
tivnog sistema u navedenom primjeru predstavlja softversku komponentu komunikacije 6ovjek- Korisni6ki interfejs bi trebao da bude "prijateljski raspa!ozen prema korisniku", sto se danas
racunar. Dalje, pretpostavima da je rezultat obrade koji racunar zeli da saopc! korisniku braj 42. Ovaj obiono ozna6ava engleskom frazom user friendly. Na prvom mjestu, korlsnicki interfejs bi trebao
brai je u racunaru pohranjen kao binarni broj, kaji prvo treba pretvoriti u dekadni broj, na osnovu da bude sto je god moguee prirodniji, uz upotrebu prirodnog govornog jezika gdje je god to moguee.
kojeg treba generirati neophodne informacije (npr. informacije a vizuelnom abliku cifr! "4" i "2~) kOje U slucajevima kada je to pogodno, korisni6ki interfejs maze .sadrzavati i sllke, tabele, formule i
su neophodne da se na ekranu monitora pojavi zeljeni rezultat u covjeku p-rihva1ljivom obliku. Ova zvucna saopcenja (ukljucujuCi i glas). Pozeljno je obezbijediti komande koje omogucuju korisniku da
je zadatak softverske komponente (koja takoder pdpada operativnom sistemu), dok js u ovom ponisti odredenu akeiju u slucaju da je napravio gresku (komande tipa "undo"), kao i komande koje
'slucaju hardverska komponenta monitor koji prikazuje na ekranu sliku u covjeku razumljivoj formi. obezbjeduju korisniku prikaz sistema uputa (komande tipa "he/p''). Dalje, korisnicki inferfejs mora biti
otporan na trivijalne greske kOje moze napraviti korisnik, poput slu6ajno pritisnute lipke, pogresno
Iz izlozenog razmatranja jasno je da komunikacija izmedu covjeka j raeunara mora posjedovati otkucanog slova, zamjene malih sa velikim slovlma, itd. Pozeljno je da poruke 0 greskama daju i
kako hardverski, tako i soffversk; interfejs (rijee interfejs iii meduveza opcenito oznacava bHo kratku uputu 0 na6inu kako se greska moze otkloniti. Konacno, kolicina informacija koja se u jednom
kakvu vrstu spoja koji je neophodan da bi se ostvarila komunikaGija izmedu vise komponenti nekog trenutku prikazuje na ekranu ne smije biti prevelika, jer to remet! koneentraciju korisnika (naroCito
sistema). Hardverskl lnteriejs u komunikaciji izmedu covjeka i ratunara predstavljaju odgovarajuce kada se koriste slike, koje nose veHku koli6inu intormacija). U svakom slucaju, I<omunikaeiju izmedu
ulazne i izlazne jedinice zajedno sa pripadnim veznim sklopovima, dok softverski interfejs sa6injava 60vjeka i racunara treba organizirati na nacin koji ce bit! sto je god moguce prihvat!jiviji za krajnjeg
odgovarajuea programska podrska za komunikaeiju. Tu na prvom mjestu spada operativni sistem, !<orisnika, bez obzira na poteskoee koje takav interfejs moze proizvesti prillkom konkretne realizaci-
a narocito njegov najvisi sloi nazvan ljuska, koji je direktno zaduzen za prihvatanje komandi od koris j8 softvera.
nika r prikazivanje fezultata izvrsavanja komandi korisniku. VeGina aplikativnog softvera za vrijeme
rada takoder trati sudjelovanje korisnika, taka da se pril1kom izvrsavanja apllkacija, same aplikacije Kroz historiju racunarstva razvijale su se razne metope komunikacije izmectu covjeka i racunara.
takoeter javljaju kao softverski interfejs kamunikacije c':ovjekratunar (tacnije, njihov die poznat pod U narednim odjeljeima detaljnije cemo razmotriti najrasprostranjenije metode, pocev ad komu-
imenom korisnicki interfejs apllkacije). Medutim, za nasa dalja razmatranja 0 naCinima komu- nikacije pomocu komandne Ilnije koja se prva pojavila, pa sve do najsavremenijih metoda komu-
nikacije izmedu covjeka i ra6unara uglavnom je nebitno da Ii se komunikaeija obavlja posredstvom nikaeije, 1(Oje ukljucuju i komunikaciju sa racunarom putem glasa.
korisnickog interfejsa operativnog sistema iii aplikacije.

U po6etku su metod! komunikaeije covjek-racunar bili prilagodeni iskljucivo profesionalcima, jer 1.4.3 Komunikacija sa racullarom pomocu komandne linije
je racunare koristio sasvim mali broj posebno obucenih ljudi (operatera), ko]i su bili posrednici
izmectu krajnjeg korisnika kao podnosioea zahtjeva i racunara kao davaoca usluga. Na taj nacin, svi Prvi vid komunikacije sa racunarom koji se pojavio kada je kao ulazni uredaj uvedena tastatura
podaei i informacije koji se obraduju morali su biti unaprijed pripremijeni, sto je iskljucivalo (odnosno, kada su busene kartice napustene kao sredstvo za unos podataka), predstavlja komu-
moguenost bilo kakve intervencije tokom abrade. To je ujedno bia i jedini moguci pristup u vrijeme nikacija pomocu komandne linije. Kod ovog nacina komunikacije, racunar prvo korisniku ispisuje
kada su se podaci u ra6unar unosili isklju6ivo putem busenih kartica. Takav pristup u velikoj mjeri je obavijest da od njega ocekuje komandu. Ova obavijest se naziva prompt. Prompt maze biti prosta
suzavao krug problema koji su se mogli efikasno rjesavati uz pomoc racunara. Medutim, sve veGi poruka poput "Unesi komnndu:" iii cak samo nekl znak poput ">". S druge strane, prompt maze
obim primjena racunara i njihova raznolikost imaju za posljedieu sve veei broj korisnika koji se sluie sadrzavati i neke korisne informacije, npr. koji je direktorij iii folder aktlvan, teku6i datum i vrijeme,
racunarom. Takav pristup doveo je do potrebe interaktivnog rada sa racunaram. _Korisnik u svakom ltd. Nakon toga, korisnik unos! komandu, koju racunar analizira, i izvrsava je u slucaju da je isprav-
trenutku mQra da bude u mogucnosti da vidi rezultate svog rada. Drugim rijeCima, komunikacija na (u' suprotnom se prikazuje obavjestenje da komanda nije ispravna). Nakan izvrsenja komande,'
izmedu korisnjka i ra6unara odvija se cijelo vnJeme za vrijeme rada racunara. lnteraktivni rad korisniku se ponovo prikazuje prompt, i proees se dalje ponavlja u nedogled. Oio operativnog sis-
omogucava koristenje ra6unara bez posrednika. Pri tome, korisnlk mora biti sposoban da jasno i tema koji obavlja komunikaciju pomoew komandne Hnlje (koj! spada u sloj ijuske operativnog sis-
preeizno -izlozi svoj zahtjev, i formulira ga na na6in prihvatljiv racunaru. Takoder, korisnik mora biti tema), naziva se komandni ;nterpr.eter.
sposoban -da- prati i razumije sve odgovore koje prikazuje racunar, kao i da korigira svoje akcije u
s[vcaju- potrebe. Stoga je eilj projektirati takve metode komunikacije jzmedu 60vjeka j racunara ko)i Komunikacija pom9cu ',komandne IInUe predstavljala ie glavni metod komunikacije covjeka sa
{;e'_l! sto je god moguce vecoj mjerl smanjitl potrebe za posebnim struonim osposobljavanjem karls racunarom'u operativn6m sist_E'if!1u Iv1S:DOS-.(njegC?v komandni interpreter je program pod imenom
'nl~aza rao:naJa6unaru. COlv[Jl1.'4..."m. COM). Na p.rjmjer, slika 'na S!jjed~coj strani prikazuje tipicnu komunikaciju covjeka i racunara
pomoeu komandne linjje u.Qperativnom-,slste-mu"MS-DOS: Opisa6emo ukratko sustinu komunikacije
." N.i~tl3.Jle. m~ze korisnika u tolikoj mjeri odbiti od rada sa racunarom ko!iko lose projektlran korls- prikazane-na ovoj slid (poteljn6 je.da_uc~nici-posj-eduju barem elementamo predznanje a MS-DOS
t)iqkJinterfejs. NarbCito je iritlrajuce dugo cekanje na izvrsenje pojedinih komandi, sto korisnika tjera operativnom sistemu, koji.su_ vjerQyatn6 stekli _kroz rl,,!stavu informatike u asnovnoj skoli, iako se nave-
-.n-a-pronalazenje alternativnih nacina za rjesavanje problema. Stoga je jedan od najbitnijih zahtjeva deno objasnjene_.mo.z~"Pfatttii be,z ikakvog predznanja a DOS-u). Na pocetku komunikacije ispisan je
-na koris~i6ki interfejs zahtjev da vrijeme odziva (tj. vrijeme kOje korisnik treba da 6eka da bi dobio prompt c: \;>" kOji, o$'im tinjejlice da racunar ocekuje komandu, obavjestava korisnika da je trenutni
-povratnu informaciju) treba da bUde sto kraGe. Pored toga, broj detalja kOje korisnik treba da zapamti radni uredaj eksteme' mef!1~rije- hoard disk ('c :"), kao i da je trenutni radni direktorij (folder) korijenski
".(/a bi mogao koristiti korisnicki interiejs treba da bude sto manji, a intenzitet umnog j fizickog napa- direktorij ("\"). Pretpostavimo ~a sada korisnik zen da postavi da radni direktorij bude direktorij nazvan

GO 61
"SYSTEM". Korisnik mora da Iz navedenog razmatranja mozemo vidjeti da potreba za komunieiranjem preko komandne lini-
zada racunaru odgovaraju6u je postaji i danas, Ovaj vid komunikacije u danasnje vrijeme koristi se uglavnom za potrebe iskus-
komandu, koja u ovom slueaju nih korisnika. Taka je, na prlmjer, komuniciranje preko komandne !inije i danas glavni naein komu-
glasi "CD SYSTEM" (CD potlee nikacije u operativnom sistemu UNIX, koji se koristi u v.elikim i profesianalnim ratunarskim sistemi-
od eng!. ,Qhange Qirectory). ma (najcesce za upravljanje racunarskim mrezama). Kako komuniciranje preko komandne linije
Raeunar panovo izbacuje moze biti od koristi cak i korlsnicima koji koriste Windows operativne sisteme, svi operatlvni sistemi
prompt, koji sada glasi iz Windows serije posjeduju takoder komandni interpreter istag imena (C01'll1l\ND. COM, iii CMD. EXE
"C: \ SYSTEM>", 6ime korisnik U novijim verzijama), koj! izgleda identicno kao komandni interpreter iz MS-DOS-a. Ovaj komandni

dobija informaeiju da je radni interpreter iz Windows-a mazemo pozvati taka sto cemo preko Start menija i opcije Programs
direktorij, zaista promijenjen. potraziti program nazvan MS-DOS Prompt (kaji nije nista drugo nego alternativno ime za program
Pretpostavimo dalje da korisnik COMMAND. CON! ill' CMD. EXE). cak i u slueaju da oval program nije postavljen LI Start meni, on se
zeli da prikaze spisak lmena uvijek moze neposredno pozvati navodenjem njegovog osnovnog imena (COMMAND iii CMD) prilikom
datoteka u radnom direktoriju, u pokretanja opcije Run u Start meniju. Napomenimo da se iz ovog komandnog interpretera, kada
sazetoj {ormi koja ns sadr-zi sve nam vise nije potreban, izlazi navodenjem komande "EXIT" (koja se, naravno, kuca slovo po slovo).
detalje a datotekama, i koja se
Kumullikacija pnka kU/llumbll.' lil/l}c U operulimolll prikazuje u nekoliko kalona.
sis/emu !ltV-DOS Korisnik tada zadaje komandu 1.4.4 Komunikacija sa racunarom pomocu komandnih Ijuski
"DIR /w", pri cemu "DIR"
oznaeava da zelimo pregledati sadrtaj radnog direktorija, a "fW' da zelimo pregled u sazetom obliku. Prvu nadgradnju komunikacije uz pomoc komandne linije predstavlja komunikacija pomocu
Pretpostavimo da, nakan pregleda, korisnik odluei da zeli kopirati sve datoteke eija se imena z3V1savaju komandnih Ijusk;, u kojoj je komandni interpreter zamijenjen komandnom Ijuskom (eng I. com-
nastavkom". 8YS" na disketu. On tada zadaje komandu "copy ;,. SYS A:". Ovdje "copy" predstavlja mand shem. Komunikacija pomocu komandnih Ijuski nalazi se na pre!azu izmedu komunikacije
komandu za kopiranje, ";' . SYS" predstavlja sve datoteke koje imaju nastavak " . 8Y8" (znak "*" je tzv. pomo6u komaridne linije i danasnjih metoda komunikacije uz pomo6 grafickog okruzenja. Naime,
dzoker znak koji zamjenjuje proizvoljnu grupu znakova), dok oznaka "h:" predstavlja disketu. Prilikom komandne Ijuske jos uvijek mogu koristiti tekstualni nacin rada (tj. u kojem se prikazuje sarno tekst
kopiranja, racunar obavjestava korisnika koje su datoteke kopirane ("COl.JtT'TRY. SYS", "DISPLAY. SYS" i i, eventual no, specijalni znaci, bez ikakvih slika). Medutim, u komandnim Ijuskama komande se ne
"KEYBOARD. SYS"), kao i brej kopiranih datoteka (3). Nakan obavljenog kopiranja, ponovo se prikazuje kucaju (slovo po slovo), nego se biraju iz spiska ponucJenih komandi.lzbor komandi se najcesce vrsi
prompt, i raGunar js spreman da prihvati narednu komandu. pomo6u meniJa (jzbornika). Men]ji su, zapravo, spiskovi alternativnih akcija koji se prikazuju na
ekranu, i iz kojih korisnik vrsi izbor jedne od akcija koju 6e racunar izvrsiti. Meniji u komandnim
Iz izlozenog primjera se jasno vidi osnovni nedostatak komunikadje uz pomo6 kamandne Ilnije. Ijuskama uopce ne moraju da imaiu izgled menija sa kojima se korisniei susre6u u Windows opera-
Nairne, da bi korisnik magao da komunicira sa racunarom, on mora da zna koje komande racunar tivnim sistemima. Meni moze biti ma Imkav spisak ponudenih akeija, od kojih korisnik na neki nacin
razumije, Imo i nacin njihovog ispravnag koristenja. Drugim rijeeima, korisnik koji ns zna komande moze izabrati jednu od akcija (npr. pritiskom na dug me koje odgovara red nom broju trazene opeije).
ne moie sa racunarom da uradi nista. Stoga je pristup preko komandne lihije bio dugo vremena Jedan takav meni mogao bi, na primjer, izgledati ovako:
odbojan za vecinu korisnika, kojima je ucenje komandi i njihove ispravne upotrebe predstavljalo veli-
ki problem. Ipak, komuniciranje pomocu komandne linije ima dvije bitne prednosti u odnosu na 1. Uno" novih podataka
2. UC.i tavanje postojecih podataka
ostale vrste komunikaeije, Prva, oval nacin komuniciranja ne dozvoljava neiskusnim korisnicima da
3. Snimanje podataka
nap rave veliku stetu. Na primjer, u operativnim sistemima Windows potpuno neiskusan korisnik 4. Pregled podataka
moze k!ikcuCi na razne ikone i birajuci razne opeije iz menija (Gije znacenje ne zna) da nesvjesno 5. Stampanje podataka
pobrlse veliku kolicinu podataka sp. diska, iii da izmijeni razne sisternske parametre racunara, i da 6. Kraj rada
na taj naCin napravi neproejenjivu stetu. S druge strane, to nije moguce pri!ikom komuniciranja preko
komandne liniie. Na primjE)r, ukollko korisnik ne zna da za brisanje svih datoteka iz nekog direktori- Maderniji meniji obicno omogucavaju da se izbor zeljene opcije astvari pomicanjem trake koja
ja treba atkucati komandu UDEL *.~", Gn to ne moze uraditi s/ucajno, tako da je znatno smanjena oznacava trenutno izabranu opciju uz pomoc tipki sa strelicama na Jastaturi, iii uz pomoc nekog ad
mogucnost slucajne stete_, Drugo, Komunikacija putem komandne linije moze da bude znatno brza pokaznih uredaja kao sto je mis (dovodenjem pokazivaea mi~a na ielje.nu opciju i priti~kom na taster miSa).
nego drugi vidovi komunikaeije:- PrQba:jtej na primjer, .da pomocu Windows operativnog sistema sve
datoteke sa nastav_korn." : TXT" Gije' line poeinje sa ';PR" sa diskete iskopirate na hard disk u folder Komandne Ijuske pojavile su se prilicno davno, tipicn~kao d6dacf~a-M$-DOS-ill UNIX opera-
nazvan "RADNI", a da pri -tom~ pr6'in)JenilEl:. naSlayke svih datoteka iz " . TXT" u " . INF", Ko)i god pas- tivni sistem. Jedan ad prvih popularnih komand~ih Ijuski za MS~DOS. ~o je program Norton
tupak budete koristili, treb.?fCe v.<;t.m~~osia_ posla. S druge strane, pomocu komandne liniie dovoljno je Commander (program istag imena, koji se razvio iz iz.vQmog -Ndf:.fQ'n :CommC!ndera, koristi se i
ukucati samo jednu komandu.,koja. ~fa~i-"CQP'l A: PR *._ TX'l' C: \RADNI\PR * . INF", sto je, morate danas pod Windows operativnim sistemima kao alternatlva za-program: Windows Explorer). Uz ver-
priznati, znatno brio (bez obzJra' sj<Finozda Srnatrate da je metod komuniciranja preko komandne ziju MS-DOS 4.0 kao sastavni dio operativnog sistema-, ispo.ruc[vala: se i komandna Ijuska
linije sa,danasnjeg aspekf.<i prihlTtiv.an).- MS-DOS Shell (fizicko ime ovog programa je DOSSHEI~L. EX.-~)-, Koja se mogla koristitl kao alterna~
fiva klasicnom komandnom interpreteru CGr1l'lAND. CQ:M. Sljedeta' ~lika -prikazuje primjer komu~
nikacije sa racunarom uz pomoc ave komandne lluske:" -

62 63
U komandnim Ijuska- ikone. Takoder, komande se mogu zadavati izborom lz spiska moguclh l{Dmand1 (opcija). Ovi
ma, pojavili su se pored spiskovl nazivaju se meniji. lzbor ikona Hi opelja iz menija vrsi se pomjeranjem odgovarajuceg
menija i drugi elementi pokaz;vaca koji je vidljiv na ekranu pomocu tipki sa strellcama na tastaturi iii, jos 6esce, pomica-
komunikacije Covjek- njem nel{Dg pokaziva6kog ulaznog uredaja (npr. mlsa), a zatim potvrdom izbora pritiskom na dugme
racunar, ko)i i danas ENTER na tastaturi iii pritiskom (klikom) na dugme misa (obi6no dvosfrukim). Na sljedecoj sllei
sacinjavaJu srZ modernih prikazano je kako koncept WfMP izgleda u Windows 95/98 operativnim sistemima:
metoda komunikacije
izmedu covjeka i masine.
Na primjer, tu spada -~
metod komunikacije upit~
odgovor, kod kojeg
racunar postavlja pitanje
Coruw.l1d Pl'()Opt (najeesce DAiNE tipa),
korisnik na njega daje
odgovor, nakon 6ega
racunar lzvrsava akciju
ovisnu od odgovora.
Dalje se cesto susrece i
metod popunjavanja
formu/ara (obraz8ca).
Kmtnllli!w,ija prekn komnluinc ljuske DOS Shell u Kod ovog metoda komu-
opcrativnnm sistemu MS-DOS' nikacije, ra6unar na
ekranu prikazuje formular
sa kurzorom postavljenim na PNO polje koje se popunjava. Kada korisnik popun~ sadrzaj ~olja,
omogucuje se prelazak kurzora na sljedece polie, i tako $ve dok se formular ne popunl (naprednlJI fO.r-
mulari posjeduju mogucnost popunjavanja polja proizvoljnim redoslijedom, kao i izmjenu vee une~enjh
podataka). Konacno, treba spomenuti i funkcionalne kljuceve, kod kojih korisnik m?ze ~a ~e~i na61n da
prebaci ra6unar iz jednog stanja rada u drugo stanje (npr. pritiskom na neke komblnaclje tl~kl n~ tast~
turi) neovisno od stanja u kojem se ra6unar nalazio. 0 ovim savremenijin: .meto?am~ komu~l~acIJe, ~.o!e WIMP konr:ept u Windows opcmthnim sisttrnimrr
mada nisu nuzno vezane za graficko okruzenje, detaljnije cemo goYontl u sijedecem odJeljku, kOjl Je
posvecen komunikaciji uz pomoe grafickog korisnickog okruzenja. Na gornjoj slici je zapravo prikazano mnostvo ikona i dva prozora. Koncepte koji slijede objasnieemo
na primjeru Windows operativnih sistema, sa Cijim principima koristenja ste se vee upoznaH u nastavi
Ii
informatike u osnovnoj skoli. SIi6nl koncepti vrijede za vecinu drugih grafickih korisni6kill okruzenja.
1.4.5 Komunikacija sa racunarom pomocu gralickog okruzenja Podsietimo se da u Windows operativnim sistemima prozori imaju na vrhu traku sa nas/ovom,
sa 6ije se lijeve strane nalazi dugme~ikona za poziv sistemskog menija, a sa desne strane niz dug~
Danasnja komunjkacija korisnika sa racunarom najcesce se zasniva na grafickom mad!, najcesce (redom sa lijeva na desno) dugme za sa/aivanje sadrtaja prozora (minimizaciju),
korisnickom okruienju, odnosno GUI okruienju (1afaphieal 1!ser Interface). Mada su ovakva dugme za povecavanje prozora na veli6inu cijelog ekerana (maksimizaciju) i dugme za zatvaranje
korisni6ka okruzenja postala poznata sirem krugu korisnika tek pojavom Windows operativnih s~s prozora. Ponekad se susrece i dugme za prikaz pomo6i. Samo jedan prozor maze u jednom
tema, njihov koneept je mnogo stariji. Taka je, na primjer, vee 1~78. g.~dine firn:'~ .xer?x razv!la trenutku da bude aktivan (aktivni su oni prozori koji,primaju komande ad korisnika). Aktivan- prozor
. graficko okruzenje za STAR radne staniee, a firma Apple je u SVO)u sefiJu operatlvmh sistema za ima traku sa naslovom drugatije boje (obicno plave) od traka sa naslovom ostalih prozora (obicno-
Macintosh racunare (Mac OS) ugradila grafiCko okruzenje znatno pr!je pojave Windowsa. Zapravo sive). Prozor moterno uciniti aktivnim tako sto pokazivac misa dovedemobilo gdje na vid!jivi, dio .
je Windows operativni slstem (naroClto verzija 95 i kasnije verzije) pre-u_z_e?: .m~o~e [deJe. {jpra~o i~ povrsine prozora i kliknemo misem. Alternativno, izbor aktivnog prozora mazemo vrsiti i pre~o trak~"
grafickog okruzenja operativnih sistema za Macintosh raeunare; z~mg. cega)B. Mlcr~soft Imaocak 1 sa zadacima (engl. taskbar') koja se obicno nalazi u dnu radne povrsine (engl. desktop) i u kojo]_ S8
sudski spor sa kompanijom Apple. - - - nalazi, pored ostalog, i spisak svih trenutno otvorenih prozora. Prozare mozemo pomjerati' po raQ~
noj povrsini, taka sto pokazivac misa 'dovedemo na traku sa naslovom, nakon cega pomjeram5?-~
Graficka korisnicka okruzenja zasnivaju se na konceptu poznatorl) - .pod _nazlvom WIMP misa, drzedi pri tome pritisnut lijevi taster misa. Na sli6an nac!n,mijenjamo i velicinu prozora, ~ tim
(Windows, Icons, Menus, 1:ointer5). Objasnimo na cemu se zashiva-Ov~jk6119_~Pt. Rad~i ~ro~tor ~a sto prethodno pokazivac misa dovedemo na jednu ad cetiri {vice prozora.
ekranu podijeljen je u neovisne pravougaone ejelfne naz.van~ p~OZ0r.l.- .PmJ:or: n~_ ~nmjer, moze
prikazivatl sadrzaj nekog dokumenta, a moze sadrzavati i niz ~ali~ sH?ica-nazy.a~!~ rlrone. Sva~a U Windows operativnim sistemima koriste se dvije vrste menija. Prvu vrstu predstavljajLi" pad~
ikona je predstavnik nekog programa, dokumenta, komande Iii ~r~daJa ~~p:. dls~ete). _Zadav~nJe Judi meniji (engl. pulldown menus), koji izgledaju kao da padaju jz trake kOja se nalazi ispod trakesa
komandi, pokretanje programa i prikaz dokumenata moze, se vrSltI pros~m Izborom-odgovaraJuce naslovom prozora. Ova traka naziva se glavni men; (eng!. main menu), i ona sadrzi imena sVih pada-

64 65
jucih manija. Padaju6i meni S6 otvara tako sto dovedemo pokazivac misa na njegovo ime u glavnom izvrsavanje komandi koje su na njima napisane. Pastoje jos mnogi drugi elementi koji se susrecu u
meniju i_ kliknemo lijevom tipkom misa. Meni prikazan na prethodnoj slici bio je upravo padajuei men! slozenijim dijalozima u Windows operativnom sistemu, poput traka za pomak (eng!. serol/bars),
(nazvan "Edit"), dok je glavni meni sadrtavao imena 6etiri padajuca menija ("File", "Edit", "Search" i traka sa alatirna (eng!. too/bars), itd. Opis svih ovih elemenata oduzeo bl previse prostora, taka da
"Help"). Drugi tip menija nazivaju se iskocni meniji (eng!. popup menus)~ Ovi meniji iscrtavaju se se na njima necemo zadrzavati. Sa veCinom ovih elemenata vjerovatno ste se vee upozna!i kroz
odmah pored objekta na koji se odnose, a obicno se dobijaju dovodenjem pokazivaca misa na za- praktiean rad sa Windows operativnim sistemom u toku nastave informatike u osnovnoj skolL
Ijeni objekat i klikom na desnu tipku misa. Kako ovakvi meniji tipicno sadrze komande koje su vezane
za objekat na koji se odnose, cesto se nazivaju i kontekstni meniji (engl. context menus). Pril!kom komunikacije u grafitkim korisni(:kim okruzenjima veoma testo se koriste i sistemi
povezanih dijaloga, pri camu na svakom od dijaloga postoje komandno dugma "Sljeda6i" (engl.
Opeije u meniju kOje trenutno nisu dostupne iz nekog razloga oznacene su bfijedom bojom. Kraj "Next" za_prelazak na sljedeCi dijalog, komandno dugme "Prethodnl" (eng!. "Back") za povratak na
vecine opcija u meniju napisane su 6znake skracenica (eng!. shortcuts) koje omogucavaju da se prethodni dijalog, kao i komandno dugme "Kraj" (engL "Finish") pomoeu kojeg se prihvataju svi
odgovarajuca opeija pokrene pritiskom na odredenu tipku iii kombinaeiju Upki na tastaturi, bez podaci unijet! u svakom od dijaloga. Ovakvi sistemi povezanih dijaloga u iargonu se nazivaju carob-
potrebe za otvaranjem menija. Na primjer, opcija "Cut" iz menlja "Edit" skraceno 58 moze aktivirati nja.ci (eng!. wizards).
pritiskom na kombinaeiju tipk! Ctrl+X. Na ovaj nacin ostvarena je neka vrsta funkeiona/nih kljuceva.
Oijalozi se u grafickim korisniekim okruzenjima koriste i za realizaciju metode komunikacije tipa
Prozori koji su specijalno dizajnirani iskljudvo za komunikaciju racunara sa korisnikom, a ne npr. upit-odgovoL Na primjer, na s!ici sa desne strane iskoristen je jednostavni dijalog sa tri komandna
za unos nekog dokurnenta ill prikaz sadrzaja diska, nazivaju S8 dija/ozi. Na sljedecoj sHei prikazan dugmeta za reaHzaciju ovog tipa komunikacije. U prikazanom slucaju racunar postavlja upit "Da Ii
je jedan tipican dijalog, sa nekoliko kamkteristicnih elemenata: zelite snimiti izmjene u dokumentu?" na koji korisnik
Po(jc maze dati odgovor ONNE tipa, a predvidena je i variM x
janta "Odustani" (engl. "Cancel") kojom se u potpunosti
(;'''IOS Radio ponistava komanda koja je dovela do pojave ovog upita Da Ii ze!ite snimiti izmiene UdDkumentu?

pOlm~.L.X[ . /
Ime I-liMn
2 r. Musk;
dug mad

/'
(sto treba razlikovati od odgovora NE). Pritisak na tipku
Esc na tastaturi najeesce je ekvivalentan izboru opelje
"Odustani". Primijetimo da je dugme "Oa" posebno obi-
Ijezeno, sto znaei da je odgovor "Oa" podrazumijevani
r Zemki odgovor koji 6e se prihvatiti ako korisnk samo pritisne
IDraganovi6 Dijalozi kao sredstvo za realizaciju
tipku ENTER. Napomenimo da vecina upita u
Sekciie' foUa za .. kolftullikacijc lipa upit-odgovor
danasnjim korisnickim interfejsima nude upravo odgo-
Ad(esa r Likovna lzbor opCl}a
vore tipa Da/Ne/Odustani (engl. Yes/No/Cancel).
I Muzicka , ./

Skola: IGimn"dia "Me"%d Selimovi6"
P Folklorna / ' Bitno je napomenuti da odgovor "Oa" (odnosno "Yes") nije uvijek i najbolji odgovor u svakoj
'111 ;,
r SpO!(SKa situaciji. Na primjer, na pitanje tipa "Da Ii zelite obrisati kompletan sadrzaj diska", odgovor "Da" ne
Razred 1 ..:J hi Dramska KomunJnu Illoze se smatrati preporuc!jiv!m odgovorom, osim ukoliko to zaista ne zelite!
dugme

Pad(ljuca
lista Prih'lati upis 1.4.6 Napredne meiod" komunikacije covjek-racunar

U danasnje vrijeme sve su vise prisutni trendovi da se komunikacija izmedu covjeka i ra6unara
sto je god moguce vise priblizi metodima komunikacije izmedu !judi. Posto je govor najjednostavni-
Primjer diia1ugc: u gruji(;l.,ufIJ kurisllIBulll Oknl:'~e/~ill
je i najprirodnije sredstvo ijudske komunikacije, !ogicno je da se mnogo.napora ulaze u razvoj sred-
Opisimo sada ukratko prikazane eiemente. Polja za unos (eng!. input boxes) su elementi dijalo- stava ko]i ce omoguciti komuniclranje izmedu (:ovjeka i racunara putem glasa. Zvueni unos
podataka u racunarske sisteme jos uvijek nije dovoljno mzvijen, ali je Vee postao tehnoloski izvodiv
ga koji sluze za popunja~anj\?~obra~c~ neor?nodnim informacijama. Poljima za unos su slitne i pada~
za niz raznovrsnih primjena. Kada se zvucni ulaz jednq-g dana usavrsi,- on c8" predstav!jati najlaksi i
juce liste (engl:' comqo boxesy!:coje, ombgucavaju da se aktiviranjem strelice sa desne strane
najpouzdaniji metod unosa podataka i konverzacije. .
prlkaze odnosno "otvori"- splsa.K9Pcija (kojj podsjeca na meni) iz kojeg korisnik moze da izabere
jednu od opcija, umjel;to da vrsi' .upi,s .pre:ko -tast9-ture. ~adajuCim listama su sli6ne i liste opcij/f!
(eng!. list boxes), koje::-nisu:prik.azane n,l prethodl")oj slici, a koje se razlikuju od padajuCih listi po U danasnje vrijeme vee pastoje uredaji 2:a zvucno:UJl(J$enj_e.pp'dat~k~ri pulem mikrofona. Ovakvi
tome sto su uvijek 6tvotene, tako..d,;t"s:e-na ekranu.vide sve opelje, iii dio opeila (u drugom slucaju sistemi za sada posjeduju rjecnlke od nekoliko hilja_da"rijeCi; kao_t _iT!ogucnost istovremenog podrza-
sadrzaj liste opeija moze se-pomj~rati naprijedili 'hazad pomocu vertikalnog klizaca koji S8 nalazi sa vanja, vise korisnika. Princip rada ovakvih sistema zasniv?- sp.-n9-:!!potrs.bi -specijalnj~ mikroproceso-
desne strane). PoQ;iza ;zbor opcija (erig!: check boxes) predstavljaju kvadratice koji omogucavaju ra za potrebe raspoznavanja zvuka. Naza!ost, veeina-S.istema -za .govon)~ uJaz zahtijeva "trenln9"
uklju6enje iii is~!jucet1je. neke cd opGiia~ kale mogu biti ukljutene u Isto vrijeme, za razliku od ra.dio racunara da bi on bio u stanju da prepozna ograni6eni"broj rljecfsvakog pojedinca ko]i koristl sistem.
dugmadi (engL radiO butlonsfkoja omogucavaju lzbor jedne iz grupe opeija od kojih samo jedna Operateri treniraju sistem putem ponav!janja svake rijeci iz rjetnikavioo puta, time se ratunar "uci"
maze biti ukljucena u isto- \.-rijeme. 'Komandna dugmad (eng!. command buttons) sluze za da prepozna njihov glas. Dobra utrenirani slstemi postizu -ta6nosf od ~reko 99% prilikom raspozna-

66 67
vanja rijecL Da bi Se izbjegla potreba za trenlranjem, danas se intenzivno radi na razvoju sistema za ka sa racunarom. SistemskE( integracija se odnosi na potrebu da se svi dijelov! racunarski zasno-
raspoznavanje govora neovisnih ad govornika, koji bi trebali racunaru omoguCiti da prepozna glas vane aplikacije:objedine u jedinstveno, cjelovito okruzenje, sto se maze postiCi pazljivim projekti-
govornika koji nikada prije nije 6uo. Mada su svi danas dostupni sistemi za raspoznavanje govora ranjem korisnickih interfejsa pojedinih dijelova, taka da oni mogu kamunicirati izmedu sebe.
jos uvijek prilicno ograniceni, sve viSe i vise kompanija koristi ove sisteme za razlicite potrebe. Jedna fnterdisciplinarna lntegracija tezi da u projektiranju racunarskih tehnologija uk!juci aspekte koji
od mogucih primjena ovih sistema je identifikacija govornika koja se koristi u raznim sistemima,elek* uklj~cuju ~'udsk; faktor kao bitnu komponentu za uspjesnu primjenu racunarskih tehnologija, poput
troni6kog obezbjedenja. soclofosklh aspekata (npr, problem otudenja, problem gubltka privatnosti, itd.), pSih%sMh aspeka~
fa (npr. problem st:aha od novih tehnolog!ja), organizacionih aspekata (npr. problem organizacije
Uredaji za zvu6nu prezentaeiju informacija su znatno razradeniji nego uredaji za zvucno posl~), ergonomsklh aspekata (npr. problem sto udobnije veze korisnika sa sistemom), i mnogih
unosenje podataka. Oanas se intenzivno koriste eipovi nazvani sintetizatori govora, kolt sadrze druglh aspekata. _.., '
svu neophodnu elektroniku, (tipi6no zasnovanu na mikroproeesorskcij tehniei) za proiivodnju Ijud-
skog glasB. Prvi ovakav 6ip razvila je firma Texas Instruments jos 1978. godine za potrebu proizvod- U vezi sa interdiscipllnarnom integracijom narocito je neophodno istaCi ergonomiju kao rela-
nie igracaka koje su govorile. KValitet glasa je u to doba bio veoma los, medutim danasnji sintetiza- tivno novu nauku kOja se bavi problemima projektiranja oblika i flzickih karakterlstlka radnog pro-
tori govora proizvode govor koji je prakticno nemoguce razlikovati od govora zivog covjeka. Danas stora, u!aznih i izlaznih jedinica, kao i njihovog smjestanja u radno okrutenje sa ciljem sto udobnije
se sintetizatori govora uspjesno koriste u racunarskim sistemima koji su u stanju da ponude koris- veze izmedu covjeka i masine. Ergonomska istraZivanja najvise su usmjerena u pravcu mjerenja
nicima odgovore na upite i druge ulaze putem telefona. Sasvim je jasno da 6e prezentacija infor- intenziteta zracenja i nivoa osvijetljenostl ekrana, mjerenja i izbora pogodnih fizickih dimenzija tas-
macija putem govora u budu6nosti vjerovatno biti najjrasprostranjeniji vid prezentacije informaclja. tature i ekrana, izbora dimenzija i oblika radne stolice, izbora boja na ekranu ugodnih za oci, itd.
Stoga kao osnovne ciljeve ergonomije mozemo navesti smanjenje bUke i suma u radnom okruze~
U napredne metode komunikacije covjek-racunar spadaju takoder i interakUvne graficke nju, pravilnu regulaciju temeperature u radnom okruzenju, smanjenje zracenja i jakog svjetla sa
komunikacije, kod kojih korisnik neposredno uprav!ja prikazom grafickih objekata koj! se prikazuju ekrana, prevazilatenje problema sa zamorom ociju i eventualnim ostecenjima vida usljed duzeg
pomocu nekog interaktivnog lzlazn09 uredaja (ekrana iii multimedijskog projektora). Na primjer,_na rada sa racunarom, kao i projektiranje i izbor udobnog namjestaja (prvenstveno radne'stoliee).
ekranu moze biti prikazana slika nekog trodimenzionalnog objekta (reeimo, neke kuce), a ko'risnik
moze upravljati nacinom prikaza tog objekta (poput podesavanja daljine i pravca posmatranja objek-
ta), uvecavatr i smanjivati prikaz, vrsiti prikaz samo pojedin!h detalja objekta iii cak prikazivati
unutrasnjost objekta (poput prikaza izgleda pojedinih prostorija unutar kuce), itd. Tipican primjer
interaktivne graficke komunikacije javlja se u vecini savremenih ratunarskih Igara. Korlsnik uprav
Ija prikazom pomoc:u nekog od ulaznih uredaja koji dopusta interaktivnu komunikaciju sa racunarom
(tastatura, miS, paliea za igru, grafi6ka tabla, itd.). U posljednje vrijeme se za interaktivnu grafi6ku
komunikaciju veoma cesto koriste speeijalno projektirane grafieke table, kao i ekrani osjetljfvi na
dodlr, koji predstavljaju specijalnu vrstu ekrana koji mogu da detektlraju i registriraju mjesto na
ekranu na koje je korisnfk izvrsio pritisak prstom (ill specijalnom pisaljkom), taka da takvi ekrani
pored funkcije izlaznog uredaja obavljaju i funkeiju ulaznog uredaja.

1.4.7 Integracija interaktivnog okruzenja racunarsli:og sistema

Integracija predstavlja izuzetno vaznu osobinu interaktivnog okruzenja racunarskog sistema, s


obzirom na mnostvo podsistema koje trebaju da pomognu krajnjem korisniku u obavljanju njegovih
poslova. Integriran sistem korisnicima treba da omoguci jednoobrazan i j'ednostavan pristup svim
sredstvima i u svakom trenutku. Pri tome, korisnicki interfejs treba da iskoristi sva raspoloziva hard-
verska i softverska sredstva kako bi korisnik mogao sto prirodnije"komunicirati'sa ra6unarskim sls-
temom.

Osnovni aspekti integracije 0 kojima treba voditl racuna u savremenifli ratt;Jnarskim sistemima
su funkcionalna integracij8, integracija medija (iii multimedijskaJntegradJa1; -siStemska inte~
gracija i interdiscipfinarna integraci/a. Funkcionalna integracjja. PQdrSt~miLev.a- ostvarenje jed~
noobraznog I konzistentnog pristupa svim sredstvima i funkeijama koje ra:C.l!na:i'ski _sistem ukliucuje.
Druglm rijecima, I<orisnik koji je jednom ovladao skupom komandi i pqstuppfma za obav1janje nekog '.'~- '.
pasla, ne bi trebao da-bude prisifjen da pri obavljanju istog-jli'sn6r10g posla 1,J drugi?m -konjekstu uCi
posve nove komande i postupke. CHj integracije medlj'S Ie stvar~nje sistema .\<oif de modi raditi sa
informacijama bez obzira da Ii su one raspolozive u obllku pisanog teksta-,-tabela, slika, govora, elek-
tricnih signala, ltd. Ovaj vid integracije donosi preduvjete za znatno prirodniju komunikaciju kOrisni-
68 69
Pitanja i zadaci 1.5 PRIMJENA RACUNARA

1. Ko]] su bltni element] svih komunikacionih procesa?


2. Kakve vrste komunikacionih procesa pastoje? 1.5.1 Klasicne primjene racunara
3. Opisite mode! prostog jednosmjernog komunikacionog procesa po Shannonu.
4. Kakva je uloga kodera i dekodera? Nakan sto sma se detaljno upoznali sa sistemskim softverom i savremenim metodama komu*
nikacije izmedu covjeka i racunara, neophodno je razmotriti klase primjena racunara i odgovarajud
5. Na koj] nacin smetnje utjecu na komunikacioni proces?
apfikativni softver za realiziranje tlh primjena. !zlaganje cemo zapoeet! sa klasicnim primjenama
6. Navedite primjere nekih komunikacionih procesa iz stvarnog zivota, j u06ite kako se njihove racunara kOje se koriste jos od pojave prvih racun?ra pa sve do danasnjih dana, U najpoznatije
komponente uklapaju U opCi Shannonov model. klasicne primjene racunara spadaju naucno-tehnicki proracuni i masovne abrade podataka.
7. Sta sacinjava hardverski j softverski interfejs komunikacije izmedu covjeka i racunara?
8. Sta predstavlja interaktivni rad sa racunarom? Nau6no*tehnicki prora6uni su, historijski gledano, prva klasa primjena racunara kOja se razvlla.
9. Kakva bi svojstva trebao da posjeduje dobar korisnicki interfejs? Karakteristika ove primjene facunara su slozen!, matematski zasnovani postupci, kOje je rucno
10. Opisite komunikaciju izmedu covjeka i racunara putem komandne !inije. veoma tesko, a cesto i nemoguce rijesiti u razumnorn vremenu, lako je postupak -rjesavanja poznat.
Na primjer, sabrati skupinu od milian brojeva koji podlijezu odredenim zakanitostima principijelno
11. Koje su prednosti i mane komunlkaeije putem komandne Hnlje?
nije nikakav problem, mada je za taj posao covjeku potrebno vise mjesed fucnog rada. S druge
i2. Kako mazema karnunicirati putem komandne linlje u' Windows operativnim sistemima? strane, racunar ova] zadatak moze obaviti skoro trenutno. Realisticniji primjer je rjesavanje sistema
13. Sta su komandne Ijuske? jednaCina. Ucenicima je poznato iz nastave matematike da vec rjesavanje sistema od dvije Hi tri Ii~
14. Koje elemente komunlkacije izmedu covjeka i racunara susrecemo u savremenim korisnickim nearne- jednacine sa dvije iii tri nepoznate mote biti zamoran posao. Siozenost ovog postupka
intetiejsima? drastiCno faste sa porastom broja jednacina, tako da mada je postupak rjesavanja sistema od N li~
15, Sta je WIMP koncept? nearnih jednacina sa N nepoznatih sasvim poznat, covjek bi se sa papirom i olovkom u najboljem
16. Opisite glavne elemente grafickog korisnickog interfejsa u Windows operativnim sistemima. slucaju mogao izboriti sa sistemom od dvadesetak jednacina, i to za prilicno mnogo vremena.
17. Sta su dijalozi, a sta carobnjaci? Racunarima nikakav problem ne predstavlja rjesavanje sistema jednacina gdje bro] jednacina moze
iznositi i nekoliko desetina hiljada, a potreba za rjesavanjem takvih sistema itekako se javlja u prak-
18. Na koji nacin dijalozi omogucavaju realizaciju metode komunikacije 60vjeka j racunara tipa
si, npr. u elektrotehnici, gradevinarstvu, masinstvu, fizici, hemiji, ltd. Prvobitni naucno-tehnicki
upit*odgovor?
proracuni koristili su se za proracune u nuklearnim procesima i raketnoj tehnici, a kasnije su se
19. Sta se do danas uradilo na planu eventualne komunikacije covjeka i racunara putem govora? prosirHi na mnoge druge oblasti nauke i tehnike. Osnovna karakteristika naucno*tehnickih proracuna
20. Sta su interaktivne graficke komunikacije? je obavljanje s/otenih postupaka nad reiativno rna/om kolicinom ulaznih podataka.
21. Sta predstavlja integraeija interaktivnog okruzenja ra6unarskog sistema, koje vrste integracije
postoje, i kakvom se problematikom bave? Masovna obrada podataka je, lako jedna od najstarijih, mozda jedna ad najzastupljenijih prim*
22. Koje probleme u oblasti primjene racunarske tehnologije pokusava da rijesi erganomija? jena racunara sve do danasnjeg dana. Za razliku od naucno~tehni6kih proracuna kod kojih se obav*
Ijaju slozeni postupei nad relativno malom kolieinom podataka, kod masovne obrade podataka se
obavljaju sasvim jednostavni proracuni, ali nad ogromnom kolicinom pO,cjataka. Na prlmjer, posma~
trajmo obracun potrosnje elel<tricne energije. Ukoliko treba izvrsiti obracun za samo jednog
potrosaca, za taj posao nam ne treba vise od minute (uz dobar kalkulator). Prvo je potrebno oduzeti
posljednje oeitanje brajila utroska e!ektricne energije ad tekuceg oCitanja da utvrdimo broj potrosenih
kilovat*sati, a zatim je potrebno pomnoziti utrosak sa cijenom jednog kilovat-sata. U slucaju da
lmamo dvotarifno brajllo, postupak je potrebno obaviti posebno za visu i nizu tarifu, nakon cega
treba sabrati ova dva obracuna da dobijemo ukupan lznos koji treba platHi. Medutim, sta ukollko
treba obavlti obracun potrosnje elektricne energije za citav grad koji ima 500000 potrosa6a?
Ocigledno bi bilo potrebno zapos!iti ogromnu kolicinu Ijudi koji bi moral! danonacno obavljatl veorna
dosadan posao da bi se kompletan obracun zavrsio na,vrijeme. Pri tome je vjerovatnoca greske
veorna velika, usljed dekoneentracije i zamora- radnog osoblja uzrokovanog krajnje jednolicnim i
nekreativnim poslom. Isti posao danasnji racunari mogu obaviii za nekoliko minuta bez greske, tako
da je prednost ocigledna. Masovne abrade podataka danas se koriste u svim vecim preduzecima za
obracune plata i finansijsko poslovanje, zatim u drzavnim organima uprave, kao i u svim ustanova-
. ma u Kojima se vade evidencije stanovnistva, pareznih obveznika, vojnih obveznika, automobila,
glasaca, ucenika, studenata, itd. Tesko je zamisliti ljednu ozbiljniju instituciju u kojoj se ne bi javila
potreba za masovnom obradam podataka u barem nekom obliku.

70 71
1.5.2 Programi za obradu teksta u dokumentu, Na primjer, upute za koristenje pojedinih programa cesto S8 isporucuju u vidu nefor-
matlranih dokumenata. Neformafirani tekstualni dokumenti nazivaju se i cisti tekstualni dokumen~
Program! za obradu teksta vjerovatno danas predstavljaju najvise koristenu vrstu apllkativnog ti, i najeesce imaju nastavak (ekstenziju) " . TXT" na svom imenu, sto oznacava da se radi 0 cistom
softvera. Ovi program! slute za unos, ispravljanje, oblikovanje, !spis i cuvanje raznih vrsta tekstual" tekstualnom dokumentu. Ovakvi dokumenti zallzimaju veoma malo memorije, jar je u njlma pohra-
nih dokumenata, poput pisama, clanaka, dopisa, knjiga, ltd. Konacni eil] abrade teksta je stvaranje njena informacija iskljucivo 0 njihovom sadrzaju. Na primjer, neformatirani teksualni dokument ko)!
tekstualnog dokumenta u onakvom obliku i sa onakvim sadrzajem kakav zel! korisnik, se sastoj] sarno ad teksta "PORUKA", sadri] samo informaciju 0 einjenici da su njegov sadrzaj slova
"P", "0", "R", "U", "K" i "An, i prema tome zauzima svega 6 bajta memorije (ukoliko pretpostavimo
Prilikom kre'lranja tekstualnih dokumenata moguce je jasno uociti dva razHCita procesa. PlY! pro- zapis znakova po ASCII standardu); Kako u takvom dokumentu nije zapisana nikakva informacija
ces predstavlja unosenje sadrtaja teksta, uz eventualne ispravke uocenih gresaka, kao 1 brisanje niti 0 obliku niH 0 velicini slova, kako 6e on zaista izgledati na ekranu iii na stampacu zavisi iskljucivo
neteljenih dijelova, prebac;vanje dJje/ova dokumenta s jednog mjesta na drugo, itd. Pri tome je dtav od konkretnog editora u kojem otvorimo dokument. Medutim, takav 6e se dokument moGi uvijek
postupak orijentiran iskljuCivo na sadriaj dokumenta, dok su detalji 0 tome kako de zaista vizuelno - otvoriti bez potesk06a na svakom racunaru pod svakim operativnlm sistemom u svakom programu
izgledati konacni dokument potpuno nebitni. Ovaj proces naziva se edit/ranje iii uredivanje. Drugi za rad sa tekstualnim dokumentima. Ovo je glavna prednost Cistih tekstualnih dokumenata u odno-
proces predstavlja uoblicavanje tekstualnog dokumenta u ieij"enu formu. Ovaj proces podrazumije- su na formatirane dokumente. Dalje, prilikom pisanja programa Z8 racunar u nekom od modernih
va podesavanje obllka i velitine slova, podesavanje stila ispisa, prijelom dokumenta (tj. izbor ko]i de programskih jezika, programi se pisu u lskljueivo u formi cistog teksta pomocu editora teksta, a zatim
dijelovi dokumenta bitl ispisani na pojedinim stranicama), podesavanje sirina margina, itd. Ova] pro- prevode u masinske instrukcije pomo6u specijalnih programa prevodioca (kompajlera), 0 cemu
ces naziva se formatiranJe iii oblikovanje, cemo detaljnije govorlti u trecem dijelu ovog udtbenika. Gisti tekst se koristi zbog toga sto su infor-
madje 0 obliku teksta pohranjene u formatiranim tekstualnim dokumentima potpuno nebitne za
Programi ko]i obavljaju samo funkciju editiranja nazivaju se editor; (iii uredivac/) teksta, dok se smisao programa, i najvjerovatnije bi potpuno zbunile kompajler.
programi koji obavljaju samo funkciju formatiranja nazivaju formateri teksta. Programi koji objedi-
njuju obje funkcije i omogueavaju uporedno obavljanje kako funkcije edltiranja, tako i formatiranja, Nekada su se editor!" i formateri koristili kao posebni programi, dok se danas pray! formateri
nazivaju se tekst procesori. Danas se pod pojmom obrade teksta ug\avnom podrazumijeva postu- veoma rijetko susrecu, jer su funkcije editiranja i formatiranja izvedene uporede u tekst procesori-
pak unosa, uredivanja, oblikovanja i ispisa teksta uz pomoc nekog od mnostva tekst procesora. rna. Ranije, kada graficka korisnicka ekruienja nisu bila dovoljno razvijena, niti formateri niti tekst
procesorj nisu prikazivali na ekranu tekst onako kako 6e izgledati na papiru, s obzirom da tehnologi~
Editori su, kao sto je vee reeeno, programi koji omogueavaju samo editiranje teksta. Funl~cije ja prikaza na ekranu nije omogucavala dovoljno kvalitetan prikaz. Na primjer, korlsnik je umjesto
koje tipicno podrzavaju savremeni editori su unosenje teksta, pomjeranje taeke umetanja (kurzora) podebljane rljeei xyz na ekranu vidio sarno informaciju 0 tome da je rijee podebljana, odnosno
kroz lekst, umetanje novih dijeJova teksta unutar postojeceg teksta, brfsanje odredenih dlJelova tek- nesto poput IBOLD/xyz/ENDBOLD/, Drugim rijet!ma, mnoge od akcija formatiranja zadavale su
sfa, kopiranje i prebacivanje dijeJova teksta sa jednog mjesta na drugo, prefraiivanje teksta, zamje- se pom06u neke vrste pisanih naredbi (u navedenom primjeru /BOLD/ i /ENDBOLD/, sto su
na odredenih rijee; i {raza u tekstu sa drugim frazama, te stampanje i memoriranje dokumenta. oznake za pocetak j kraj podebljanog teksta). Situacija se drasticno promijenila prije dvadesetak
Moderni editori posjeduju i mnostvo drugih funkcija, poput automatskog prebacivanja dugaeMh ryeei godina kada su se pocell pojavljiva1i prvi tekst procesori kojl su koristili WYSIW~G (What you .S:ee
na kraju reda u nOlI; red (ova osobina se naziva word~wrap), automatske provjere pravopisa, itd. Is 'IN.hat you 9.8t) tehnologiju, koja je omogueila da dokument na ekranu izgleda praktieno isto onako
Medutim, karakteristika svih editora je da oni ne posjeduju nijednu funl<ciju I<oja spada u podrucje kao sto ee izgledati kada se odstampa na papiru. Prvi WYSIWYG tekst procesori zahtijeval1 su za
formatiranja teksta, Tako je dokument ~oji je pripremljen pomodu editora sliean dokumentu priprem- to doba izuzetno moene masine, ali u danasnje vrijeme ie gotovo nemoguee sresti lekst procesor
!jenom uz pomoe pisaee masine: sva slova su uvijek istog oblika i velieine. Editori se koriste kada koj! ne podriava WYSIWYG koncept.
zelimo priprernitl dokurnent kod kojeg nam je bitan sarno njegov sadrtaj, a ne i stvami izgled.
Primjeri jednostavnih editora su program EDIT (punim imenom MS~DOS editoD koji je dolazio uz Najpopu larn iji tekst procesori za PC ~j11~:'tt!l,::'j:l:'1~(rn",Wi-:zit:1:Jl':.!IIl/IIiilllllllllllllilllllliilllIlPlIliilllilllillilllll:,;J"ili]pl
MSHDOS operatlvni sistem (mada se mote racunare danas su Microsoft Word i Corel ,,,,::!B' "~. 1~' "!",~,"
pozvati i iz Windowsa), i program WordPerfect (aba programa se javljaju u
Notepad, koji dolazi kao sastavni dio mnogobrojnim verzijama). Ovaj udtbenik je
Windows operativnih sistema, j koji ste pripremljen pomocu tekst procesora
vjerovatno pokretali mnogo puta ako ste Microsoft Word. Taka je sJika sa desne
ikada radili sa Windows operativnim sis- strane "uhvadena" upravo prilikom pripreme
temima. Slika sa l!jeve strane prikazuje ovog udzb.enika._ ~omocu Mic.r0safi Warda.
primjer rada sa MS-DOS editorom (ko]i je,
mada stariji, bogatiji. moguenostima ad _Navedimo rie~e . od osnovnih
No/epada). mogu6nosti z~ obliKovanj(3: -teksta koje bi
trebao da:-posjeduje~.svaki" formater (pa
Moze se postaviti pitanje cemu uop6e samim -tim i Jelksi' prQC~9it Na piyom
sluze editori ukoliko- ani ne mogu obav!jati mjestu tu je-, pod~savanje obfika teksta
funkciju formatiranja dokumenata. (otlnGsnG }zbor. tz.v~ tonta kOji, predstavlja
Medutim, postoje mnoge situacije u kojima zapis 0..f?gledu svth_ zMkova koji se
MS-DOS editor, prill1jcr Ickstuarnng
editnra o.l'rcdnjih 171ogu('nosti je oblikovanje dokumenta potpuno nebit- priKazuju), kao l"-vefieine fstifa teksta. Pod Primjer rado .'10 tckst procCSOf(!m Microsoft Word
no, vee je bitna sarno informacija sadriana sWom podrazumij!3vamo odredivanje da Ii
72 73
su znakovi podebljani (engl. bold), nakosen; (engl. italic), jl!llJvuceni (engl. underline) itd. Dalje, ski su postavljene na neke podrazumijevane vrijednosti, i ostaju takve_ dok ih korisnik one, promijeni,
moguce je podesavati Koliki ce biti razmak izmec1u pojedfnih redova teksta, odnosno razmak izmedu nakon cega se eventualno pamte vrijednosti kOje je postavio korisnik (do nove promjene). 0 obradi tek-
pojediliih qdjeljaka. cesto je mogu6e odrediti da Ii 6e tekst da se prikazuje u jednoj ijj vise kalona. sta cemo detaijnije govoriti u poglavlju 2.1 koje se nalazi u drugom dijelu ovog udtbenika.
Bitna je mogu6nost podesavanja sirina margina (odnosno praznine kOja se javlja izmedu rubova papi-
ra j pocetka teksta), kao j mogucnost ravnanja teksta uz jednu ifi obje margine. Na primjer, ovaj tekst
je poravnat uz obje margine, 8tO se naziva dVDstrano ravnanje Hi diastifikacija (eng!. justify). Dobri 1.5.3 Tabelarni proracuni i poslovna grafika
tekst procesori omogu6avaju j postavljanje zaglavlja (eng!. header) i podnotja (engl. footery, koji pred-
stavljaju tekst koji se ponavlja na vrhu iii dnu svake stranice (poput imena dokumenta iii poglavlja). Pod programima za tabelarne proracune podrazumijeyamo programe ko]i u svojoj osnovi
Zaglavlja iii podnotja takoder mogu da sadrt8 broj stranice, datum stampanja, itd. Kao napredno forM -~ omogucavaju korisniku da radi sa padacima kaji su ogranizirani u formi tabela sa vise redova i
matlranje, mnogi tekst procesori omogucavaju razne dekorativne opeiie, poput uokvirivanja i kalona. Medutim, bitna karakteristika ovih programa je njihova sposobndst da kreiraju takve tabele
sjencenja teksta. Savremeni tekst proeesori omogucavaju i ubaeivanje raznih netekstualnih eleme- u kojima oe vrijednost'pojedinih polja u tabell zavisiti ad vrijednosti nekih drugih polja, tako da ce vri-
nata poput tabela, slika, grafikona, itd. u tekst, sto je donedavno bila iskljuCiva privilegija programa za jednosti svih takvih polja biti automatski promijenjene onog trenutka kada korisnik promijeni sadrtaj
slolno izdavastvo 0 kojima cemo govoriti nesto kasnije. nekog od polja od kojih takva polje zavise, bilo direktno, bilo indlrektno (u smislu da promijenjeno
polje dovodi do promjene nekog drugog polja od kojeg posmatrano polje zavisi). Zbog toga se pro-
Dokumenti koji sadrze formatirani tekst zauzimaju znatno vise memorije nego 6isti tekstualni grami za tabelarne proraeune nazivaju i programi za unakrsna izracunavanja ili spredsit (eng!.
dokumentt, jer sadrze i informaeije 0 obavljenom formatiranju. Pored toga, ove informacije su ovisne spreadsheeQ programi. .
od upotrijebljenog tekst procesora, tako da nije moguoe formatirane dokumente koji su radeni
pomocu jednog tekst proeesora olvoriti drugim teks! procesorom, osim u slucaju da su oba tekst pro- Prvi program za tabelarne proracune bio je VisiCaic, koji je u kasnim sedamdesetim godinama
cesora specijalno pisana da podrzavaju jedan drugog. Formatiranl tekstualni dokumenti najeesce proslog vijeka razvio Daniel BrJcklin, tada student pos\ovne slmle na Harvardu. Ovaj program je
imaju nastavak " . DOC" na svom imenu, mada 1to zavisi od konkretnog tekst procesora. Danas pos- odmah po kreiranju postao jedan od najpopularnljih programa za racunare. Medutim, ostao je u
tOji i relativno standardlzirani format zapisa fOt'matiranog teksta nazvan bogati tekst (engl. rich texQ upotrebf veoma kratko, jer su se uskoro pojaviii znatno savrseniji programi. Danas su najrasireniji
koji u velikom broju slucajeva omogucava razmjenu formatiranog teksta izmedu razliCitih rat:unara i programi za tabelarne proracune Microsoft Excel, Lotus 1-2~3 i Ciuattro Pro.
razlieitih tekst procesora, jer veoina danasnjih tekst proeesora znaju da snimaju (ako im se poseb-
no naredi) i ucitavaju dokumente zapisane u ovom formatu. Dokumenti zapisani u ovom formatu Radna povrsina svih programa za tabelarne proracune organizlrana je kao mreza redova i
imaju nastavak " ,R'FF" na svom imenu. kolona, u kojaj su redov! obicno oznaeeni brojevlma, a kolone slovima (!inije koje razdvajaju paje-
dine redove i kolone mogu se po potrebi uclniti nevidljivim za prikaz na ekranu). Polja kOja se nalaze
Mada danas gotovo svi tekst procesori rade u WYSIWYG rezimu, izvjesni speeijallstiCki tekst u presjeku pojedinih redova i kolona nazivaju se {;elije (eng\. cells), i oznaeavaju se kombinacijom
proeesori jos uvijek mogu da koriste i nacin rada koji nije zasnovan na WYSIWYG principu. oznake pripadne kolone i pripadnog reda. Na prirnjer, celija "F5" je ceHja kOja se nataz! u presjeku
Najpoznatija vrsta takvog specijaJiziranog tekst proeesora je TeX, koji je razvijen iskljucivo za kalone oznacene sa "F" i reda oznaeenog sa "5". Obieno postoji i moguonast da se oelijama daju
potrebe pisanja dokumenata koji sadrze veliki broj slozenih maternati6klh formula. Mada moderne posebna imena, koja ce bolje odrazavati njihovo znacenje, poput "PLATA", "TAKSA", "DUGOVI", ad.
verzlje TeX-a kao i neki njemu srodni speeijalisticki tekst procesori (npr. Scientific Workplace) oelija mote biU prazna, a maze i sadrtavati neki podatak, bilo tekstuaini, bilo brojcani, datumskl, itd.
mogu koristiti WYSIWYG princip, mnogi korisnici ovih sistema koriste neMvizualni nacin zadavanja
teksta, jer je na taj naCin moguoe ostvariti preeizniju kontrolu nad prikazom. Na primjer, pret- Mogucnost rada sa tabelama danas nije iskljuciva privilegija programa za tabelarne proraeune.
postavirno da smo u TeX-u zada!i sljedece naredbe: VeGina modernih tekst proeesora, poput Microsoft Word-a, takoder omogucava rad sa podacima predM
stavljenim u vidu tabela. Medutim, ono sto daje programima za tabelarne proracune posebnu snagu
IOl kOja sa ne moze postiCi u tekst procesorima je cinjenica da celije mogu sadrtavati i formuJe. Formule
lover {2pi} int from (-int) to (sgrt y) left( sum from k=l to n
SU, pravila koja odreduju kako sadrtaj neke celije zavisi od sadriaja drugih celija, Na primjer, ukoliko
sin sup 2x sub k (tl left( f(t}+g{t) right) :t"ight) dt
se u oeliju "C5" upise formula "A1+B4/2~, ta formula znaCi da oe sadrzaj 6elije "C5" u svakorn trenutku
FN
biti jednak sadrzaju cellje "Ai" sabranom sa sadrtajem cellje "B4" podijeljenom sa dva, ma sta da se
na!azilo u ovim oelijama (naravno, pod uvjetom da se u celijama "A1" i "84" nalaze brojevisa kojima
Kao rezultat ovih naredbi TeX 6e prikazati sljedeou formulu:
se mote racunati, a ne reeimo tekst), Drugim rijecima, uko1iko korisnik promijeni sadrzaj cellje "A1" iii
"B4", automatski ce se promijeniti i sadriaj oelije "C5",.Formule mogu sadrzavatl i neke ugradene
fUflkcije koje obavljaju razne sloienije radnje. Na primjer, formula moze glasiti "AVERAGE(AS:A15)"
S;;i znacenjem "izracunaj prosjecnu vrijednost svih celija koje se nalaze u opsegu od AS do A15".
Moderni programi za tabelarne proracune posjeduju na stotine ugradenih funkcija koje pokrivaju
Potpuno je nebitno sto ne razumije.te ovu formulu smisao ovog primjera je da ilustrira kak6 izgle-- potrebe od najjednostavnijih proracuna pa sve do s!ozenih finansli,skih proracuna.
da rad koji nije zasnovan na WYSIWYG prineipu.
Potrebu za programima za tabelarne proracune demonstrlracemo na jednom prakticnom prim-
Bitno je napomenuti da tekst proeesori, kao i veGina aplikativnog softvera, dolaze pfipremljeni-sa jeru. Na kraju svakog po[ugodista razredni starjesina nekog razreda u skoli duzan je da nastavnlckom
podrazumljevanim postavkama opcija (eng!. default settings). To praktieno znael da kada prvi put vijecu preda detaljan izvjestaj, koji, izmedu ostalog, sadrti podatke 0 uspjehu svih ucenika u razredu,
pokrenemo tekst procesor, odredene opeija, poput vrste ravnanja, obllka i veliCine slova, ltd. ,aut6matM zatim broj ucenika sa odlicnim, vrlodobrim, dobrim, dovoljnim i nedovoljnim uspjehom, procenat

74 75
odlicnih, vrlodobrih, dobrih, dovoljnih i nedovoljnih ucenika, kao i ukupnu prosjecnu oejenu za razred. sa 1 na 4, a prosjek razreda se povecava sa 3,25 na 3,63. Kao dodatni efekat, procenat prolaznos-
Kao sto je poznata, uspjeh utenika se ratuna taka sto se saberu SVe oejene, i zbir podijeli sa ukup- tl razreda povetava se sa 75% na 87,5% sto je takoder veoma pohvalno, Moderni programi za
nim brojem oejena. Na kraju se dobijeni rezultat zaokruzi na najblizi eijeJi broj. Medutim, provedeni tabelarne prora6une mogu ovu anallzu ostvarivanja zadanog cilja (eng!. goal seak) obavlti
pastupak se ne vrsi u slucaju da ucenik ima jednu Hi vise slabih ocjena. U tom slucaju uspjeh ucenika automatskL Na primjer, u Excelu je dovoljno postaviti pitanje sta uciniti da: se prosjek poveca iznad
je 1, bez obzira na sve 08tale oejene. Naravno, opisani postupak izracunavanja treba obaviti za sve 3,5 uz sto manju promjeriu Dejena, i Excel ce sam prona6i odgovor.
ucenike, Nakon toga slijedi proces prebrojavanja ucenika sa uspjehom 5, 4, 3, 2 i 1, kao i izra6una-
vanje adgovarajuGih proeenata. Na pFimjer, proeenat odlicnih ucenika racunamo taka sto dijelime brej Vecina programa za tabelarne
odlicnih u6enika sa ukupnim brojem ucenika u razredu, j mnozimo rezultat sa 100. Na kraju, treba proraGune takoder omogu6avaju
izra6unati i prosjecnu Dejenu razreda sabjranjem uspjeha svih ucenika (ukljucujuci i one ko]i imaju korisniku da prikaze tabelarne
uspjeh 1) i dljeljenjem zbira sa ukupnim brojem u6enika u razredu, podatke u vidu raznovrsnih dijagra-
ma, Naime, Govjeku je znatno lakse
Opisani postupak, mada je da uporeduje odnose izmedu poje-
;':..1 ~'" t~l ;D"" ;"",,( FQ~ 'Ioor, 1M' \'1m,", ~" ~z:1 principijelno jednostavan, zamoran dinih podataka kada su oni
,i:tC9.!;" irt,~f1",<f ',~, t,."(Ii J: r. Pi II ~'(l~{jli jW%~ Q
je i dosadan, i ad razrednog star- prikazani u formi grafikona nego u
::;';'-':;u-.[ l.1 i$i,-",~'IW%, "":';~i {"'~~ 0-,,&'-11:-'
jesine trazi nekoliko sati predanog formi tabele. Grafi6ki prikaz
rada sa papirom i olovkom, eventu- tabelarnih podataka obl6no se
alno uz upotrebu dzepnog kalkula- nRziva pas/avna grafika, Osnovne
tora. Upotrebom programa za vrste dijagrama koji se susretu u
tabelarne proracune mogu se ost- poslovnoj grafid su stapicasti dija~
variti znatno povoljniji efektL grami (engL bar chans), linijski
Pogledajmo prvo kako bi mogao dijagrami (eng!. line charts) i
da izgleda oplsani proracun jzve- kruzni dijagrami (engl. pie Charts),
den uz pomoc programa Microsoft Veoma 6esto ovi grafikoni mogu
.",,,,,,,;(\,,10;0' 12,5% DkJ};"""'!" Excel za jedan izmi51jeni razred sa biti prikazani i u trodimenzionalnom POS{()VI1G grafika u progrmn/r Micmsofr Excel
1'''''~?'lIt1t'.(jIl\'M 5D%
rrc~,",o!rJ~~"" 12,6% Ormj,f'",,,,,rM 3,25 8 ucenika u skoli u kojo) se izucava obliku. Neki programi za tabelarne
0% ,(O"i reol,,",,, 75% 5 predmeta (matematika, matemji proracune omogucavaju cak i prikaze mnogo slozenijih grafickih objekata, poput digitalfziranih
25%
jezik, bjologija, geografija i tjelesni geografskih karata. Na slid zdesna prikazani su neki od karakteristi6nih dijagrama koji se mogu
odgo]), kao 5to je prikazano na postiCi pomocu programa Microsoft Excel.
Primjer rada sa progrmnml1 za tahclof}Jc pmrahmc slid.
Microsoft Excel a programima za tabelarne prora6une, kao i njihovoj upotrebi za graficku prezentaciju podata-
ka detaljnije cemo govoriti u poglavlju 2,2,
Da bismo uvidjel1 koja je stvarna prednost rada sa programom za tabelarne prora6une U odno-
su na rUGni rad, zamislimo sljedecu situ8eiju, Ucenik Dusko Dugousko trenutno ima prosjek oejena
4,4, Pretpostavimo da posljednji dan polugodista ovaj ucenik odgovara maternji jezik i popravi
oejenu sa 3 na 4, Time njegov prosjek postaje 4,6 i ucenik prolazi odlicnim uspjehom, Medutlm, ova
1.5.4 Finansijski programi
promjena uzrokuje citav niz drugih promjena; broj odlicnih u6enika se povecava za 1, dok se braj
Finansijski program! blisko su povezani sa programima za tabelarne proracune. Pored programa
vrlodobrih ucenika smanjuje za 1, To dalje uzrokuje povecanje proeenta odlicnih uceniha sa 12,5%
za obradu teksta, tabelarne prora6une i upravljanje bazama podataka, finansijski programi su vjerovat-
na 25% i pad proeenta vrlodobrih ucenika sa 50% na 38,5%. Konacno, prosjek 6itavog razreda
povecava se sa 3,25 -na 3,38, U slu6aju da razrednik koristi samo paplr j olovku, on pri svakoj prom- no najvazniji programi za vodenje bllo kakvog ozbiljnjjeg poslovanja. U finansUske programe spadaju
, jenl neke od oejena mora izvrsitf ispitjvanje na sta 1a promjena utjece, i po potrebi, izvrsiti itav ni? kako programi za vodenje licnih finansija, tako i programi za vodenje poslovnih finansija.
racuna ponovo (ova je razlog zasto S8 veGina razrednika Ijuti kada u(:eniei ispravljaju oejene u
. posljednjem trenutku). S druge strane, ukollko razrednik koristi program za taQE;llarne proracune Programi za vodenje {ic,nih finansija omogucavaju korisniku vodenje racuna 0 prihodima i
troskovim~,ispis cekova, automatizirane bankarske transakeije, kao i planiranje finansijskih ci!jeva.
(poput pomenutog Microsoft ExceJa), dovoljno je samo izmijeniti oejenu, a sve ostale ispravke
izvr~'-ice: se automatskL Doduse, za ostvarenje ave funkeionalnosti potrebno je isprogramirati .Ratunari mogu- auto'ma1izirati velikl broj rutinskih finansijskih poslova, sto korisniku ostavlja
; prora6un unosom odgovarajucih formula u odgovarajuce celije. Medutim, avo programiranje se mogucnost da se _~vi izazOVnijim poslovima, poput povecanja profitabllnosti poslovanja.
o~avlja sarnD jedanput, a isprogramirana tabeia se moze koristiti za citav niz generacija ucenika!
MnogL-lJro'grami- z~_v~'d~nje licnih finansija, kao sto su QUicken i Microsoft Money, uk!ju6uju
Doctatna prednost programa za tabelarne prora6une je mogucnost vrsenja analiza u_stilu "sta bi kao sastavne kompoif~r.i:e Jednostavn~ alate kao 510 su elektroni(;ki kalendar i elektronicki kalku~
. _bilo kada bi bilo", Na primjer, razredni starjesina moze tragati za najbrtim nadnom kako da se pros- iator, Medutim,-to njfe--njihova os-novnanamjena. Programi za vodenje licnih finansija moraju biti u
stanju -da Node--origu_o -razlicitim vrstama racuna preko kojih se vode korisnikovi prihodi i troskovi,
jek razreda povisi iznad 3,5. Na prvi pogled, izgleda da bi nekoliko ucenika moralo da popravi svoje
poput k(eqitriih- kartic,a, itd. -Svl finansijski programi rnoraju podrzavati manipulacije sa cekovnim
Dejene, Medutim, eksperimentiranjem sa tabelom razrednik lako moze ustanoviti da je dovoljno da
Medvjed Jog; svoju oejenu iz maternjeg jezika popravi sa 1 na 2, Time se njegov uspjeh povecava .knjJiicama. Pri tome se orrlogu6avapopunjavanje 6ekova putem obrazaea na ekranu, koji se kasni-

76 77
je mogu stampati na stampacu u ~formi pravih cekova. Mnogl finansijski programi podrzavaju i Baze podataka su nekada uklju6ivale samo' tekstualne podatke. Danasnje baze podataka
automatska pfacanja racuna putem mreze racunara (naravno, ukoliko odgovarajuca banka podrza- ukljucuju i s/ike,.zvuk i animacije (pokretne sllke). Tako, na primjer, mnoge baze podataka 0 Ijudima,
va taj"vid usluga). Dalje, sv] finansijski programi moraju posjedovati mogucnost uporedivanja koris- pored obicnih tekstua!nih informacija 0 pojedincu, sadrze i njegovu sHku, a mozda i kratki zvucni
nikovih stvarnih troskova sa planiranim Iroskovima kao i uporedivanje troskova ostvarenih u dva
L
zapis njegovog glasa. Najvazniji danasnji programi za upravljane bazama podataka koji posjeduju
razli6ita vremenska perioda (npr. troskova u toku tekuce i prethodne godine). Konacno, finansijski mogu6nost zapisa grafickih i zvucnih podataka ,su Microsoft Access, Microsoft Visual FoxPro,
programi moraju biti sposobni da vrse obracun poreza u skladu ,sa zakonskim odredbama koje Paradox i Claris Filemaker Pro.
propisuju pravila placanja poreza; kao i razna druga planiranja koja korisniku mogu pomoCi za sto
bolje upravljanje licnim budzetom. Krelran'e baze podataka su obicno sasvim jednostavne za upotrebu, medutim proces kreiranja
baza podataka maze biti jako slozen. Zbog toga, savremeni programi za upravljanje bazama
Programi za vod~nje licnih finansija mogu pomoei korisniku da otkrije gdje mu "curl novae" i podataka moraju da olaksaju kako koristenje baza podataka, tako i njihovo kreiranje i odrzavanje.
zasto nikada nema dovoljno novca, Naime, praksa koristenja ovih programa pokazala je da vecina
korisnika najvise novea izgubi na razne sitnice (casopise, razne grickalice, kekse, itd.), Mada indi- Najmanji element svake baze podataka naziva se po/je: Polje predstavlja jedan elementaran
vidualno gledano trosKovi za te sitnice nisu vetiki, tih se troskova u toku mjeseca moze toliko da podatak u bazi podataka, kao na primjer ime nekog ucenika, njegova adresa, iii ocjena iz mate-
nakupi da njihov ukupni iznos daleko prelazi naizgled mnogo krupnije troskOV8. Finansijski progra- matike. Skupina medusobno povezanih polja naziva se slog. Na primjer, slog moze bitl skupina
m! pornazu korisnicima da otkriju takve troskove i da smanje nepotrebne izdatke. podataka 0 jednom uceniku, poput njegovog imena, prezimena, broja u dnevniku, adrese, j oejena
iz svih predmeta. Skupina medusobno povezanih slogova naziva se datoteka. Na primjer, datoteka
Pored programa za vodenje licnih finansija, finansijski program! ukljucuju i slozenije programe maze sadrzavati podatke 0 svim ucenicima u jednom razredu. Konacno, skupina medusobno
za votJenje pos/ovnih finansija. Ovakvi programi mogu podrzavati rad sa mnostvom raznih vrsta povezanih datoteka naziva se, kao sto smo vee rekli, baza podataka, Na primjer, baza podataka
obrazaca koji se u savremenom poslovanju koriste za placanje poreza, carina, faksj i slicnih dazbi~ moze sadrzavati sve podatke 0 svim ucenicima u svim razredima neke skole, kao i podatke 0 svim
nR Programi kao sto su TaxCut i Turbo Tax obavljaju slozene dazbinske proracune, uz stain! nad- nastavnicima i nenastavnom osoblju. 0 ogragnizaciji baza podataka i programima za upravljanje
bazama podataka detaljnije cemo govoriti u poglavlju 2.4.
zor eventualnih gresaka, i cesto su u stanju da donesu zakljucke do kojih bi korisnik veorna tesko
dosao bez pomoci programa; Programi za upravljanje dazbinama cesto su povezani sa programima
Svaki program za upravljanje bazama podataka mora omogu6iti jednostavan I biz pristup svakom
za vodenje licnih finanslja u jednu cjelinu.
slogu u bazi podataka. Na primjer, korisnik baze podataka mora da bude u mogucnosti da brzo i jed-
nostavno pristupi podacima 0 ma kojem uceniku iii nastavniku u bazi podataka iz prethodnog prim-
VeGina programa za vodenje poslovnih finansija podrzava poslove vezane za vodenje finansija
jera. Takoder, mora postojati jednostavan nacin izmjene rna Kojeg od pohranjenih podaiaka.
koji se prakticno javljaju u svim vrstama preduzeca, poput vodenja knjigovodstva iii platnih spisko-
va. Neki od programa kao sto su Business Plan Pro, Management Pro i Perfomance Now idu i
Programi za upravljanje bazama podataka moraju biti u stanju da sortiraju podatke u bazama
mnogo dalje od obicnog rukovodenja finansijama, i omogucavaju korisnicima da osmisle plan poslo-
podataka po raznim krlIerijima, neovisno ad poretka u kojem su podaci unoseni u bazu podataka.
vanja prakticno od samog temelja, Na primjer, mora postojati mogucnost da se spisak svih ucenika moze sortirati po abecednom
poretku, iii recimo po prosjecnoj oejeni (tako da se, na primjer, podaci 0 najboljem uceniku nalaze
Konacno, postoje i finansijski programi za analiziranje ispJativosti investicija, kaa sto su na vrhu liste). Neophodna je i mogucnost formiranja raznih izvjestaja (u stampanoj formi) 0 podaci~
StreetSmarl (autor Charles Schwab) i Online Xpress (autor Fidelity Software), kao i programi za
ma pohranjenim u bazi podataka.
upravljanje penzfonim i drugim investicionim fondovima.
Dobri programi za upravljanje bazama podataka omogueuju i obavljanje jednostavnijih
proracuna nad pohranjenim podacima, kao i prikazivanje raznih vrsta dijagrama koje omogucavaju
1.5.5 Programi za upravljanje bazama podalaka prikaz pohranjenih podataka u grafickom obliku.

Pod bazom podataka u ,najopcenitijem smislu mozemo smatrati svaku organiziranu skupinu U danasnje vrijeme se mnogo kariste i specijalizirani programl za upravljanje bazama podataka
podataka-pohranjenJh u ratunaru, najcesce na nekom od uredaja spoljnje memorije. U utem smis- koj! se nazivaju organizatori licnih informacija, o'rga-najzeri (eng!. organizer) ill prosto PIM
lu, pod bazom podataka mazemo podrazumijevati skupinu medusobno povezanih datoteka u ne!wm (Eersonallnformation Manager) prograrrii. Organajzeti su programi koj! pomazu korisniku da prati
racunarsk!]m' $Lstemu. patot\3Ke' koje sacinjavaju bazu podataka povezane su na osnovu njihovih informacije sa kojima se svakodnevno susre_ce, poput adres8,- brojeva fe/efona, datuma i mjesta
- zajednicklh efemenata.' Pqd -programima za upravljanje bazama podataka iii DBMS (Qata 12ase ugovorenih sastanaka, pfanov8 -zaduienja I 6f?a:ve,za. Poznati _programi ove vrste su Lotus
Management .Q-yst'e'rriJ pfi:,gr?mima, p-odrazumijevamo programe kojl upravljaju organizaeijom baza Organizer, Microsoft Outlook i Act. Na- prifnjer,Jotus:Orgaf}izerna ekranu prikazuje izgled jednog
podataka ~a0 i pr.is.tupompoaataka,pohranjenim u njima. tipicnog rokovnika, i sadrti sve detalje koje bi jedan~gobar:rokovni~ trebaa da sadrzi, samo u elek~
tronickoj a ne u papirnatoj formi. Ovak\l'i~prQgh:im(imajl,l-yeoma efjkasne opcije za pretrazivanje
prog;~mj~~ .za~~p~a~ljanje Q~zama padataka su prethodili programi za upravljanje datoi'eka- pohranjenih podataka, tako da korisnik mote d~~.p[?hade".upisani -podatak mnogo brte nego u
f!l8 (engt.. fiIe_-managers); T~ -su- bili programi kojl su omogucavali manipuliranje samo sa jednom klasicnom rokovniku. Pored toga, ovakvi prograhlj-yode raCuna a stvarflom vremenu, tako da mogu
datotekom 'u jednoirJ trenutku. Za razliku ad njih, programi za upravljanje bazama podataka u odgovarajuce vrijeme da upoz6rekixlso"ika na' planirani d.ogadaj, na primjer na zakazani sastanak,
'omogucavaju m~J:1ipulirat:lje podacima ko]i su razbacani u mnostvu datoteka koje su medusobno
. povezane na' oc(reOEmi nacin. .

78 79
1.5.6 Graficki programi tavniji nego rad sa programima za ertanje. Medutim, programi za slikanje nisu pogodni za kreiranje
crteza u kojima preciznost lma presudnu ulogu.
Mnogi pisei odbacili su svoje stare pisa6e maine i presl1 na programe za obradu teksta. Stoga
se ne treba (;udlti da pajedini umjetnici svoja platna, kistove i uljane boje takoder zamjenjuju Programi za slikanje posjeduju i magucnost kreiranja nekih geometrijskih objekata, medutim
racunarima, misem i raznim grafickim programima. Prednost je ocigledna: kada zabrljate boje na slike kreirane ovim programima ne moraju posjedovati nikakve geometrijski utvrdene oblike. Kako
platnu, jedino sto motete uraditi je baciti platna i pacetl ispocetka. Nit ra6unaru je u slicnoj situad]i je geornetrijska struktura takvih slika priHcno nedefinirana, racunar ovakve slike pamti forriiiranjem
davoljna izvrsiti UNDO iii neku s!icnu komandu. Naprosto iznenaduje koliko umjetnika uspijeva veoma guste mreze (rastera) sastavljene ad veoma sltnih kvadratica, a zatim pamti informacije 0 boji
pomocu misa j sliCnih pomagala kreirati slike koje po svom kvalitetu prakticno ne zaostaju za slika- svakog kvadratiea (za koji se zbog malih dimenzija pretpostavlja da sadrzi samo tacke iste boje).
rna koje S8 mogu kreirati pomoGu uobi6ajenih alata I1kovnih umjetnika. Jos je neobi6nija cinjenica da Graflka dabijena na ovaj naCin naziva se rasterska (ili bit~mapirana) grafika, 0 cemu cemo detaljni~
se Ijudi koj,i nemaju mnogo dara za likovnu umjetnost cesto veoma dobro sna\aze sa programima za je gavoriti u poglavlju 2.3. Karakteristika programa za slikanje je da ve6ina ovih programa
kreiranje slika. Postoje dvije vrste programa za kreiranje slika: program; za crtanje (engl. drawing) omogucava direktno unosenje slike sa papira u program pom06u skenera, sto nije svojstveno pro
i programi za slikanje (engl. painting). gramlma za ertanje, s, obzlrom da slike kreirane u programima za ertanje moraju da postuju
odredenu geometrijsku strukturu koja ne mora da bude prisutna u slikama nacrtanim na papiru.
Program! za crtanje su programi kod kojih se slika formira od elementarnih geometrijskih objeka
ta, kao sto su npr. Hnije, fukovi, 'krutnice, krugovi, e/ipse i pravougaonici, slicno kao kada se crtaju Jedan posve jednostavan program za sl1kanje pod nazivom Microsoft Paint dolaz! kao prateCi
crteti na papiru uz pom06 pomagala poput finijara i sestara. Grafika koja se dobija na takav naCin program uz Windows operativne sisteme, i sa njim ste se vjerovatno susreli tokom nastave infor~
naziva se vektorska (iii linijska) grafika, 0 Gemu cemo detaljnije govoriti u poglavlju 2.3. matike u osnovnoj skoli. Ovaj program je prilicna siromasan mogucnostima, mada iskusan kOrisnik
moze i pomocu njega da naslika prilicno kvalitetne slike (za tu svrhu potrebno je koristlti 1 neke
Na izvjestan nacin, u programe za crtanje mazema svrstati i programe Zl:! dizajniranje uz pomoc skrivenije i manje poznate opeije ovog programa).
racunara, odnosno tzv. CAD (Qomputer Aided Qesign) programe, 0 kojima cema detaljnije govoriti u
poglavlju 2.5. Medutim, dok su CAD programi vise usmjereni ka preciznom zadavanju dimenzija poje Primjeri nekih od najpoznatijih
dinih dijelova crleta i njihovom tacnom poziGioniranju, klasicni program! za crtanje obicno ukljucuju kva!itetnijih programa za slikanje su
mnoge opGije koje omogucavaju formi Adobe PhotoShop, Corel
:l.""'="".
wrifl'IT'JTITZ7":::;';'ill ;:;.li'illiIIJIIlB.IlIIIIIIII...IIIIl ..,OIllillllW"IIIIIIIIIl''''''!!lI",,1 ranje vizue!no Ijepsih crteza, 5to je pot PhotoPaint, MetaCreations' Painter i
flo !,"" ~~W \,.,,,,, b'",,' [1I<f" l~A >eot", V . , , ' b' JASC's PaintShop Pro. Na slici sa
[th~~lLLJj&lm,QlifuTS)CJ[~T r -1 T::t-:J1i1~ puno ne Itno u CAD programima. Na
~=L:::::~-,_c21 '-'''- :'L: n

-:--
7
---"~. ~;!==.u~'--:--'[----:--~~~: primjer, program Sketcher nudi koris~
__
desne strane prikazan je primjer djecjeg
crteta naslikanog za nekoliko minuta
R.' 'i - niku iZ?or1ieddnog Odd12 uzorakka ~(OikO
pomoeu programa Microsoft Paint.
~ moze Izg e ati poza ina po ojaJ se
~D~..<......
51, . .. II.~~'" clta (od izgleda ravnog pap ira do izgle
da slikarskog platna), zatim lzbor Vrijedi napomenuti da mnogi
0........':; raznih virtualnih "materijala za crtanje", likovni umjetniC:i nisu najsretniji zbog
"'--' poput krede, ofovke, pera, ffomastera masovne upotrebe racunarski
~~ {; iii dfVenog uglj'a. podrzanih programa za crtanje i
'~j slikanje, jer smatraju da se na taj nacin
degradira profesija Ilkovnog umjetnika.
"'J .
:;",t1
Najpoznatiji program! za crtanje
o programima za crtanje i slikanje, i -",-
ovog tipa su Core/DRAW, Adobe
J Illustrator j Macromedia Freehand. racunarskoj grafici opcenito, detaljnije Primjer dike nasTikanc P0n10CIl progmma
~.ri,~"> ii'l"'''&!IEJ1i!'JJ~TI::.:"~jlJ;i)ti'SIlI ~'l
'71['-3S'1
.. "IDJjCBl:!!!!!IIIIl~5.'ILr~ Slika sa lijeve strane prikazuje kreiranje cerna govoriti u poglavlju 2.3. Microsoft Paint
crteza uz pomoe programa Core/DRAW,
Primjcr ateia J10Cl'fanog u programu CorelDRAW vjerovatna najvise korltenag programa
za ettanje za PC racunare. 1.5.7 Programi za slolno izdavastvo
U programima za slikanje, tezlste je stavljeno-n~ kreira:nj~:.c.rt~z-a na na6in I.<ao kada sfikamo sfo- Stolno izdavastvo, iii skraceno DTP (Qesk1:op l:ublishing), predstavlja skup postupaka"Kojj_Ko-riste
bodnoni rukom po platnu uz pomoe kista, dakle be"z ograniq,~nja nif'Utvrdene geometrijske obtike. racunar, pratece ulazne-i izlazne jedinlee poput misa, skenera i stampaca (najcesc,e lasersko.tr}-"kao -
Kod ovakvih programa ulogu slikarskog kista preuzimaju mis, ,grfJficka -fabla, i~ cak i patiea za igru. i odgovarajuci softver, sa ciljem dobivanja veoma kvalitetne stampe koja moze-posluziti ;?:a izdwanje..
Korisnik maze da bira oblik i velicinu virtualnog kista~-Kaold(olfa_Qoje pomotu vjrtualne palete boja. knjiga, brosura, novina, itd. Pri tome se stampac najeesce koristi samo kao sredstvQ-ta PXelirt)ll}a-r.ryu.
stampu prije zavrsne ~tampe, dok se zavrsna stampa obavlja uz pomoc profesianalnih_inaioa_,-za _
Bitan element svih programa za slikanje ie j virtualna ...gi1~ica :za _briSinje," koja omogucava stampanje koje daju jos kvalitetniji otisak nego najbolji stampacL U profesionalne DTp'pr9gr-ame -
brisahje proizvoljnog dije\a slike, -sto nije svojstveno 'programlma za crtanje kod kojih je moguee spadaju QuarkXPress i Adobe PageMaker. Takoder je poznat i orp program--Mfcrosoft-Pl.!blisher,
izbrisati samo citavu liniju, citav Uk, ltd. (mada. R~ki programi- Z8. crtanje, poput novijih verzija medutim on po kvalitetu i moguenostima ni izbJiza ne dostize prethodna dva progr{3.ma.
Core/DRAW-a, posjeduju alate koji se pona~aju prilicno sli'6Jlo-kao-gumica Z<;l brisanje u programi~
ma za slikanje). Zbog toga je Jad sa programima za slikarije -neiskl:lsnam korisniku mnogo jednos
80 81
Da bi se neki program mogao zvati OTP programom, on mora posjedovati odredena bitn~ Pomocu komunikac1onih programa moguce je prenositi datoteke sa jednog racunara na drugi.
svojst",a. Na prvom mjestu, tu je mogucnost proizvoljnog mijesanja teksta i graffke. OTP prograrr: Na primjer, vlasnici kojl posjeduju i kucni i prenosni racunar, mogu koristiti komunikacione programe
mora omoguCiti da se prolzvo!jni dijelovi teksta i slika pozicloniraju po zelji jedan u odnosu na drugl za razmjenu datoteka izmedu prenosnog i kucnog ratunara putem telefonske mreze. Moderni
unutar jedne stranice papira. Mora biti omogu6eno podesavanje velicine siika, izmjena njihovih baja, komunikacloni programi omogucavaju takoder prijem j slanje telefaks poruka.
svjetline, kontrasta i pazadine, kao i razne druge manipulacije nad sHkama. Pored toga, DTP pro~
grami moraju omogu6iti podesavanje izgleda teksta do najsitnijih detalja. Mnogi od danasnjih tekst oracunarskim komunikacijama, kao i komunikacionom i ostalom pratecem softveru (poPU! pro-
procesora, poput Microsoft Warda, posjeduju lzvjesne osobine OTP programa, ali nl izdaJeka u onoj grama za razmjenu elektroni6ke postel detaljriije cemo govoriti u poglavljima 1.6. i 2.7.
mjeri kao pravi OTP programi.

Za razliku od tekst procesora, u OTP programima te21Me je stavljeno na veoma precizno fo(- 1.5.9 Interaktivni mullimedijski obrazovni programi
matiranje dokumenata, dok su funkcije editiranja svedene na nuzn! minimum. Zbog toga, nije efikas-
no pomocu DTP programa radit! obradu teksta i kreiranje crteta. Umjesto toga, tekst se prvo pripre Pod multimedijskim obrazovnim (edukacijskim) programima podrazumijevamo programe speci-
mi pomocu nekog cd tekst procesora (npr. Microsoft Warda). Crtez\ se kreiraju pomocu nekog ad jalno razvijene za obrazovne primjene, koji koriste razlicite vrste medija poput teksta, grafike, ani
programa za crtanje (npr. Core/DRAW-a), dok se !otografije oCitavaju uz. pomoc skenera, i obraduju macije, video isjecaka, muzike i govora za prezentaciju informacija. Ovakvi programi su tipicno inter
pomocu nekog od grafickih programa za sllkanje koji mogu raditi sa fotografijama (npr. Adobe aktivni, sto znad da korisnik moze upravljati prikazom informacija. Dobri obrazovni programi ne
PhotoShopa). Tek nakon toga, tekst i slike se uz pomoc DTPprograma uoblicuju u konacan doku~ nude sarno prikaz informacija, oego i postavljaju pltanja i ocekuju odgovore ad ucenika. Nivo inter~
ment koji'je spreman za zavrsnu stampu. akcije varira ad najprostije, gdje se upravljanje prikazom informacija vrsi prostim izborom objekata
prikazanih na ekranu, do veoma slozenih interaktivnih programa u kojima se od korisnika zahtijeva
8tolno izdavastvo je posao koji trati mnogo iskustva, vjestine i poznavanja grafickog dizajna, i defi- da igra neku od uloga u nekom simuliranom okruzenju, i gdje akcije korisnlka pruzaju mogucnost
nitivno nije posao za svakoga. Zaista, upotreba DTP programa ad strane neprofesionalaca moze istrazivanja na koji nacin promjene desavanja u okruzenju ovlse od preduzete akcije. Multimedijski
dovesti do posve losih rezultata. Ipak, dck je nekada izdavastvo bilo iskljuClva privilegija velikih i mocnih obrazovni programi tipicno se isporucuju na CD ROM~ovima, s obzirom da se na CD ROM maze
kompanija, OTP programi pruiaju mogucnost i manjim kompanijama da se bave poslovima izdavastva. smjest1t1 velika kolieina informacija koje su lako dostupne.

Postoje razne vrste multimedijskih obrazovnih programa. Programi tipa "obuci i lIjeibaj' (engl.
1.5.8 Komunikacioni programi drill and practice) omogucavaju korisniku da vje.tba neku oblast (na primjer, matematiku iii rjecnik
stranih jezika) sve dok ne postigne zahtijevani nivo zrianja. Programi uciteiji (eng!. tutoriais) prutaju
Sve do nedavno, mnogi korisnici raeunara nisu ni slutili da ce im preko njihovog vlastitog rac:unara korisnicima detaljne instrukcije .za obavljanje nekog zadatka, obicno kroz precizan niz koraka koje je
biti dostupne informacije koje su pahranjene na rnillonima rac:unara sirom svijeta. Danas je sasvim potrebno preduzeti da bi se nek! zadatak obavio, uz neophodnu demonstraciju svakog od koraka.
prirodno da sa svog kucnog racunara pristupate beskrajn0i. koli6ini informac1ja razbacanih sirom svi Kasnije se korisniku nudi moguenost testiranja da li je dobra savladao sve neophodne korake.
jeta koje formiraju apstraktni viliLlalni svijet u zargonu nazvan sajberspejs (engl. cyberspace). Inate, EJektronicke encikJopedije, atlasi, rjecnici i slien! programi mogu iskoristiti punu snagu kombini
ovaj termin je prvi upotrijebl0 William Gibson u svojoj priCi Neuroromancer u kojaj ovaj termin ranja raz!ieiUh medija za prikaz raznih tipova informacija, pri temu je mogucnost pretrage inrormaci-
oznacava izmisljenu mreiu raeunara na koju Ijudi prikljueuju svaje mozgove i tako ostvaruju globalnu ja znatno jednostavnija nego kod klasienih enciklopedija, atlasa j rjecnika. Eleidronicke knjige (engl.
razmjenu informacija. Danas se pod sajberspejsom uglavnom podrazumijeva svijet informacija koje electronic books iii skraceno E~books) imaju mnostvo prednosti u odnosu na stampane knjige, zah-
nudi Internet, a posebno njegov servis poznat pod nazivom World Wide Web (skraceno WWW), 0 valjujuci mogucnosti multimedijskog saopcavanja informaclja, kao i mogucnosti korisnika da ih
eemu cemo kasnije detaijnije govoriti. Jedan od eiemenata koji su nam neophodni za pristup sajber- iscltava na interaktivan na6in. SimuJacije omogucavaju korisniku da sfmulira ponasanje neke stvame
spejsu predstavljaju upravo komunikacioni programi. situacije koju .teli. da proucava, i da interaktivno proueava kako neka od poduzetih akcija utjeee na
ponasanje te situaclje. Takoder, postoje i obrazovne igre,koje stvaraju zanimljivo i interesantno
Komunikacioni prograrni upravljaju prenosom podataka izmedu vise povezanih racunara. okruzenje kOje, ukoliko se iskoristi na pravi nacin, mote u znatnoj mjeri poditi nivo znanja korisnika.
Ve6ina korlsnika racunare povezuje preko modema, uredaja 0 kojem cemo govoriti II sljede6em
poglavlju, a'koji omdgu6av~ P9vezivanje racunara preko telefonske linije. Zajedno sa modernom se Multimedijski obrazovni programi pruzaju informaCije na razliCite naCine (slikom, zvukom, tek-
obicno' dobijaju. l",:odgQvarajuei" komunikacioni programi. Poznatiji komunikacioni programi su stom) sto u znatnoj mjeri olaksava usvajanje__ znanja, jer Ie, ist0vremeno angazirano vise razlicitih
. Crosstalli: Quic~qnk-i,Procomm PI,-!S. Ijudskih osjetila. Ovi programi-mogu pon~vrjati lelsdje .kbllko' god puta to zeli korisnik, j mogu ispiti-
vati korisnika sve dok se ne postigne trazerii nivQ,~znanja~ 'ML!ltimedijski programi mogu biti zabavni
Komwoika9i?ni pr;gra~(:p~uiajU korisnicima razne mogucnosti. Na prvom mjestu, to je mogucnost u toj mjeri da ih korisnik dozivljava kao ,igru i da uopGane-.b"t:iae svjesan da $e_zapravo radi 0 ucenju.
poveziyan}a na.raznexaej.Hlarske'mreze, ne samo na fntemet, nego i, na primjer, na lokalnu mrezu Time se prevazilaze i psiholoske barijerepopu(st.rana_09- ibunjenosti, neuspjeha, ltd.
raeunara u preduzeeu.jJkojemlorisnlk ra6unara radio Moguce je obavljati razne vrste finansijsklh transak
cija,.poput-n?rudzbi-robe, pla6?f1ja ratune. iii vrsenja rezervacija avionskih karata. Mnoge komunikacione Poseban znac,aj multimedijskih edUk.E!cijSkl~ P;~9~.a~~ ~-astOjise -0 Cinjenici da se pomotu njih
programe"je mog\-loo' podesiti da obavljaju funkciju telefonske sekretarice, taka da se automatski javijaju maze ostvariti ucenje oblasti koje jeleskO_ PQs~ci.kta:sjCnilJl.srEtdstvima nastave, na primjer u slucaje-
_ na telefo1-1 u slueaju .da korisnik nije kod kuCe. Takoder, moguce je programirati automatske pozive vima kada se radi a proucavanfu _veoma--sitnih objekata (poput balcte.rija) iii veoma krupnih objekata
oaredenih telefonskih broj~va, kao i automatsko ponavljanje biranja u slueaju da je veza zauzeta. (poput zvijezda iii galal<slja), proucavanju proc"e.sa ko]i traju isuvise kratko iii isuvise dUgo, kao i pri
proucavanju slozel1ih, apstraktnih dinami6kih ,si:stema, ze. koje je nemoguce iii opasno vrsiti stvarni

82 83
eksperiment. Taka, na primjer, multimedijski obrazovni programi mogu upoznati korisnika sa prin- Raeunari dobijaju sve vjse primjena i u saobracaju. Mnoge oblasti saobraeaja, poput kontfble
cipom rada nuklearnih procesa ili sa procesom razmnozavanja ameba, sto je nemoguce ostvariti letova i zra6nog prostora u aviosaobracaju nezamislive su bez pomoei racunara. Takoder, ie.
kroz stvarni eksperiment. Takoder, rna kakva nastavna materija u kojoj se javlja mnostvo trodimen- ljeznicki saobraeaj se danas veama cesto izvodi automatizirano, pri cemu racunari vode brigu 0
ziona/nih sJika nije pogodna za koristenje klasicnih nastavnih sredstava, s obzirom da je trodimen lokaciji pojedinih vozova na pojedinim prugama kao i njihovoj brzini, ina' osnovu toga automatski
zionalne objekte tesko prikazati na tabU ill papiru, tako da je u tom slucaju plimjena multimedijskih upravljaju svjetlosnim signaHma, skretnicama, itd. Pri tome je covjeku omogueeno da u svakom
obrazovnih programa idealno rjesenje. NaroCito su korisni multimedijski programi za praucavanje trenutku na monitoru maze dobiti sve neophodne informacije 0 cjelokupnoj zeljezniekoj mrez].
anatomije ljudskog tije/a, te raznih bi%skih i hemijskih procesa. Upravljanje slozenim sistemom semafora na raskrsnici danas se takoder izvodi uz pomoc racunara,
sto lma velike prednosti u odnosu na neracunarsko upravljanje. Na primjer, racunar moze da uz
Danas smo suoceni_sa revolucionarnim promjenama u nacinu drzanja nastave i ucenja koje su pomae raznih senzora mjeri gustinu saobraeaja, i da na osnovu nje sam prilagodava trajanje
izazvane naglim razvojem multimedijskih nastavnill sredstaV8. Multimedijski programi svakako crvenQ9 i zelenog svjetla ovisno od saobracajne guzve, da komunicira sa udaljenijlm semaforima za
mogu biti znacajno sredstvo za unaprijedenje kvaliteta nastave. Medutim, mora se voditi raeuna 0 ostvarivanje tzv. zelenog va/a, ltd. Na kraju, ne smijemo zaboraviti i mogucnost da se pomoeu
tome da vrijednost multimedijskih obrazovnih programa kao nastavnih sredstava ne lezi u njima raeunara vrse rezervacije prevoznih karata na daljinu, sto takoder spada u primjene u saobracaju.
samima, nego u nacinu na ko]i se oni koriste.
Jedna od relativno novijih primjena racunara je i primjena u medicini, Dio prlmjena u medicini
o multlmedijskim programi'ma, i multimedijl opcenito, detaljnije cemo govoriti u poglavlju 2.6 odnosi se na probleme sistema finansiranja zdravstva i njegove infrastrukture, te vodenje evidenci-
ovog udzbenika. je 0 korisnicima zdravstvene zaStite, penzionom 11nvaHdskom oslguranju, itd. Drugi j mnogo intere-
santniji vid primjena racunara u medicini je koristenje racunara za pracenje i nadzor pacijenata, ana-
Ilzu parametara z.dravstvenog stanja poput krvnog pritiska, temperature j pulsa (npr. EKG uredaj za
1.5. j 0 Oslale primjene racunara pracenje rada srca nije nista drugo nego jedan specijaliziranf racunar), kao i za pomoc prf postav~
Ijanju dijagnoze. Na osnovu parametara zdravstvenog stanja racunar moze ukljuCiti iii iskljuciti poje~
dine aparate, dozirati pravilne kolieine lijekova, i po potrebi pozvati zdravstveno osob!je. Primjena
Tesko je na ovako malom prostoru opisati sve moguce primjene racunara. cak i za njihovo
racunara za postavljanje dijagnoze zasniva se na ekspertnfm sistem;ma, specijalnoj vrsti informa.
povrsno opisivanje vjerovatno bi trebala Citava knjlga veliCine ovog udtbenika, a i tada je sigurno da
clonih sistema 0 kOjima'smo govorili u odjeljku 1.1.10. PomoGu ovih programa ljekar racunaru
neka od eventualnih primjena ne bi bila obuhvacena. Ipak. na ovom mjestu opisacemo ukratko jos
saopcava simptome pacijenta, a racunar na osnovu prethodno pohranjenih inforrnaclja a raznim
neke primjene racunara koje nisu bile obuhvacene u dosadasnjem izlaganju u ovom poglavlju,
bolestima predlate moguce dijagnoze i potrebne terapije. Posebna vrijednost ovih programa je sto
oni sa vremenom "uce", odnosno racunar lma mogucnost da od Ijekara "nauei" simptome nekih
Na prvom mjestu treba spomenuti primjenu ra6unara u inzinjerstvu. Pod inzinjerskim pro- bolesti koje prije nije poznavao. Najpoznatiji ekspertni sistemi u oblasti medicine su programi MYCIN
gramima podrazumijevamo namjenske programe koji omogucavaju i olaksavaju ~esavanje speci- i ASSISTANT.
fltnih problema sa kojima se susrecu inzinjeri. Ovi programi se grubo mogu podijellti u dvije skupine:
programi za projektiranje uz paffloc racunara iii CAD (.computer Aided Qesign) program; i pro~ Racunari se prlmjenjuju i u sportu. Na prvom mjestu, racunari su prisutni kao sastavni dio razne
gram; za prolzvodnju uz pomo6 racunara iii CAM (Computer Aided Manufacturing) program;. U opreme za trening, gdje se susretemo sa slicnom vrstom primjena kao j u medicini (mjerenje pulsa,
grupu CAD programa spadaju svi programi tija je namjena izrada projekata, tako da se u ovu grupu praG'enje rada srca, itd.). Na taj nacin sportista prilikom vjetbe mote da prati kompletno stanje svog
ubrajaju programi za izradu raznih vrsta nacrta, shema (npr. u elektrotehnici), prora6una razlicitih organizma. Pored toga, racunar moze da vodi evidenciju 0 rezultatima ostvarenih treninga. Na prim~
vrsta, tehni6kih crteta (npr. u masinstvu i arhitekturi), trodimenzionalnih mode/a, simulaclja s/otenlh jer, prilikom treniranja biciklista na spravama za kucni trening, raeunar moze voditi evidenciju 0
tehnoloskih procesa, itd. S druge strane, CAM programi se koriste za upravljanje proizvodnlm predenoj kilometrazl, maksimalnoj i prosjecnoj ostvarenoj brzini, kolieini ostvarene snage, itd. Drugi
masinama uz pomoc ratunara. 0 CAD i CAM programima detaljnije cemo govoriti u poglavlju 2.5. aspekt primjene racunara u sportu je pracenje komp!etne statistike igre na sportskim borilisfima,
poput pracenja informacija 0 broju go!ova, kornera, pogodaka u precku, zutih kartona, itd. za vrijeme
UpravljanJe procesima je jedna od prvih primjena ratunara koja je uvela racunare direktno u fudbalske utakmice. Prikupljeni podaci m'ogu se neprestano prikazivati na vetiklm displejima (kojima
razne proizvodne procese.u fabrlkama. Osnovna karakteristika ovih primjena je u tome da je raCunar se takoder uprav!ja pomocu racunara), sto o!aksava gledaocima pracenje igre.
neposredno vezan za proizvodni proces, i da od njega doblja podatke za obradu bez ucesca covje-
ka. Ovdje Covjek uglavnom vrsi samo nadzor proizvodnog procesa kroz komunikaciju sa racunarom, Na kraju, ne smijemo zaboraviti ni na primjenu ra6unara za svrhe zabave. Tu na prvom'mjestu
i donosi odgovarajuce odluke,uglavnom samo ako_'je_-dqslo dp,'~ekih_ne~redvidenih stanja u proce- mislimo na racunarske Igre. U svojoj sustini, danasnje ra6unarske igre mogu se svrstati U kafegoriju
su. Procesi koji se nadgledaju uz pomoc racunara-mogu.da budu sasv]m jednostavni, ali j veorna interaktivnih multimedijskih programa, jer se u njima korlste razni mediji za prikaz,' peput tek-sta,
sloteni. Na primjer, upravljanje jednim kotlom iii niotor-Orn.p~mjerje Iednostavnog upravljanja pro- grafike, animacije i zvuka, dok je interaktivnost ovih programa o6igledna'- Na OVOID mje.st~ _nama
ceSOm, za razUku od npr. upravljanja hemijskim p~stroj~_~j~o:(zaPrffrad-u n(}.fte iii quklearnom elek- potrebe da detaljnije govorimo 0 racunarskim igrama, jer 0 ovoj kategoriji programa vecina 'uceriikl::!-, :.'
tranom. Racunar u ovim primjenama Ima mogucnost :da, pf-ati v.eriki broj tehnoloskih parametara vjerovatno posjeduje vete znanje nego autor ovog udzbenika... . .
procesa (poput temperature, pritiska, protoka,"napona, i~d.t~.f<oJlma--bi se covjek mogao lako izgu-
biti, koje po potrebj uskladuje kada dod~ do. ne~ih prbrnjena.. Takoder; ra"cunar oslobada tovjeka
potrebe da bude prisutan na mJestu gdje sEfvrs1 tehbo!oski,proce~,_gaje su testo iZrazito nepovoljni
radni uvjeti. Taka, na primjer, umjesto uz visokupec, m?siyni-motQr iH naftovod, covjek je uz racunar,
ina ekranu monltora prati sva dogadanja u procesu i<ojfin s-e-upravlja.-

84
85
Pitanja i zadaci 1.6 PRENOS PODATAKA I RACUNARSKE MREZE
1. Koja je osnovna razUka izmedu naucno-tehni6kih proracuna i masovne abrade podataka? Kada
su se ave primjene racunara pocele koristiti? 1.6.1 Osnovni principi prenosa podataka
2. Kakva je razUka izmedu editora i tekst procesora?
3. Koje tipicne funkcije obavljaju editor!? Masovna upotreba racunara dovela je do potrebe razmjene podataka izmedu sku pine racunara,
4. Koje su funkcije koje posjeduju tekst procesori a ne posjeduju editori? sto je ostvareno povezivanjem racunara u sistem nazvan racunarska mreia. Racunarsku mretu
5. Sta ~e podrazumijeva pod pOjmom-cistog tekstualnog dokumenta? mogu Cil1iti posve jednostavnl sistemi koji se sastoje od svega nekoliko racunara (u principu, cak i
dva povezana racunara mcitemo smatrati racunarskom mretom), dok s druge strane pastoje i
6. Zasto se koriste editori kada pastoje j- tekst procesori?
s\oiene mreze u kojima S8 brej medusobno povezanih racunara (bilo direktno iii indirektno) izrata~
7. Sla ie WYSIWYG koneepl? va cak-u milionima. Pri tome, povezani racunad mogu geografski blti veorna udaljeni. Bez obzira na
8. cemu slule programl za tabelarne proracune i ko]i su najpoznatlji? vrstu, s!ozenost ili nacin grade, svaka racunarska mreta ima istu osnovnu funkciju: prel10s podata~
9. Koj! je znaea] formula u programima za tabelarne proracune? ka izmedu dva fizicki odvojena mjesta.
10. Sta je poslovna grafika?
11. Sta motete reci 0 finansijskim programima? Pod prenosom podataka u racunarskoj tehnici obicno mislimo na razmjenu podataka izrnedu
12. Sta su baze podataka, a sta programi za upravljanje bazama podataka? vise povezanih racunara iii izmedu racunara i vanjskih uredaja (mada se u sirem smislu i izmedu
racunara i okoline takoder vrsi prenos podataka). Prema opeem modelu komunikaclonog proeesa,
13. Koj! su asnovni elementi svake baze podataka?
prillkom prenosa podataka izmedu racunara, pored racunara u ulozi izvora i prijemnika informacija,
14. Gta su program! organajzeri? moramo imati i kodere; dekodere i kana! veze. Razl1Cite vrste mreta razlikuju se upravo po tome
15. Kakva je razlika izmedu programa za crtanje i programa za sHkanje? kako su izvedeni ovi elementi.
16. Sta su programi za stolno izdavastvo i koji su najpoznatiji?
17. cemu sluze komunikacioni programi? Informacije su u racunarima pohranjene u digita!nom obliku. Stoga se brzina prenosa informa-
18. U cemu je osnovna upotrebna vrijednost rnultimedijskih obrazovnlh programa? dja izmedu dva ratunara mjeri bro/em bita prenesenih u sekundi (to ne znad da Se informacije
kroz kanal veze obavezno pronose u digltalnoj formi - situacija bltno ovisi od upotrijebljenog kodera
19. Gta su CAD, a sta CAM programi?
i dekodera). Bit u sekundi skraceno so oznacava sa bps (ad eng I. J2its Qer Second).
20. Opisite primjenu racunara u upravljanju procesima.
21. Opisite primjene racunara u saobracaju, medicini i sportu. Sistemi za prenos podaiaka trebali bi da imaju sto je god mogu6e veeu brzinu prenosa podataka,
22. Razmislite kako bi se mogla ostvarlti primjena racunara u ugostiteljstVu, trgovini i sredstvima sio se, izmedu ostalog, postize i kompresijom podataka. Pod kompresijom podataka smatramo pos-
javnog informiranja. tupke koji omogueavaju da se ista informacija izrazi manjim bt'Ojem znakova iii op6enito bita (npr. kada
23. Sta znate 0 racunarskim igrama? umjesto "i tako dalje" napisemo "itd." ostvarili smo jednu vrstu kompresije podataka). Nataiost, svi
24. Navedite barem jos neko!iko primjena racunara kojlh se motete sjetiti, a koje nisu obradene u podaci se ne mogu kompresovatl. Mogu se kompresovati samo oni podac! kod kojih zapis sadrii vise
ovom poglavlju. . bita nego sfa iznosi kaliCina informacije sadriana u njfma. Za ovakve podatke se kaze da posjeduju za~
Hhost iii redudanciju. Na primjer, pisani tekst sadrti veliku kollcinu redudancije. Motemo primijetiti da
iz pisanog teksta mozemo odstranitl reeimo svako trece slovo, a da se smisao teksta jus uvijek moze
bez vecih problema odrediti. OVo je upravo posijediea redudaneije. Narodto veliku koliCinu redudancije
sadrie slikovni iii zvucni podad, stoga se lakvi podaci veoma dobra kompresuju. Medutim, izvjesna
doza redudancije pri prenosu podataka je pozefjna, jer omogueava automatsko otkrivanje a ponekad i
automatsku korekciju nekih gresaka u prenosu podataka. Na prlmjer, ukolike vidite (ijec "stoUea", Vi 6ete
je vjerovatno autornatski procitati kao "stoliea", bez obzira na to sto ana sadrii gresku. Informacija se iz
pogresno prim!jene poruke "stoUea" mote razaznati upravo zahvaljujuei redudanciji govornog jezika.

Kod prenosa digital nih podataka razlikujemo dvije vrste prenosa: paraJelni pumas i serijski
prenos. Kod parafelnog prenasa istovremeno se kraz vise vodica (tiea) prenosi vise bita, najeesce
osam bita koji tvore jedan bajt. Zbog toga cesto katemo da se kod paralelnog prenosa podaei
- ..-. ".
prenose bajt po bajt. Kod serijskog prenosa podaei se prenose bit po bit Na prvi pogled izgleda da
se serijski prenos maze realizirati koristeei isk!juCivo jedan vodic. Medutim, ipakje neophodan i drugi
vodic, tzv. masa, da bi se mogao zatvoriti strujni krug lzmedu racunara koji vrSe razrnjenu, tako da
se serijski prenos realizira kroz par vodica.

Paralelni prenos je o6igledno 8 puta brti ad serljskog, pri jednakim ostalim okolnostima.
Takoder. paralelni prenos podataka je znatno jednostavniji za izvedbu u komunikaeionim programi-
66 87
rna, zbog cinjenice da su podaci u racunarskim memorijama organizirani upravo po bajtovima. 1.6.2 Prenos podataka kroz tele!onsku mrezu i modemi
Medutim, potreba za velikim brojem vodica ogranic:"ava upotrebu paralelnog prenosa iskljuCivo za
potrebe povezivanja uredaja Cija udaljenost ne prelazi nekoliko desetaka metara. Pri iole ve6im uda- Tipicni komunikacioni sistem u kojem se ostvaruje analogni prenos informacija predstavlja tele~
Ijenostirna, za prenos podataka kor/sti 5e isklju6lvo ser/jski prenos. fonska mreia. Zafsta, telefonske mrete su projektirane za prenos govora, koji po svojoj prirodi
predstavlja tipicni primjer analognih informacija (mada se i govor moze digitalizirati, 0 cemu smo
Uprakticnim izvedbama serijskog prenosa razlikuju se dvije izvedbe serijskog prenosa: sinhroni govorili u odjeljku 1.1.9). Te!efonske mreze prisutne su decenijama, i danas povezuju prakticno sve
prenos i aslnhronl prenos. Kod sinhronog prenosa podaci se prenose u blokov;ma iii paketima krajeve svljeta. 8toga je telefonska mreza dom;nantna komunikaciona mreza u svijetu.
(izvorni, tesko prevodivi engleski naziv ovih blokova, odnosno paketa, je burst). Blok sadrzi fiksan broj
bajtova (reeimo, 512), pri cemu se svi bajti koji cine blok razlazu u seriju bita i salju jedan za drugim, Rasprostranjenost telefonske mreze namece ideju da se ona pokusa iskorlstiti za prenos
fiksnom brzinom, bez pauza izmedu pojedinih bajtova. Blokovi se takoder salju jedan za drugim, podataka izmedu dva udaljena racunara, Kako se za prenos putem teJefonske I11reze koristi jedan
medutim izmedu svaka dva bloka salje se specijalan niz ad 8 bita, tzv. sinhroniiacioni bait iii par vodica, jasno je da U obzir dolazi samo serijski prenos. Medutim, pri koristenju telefonske mreze
skraceno SYNC, koji nije sastavni die bloka i koji ne sadrz! korlsnu informaciju, a Gija je jedina svrha jav!ja se -jedan sustinski problem, Telefonska mreza namijenjena je za prenos govornih, a ne digi~
da osigura sinhronizaciju prenosa blokova lzmedu posaljioca i primaoca. S druge strane, kod tal nih signala (mada danas postoje i telefonske mreze koje su prilagodene prenosu digital nih
asinhronog prenosa, svaki elementarni podatak (tipicno jedan bajt) prenosi se neovisno jedan ad podataka), Karakteristika digitalnih elektricnih signal a su nagli skokovi napona sa jedne na drugu vri-
drugog. Prije nego sto zapocne prenos jednog podatka, kanal veze nalazi se u neaktivnom stanju jednost, s obzirom da u njima napon maze imati sarno jednu od dvije moguce vrijednostl, koje odgo-
i1i tzv. IDLE. stanju (oblcno stanju logicke jedinice). Prenos podataka zapocinje promjenom stanja varaju ciframa a i 1. Klasicna telefonska mreza ne moze da korektno reagira na ove skokove, zbog
kanala veze (npr. sa logicke jedinice na logicku nulu) u trajanju jednakom trajanju prenosa jednog bita cega dolazi do izob!icenja signa!a u toj mjeri da ga prijemnik ne moze da prepozna.
(ova promjena naziva se start bit), nakon Gega sHjedi prenos stvarnih bita ko]i Cine podatak. Nakon
sto se citav podatak prenese, kanal veze se ponova vraca u IDLE stanje, koje trajB do prenosa novog Izlaz iz ovih problema naden je u pretvaranju digitalnih signala ko]i izlaze iz racunara u analogne
podatka. Vrijeme trajanja IDLE stanja nije odredeno, medutim obicno se propisuje da IDLE stanje signale koji sadrze istu informaciju, a koji su takvog oblika da S8 bez problema prenose kroz telefon-
nakon prenosa jednog podatka mora trajati makar koliko iznosi trajanje prenosa jednog bita porn- sku mrezu. Ovaj postupak naziva se" modulacija, a uredaji koji obavljaju ovaj postupak nazivaju se
noteno sa 1, 1.5 iii 2. U tom slucaju kazemo da se koristi asinhroni prenos sa jednim, jednim i po [Ii modufatori. Opcenito, modulacija je ~postupak pretvaranja signala iz jednog obUka u drugi oblik pri~
dva stop bits. Sljedeca slika ilustrira razliku izmedu sinhronog i asinhronog prenosa: lagodeniji prenosnom mediju, bez gubitaka informacije. Kod ovog postupka, korisna informacija se,
na izvjestan naCin, "utlskuje" u noseCi (obiGno tonski) signal, koji ce je prenljeti na odredlste. Na prim-
jer, jedan od mogucih post!Jpaka modulacije koji se cesto koristi, nazvan frekventna modulacija iii
skraceno FSK (Erequency ,Shift Keying), zasnlva se na tome da se podatak 0 predstavi tonom jedne
visine (frekvencije), a podatak 1 tonom drugacije visine. Na ovai nacin, kroz te!efonsku mrezu
prenose se iskljuCivo tonovi, s10 za telefonsku mrezu ne predsfavlja problem. Drugim rijecima, podaei
se kroz telefonsku mrezu prenose tonskf kodiranf. Na sljedecoj slici prikazano je kako izgleda izvorni
digitalni signal i rnodulirani signal prema FSK postupku pri prenosu podatka 10110010:

o 0 0 1 0 o 0 0 0
Sinhroni prenos Asillhrol1i prenos

Sinhroni prenos je ocigledno mnogo efikasniji, jer se kod asinhronog prenosa prakticki vrsi
J-lJ--l_ . _J~L~ rV\rvWVVV\/\fV\;
lzvorni digitafni signal Modulirani (1111l{ogni.signal
sinhronizacija svakog elementarnog podatka pojedinaGno, Cime se gub! mnogo vremena. Medutim,
asinhroni prenos podataka je mnogo praktlcniji u slucajevima kada se prenose male koliCine podata w

ka, pri cemu je tacan razmak izmedu pristizanja podataka koji se prenose potpuno nepredvidiv, na Nakon prijema moduliranog signata, potrebno je ovaj signal vratiti u prvobitni oblik. Taj postupak
. primjer, prilikom prenasa podataka koje korisnik kuca sa tastature (vrijeme izmedu pritisaka na naziva se dem()dulacija, a ureda]i koj! obavljaju ova] postupak nazlvaju se demodulatori (modula-
tastere je nepredvidivo, a sam podatak a pritisnutom tasteru je kratak). Asinhroni prenos se najcesce tori i demoqulatori su zapravo jedna vrsta kodera i dekodera u Shannonovom mode{u komunika-
koristi za prenos podataka izmedu racunara i prafece racunarske opreme, dok se za prenos podata- _cion09.-p-rocesa). t\{lodulator i demodulator najcesce se objedlnjuju u jedan ureaaj nazvan modem
ka izmedu racunara koristi pretezno slnhroni prenos. . (skrac~nica .od Modulator i J2~modulator). 8toga se kao posrednik izrnedu racunara i te)efonske
--rnrez~:u.vijek tl<;llazi modem, kao sto je prlkazano na sljedecoj slici:
Kada sma govorili a paralelnom i serijskom, odnosno sinhronom i asinhronom prenosu podata- /\llII!ogni
- signa! ,
ka, podrazumijeval1 sma da se radi 0 prenosu digita/nih informacija. 8toga takav prenos podataka
nazivamo digitalni prenos. U sljedecem odjeljku cemo vidjeti da je u nekim slucajevima digitalne
informacije prije prenosa na daljinu povoljnije pretvoriti u analogne informacije, a zatim vrsiti prenos
tako dobijenih analognih infarmacija, koje ce se na mjestu prijema ponovo pretvoriti u digitalne
informacije. Prenos analognih informaeija sa jednog mjesta na drugo naziva se ana/Dgn; prenos.

Prt'llos podatakn kroz tdcfonsku mrezu


88 89
Kako "zvuce" modulirani podaci prilikom prenosa racunarskih podataka kroz telefonsku mrezu podrazumijevamo mreze koje pavezuju ra6unare na relativno malom prostoru (npT. unutar neke skole
vjerovatno stB imali prilike da cujete ukoliko ste slucajno pozval\ neki telefonski broj kod kojeg se sa iii fabrike), dok rasprostranjene mrete medusobno povezuju racunare na znatno sirem prostoru, koji
druge strane zice kao sagovornik umjesto zivog sagovornika nalazi prikljucen modem (iii, jos maze obuhvatiti i citav svijet. Rasprostranjene mrez'e takoder medusobno povezuju i skupine lokalnih
vjerovatnije, faks uredaj, koji sadrzi modem kao svoj sastavnl dia). mreza. Raeunare koji ucestvuju u komunikaciji putem racunarskih mreza nazivamo cvorovi mreze.

Modemi mogu bit! ugradeni u sarno ku6iste racunara, j tada S8 nazivaju Interni (unutrasnj~ Da ii je neka mreza LAN iii WAN mreza ne moze se suditi samo po geografskoj udaljenosti poje
modemi, a mogu biti i izvan kuClsta kao posebni uredaji ko]i S8 prikljucuju na sedjska vrata dinih cvorova. Na primjer, LAN mreze se mogu rasprostirati i na pavrsini od nekoliko kvadratnlh kilo-
racunara, i tada S6 nazivaju ekstemi (va!1jsk~ modemi. Interni modemi obicno se izraduju u vidu matara, dok je u principu, WAN mrezu mogu(:e organizfratl i na znatno manjem prostoru. Staga pas
kartice k~ja S6 ubacuje u uticnicu na maticnoj plod racunara. Oni su maHh- dimenzija, ne zauzimaju toje drugi kriteriji koji odreduju da Ii je neka mreza racunara LAN iii WANtipa. Osnovni kriterij je nacin
posebno mjesto na statu, ]eftiniji su _ad eksternih modema i ne zahtijevaju posebno napajanje (za na koji je izvedena komunikaclja izmedu- racunara. Ukoliko su racunari u mrezi povezani lskljucivo
razliku ad eksternih mOdema). Medutim, nedostatak internih modema je sto zauzimaju jednu kablovima razli6ite vrste, pri cemu je to povezivanje iii neposredno, iii preko'relativno malog broja
uticnicu na maticnoj ploei i sto moraju biti saglasni sa tipom sabirnice na maticnoj ploeL Pored toga, uredaja za pasredovanje, tada se sigurno radi 0 LAN mrezl. Ukoliko se za komunikaciju izmedu
tesko je nadzirati njihov rad i upravljati njihovim radom. Za razliku od internih modema, eksterni ra6unara koriste te!efonska mreza, modemi, pa cak i komuniciranje putem satelita, sigurno se radi
modemi se prikljucuju na serijska vrata, j neovisni su od tipa sabirnice koja se koristi u raGunaru (pri o WAN mrez!. Dopunski kriterij je brzina prenosa informacija jzmedu racunara. LAN mreze su nam
cemu je oCigledan nedostatak zauzimanje jednih serljskih vrata). Kako se ovi modemi nalaze izvan jenski dizajnirane sa ciljem omogucavanja izuzetno brzog prenosa informacija izmedu racunara, koji
raeunara, njihov rad je veoma laka nadzirati preko svjetlasnih indikatora ko]i se nalaze na ku6istu se izrazava u stotinama mi!iona bita u sekundi, sto je nemogu6e ostvariti sa WAN mrezama. Najveca
modema. Takoder je lako i upravljati njihovim radom, preko prekidaCa koji se takoder nalaze na brzina prenosa kaja se moze posti6i u WAN mrezama statinama je puta manja nego brzina prenosa
kucistu modema. u tlpienim LAN mrezama.

Postupak prenosa clteta j fotografl/a na dalj,'nu kroz 1e!efonsku mrezu, koji se naziva fototeJegrafi~ Da bi se racunari mogli medusobno povezivati u lokalnu mrezu, ani moraju posjedovati odgo-
ja, fe/efato prenos, faksimil prenos, telefaks iii samo skraceno faks (od engl. facsimile), takoder se varaju6i mreini adapter (mreinu karlicu). Uloga ovog adaptera je pretvaranje podatka Iz racunara
zasniva na upotrebi modema. Zapravo, urectaj za faksimil prenos (iii faks ureaaj) je kombinacija ske U oblik prihvalljiv kanalima veze mreie: Mrezna kartica se sa jedne strane prikljucuje na sabirnicu
ners, stampaea, modema j specija/iziranog raeunara ZS obradu. Skener sliku sa papira pretvara u dig- racunara, a sa druge strane na prenosni medii (kabel) kojim se podaci pre nose, Naravno, za uprav-
ltalnl zapis, koji se nakon obrade u specfjallziranom racunaru moduJira uz pomoc modema i salje kroz Ijanje mreznom karticom neophodan je i odgovarajuCi pogonski program (drajver).
telefansku mrezu. Na mjestu prijema, nakon demodulacije primljenog signala i njegove abrade, prim-
Ijena slika se stampa na stampatu, time se dobija vjema kopija poslane slike. Vazno je naglasiti da Nadzor nad lokalnam mrezom obicno $e prepusta jednom ad racunara u mrezi koji se naziva
faks uredaji svaki dokument prenose kao sliku, cak i ukolika dokument sadrzi samo Cist! tekst. Ve6ina posfuzitelj mreze iii mrezni server. To je obiGno najjaei racunar unutar lokalne mreze, i koji je
danasnjih madema omogu6ava da se svaki raeunar opre'm!jen skenerom, printerom i takvim mode- najces6e posebno dizajniran za svrhu upravljanja mrezom. Kod manjih i manje opterecenih mreza,
mom koristi i kao faks uredaj. Takvi modem! nazivaju se faks modemi. mrezni server pored nadzora mrezom moze obavljat! i druge poslove, dok je kod veCih j optere6enijih
mreza server u potpunosti posvecen upravljanju mrezom. Na mreznom serveru mora se iz;vrsavati
operativni sistem kaji je posebno prilagoden potrebama nadzora i upravljanja racunarskim mrezama.
Takvi operativni sistemi nazivaju se mrezni operativn{ sistemi iii NOS (Network Qperating System).
1.6.3 Racunarske i lerminalske mreze
Na primjer, server svoje zadatke ne moze da obavlja sa Windows 98 operativnim sistemom koji nije
mrezni operativni sistem. Primjeri mreznih operativnih sistema su Novell, UNIX i Windows NT Server.
Kao BtO je vee reeeno, raeunarske mreze su skupine medusobno povezanih racunara, sa Giljem
razmjene podataka i informacija izmedu racunara. Razlozi za formiranje racunarskih mreza su Kod malih lol<alnih mreza prisustvo servera se maze !zbjeci, taka da se svakom racunaru dodi-
visestruki. Na prvom mjestu, raeunarske mrete amogu6avaju korisniku da pomo6u jednog raCunara jele jednaka prava. U takvim mrezama, koje se zovu peerutoupeer mreie (naziv je tesko prevodiv,
pristupi informacijama koje su pohranjene na bilo kojem drugom racunaru, kao da se one nalaze na engl. peer znad ravnopravan), svaki racunar abavlja i ulogu nadzora mreze. Ovakve mreze su jef~
istom racunaru na kojem korisnik trenutno radi. Dalje, racunarske mreze omogucava]u razmjenu tine i pouzdane, jer kvar servera ne(:e dovesti do prestanka funkcioniranja mreze. Dalie, ove mreze
. poruka izmedu udaljenih korisnika ei]1 su racunari prikljuceni na istu mrezu. Vazan razlog za formi. ne zahtijevaju specijalizirane mrezne operativne sisteme~- Meduiim, sustinski nedostatak ovakvih
ranje racunarskih mreza je i koristenje zajedniekih resursa (kako hardverskih tako i soitverskih);_Na mreza lezl u cinjenici da je veoma tesko nadzirati rad i upravljatl radom oval<ve mreze, S obzirom na
primjer, ukoliko neka skala ima 20 racunara i samo jedan stampae (hardverski resurs), poyezivanje to da nije mogu6e vrsiti nadzor i upravljanje sa jednog -mjesta. Na primjer, u veCini racunarskih
racunara u mrezu omogucava da se sa bilo kOjeg od raeunara posalje dokument n?--stam-pa.nje-, i' mreza neophodno je voditi evidenciju 0 pravima pristupa pojedinih korisnika raGunarske mreze, s
ne samo sa raeunara na koji je stampac direktno prikljucen. Takoder, svih 20 raCi.mara mogIJJ<.oris~' obzirom da sv[ korisnici mreze ne moraju [mati prava pristupa svim podacima koji se nalaze u mrezi,
tlti neki program (softverski resurs) koji se nalaz! na samo jednom racunaru. Konacno, r-acunarske kao ni svim ostalim resursima mreze. Ovakvu evidenciju mnogo je lakse vrsiti uk9!iko se nadzor i
mreze omogucavaju i raspodlj'elj'enu obradu podataka. Jedan veliki posao maze se podijelitfria' ~rse . upravljanje vrse preko jedinstvenog racunara. Stoga je gotovo nemoguce napraviti kvalitetnu
dijelava, nakon 60ga sa pojedini dijelovi izvrsavaju istovremeno na vise racunara, "pri cemu jeulO.fja peer-to~peer mrezu kOja ukljueuje iole veGi broj racunara. Dodatni nedostatak peeHo~peer mreza je
mrete razmjena medurezultata izmedu racunara koj] obavljaju pojedine dlje!ove posl?~ koJfi Je1:~sto njihova relatlvna sporest pri ve6em broju-ukljucenih radnih mjesta.
neophodna prilikom raspodijeljene obrade podataka. .. ' : -.... ___ . .
Kod rasprostranjenih mreza racunari se tipicno povezuju putem telefonske mrete. Za povezi
Bve racunarske mreie mozemo grubo podijeliti na lokalne iii LAN (hoca~' Area ~~tworkfmre;e vanje se mogu koristiti kako javne, tako i privafne teiefonske mreie. Javne telefonske mrete su
i gJobalne, rasprostranjene iii WAN (Wide Area Network) mreze. Pod lokalnjm mretama'Obieno - telefonske mrete koje su dostupne svim pretplatnicima mreze, dok su privatne tefefonske mrete
90 91
namijenjene iskljucivo odrectenom krugu korisnika. Na primjer, mnoge drzavne organizacije, poput U ovom odjeljku razmotrili sma osnovne tehni6ke aspekte racunarskih mreza, Napradniji aspekti
vladinih institucija, policije, vojske, avijacije, zeljeznice, itd. imaju svoje privatne telefonske mreze raeunarskih mrezB, kao i nacini koristenja racunarskih mreza bice detaljnije obradeni u poglavlju 2,7.
kOje mogu, ali i ne moraju imati spoj sa javnim telefonskim mrezama. Za prikljucenje racunara na
telefonske mrete najcesce se koristi modem, uz pretpostavku da se radi 0 klasicnim tel~fonskim
mrezama namijenjenlm za prenos analognih informacija. Danas pastaje i specijalizirane te/efonske 1.6.4 Topologije racunarskih mreza i telekomunikacijska oprema
mreie za prenos digita/nih podataka. Najpoznatija ovakva mreza ie ISDN (Integrated Q.erviee
12igital Network) mreZa koja, izmedu ostalog, zahvaljujuei naprednoj tehnici nazvanoj multipleksi~ Pod topologijom racunarske mreie podrazumijevamo prikaz rasporeda veza izmedu pojedinih
ranje, omogueava i prenos vise signala (do deset) kroz istu telefonsku ticu, taka da je npr, moguee cvorova mreie. Kod lokalnih mreza postoje tri glavne topologije:- zvijezda (engl. stai), sabirn;ca iii
u isto vrijeme ostvarivati razmjenu podataka izmedu dva racunara i voditi normalni telefonski raz- magistra!a (engl, bus) i prsten (engL ring). Kod topologije tipa zvijezda, sv] cvorovi mrete povezani
govor, sto niie moguce kod klasienih telefonskih mreza, Za prikljucak racunara na ISDN mrezu ne su na zajednicki sredisnji uredaj koji se naziva koncentrator iii hab (engl. hub). Ovaj vid topologije
koriste se modemi, vee terminalni ISDN adapterl (kart/ce). Kako kod ISDN mreza otpada potreba se danas najeesee koristi. Prednosti ove topologije su jednostavno dodavanje novih racunara u
za modulacijom i demodulacijom, sa ISDN mrezama moze se ostvariti daleko veea brzina prenosa mrezu, centralizirano upravljanje prenosom podataka (s obz!rom da svi podaei prolaz! kroz koneen-
podataka nego sa klasicnom telefonskom mrezom, U posljednje vrijeme pojavile su se i ADSL trator), kao i Cinjeniea da kvar nekog od racunara nece ugroziti rad mreze, Takoder, prekid rna kojeg
(8symetrie Qigita! ubscriber .bine) mreze, kOje koriste veoma napredne tehnike digitalne obrade od kablova ugroziee sarno rad racunara koj! je spojen preko tog kabla. S druge strane, ukoliko se kon-
signaia iii DSP (12i9ital 9.ignal Erocessing) tehnike za ostvarivanje izuzetno velike brzine prenosa eentrator pokvari, citava mreia ce biti izvan funkelje. Kod topo!ogije tipa sabimica, sv! racunari su
podataka, koja postaje uporediva sa brzinom prenosa podataka u lokalnim mrezama, pov~zani na zajednicki kabel, kojl predstavlja sabirnieu, Osnovni nedostatak ove topologije ie cinjeni-
ea da prekid zajednickog kabla uzrokuje odvajanje ad mreze svih racunara koji se nalaze iza mjesta
Veliki problem kod lokalnih mreza sastoji se u cinjenici da ukollko postaj! potreba da se jedan prekida, Kod topologije tipa prsten, sv! racunari su medusobno povezani u ciklicnu strukturu, ~ako da
raeunar lzmjesti sa jedne lakacije na drugu (npr.lz jedne u drugu zgradu), potrebno je iznova vrsiti hard- je svaki racunar spojen sa dva susjedna raeunara. Prenos podataka u ovakvim mrezama moze biti
versku konfiguraciju mreze da bi racunar ostao unutar iste lokalne mreze kao i prije. Ovaj problem izrazito efikasan, medutim prekid bilo kojeg kabla u mrezi uzrokuje prekid rada Wave mreze. qpisane
rjesava se koristenjem virtualnih toka/nih mreta (skraeeno VLAN), koje predsfavljaju mrezu raeunara topologije !okalnih mreza shematski su prikazane na sljedeeoj slici:
koji sa ponasaju kao da su prikljueeni na istu zieu, mada se oni fizieki mogu nalaziti u sasvim udaljenim
dijelovima jedne lokalne mreze. Virtualne mreze S8 konfiguriraju uz pomoc softvera, a ne hardvera, sto
ih cini Izuzetno fleksibilnim. Jedna lokalna mreia u nekoj organizaciji maze logicki biti podijeljena na
nekoUko virtualnlh mreza, tako da korisnici imaju utisak da u organizaciji postoji nekoliko razlicitih
lokalnih mreza, iako su zapravo svi prikljuceni na jedinstvenu lokalnu mrezu, lIuzija pastojanja neko!!ko
neovisnih mreza osivarena ie uz pomoe softvera, odakle i potlte naziv virtualne (nestvarne) mreze,

Arhitekture LAN i WAN mreza donedavno su se logicki posmatrale potpuno razdvojeno, Kod
lokalnih mreza, prenos podataka je brz, tako da ne postaji potreba za klasifikacijom vrste podataka
kojl se prenose, S druge strane, kod rasprostranjenih mreza, prenos je spar, i cesto postoja velika
kasnjenja u prenosu uvjetovana zagusenjem mreze podacima, Postoje vrste podataka koje ne trpe
kasnjenja u prenosu, poput prenosa g/asa i video prenosa (odnosno prenosa pokretnih slika), Zbog
toga se prenos ovakvih podataka sve do nedavno morae tretirati drugacije od prenosa podataka koji
trpe kasnjenja. U posljednje vrijeme se radi na razvoju nove mrezne tehnologije nazvane ATM
Topologija "zvijezda" Topologija "sabimica" TopologUa "prsten"
(Asynchronous Iransfer Mode), Ova tehnologija na izvjestan nacin objedinjava LAN i WAN
tehnologije, Kod ATM mreia, podaci se pre nose u sasvim malim blokovima fiksne veliejne, na nacin
koji osigurava da ni jedna specificna vrsta podataka ne okupira cjelokupan kanal veze. ATM mreze Postoji mnostvo mreznih tehnologija Kojima se realitiraju naveden! tipovi mreznih topologija. Jedna
se narocito koriste prilikom prenosa glasa I video prenosa na velike daljine, Neki strucnjaci misle da od naje"esee koristenih tehnologija poznata je pod naz]vom Ethernet. Ova tehnologija realizira topologi-
ce ATM tehnologija rijesiti problem zagusenja u racunarskim mrezama, dok su drugi strucnjacI po -je tipa sabfrnica (prj manjim brzinama-prenosa) i zvljezda (pri vecim brzinama prenosa), a omogu6ava
istom pitanju izuzetno sumnjieavi. brzine prenQsa od 10 do 100 miliona bita u sekundi. Zbog svoje pristupacne cijene i tehnicke jednos-
tav:.":.osti, ~themet}; najrasireniha tehnologija Iokalnih mreza za povezivanje PC racunara.
Na kraju, u vezi sa racunarskim mreiam<?- treba spomenuti i terminalske mreie, Ove mreze
nazivaju se i pasivne racunarske mreze. Za razliku od svih do sada spomenutih racunarskih mreza Za>ostVariVanje kanala veze izmedu pojedinih cvorova u lokalnim mrezama, najcesee S6 koriste
(koje mozemo nazvati aktivne racunarske mreze), kod terminalskih mreza iskljucivo jedan racunar trl tipa_" p"YenQsnih medija; u1(iJene telefonske parice, koaksijalni kablovi i apt/(;ki kablovi.
- na sebe preuzima cjelokupnu obradu podataka, dok svi ostal! racunari samo dostavljaju glavnom :--. U~ijf;ni )eJf!fo.nske parlee su 'medusobno isprepletene bakame tice koje se inace kor/ste za
racunaru podatke na obradu, i prikazuju rezultate abrade, Drugim rijecima, svi racunari osim cen- prikljuc?Jij~lele{onskih aparata. Njihova prednost je niska cijena i Clnjenica da su cesto vee postav~
tralnog racunara imaju ulogu sarno terminafa za unos i prikaz podataka, Ovakva vrsta mreza lJ1ne" ?a~potrebe prikljocenja telefonskih aparata. Nedostatak telefonsk!h pariea je mala brzina
susreee sa U organizaeijama koje posjeduju jedan mocan raeunar i veliki broj znatno slabijih . prenqsa- podataka- i ogranicenje udaljenosti prenosa podataka na maksimalno stotinjak metara,
racunara. Ovaj vid mreza u proslosti se koristio veoma cesto, kada su moen] racunari bili sku pi, pa koaksijalni kabfovi su znatno skuplji od telefonskih pariea, a sastoje se od izolirane sredisnje iiee,
je veeini organizacija bilo nemoguce da nabavi veGi broj dovoljno mocnih racunara. Danas se kOja-lEi okolo omotana t:ieanlm oklopom koji ima ulogu drugog vodica, citav kabel je spolja zasfieen
ovakav vid mreza sve rjede susrece. vanjskim izolatorom. Ovakvi kablovi su najcesce koristenl prenosni mediji u !okalnim mrezama. Kako
92 93
je koaksijalnl kabel mnogo otporniji na smetnje, njime je moguce prenositi- podatke znatno vecom 1.6.5 Internel kao najrasprostranjenija racunarska mreza
brzin~m, i na znatno vece udaljenosti.
Rijec Internet zauzela ie udarno mjesto u medijima. Svakodnevno sma bombardirani tom rijecju
Opti6ki kablovi predstavljaju trenutno najsavremeniji prenosni medij. Opticki kablovi umjesta od televizije'do dnevne stampe, a nazalost prilicno mali braj !judi zna sta je uopce Internet. Zapravo,
bakarnlh provodnika koriste opticka v/akna (engL optical fiber; koja predstavljaju snop tankih stak- nije nimalo jednostavno reCi neupueenom covjeku sta je ustvari Internet. Zbog toga, mazda je
lenih vlakana zatvorenih u zastitnu ovojnicu. Za razliku od obicnih, kablova koji provode elektricnu najtaeniji odgovor sadrzan u reklamnom spotu racunarske firme Apple:
struju, kroz opti6ke kablove se signal prenosi uz pamoe svjetlosti. Na ulazu u opticki kabel, speci-
jalni elementi nazvani lasersk~ diode pretvaraju elektricne digitalne impulse koji izlaze iz nieunara Ne raVlli#iaJte 0 tome staje to Internet. Internet je ona .~to Vi zelite da on bude.
u povorku svjetlosnih impulsa, koji se prenose kroz opticki kabel, i na mjestu prijema uz pamoe
fotodetektora ponovo pretvaraju u elektricne impulse koji se vade u raeunar. Oplicka vlakna su -pot- Internet je, u stvari, najrasprostranjenija racunarska mreza, koja omoguGava pojedincima iz svih
puno neosjetljiva na elektromagnetske smetnje i zraeenja, tako da su pogodna za prenos podataka dijelova svijeta da medusobno komuniciraju i dijele informacije. Oakle, Internet je mreia koja povezuje
veoma velikim brzinama. Opticki kablovi imaju 6ltav niz prednosti u odnosu na druge prenosne medi M

mnostvo drugih racunarskih mreza sirom svijeta u jednu ogromnu mrezu. Pored toga, Internet je I jedan
je. Medutim, pored 6injenice da su skuplji od obicnih kablova, cijena njihove ugradnje i polaganja je ogromni informacioni sistem koji objedinjuje informacije pofJranjene na svim tim racunarima, Internet se
takoder visoka, i za njih su potrebni dodatni uredaji za pretvorbu elektri6nih impulsa u svjetlosne i slikovlto moze zamisliti kao ogromna paukova mreia (eng!. web) koja obuhvaca cije!u zemaljsku kuglu,
obrnuto, sto ogranicava njihovu upotrebu u primjenama u kojima je cijena bitan faktor. i povezuje razne raeunare i manje racunarske mreze. Zbog toga se Internet 6esto naziva sarno Mreza,
sa vel1kim "M" (engL The Web). Internet je multimedijski sistem, jer omogucava prenos informacija kako
Topologije rasprostranjenih mreza su znatno sloienije, i njihovo razmatranje izlazi van okvira tekstualne, taka i slikovne iii zvucne prirode. Moguenost interneta danas je posebno izraiena u
ovog udzbenika, pogotovo sto je za njihoyo razumijevanje neophodno razmotrlti i topologije telefon- bankarstvu i trgovlni (kupovina putem Interneta), a u novije vrijeme rasprostranjeno je i gledanje tele-
skih mreza, koje su bitan element svake rasprostranjene mreze. ReGimo ipak nekoliko osnovnih vizije, kao i felefoniranje putem Intemeta (skraceno VOI- ~oice Qver Internet).
informaGija 0 putu podataka od jedne do druge telefonske uticnice. Signal od telefonske utienice
putuje kablovima do najblizeg komutacijskog cvora. Komutacijski cvorovi su zapravo automa- Hlstorijat Interneta zapocinje davne 1968. godine, kada amerieko Ministarstvo odbrane pokrece
tizirane telefonske centrale, ciji je zadatak da informacije pristigle ad jedne telefonske uticnice prosH eksperimentalni projekat razvoja novog koncepta ratunarske mreze. Taj projekat povjeren je orgalii~
jede ka drugoj. U slucaju da je ciljni telefonski pretplatnik prikljucen na isti komutacijski eyor,
zaciji ARPA (Advanced Research Projects Agency), te je tako nastala mreza ARPANETkoja se sma-
komutacijsl~i evor sarno prosljeduje pristigle intormacije ciljnom korisniku. U suprotnom, komutacij-
tra prethodnicom Interneta. Onog trenutka kada je Ministarstvo odbrane odlucilo povezati svoju
ski evor prosljeduje pristigle informacije drugim komutacijskim 6vorovima sa kojima je povezan, tako
ARPANETmrezu sa drugim javnim univerzitetskim i naucnim mrezama, nastao je Internet kal<av danas
da informacije mogu proei kroz nekoliko komutaGijskih evorova prije nego sto stignu do komuta-
poznajemo, ali u neuporedivo manjem obimu, jer je tadasnja mreza obuhvatala same cetiri instilucije.
cljskog evora na koji je prik!jueen ci!jni korisnik. Komutacijski evoroVl' su organizirani hijerarhijski, u
eitava mreza jos uvijek se nije nazlvala Internet, vee je Internet bila sarno skra6enlca -09 fraze Int~[
smislu da je vise loka[nih komutac1jskih cvoro'va prikljueeno na jedan mjesni komutacijski ev~r, vise
t:J.fl1working (povezivanje mreza). Sustinski doprinos nove tehno!ogije je u tome sto je ornogud!a povezl-
mjesnih komutacijskih cvorova na jedan regiona[nl komutacijski 6vor, vise regionalnih komutadjskih
vanje razlicitifJ vrsta racunara, sto je presudno za funkcioniranje lnterneta ov~kvog kakav je danas.
cvorova na jedan drzavn! komutacijski evor, itd. Komutacijski evorovl izmedu sebe mogu bit!
povezani na razne naCine, na primjer pomocu optickih kablova, ill pomocu satelita, ukoliko se radi a
komutacijskim evorovima koji su veoma udaljeni jedan od drugog (npr. na dva razli6ita kontlnenta). Potetkom osamdesetih godina nastaju nove lokalne mreze, j sve one su htjele da budu spojene
na ARPANET, koji je tako postao sredstvo komunikacije i za mnoge komercijalne organizacije, a ne
Do sada sma razmotrili neke elemente neophadne telekomunikacione opreme koj! su potrebni samo za vojne i nauene ustanove, kako je prvobitno bllo zamisljeno. Jedan od najvedh problema na
za realiziranje racunarskih mreza poput modema, mretnih adaptera, ISDN adaptera, koncentratora samom pocetku razvoja !nterneta bio je problem povezivanja udaJjenlh raeunara na novu mrezu.
i prenosnih medija. Recimo jos nekoliko rijeei a 05taloj telekomunikacionoj opremi koja se cesto Privatne telefonske [inije bile su preskupe da bi neko mogao priustiti hiljade kiJometara 21ca do nekog
susreee u racunarskim mreiama. Vee smo rekli da je sredisnji uredaj u svakoj zvjezdastoj mrezi cenfra!nog racunara koji upravJja mrezom. Zbog toga)e od!uceno da Internet bude potpuno decentra-
koncentrator (hab). Osnovni nedostatak koncentratora je u tome sto on informacije pristigle od liziran. Stvorene su regionalne rnreze po drzavama j veeim gradovima, koje su medusobno povezi-
jednog racunara salje svim ostalim raeunarima kO!i su na njega prikljuceni, bez obzira kome su vane. Na taj nacin, svaki racunar indirektno moze doei do bilo kojeg drugog racunara na mreii. Isti
- pristigle inlormacije zaista namijenjene. U slueaju velikog broja prikljucenih racunara ovo moze bit! princip odrzan je sve do danas. Stoga, Internet nije nicije vlasniStvo. Orugim rijecima, oe postoji kom~
jako neefikasn.o. postoji inteligentniji uredaj od koncentratora, nazvan skretnicar (engl. switch). Za panlja nazvana "Internet', ~oja yam omogueava pristup In1ernetu, vee- yam taj pristup omogucava neka
Ya:z;likD od_Koncentratora, skretnicar analizira primljeni paket Informacija sa cHjem da utvrdi kome su ad mnostva kompanija (npr. TeiecQm BiH) koje- vee imaju pristup !nternetu. Kompanije koje pojedjnci~
one namijenje:nE!, i naken toga, salje Rakennformacija samo onom racunaru koj! te informacije zaista ma nude pristup Internet-u-nB:Ztvciju se)n.teinet snabdjevaci iii provajderi (engl. Internet Provider;.
j-traz~--U_s'luepj~liima kada se LAN mreza prikljucuje na WAN mrezu, potrebno je korlstiti i usmjerj~
~a_cili."'rfer(e_ngL touter). To~e uredaj koji omogueava razmjenu podataka izmedu razlieitih tipova Internet se razvlja nevjerovatno~~,briinom-: :J-B86. gQdine u,lnternet mrezu bilo je povezano oko
mreia. "~$mjerivaci zapmvo prebacuju mrezne podatke lz jednog dijela mreie u drugi. Usmjeriva6l 10000 racunara, ddk se sveg-a~ 1U_goqjna ka~nije broj raunara povezanih u Internet procjenjuje na
-su _dobJlj>svoje "ime z?hvaljujuei svojoj sposobnosti da odrede u kojem pravcu treba prosjijediti preko 6 miliona. Danas niko ne moze.d~prpcrjenikoli,ko je tacno ra6unara povezano u ovu mrezu, ali
__)odatk~" da bJ_ o~! na bezbjedan naein dasli do svog cilja. se zna da je preko 30% -stan()~m!stva SjStlinjen-lh Ameritkih- Orzava u potpunostl ovisna ad upotrebe
Intemeta. Internet danas u 1o!ikoj 'mjeN_ utjec~ lJa-poslovni, drustveni i svakodnevni zivot !judi da se
smatra jednim od n-ajyecih ..tenomena..dvade~etog vijeka. U naso] zem!j! Internet se prvi put po6eo
spominjati 1993. gbdine (stvarni pristup tntemetu omogucen je 3 godine kasnije), da bi svega 10 go-
dina kasnije zivot bez lnterneta post~ nezamisliv za veliki broj stanovnika nase zemlje.

94 95
rvlada Internet kao mreza postoji vee tridesetak godina, tek je u posljednjih desetak godina Pitanja i zadacl
Intern~t dobio danasnji izg\ed. Ono sto je Internetu na pocetku nedostajalo bio je dobar korisnicki
interfejs. U prvo vrijeme, nije postojalo standardizirano okrutenje kOje bi omoguCilo jednoznacan 1. Sta su racunarske mreze?
pristup' do svih usluga na lnternetu. Pored toga, sva komunikacija se ostvarivala putem komandne
linije. Karisnici nisu znali (iii nisu htjeli da nauee). neophodne naredbe, koje su bile dosta slozene, i
2. Na koj] naein se izrazava brzina prenosa podataka?
kojih je nekad bilo potrebno upisati na desetine da bi se pristupilo zeljenim podaclma. Stoga je 1989. 3. Sta je kompresija podataka i na koj] naein se postize?
godine Tim Berners Lee iz Evropskog laboratorija za nuklearnu fiziku CERN, predlozio jedno- 4< Koja je razlika izmedu serijskog i paralelnog prenosa? Koj] je naein prenosa efikasniji?
obrazan sistem za pristup podacima na Internetu. Novi sistem zasnivao se na konceptu nazvanom 5. Sta je sinhroni, a sta asinhroni pre nos podataka?
hipertekst, kOj! je krajnje jednostavan, a 0 kojem cerna detaljno govoriti u poglavlju 2.6. Cijela ideja 6. Koja je dominantna komunikaciona mreza u svijetu?
zasnivala se na postajanju ozna6enih mjesta u dokumentima nazvanih hiperveze iii h;perlinkovi, 7. Sta je modulacija?
preko kojih je omogucen brz prelaz iz jednog dokumenta u drugi, bez potrebe za zadavanjem ikakvih
8. 8ta je modem i kakve vrste modema postoje?
posebnih naredbi. Projekat je tada bio namijenjen sarno nauenicima, jer 1989. godine jos uvijek nije
bilo malih (kuenih) korisnika sa pristupom na Internet. 9. Sta je telefaks i kako rade telefaks uredaji?
10. Kakva je razlika izmedu LAN i WAN mreza?
Iz Bernersovog projekta, krajem 1990. godine izrastao je projekat pod nazivom World Wide Web 11. cemu sluz] mretni server?
(iii skraceno WWW). Prve verzije WWW-a radUe su isklju6ivo u tekstualnom okruzenju, da bi se 12. Kakva je razlika izmec1u javnih i privatnih telefonskih mreza?
poeetkom 1993, godine u WWWpoteladodavatiigrafika. WWWjedanasubjedljivonaJrasprostran- 13. Sta je peer-to-peer mreza?
jenija usluga koja se nudi putem Intemeta. WWWse zapravo sastoji ad nepreglednog broja hipertek-
14. Sta su ISDN j ADSL mreze?
stualnih dokumenata (nazvanih Web stranice) koji su medusobno povezani putem hiperlinkova. Ove
dokumente kreiraJu i medusobno povezuju, kako razne organizacije siram sVijeta, tako j pojedinci. I 15. Sta su virtualne, a sta ATM mreie?
vi mazete kreirati svoju Web stranicu i uvezati je u WWWsistem (preciznije, izradenu stranicu morate 16. SIa su terminalske mreze i kada se koriste?
poslatl nekoj organizaciji koja ce vasu stranicu uvezati u WWW, osim ukoliko vas racunar nije ujed- 17. Opisite topologije lokalnih mreza.
no i posluzitelj u mrezi, kada to uvezivanje mozete obaviti i sami). 0 WWW-u cemo detaljnije govoriti 18. Sta je Ethernet?
kada budemo govorlli 0 multimediji i ra6unarsklm komunikacijama (poglavlja 2.6 i 2.7). 19. Kakve vrste prenosnih medija se koriste u lokalnim mrezama?
20. Sta su komutacijski cvorovi?
Pored WWW-a, Internet nudi i mnostvo drugih usluga. Najvise koristene ostale usluge koje nudi
Internet su elektronicka posta (eng!. E~maf~ i caskanje {engl. chaQ. Elektronicka posta je sistem 21. cemu s!uze koncentrator, skretnicar i usmjerivac?
razmjene poruka izmedu udaljenih korisnika, sli6no obicnoj posti, samo sto se obavlja neuporedivo 22. Sia je Internet i kako je nastao?
brze. Prilikom slanja elektroniCke poste, primalac poruke ne mora biti prisutan kod racunara, nego 23. Sta je WWW servis?
primljenu' poruku maze procitati kasnije, kad god pristupi sistemu elektronieke poste. Za razliku od 24. Koje jos usluge Interneta osim WWW seIVisa poznajete?
e\ektronicke paste, Caskanje je oblik direktnog elektroniekog komuniciranja, slienog obitnom raz-
govoru, koji zahtijeva da svi sagovornicl u ista vrijeme budu prisutni kraj racunara.

o na6inu povezivanja na Internet, uslugama koje on nudi, i naCinu koristenja usluga !nterneta,
detaljnije cemo govoriti u poglavlju 2.7.

96 97
1.7 RJESAVANJE PROBLEMA UZ POMOC FlACUNARA ;{
,
kaze. testa se kate da je programiranje tesko zbog Cfnjeniee da racunar ne radi ono sto mi telimo
da on uradi, nego ono sto smo mu rekli da treba da uradi. Nairne, mnogi Ijudi znaju tacno Ma
hoee, ali ne znaju kako da to precizno iSkazu.1lnteresantno je da je nekim Ijudima programiranje
1.7.1 Uvod u problemaliku rjesavanja problema izuzetno jednostavan i logf6an posao, dok s druge strane neki Ijudi nikada ne uspijevaju da savlada~
ju nitl najosnovnlje programerske, tehnike. Jednostavno, ti !judi imaju nedostatak sposobnosti pre-
U poglavlju 1.5, upoznali sma se sa aplikativnim softverom, kojl je, kao sto vee znamo, nami* ciznog razmisljanja i jasnog iskazivanja misll, kao sto neki Ijudi nemaju dara za slikarstvo iii muziku.
jenjen za rjesavanje stvarnih problema sa Kojima S8 susrece korisnik. Stoga je pIVi korak koji de Zbog toga se programiranje smatra jednom ,od disciplina za koje je neophodan odredeni talenat.
poduzeti korisnik racunara, kada se susretne sa nekim prakticnim probJemom, potraga za aplika-
Razmotrimo na jednom primjeru tinjenicu da ratunari, za razliku od Ijudi, izvrsavaju samo one
tivnim softverom koji rjesava taj problem. Medutlm, ne maze S8 ocekivati da postoji napisan apHka-
tivni softver za svaki problem sa kojim se korisnik moze susresti. Konacno, ni aplikativni sottver ne sto je ekspl1citno naredeno. Pretpostavimo da u nekom reeeptu za kuhanje tovjek na kraju reeepta
postojl ad postanka svijeta, nego je i taj softver morao neko napisati. Zbog toga je neophodno upaz- procita da lonac u koji je prethodno s!avio neophodne sastojke treba staviti na stednjak, i da se sa
nati S8, barem u elementarnim okvirima, sa metodologijom rjesavanja problema uz pomo6 ratunara, tom informacijom recept zavrsava. Covjek bi sigurno stavio lonae na grijacu p/ocu stednjaka, i
sto je osnovni preduvjet za pisanje aplikativnog softvera. 0 pisanju programa detalino cemo govoriti ukljucio slednjak (preciznije,' odgovarajucu plocu na stednjaku). Robot~kuhar koji bi radio po
u treeem dijelu ovog udzbenika. ponudenom reeeptu stavio bi lonac negdje na,stednjak (ne nuzno na grija6u plocu) nakon tega bi
se zallstavio, jer je dosao do kraja recepta (programa). Zbog 6ega robot ne bi slavio lonae upravo
Danas je situacija za korisnika racunara mnogo povoljnija nego prije dvadesetak godina. Autor na plotu i ukljucio plotu kada se to podrazumijeva? Odgovor je jednostavan: te Cinjenice ne pisu u
ovog udzbenika se sjeea da je u njegovim srednjoskolskim danima (prije otprilike dvadesetak godi- reeeptu, a masine ne mogu nista da podrazumijevaju. Pretpostavimo dalje da je neki saljivdtija u
na) aplikativnog softvera bilo veoma malo, taka da je korisnik za veCinu problema sa kOjima se sus- recept ubacio informaciju da u lonac treba ubaciti pola kilograma eksera. Svaki tovjek koji bi titao
retao morao da pise programe'sam. Drugim rije6ima, gotovo svaki korisnik racunara morao je da ovakav recept sigurno bi ovu informaciju shvatio kao salu (vjerovatno inspirisanu bosanskom na-
zna programjranje (odnosno, postupak pisanja programa za ratunar). Stoga je u to vrijeme bilo rodnom pripovijetkom "klin~torba"), i ignorirao bi primljenu informaeiju. Robot-kuhar U ovakvoj nared-
malo karisnika ratunara, pa su ratunari dozivljavani kao neke misteriozne sprave sa kojima znaju bi ne bi primijetlo nista cudno j izvrsio bi je bez pogovora. Upravo je zbog ave cinjeniee racunare
rukovati samo vrhunski nautniei. Danas se situacija drastitna promijenila, jer za rjesavanje moguce program irati da rade destruktivne stvari. Racunaru naredbe koje nalazu brisanje svih
ogromnog broja stvamih problema vee pastoje gotovi vrhunski programi kOje su napisali vrhunski podataka sa hard diska iii upisivanje besmislenog sadrzaja u Flash 810S nisu nisla manje logicne
strutnjact, i koji su krajnje jednostavni za koristenje. Stoga, veeina !judi koji danas korlste ratunar od naredbi kojima se trazi ratunanje koliko je 2+2. Nazalost, ovu cinjenicu obi lata zloupotrebljavaju
ne pisu svoje vlastite programe. Umjesto toga, ani koriste gotove programe koji se mogu kupiti na tvorci ratunarskih virusa,
trzistu (oblcno pohranjenl na diskovima), ili programe koje su napisali profesion,alni programeri u nji~
hovoj radnoj organizaciji. Posmatrano povrsno, pisanje programa se sasto]! samo ad zadavanja niza naredbi, koje pos-
matrane same za sebe obi6no nisu komplicirane, tako da programiranje mote izgledati kao jednos~
q Iz izloienog moglo bi se pogresno zakljuciti da danas poznavanje programiranja nije potrebno tavan posao. Jednom su prilikom pitall jednog 6uvenog ameritkog pijanistu da Il je tesko svirati
niJhme oSim manjem broju ra6unarskih speeijalista. Taj zakljutak je pogresan zbog nekoliko razlo- ktavir. Njegov odgovor je glaslo: "Ne, sasvim je jednostavno: sve slO trebate uraditi je pritisnuti pravu
gao Prvo, karisnici koji poznaju programiranje mnogo ee bolje poznavati principe rada ratunara i sta tipku u pravo vrijeme.", SUtno, programiranje zahtijeva da se "prava naredba upotrijebi na pravom
se od racunara moze, a sta ne maze o6ekivati. Stoga 6e takvi korisnici mnogo efikasnije koristiti mjestu". Medutim, upravo tu nastaje problem, Racunari, suprotno onome sto se obicno misli, ne
racunar od korisnika koji ne poznaju programiranje i neee ad njega otekivati nemoguGe stvari. poznaju vearna veliki braj raz/icitih naredbi. Naredbe tipa "rijesi jednatinu" iii "naertaj slona na
to rugo, !judi koji narucuju izradu softvera ad profesiona!nih programera 6esto postavljaju sasvim ekranu" ratunar, sam po sebi, ne poznaje. Racunari poznaju iskljucivo mnogo primitivnije naredbe,
~nerealistitna otekivanja ad softvera iz prostog razloga sto ne znaju sta se moze, a sta ne maze pa je zahtjeve korisnika neophodno preformulirati koristeei iskljutivo takve naredbe. Posl:upak se
izvesti. Ovi prob,lemi bi se veorna smanjili kada bi narut10ci softvera (ovdje prvenstveno mislimo na moze grubo uporediti sa pokusajem objasnjavanja sfa je nuldearna elektrana petogodisnjem djete-
poslovne IJude, rukovodioce preduzeea itd.) poznavali barem elementarne osnove programiranja, tu (koje posjeduje prilitno ogranicen rjetnik, i nikakvo predznanje 0 toj materiji).
sto bi omogu6i10 postavljanje realistitnijih zahtjeva, kao i saradnju narudoca programa sa pro~
gramerima u toku izrade projekta, sto bi dovelo do krajnjeg programa koji je mnogo prilagodeniji Dalji problemi sa kojima se susrecu Ijudi koji pisu programe je neophodnast preciznog defini
potrebamanarutioca. trre6e, ~orisnik 6e se prije iii kasnije susresti sa nekim problemom za ranja svih neophodnfh kora~a; kao i neophodnost vodenja ratuna 0 svim detaljima problema, 8to nUe
koji ne, postoji, adekva{an apHkativni-OOtrver, a koji je dovoljno jednostavan da korisnik maze sam taka jednostavno (mada se, v'remenom;_ C6vjek navikne na takav natin razmisljanja), Zbog toga je
'-. sas1aviti program za rjei'?avanje tog problema, Kona6no, danas je pragramiranje mnogo lakse nego prije samog postupka pisanj~ p(~ram.a potrebho temeijito razmotriti problem koji se rjesava,
sto j~:-!;iil6 nekada. Danas postoje speeijalizirani programski jezici koji su po'sebrio prilagodenl uk!jucujuei sve njegove ~peclficnosti. l;.!a,kQn' toga je potr-ebno razraditi metodologiju rjesavanja pos~
rlesav_a:nfU n~ke ".Specificne klase problema, ali ko]i su zbog toga mnogo jednostavniji za razumije- matranog problema, neovisno 00 toga.d~ n:te s,? problem rjesavati na ra6unaru iii ne. Tek kada je
'-"' v~t1je~~i.-0p.~~re.bU .Od prog~amskih jezika opee- nam j ene' u detalje razradena strategij~ _~jesa~_~nj~_ probl-ema, -pristupa se pisanju programa. Prilikom razvoja
1
.. f[~:Sit!Q..ak pis'anla programa, sve dok se tovjek ne navikne na njega, nile jednostavan zadg.tak.
programa, najteza fe upravo~ova P.f\l~,. prlpEemria faza, koju nazlvamo i faza rjesavanja problema.
Druga faza, u kojoj se raz(adena~strate.gJif( rje.savanja pretvara u konkretan program, naziva se faza
" -.LQgik~ .kojom ,radl ratunar gotovo da nema nista zajednitko sa logikom Ijudskog razmisljanja. implementacije, i 0t1a je, n.alqesc_E: prjliCtiq rut~nski posao uz pretpostavku da je strategija rjesava-
Kom-uniKacija izmedu covjeka i racunara nije ni izdaleka taka prirodna kao komunikacija izmedu nja problema obavljena- dobro:_ Velika_ gres~a. KCiju testo prave pocetnici u programiranju je sto
!juctiA~jlJd{ cesto-mogu da bez veCih problema razumiju nepotpune i nedovoljno precizne informaci- pokusavaju da odman pii;(,tprograf!'.. bel. prethodne razrade problema, Na takav natin programe
je, ,1 da-djeluju u skladu -sa njima1lMedutim, ratunari uvijek izvrsavaju sarno ana sto im je naredeno, mogu pisati samo-jskusni program"E!ri,koji su u stanju da razradu problema obavljaju uporedo sa
ni nianje ni vise,ad toga. RaeJnar nije sposoban da razmislja i da zak!jucuje sta je korisnik htio'da pisanjern programa. Medutim, j u to!f1_ slucaja je sasvim moguee da de se u programu pojaviti veliki

99
propusti, kojih ne bi bilo da su svi aspekti problema razmotreni prije pisanja prve instrukeije progra- povrsina, SV! problemi tipa "odrediti vrijednosti nekih velleina taka da neke druge velleine poprime
ma, Pisanje programa bez prethodne razrade problema sHena je zidanju kuce bez prethodno zadane vrijednasti" uvijek se smatraju inverznim problemima, Tako je, na primjer, problem nalaienja vri~
pripremljenih skiea i nacrta, iii gradnji nekog elektronickog uredaja (npr: televizora) bez prethodno jednosti izraza 3.x + 5, ukoliko je poznato da je X : : : 4, direktni problem, dok je problem odredivanja vri-
pripremljenih shema veza i spojeva, itd, jednosti nepoznate X, ~kolikO je poznato da je vrijednost izraza 3.x + 5 jednaka 23, inverzni problem.

Problemi za dokazivanje mogu biti posebno tesk! za rjesavanje, pogotovo ukoliko ne postoji
1.7.2 Tipovi problema jasna ldeja kOja ukazuje na postupak njihovog rjesavanja, Na primjer, problem "Ispitati da Ii se na
svakoj geqgrafskoj karti regije mogu obojiti pomocu sarno cetiri razlicite boje tako da ne postoje dvljs
Prije nego sto razmotrimo metodologiju rjesavanja problema, moramo reei nekoliko osnovnih susjedne regije kOje su obojene istom bojom," postavljen je prije vise od 200 godina, a uspjesno je
stvari 0 tipovima problema sa kojima se mozemo susrestL Osnovnu klasifikaeiju problema prije rijesen (potvrdnim odgovorom) tek prije nekoliko godina,
vise od 2000, godina dao je Euklid, koji je sve problema podijelio u dva.tipa: probleme za nalaze-
nje rjesenja (iii probleme racunanja) i probleme za dokaz;vanje (iii probleme odlu(;ivanja). U
problem/rna za nalazenje rjesenja na osnovu unaprijed paznatih poctataka i uvjeta koje trebaju zado- 1.7.3 Metodologija rjesalfanja problema
voljavati ovi podaci trebamo da odredimo vrijednosti nekih nepoznatih velieina-. 8 druge strane, kod
problema za dokaz!vanje trebamo da ispltamo da Ii je neko tvrdenje tacna, odnosno da Ii odredeni Mnogi filozoti, poput Descartesa, Leibniza i drugih, smatrall su da mora postojati neka unl-
podaci zadovoljavaju zadane uVjete. Odgovor koj! se oeekuje kao rjesenje problema zei. dokaziva~ verzalna metodologija rjesavanja problema, koja bi se mogla mehani6ki prlmjenjivati na sve tipove
nje uvijek je tipa "ON' iii "NE". N~ primjer, problem "Naei duzinu hipotenuze trougla Gije katete imaju problema. Nazalost, polovinom proslog vijeka, zahvaljuju6i preteino radovima Alana Turinga,
poznate duzine a i b." je primjer problema za nalazenje rjesenja, dok je primjer problema za dokazi- otkriveno je da ovakva univerzalna metodologija ne postoji, Medutim, u pokusaju da pronadu ovu
vanje "Ispitati da Ii je trougao sa zadanim dutinama stranica a, b i c pravougli trougao.", Problemi za univerzalnu metodologiju, mnogi naucnici su dosli do vaznih djelimicnih rjesenja, od kojih su mnoga
nalazenje rjesenja i dokazivanje ne moraju biti matematski formulirani. Na primjer, problem tipa korisna upravo u oblasti informatike i racunarske tehnike,
"Naei treGi padez mnozine od rijeel kupus." je problem za nalazenje, a problem "Ispitati da Ii se
receniea Ana voll Milovana cita isto sa pocetka i kraja:' predstavlja problem za dokazivanje. Veoma korisne upute za prlstup metodologiji rjesavanja problema dao je poznati madarski
matematicar i vrhunski metodicar Georg polya. Po njegovim uputama, globalna strategija rjesava~
Kod svih problema razlikujemo ulaz, koji predstav1ja podatke koji su poznati prije rjesavanja nja problema odvija se u cetlri etape: razumijevanje problema, mzrada plana akcija, realizacija
problema, i iziaz, koji predstavlja informaciju koju ocekujemo da bismo problem smatrall rijesenim. akClla i osvrt na rjesenje. U nastavku cemo detaU'nfje'razmotriti ave cetiri etape.
Na primjer, u prethodnim prlmjerima problema, ulazi su bil! redom duzine kateta a 1h, duzine stra-
niea (1, b i c, rijee "kupus', odnosno recenica "Ana voli Mifovami'. Kod svih problema za dokazivan- U etapi razumijevanja problema, na prvom mjestu je potrebno jasno definiratf problem, tj, utvrditl
je izlaz je iskljucivo odgovor "DA" iii "NE", dok kod problema za na1atenje rjesenja izlazi mogu biti sta se zapravo traii. Bez jasne definicije problema, say daljl trud je uzaludan. Potrebno je sag1edati sta
raznovrsn1. Na primjer, u prethodna dva primjera problema za nalazenje izlazi su redom trazena su ulazi, izlazl i potetni uvjeti problema. Nakan sto je problem jasno definiran, bitno je utvrditi kakve su
duzina hipotenuze c, kao i trazeni treei padez mnotine od rijecH "kupus" (odnosno rijee "kupusima'). veze izmedu ulaznih i izlaznih velieJna, sto testo nije jednostavan zadatak. Veoma cesto je problem
Pored ulaza i izlaza, kod problema za nalazenje rjesenja mogu se zadati i pocetni uvjeti koji mora- takavda veze izmedu ulaznih i lzlaznih velitina'nisu vidljive na prvl pogled. U tom slucaju, potrebno je
ju biti ispunjeni da bi problem uopce imao smisla. Na primjer, za problem nalazenja hipotenuze problem razbiti na vise manjih potproblema, i pokusati analizirati svaki od njih. Postupak razbijanja po
trougla, poeetn! uvjeti mogu biti a > 0 i b > 0, jer u suprotnom problem nema smisla (ne postoji potrebi treba obavljati vise puta, sve dok se ne dobiju problemi kod kojih su veze izmedu u!aznih i
trougao sa negativnim duzinama straniea). izlaznih ventina jasne. Sve dok se etapa razumijevanja problema ne obavi kako treba, ne treba ni
pomis!jatl na druge etape rjesavanja problema. Vazno je da znamo da ukoliko mi kao inte!igentna biea
Problemi za nalazenje rjesenja mogu se podijeliti na direktne i inverzne probJeme, Kod direk~ ne razumijemo sustinu nekog problema, sigurno je neoe razumjetl nf racunar, tako da od njega ne6emo
tnih problema put od ulaza do izlaza Je iii jasan iz same formulaeije problema, iii se smatra pozna- imati nikakvu korist. Ovo ne treba pogresno protumacitL Da bi se neki problem mogao rijesiti pomocu
tim od ranije. Na primjer, problem naiaienja povrsine kruga sa zadanim polupreenikom r predstav- racunara, barem neki covjek ovaj problem mora shvatiti u potpunosti (to ne moramo nuzno biti, mi),
lja direktni problem, jer se formula P = ,.:In:. za nalazenje povrsine kruga poznatog poluprecnika sma- Problemi ciju sustinu nl jedan covjek ne razumije, ne mogu se rjesavati nitl pomocu racunara!
tra dobro poznatom formulom. 8 druge ~trane, kod in.verznih problema, jasno je samo sta zelimo da
dobijemo, dok postupak nalazenja rjesenla nije oCigledan. Inverzni problem! su dobili svoje ime zbog Najteza etapa u rjesavanju problema je razrada plana akeija. Situacija je krajnje jednostavna
cinjenice da tipicno nastaju zamjenom ulpge,.uJaza i. izlaza u direktnim problemima. Na primjer, prob- ukoliko je problem koji se rjesava odranije poznat Na prirnjer, problem na\a2:~nja fJovrsine .kruga
lem nalazenja poluprecnika kruga ,'clja'je povrSina.P zadana predstavlja inverzni problem, koji je zadanog poluprecnika ill jedan ucenik srednje skole neee'smatrati tesklm, je"r'se sa formulom p := r~n
nastao iz prethodnog direktnog problema iamjenolIl uloge !,llaza i izlaza. Inverzni problemi su, osim kOja predstavlja kljuc Za rjesavanje ovog problema ve'c susreo mnogo puts, Mea~tim,.'nekorne ko se
u trivijalnim slueajevima (peput prethe~t!9g. prir1}jt?r~!2J.:l,se rjesava nalatenjem pozitivnog rjesenja nikada nije, susreo sa ovom formulom, isti problem bi bio jako tezak, i mnogo",bi,se .tr1jga moralo
jednatine P =: r'it po nepoznatoj r, kOje gfasi.f- :;;:,.VP{rt)" uglavnom teski za rjesavanje. Natalost, ulozlti za otkrlvanje ove formule. 8toga, prilikom razrade plana akcija!:-prvi.korak'~Ltrebao da_bude
stvarnost covjeku namece uglavnom potrebu ~a"~~~.savanjem inv~rznih problema. provjel'8 da Ii je I'jesenje poznato odranije, da bi se izbjeglo "ponov!J.o' otk'r[vanje ~op.Je vode":
Nazalost~ u praksi se' cesto desava da se mnogo truda ulozi da se otkrlje. rjese~nekog problema~
a
Pitanje koji je problem direktnr; koJ!inverzni,.predstaYlja -filozofsko pitan/e na' koje nije uvijek laka koje je ad ranije poznato, sarno sto rjesavaei problema toga nisu- bil~ s:vjesni. .'
dati adgovor. Na primjer, moglr b,ismo formulu rd:~ p[qglasiti "dobra poznatom formulom" i problem
nalazenja poluprecnika kruga poznate povrsinesmatrati direktnim problemom. Ipak, intuitivno je jasno Za plan akcija mozemo re6i da je razraden tek kada su detaljno d~finirant'--svL koraor (ukl}ucujuei
da je ovo inverzni .problem, zbog Clnjenice da je'-poluprecnik mnogo elementarnije svojstvo kruga nego i tacan redoslijed njihovog izvodenja) koje je potrebno preduzeti nad ulaznl!il'podacima da bf se
100 101
dobili zeljeni izlazni podacL Na primjer, plan akclja "Pronaei najveei braj u spisku od 100 brojeva na metodom grube site (engL brute force solving), Za mnoge problema veama je lako sastaviti pos-
papiru.". ne moze se smatrati razradenim planom akcija, jer iz ovog plana nije jasan postupak kako tupak rjesavanja metodom grube sile, Medulim, ovakvo rjesavanje za veCinu prakticnih problema
prona! taj najveCi bra]. Oa bismo formirali razradeni plan akcija, moramo razmisliti kako bismo mi traje nedopustivo dugo cak i ukoliko se za rjesavanje koristi racunar, pogotovo ukoliko je opseg u
taj problem rijesm ukoliko bi nam ga neko postavio. Nakon malo razmisljanja, mogli bismo doei do kojem se maze kretati trazena veli6lna velik, Zbog toga, prvo treba razmotriti da Ii se nekako maze
sljedeeeg razradenog plana akcija: suziti opseg testiranja. U nasem primjeru, posto je velicina X pozitivna, produkt X . (X - 2000)
mote blti jednak pozitivnom braju 5135529 samo ukoliko je j X - 2000 pozitivan broj, odnosno uko-
Zapamtbno prvi braj no ~l'isku. Zatim posmatramo sl'aki s{;edeCi braj u !>pisku. (Jkoliko liko je X > 2000. Samim tim, brojeve u opsegu ad 1 do 2000 uopee ne moramo testlrati. U ovom
ustanol'inw daje posmatrani broj I'ce; od zapamcellog broja, umjesto do tada :,apalllcenog slucaju je osvrt na rjesenje doveo do znatnog poboljsanja efikasnosti postupka. Medutim, ovo ni
broja pamtilllo pOS1Jlafrani broj. Postupak ponal'ljamo dok ne pregiedamu Sl'e brojeve u izdaleka nije najbolji metod da se rijes! ovaj problem. Pokazlmo kako se ovaj problem moze rijesiti
spisku. Posljednji-bruj koji smo zapamtili predstaJ'?ia "pral'o trazelli najJ'eCi broj. uz malo dosjetki i poznavanja elementarne matematike svega ~ nekoliko koraka:

Razrada plana akcija je postupak ko]i trazi izvjesnu vjestinu. Nesumnjivo- je da bi svaki covjek x . (X - 2000) = 5135529
normalne inteligencije znao da pronade najveei bra] u zadanom spisku brojeva, ali je iznenadujuce X' - 2000 X = 5135529
koliki procenat Ijudi nije u stanju da jasno i precizno opise postLipak kojim su nasli taj bro].
X'- 2 X 1000" 5135529 (sada dodajemo 10002 na obje ,\'f!'ane)
Veoma cesto ~esavanje nekog problema ukaze i na nacin rjesavanja nekih drugih problema. Na X' 2, X 1000 + 10002 = 5135529 + 10002 = 6135529 (da dobijemo kvudrut ruzlike)
prlmjer", nakon sto smo razradili postupak nalazenja najveceg broja u spisku, jasno je da se sHean (X 1000)' = 6135529
postupak maze primijeniti i na nalazenje najmanjeg broja u spisku. Ovakvo rjesavanje problema
naziva se rjesavanje po analogiji. (X -1000)' ".2477' (ia j'Y6135529 = 2477)
X 1000 = 2477 iii X --1000 = -2477 (iz N '" 8' slijedi A '" B ili A '" -B)
Nakon razrade plana akcija, slljedi etapa realfzaclj'e akc/j'a. U ovoj etapi je potrebno da razluCimo
X=1000+2477 iii X=1000-2477
da Ii nam je za problem potreban racunar iii ne. Na primjer, za nalazenje povrsine kruga zadanog
poluprecnika racunar nam nije potreban: obican dzepni kalkuiator dobro ee pos!uziti za isti posao, X = 3477 iii X = -1477
Medutim, ukoliko)e potrebno da saberemo redprocne vrijednosti svih prirodnih brojeva od 1 do 1000
(tj. da izracunamo zbir 1/1 + 1/2 + 1/3 + ". + 1/1000), racunar ce nam biti od velike koristi, jer bi nam Braj X;:::: -1477 ne pripada trazenom opsegu, taka da je jedino rjesenje problema X;:::: 3477. Ovim
za ovaj posao uz pomoc dzepnog kalkulatora treba!o nekoliko sati, a uz pomoo racunara svega smo problem rijesili bez primjene grube sile. Nazalost, ne postoji nikakva univerzalna metodologija
nekoliko minuta (u ovo vrijeme je ukljuceno i vrijeme potrebno da napisemo program za rjesavanje koja pomaze da se utvrdi kako bi se neki problem mogao rijesiti bez prirnjene grube sl1e. Za mnoge
ovog problema). Ukoliko smo zaklJuti!i da nam za rjesavanje problema ne treba racunar, prelazimo probleme sa kojima se racunarska nauka susrece, poznata su, nazalost, samo rjesenja primjenom
neposredno na izvrsenje planiranih akcija, dok se u slucaju problema za dje nam rjesavanje treba grube sile. Medutim, ovakva rjesenja treba izbjegavati po svaku cijenu, jer brzinu racunara niposto
ratunar, realizacija akcija svodi na prevodenje razradenog plana akcija u program za racunar, a ne treba precjenjivati. Postoje problemi za koje bi rjesavanje grubom silom cak i uz upotrebu najbrzih
cemu cemo kasnije detaljnije govoriti. postojeoih racunara trajalo vise nego SID iznosi procijenjena starost svemira, a ko]i se inteligentnijim
postupkom bez primjene grube sile mogu rijesitl za svega nekoliko sekundi! Nazalost, takya
Konacno, nakon realizacije akcija, veoma bitna etapa je osvrt na rjesenje (odnosno "pogled inteligentna rjesenja obicno nije nimalo jednestavno pronaci.
unazad"). Veoma cesta siluacija je da nakon sto nademo neko rjesenje problema, detaljnija analiza
pokazuje da se problem mogao rijesiti znatno efikasnije (P61ya je poznat po tvrdnji da je metodoloski Kakvi sve cudni faktori mogu utjecati na rjesavanje problema najbolje je demonstrirao upravo
mnogo korisnije jedan lsti problem rijesiti na 10 razlicitih nacina, nego 10 razlicitih problema na 1st! Georg Po/ya svejim cuvenim problemom lovea i medvjeda ko]i glasi:
nacin). Na primjer, posmatrajmo problem nalazenja zbira svih prirodnlh brojeva od 1 do 1000 (tj.
zbira 1 + 2 + 3 + ... + 1000). Na prv! pogled, za rjesavanje ovog problema treba nam racu'nar, jer bi Lovae izlazi iz svog satora, odlazi jedan kilometar na Jug, zarim jedlln kilomeiar na istok.
rjesavanje uz pomoc dzepnog kalkulatora ill papira i olovke trajalo predugo. Meduti[l1, uz malo U tom trenutku ugleda medvjeda i ubije gao Nakon toga, lovac odlazijedan kilometar na
razmisljanja, problem se mote rijesfti napamet. Ukoliko saberemo prv]"i posljednjl brpj, zatim drugi i ~jeJ'el' i ugleda neposredno ispred sebe spaj sator. Koje je boje ubijelli med}jcd?
pretposljednji broi, zatim treGi bro] i treGi braj odozada, itd. primijeticemo da se uvijek dobija i$ti rezul-
tat 1001 (1 + 1000 = 1001, 2 + 999 = 1001, 3 + 998 = 1001, itd;), KakoJlVakvih parovll ima Na prvi pogled, problem je potpuno besmislen, jer izgleda da navedenl podaci nemaju apsolut~
1000/2;:::: 500, ocigledno je ukupni zbir 1001 500;:::: 500500; Je'dnostavhp, zar~-.he?'Moguee je avo no nikakve veze sa bojom medvjeda. Medutim, ukoliko pazljivo procitamo problem, primijeticemo-
rjesenje uopciti, i zakljuCiti da je zbir svih prirodnih brojeva od'1 do),T jednak:"N' '.,(N + 1}-'/ 2. Ovo- jednu prividnu nelogicnost, u kojej se upravo krije rjesenje problema. Obratimo paznju na cinjenicu-
rjesenje otkrio je cuveni matematicar Karl Friedrich Gauss JOB dok je, bio"!.lC_90i.K-psnov'6e sKole.- da se lovae vratio ispred svog satora nakon kretanja 1 kHometar na jug, zatim 1 kilometar na istok,

P:~obl~~~a u~ri~; ~nogo e~ik?~"


i konacno, 1 kllometar na sjever. cini se da je cijela situadja nemoguea, S obzirom da nedostaje kre-
Osvrt na rjesenje_cesto pomaze da se mnogi postupci rjesavanja tanje 1 kilometar na zapad da bi se lova~ vratio pred Syoj satar. Medutim, to bi vrijedilo kada bi zemt-
nijim. Na -primjer, posmatrajmo sljedeCi problem: "Naci priropan pr9j. X h:.mediTfj 5000 -koji ima- ja bila ravna ploca. Orijentacija tipa isfok-zapad na Zemlji ostvaruje se pomoGu sistema paralela, a
osobinu da je njegov proizvod sa istim brojem umanjenim za 2000 Jednak broJu 5135529.". Prvo orijentacija tipa sjever-jug pomo6u sistema meridijana. Pri tome se paralele medusobno ne sijeku,: "
rjesenje koje se odmah namece je da ispitujemo jedan po jedan broj-X 1Z opse,ga od i_do 5000, ida dok S8 svi meridijani sastaju u dvije tacke na Zemlji: sjevernom i juznom polu. Ako malo boije,--
ispitujemo da Ii je proizvod X . (X - 2000) jednak 5135529. Rjesavanje pr(koje-rrj se testiraju sye pogledamo globus i razmislimo 0 problemu, zakljuci6emo da postejl jedno mjesto na Zemlji na kojem
moguee dozvoljene kombinacije nekih veliCina. u potraz! za rjesenjem 'Daziva se rjesavanje je kretanje opisano u problemu moguce: sjeverni pol. Zaista, kretanje na jug i sjever vode nas po
102 103
dva rneridijana, a kretanje na istok po jednoj od para!ela, prl cernu se oba meridijana sastaju na sje- Najstariji nacin zapisivanja a!goritama je opis pojedinih koraka a!goritma govornlm jezikom, prj
vernal!! polu. Maguei put !ovea iz opisanog scenarija prikazan je kariklrano na s!jedeeoj slid: cemu se svakl od koraka oznacava rednim brojem od 1 nadalje. Ukoliko je potrebno da preskoCimo
, odredene korake prilikom realizadje algoritma (obicno pod odredenim uvjetom), iii da ponovimo


odredene korake algoritma, neophodna grananja iskazujemo pomocu iskaza oblika "idi na korak n"
gdje je n rednl broi koraka od kojeg izvrsavanje algoritma treba da se nastavi. Na primjer, a!goritam
za rjes8vanje skupine jednacina obllka a . X ::: b (odnasno jedna61na elji smo postupak rjesavanja
detaljno raz~otrijj u prethodnom primjeru), koristenjem ovog zapisa bi se mogao prikazati ovako:
' 1. Unesi vrijcdnosti brojeva a i b;
, 2. Ukoliko je a jednako nuli, idi na korak 6;
Pazljivlji posm_atrac ce primijetiti da postojl jos jedna tacka na Zem!ji, koju je tete uociti, a u kojoj je 3. Pod(jeli b sa a;
takoder moguee kretanje iz opisanog scenarlja (postojanje ave tacke presueuje se u gotovo svoj Ii- 4. IspiSi da je rjdenje jcdnaCil1c jedl1a/.:o izrahmflfom ko/i(\niku:
teraturi koja dtira ovaj problem). Ona se nalazi oko 1159 metara sjeverno od jutnog pola. Zaista, 5. ldi na korak 10;
nakon jednag kilometra kretanja na jug dolazimo do tacke koja se nalazi 159 metara sjeverno od 6. Ukolikoje b jednnko nuli, idi na korak 9;
juznog pola. Kretanje na istok sa tog mjesta vodi nas po paraleli cljl je obim 2159 m sio Iznos] tacno 7. lspi,~i dajtdnl7chw nemo rjdcnja;
1 km, odnasno na tom mjestu kretanje na istok vodl nas po krugu obima 1 kilometar, tako da se
8. Idi na korak 10;
nakon predenog kilometra vracamo u istu tacku. Dakle, postoje dvije tacke na lemlji na koja] je kre-
9. IspW do je svaki broj x rje.fenje jedna6nc;
tanje opisano u postavci problema moguce. Medutim, u blizini Juznog pola nema nikakvog zivota,
10. Ukoliko imajonrdnnfill(J koje treba rije.fiti, idl na korak 1.
pa samim tim ni medvjeda. 8toga je opisani scenario moguG sarno tacno na sjevernom potu.
Zakljucujemo da se radi 0 pofarnom medvjedu, odnosno, boja medvjeda ie bijela. Ovakav nacin prikaza a!goritama nazivamo prikaz sa numeriran;m koracima. Kako je ovakav
naCin prikaza pri!icno nepreg!edan, razvijeni su i drugi nacini prikaza algoritama kod kojih se algo-
ritml prikazuju graficki. Najstariji naCin grafl6kog prlkazivanja algoritama predstavlja prikaz pomocu
1.7.4 Pojam algoritma diJagrama taka (organigrama). Dijagram toka za pretjodni algoritam prikazan je na s!jedecoj slid:
Vidjeli sma da je najteta etapa u procesu rjesavanja problema razrada plana akcija. Bilo bi pozeljno
kada bi se razrada plana akcija mogla prikazati u nekam formalnom zapisu, koji bi kasnije ornogu6!o
jednostavniju rea!izaclju plana akcija. Za tu svrhu uveden je pojam algodtma. Nije !ako tacno definirati
8ta je zapravo a!goritam. Dovoijno jednostavna i ujedno davoljno precizna definicija g!as! ovako:

Algnritamje svaldjasan, precizan i nedvasfIli.<;icn urc(feni niz koraka, kop It konacnmn vre
menu I'odf do rjel~e1fja nelwg problema uko.liko problem ima 'rje.fenjc, odnosllo II kOl1ab1Ofn
l'rC111enU daje odgovor da problem nema'fje!fenja uknliko problem Ilona fjeSC1~ia.

Sarna rijec atgoritam potice od nepravilnog izgovaranja pos!jednje rijeci u imenu srednjo- NE
vjekovnag perzijskog matematicara eije je puna ime Abu Ja'far Mohammed ibn MUSE!
afKhowarizmi. Smatra se da je on prvi formulirao jasne i precizne postupke (odnosno a!goritme)
za obavljanje cetiri osnovne racunske operadje pomocu papka i olovke.
NE
Prilikom formiranja algoritama ne smiju ostat! nikakve nejasnoce iii nepredznosti. Na primjer,
neka je dat problem koji g!as! "Naci vrijednost x takvu da je a . x ::: b.". !z postav!jenog problema
moglo bi se brzopleto zakljuclti da rjesenje problema glasl "Trazena vrijednost x jednaka je bfa.".
Medutim, ova rjesenje ie nepotpuno, jer ne govori sta raditi ukoliko je a == O. Naime, nulom se ne
maze dijeliti. U slucaju da je a == 0, problem se svodi na na!azenje vrijednosti x takve da je 0 . x == b.
Odavde zak!jucujemo da uko!iko je b 0, tada problem nema rjesenja, jer nula pomnotena bilo kojim
brojem daje ponovo nu!u kao rezu!tat Medutim, ukoliko je i b _== 0, tada se problem svodi na nalaze-
nje vrijednosti x takve da je 0 . x '" O. U tom s!ucaju, svaki braj x predstavlja rjesenje problema.
DA
A!goritam za 1esavanje opisanog problema treba da predvidi postupke za sve op!sane slucajeve.

Postoje razni nacini na koje se mogu zapisivati a!goritmi. Neki ad nacina koriste opis postupka
govornim jezikom, dok drug] naCini koriste grafi6ki prikaz. U nastavku cemo razmotriti neke od naj-
vaznijih nacina na koji se zapisuju a!goritmi.

104 105
U dijagramima toka pojedini koraci algoritma opisuju se raznim grafiekim simbolima, dok se tok Sljeded primjer pokazuje kako je to uradeno za opis algoritma za rjesavanje skupine jednaCina obli-
prelaska sa jednog na drugi korak opisuje pomocu stre/ica. Bimbol e/ipsa predstavlja granieni blok 1 kaax=b:
on oznacava pocetak iii kraj algoritma. U jednom dijagramu toka moze bitl sarno jedna oznaka
pocetka (odnosno jedna ulazna tacka), dok oznaka kraja (izlaznih ta6aka) moze biti vise. Simbol para" "* Ponm'ljaj sljeddu skupinu koraka:
le/ogram predstavlja ulaznoizlazni blok, i on oznacava korake u kojima se vrsi unos ulaznih podata" "* Unesi vriiednosti brojcva a i b;
ka, odnosno ispis izlaznih rezultata. Simbol pravougaonik predstavlja blok abrade podataka. U ovim "* Ukoliko je 0 razliCito ad nule onda:
bJokovima navode S8 svi korael u kojima se vrsi neko izra6unavanje ill, op6enitije, ma kakva obrada "*Podije/i b sa a;
podataka. 8imbol deltoid predstavlja blok odfuka. Ovi blokovi ozna6avaju mjesta u dijagramu toka u "*Ispisi da je rje!ienje jednaCinc jednako izra(:unalOln lwii(flil;u;
kojima se danose odluke, Obi6no je u takvim blakavima upisan neki uvjet, a iz bloka vode dva puta: "* U suprotnum:
=!> Ukoliko je b razlicito od nufe onda:
pul u kojem se izvrsavanje -algoritma nastavlja ukoliko je uvjet tacan, i put u kojem se izvrsavanje
algoritma nastav!ja ukoliko uvjet nije ta6an. Pored ovih, osnovn!h simbola, ponekad se susre6u i drugi => Ispisi do jedl1aCina !lema rje.~enja;
simboli, poput veznog simbo/a, koji ima oblik malog kruga. To je pomocni simbol, koji sluii za povezi- =!> {j sUjJrotnom:

vanje pojedinih tataka u velikirn dijagramima toka, koji se ne mogu prikazati na jednoj stranici. ~ [spi.~i da je svaki broj x rje/ienje jedll(/t~ille;

Oznaka upisana unutar veznog simbo!a povezuje izlazni dio jednog dljela dijagrama taka i u[azni dio =!> Ponavljaj sve dok imajednaCil1(( koje treba rz;e!iiti;

drugog dijela dijagrama taka, koj! je zapisan na nekom drugom mjestu (npr. na drugoj stranici). => Kraj.
Kod prikaza pomocu struktuiranog govornog jezika, koraci koji se ponavljaju, odnosno koraei koji se
Prikazi algoritama sa numerkanim korae'lma i prikazi pomo6u dijagrama toka intenz'lvno su se
izvode pod odredenim uvjetima, pisu se uvueeno, da bi se lakse moglo uociti gdje je po6etak, a gdje kraj
koristili dug! niz godina za prikaz algoritama. Medutim, praksa je pokazala da ovi nacini prikaza algo"
skupine akcija koje se ponavljaju, odnosno skupine akcija koje se izvode samo pod odredenim uvjetima.
rltama pods1i6u neke zastarjele melodologije rjesavanja problema kOje su u protivurjecnostl sa mo-
dernim pristupima ovoj problematici. 8toga su u posljednjih petnaestak Godina sve prisutnije teznje
SljedeCi primjer prikazuje algoritam za ispis najveeg od tri zadana broja opisan pamocu struk-
da se ovi na61ni prikaza zamijene drugim naCinima pr!kaza ko)i se bolje uklapaju u savremene
metodologije,rjesavanja problema. Tako se danas prikazi algoritama sa numeriranim koracima prak- tuiranog govornog jezika:
tieno nigdje vise j ne koriste ni za kakve ozblljne primjene. Dijagrami toka se jos uvijek susrecu, ali
se j oni polako napustaju. Osnovna zarnjerka ovirn na6inima prikaza sastaji se u 6injeniei da oni ne
"'* Unesi vnjedllosti broje\'u a, b i c:
=!> Ulwliko je a veee od b onda:
nameeu nikakva ograni6enja na strukturu a!goritama, tako da je maguce pisati potpuno isprepletene
=> UkoUko je a l'eCe od C onda:
algoritme, koje je veorna tesko pram!. Pogledajmo, na primjer, sljeded algoritam, u kojem smo sa
=!> IspWa;
desne strane ozna6ili grananja koja se u njemu javljaju:
~ U suprotnom:

L lInesi vrijedllosti b~jeva a, b i c; ~ hpL<'ic;


2. Ukolik'OJe a vece adb, idina )corak ] ]; --_. =!> U suprulnom:
3. ldi na korak 8; ~ Ukoliko je b vde od C onda:
4. lS]Ji,~i a; , .- 1-. =!> hpLfi b;
5. Idi lUl korak 13; =!> U suprotnom:
6. lspisi b' ----_._--'""--- =!> !spisi c;
7. ldi no korak 13; - - - - - .
I ~ Kraj.
8. Ukoliko je b veG'e od c idi na korak 6; r
9. [spisi C'
, ...
--<Of:-
-~----
Prednost u odnosu na prikaz sa numeriranim koracima je 06igledna. Bitno je napomenuti da
dijagrami toka takoder mogu biti veoma pregfedni. Na primjer, sljede6! dijagram toka sasvim pre-
10. ldi na korak 13; - gledno prikazuje ist! algoritam: .
11. Ukoliko je a veee ad c, idi na korok 4;
12. ldf no korak 9,'
"",..
.= =--
13. Kraj.

Mozete Ii zakljuclti sta ovaj algoritam radi? Primijetieete da je prikqzarn -a!gorftam v~oma- tesko
. pratiti, zbog toga sto se u njemu javlja mnogo grananja. S druge strane;,'on u ~wst(nr obavlja SasV-iIT)
prostu stvar: ispislJje najveei od tri zadana broja. Dijagrami toka su n~sto pregfedniji; ali_i.on! mogu
biti veoma 'Isprep!eteni. Medutim, osnovni problem je 5tO iz i!,pn9pleteojb a./gorltama-kashije nasfaju
isprepfeteni programi, koje je naknadno prosto nemoguce odrzavatj. .- -

Da bi S8 !zbjegao pomenuti problem, danas su razvijeni. i dr!Jgi _metfld(z~~:p~ika a;~oritama-'


Jedan od na/vise koristenih zapisa je prikaz pomocu strukhiiran6g govornog jetilu1. -Ovakav
prikaz je slican prikazima pomo6u numeriranih koraka, s t6m razlik6m da, ~i'! ked opisa pomoc:u
strukt~ira~og govornog jezika koraei ne oznatavaju brojevima. Umjesto t094'1, pbtrebno je pazfjivo
formullrati algoritam tako da se potrebe za iskazima tipa "idi na korak n'" Lt potpunbsti izbjegnu.
106 107
Medutim, problem sa dijagramima taka je 11 tome sto ani ni na kakav nacin ne prisiljavaju rjesavaca 1. Unesi neki prirodan broj;
problema da pise pregledne dijagrame toka. Pored toga, proizvoljno napisani dijagrami taka se -veoma 2. Uknliko je bra} paran jJodijeli ga sa 2, au supratnonl, pomnozi ga sa 3 i doda) ] no rezultat;
teskoprevode u moderne programske jezike. Stoga su razvijeni i drugi vidovi grafickog prikaza algori- 3. Ukofiko je nOl'oriobijeni bra} rtlzliCif od jedan, idi no korak 2;
ta:na. U posljednje vrijeme sve vise se susre6u strukturni dijagrami. Na primjer, na sljede60j sliei 4. Kraj.
pnkazan je strukturni dijagram algoritma za rjesavanje skupine jednatina oblika a . x :::: b:
Na primjer, ukoliko unesemo broj 7, ovaj postupak 6e prodi kroz sljedeei niz medurezultata: 7,
Ponal'(jaj za svaku odjednaCilla 22,11,34,17,52,26,13,40,20,10,5,16,8,4,2 ii, nakon cega se zaustavlja. Dodanasnjeg dana
nikome nije poslo za rukom da potvrdi lJi opovrgne da se ovaj postupak zaustavlja u konacnom broju
Vllesi a,b koraka za svaki uneseni broj, iako je za rjesenje problema cak raspisana velika nagradal

Vazno je naglasiti da postoje mnogobrojni problem! sa kojima S8 covjek susre6e u svakod-


DA NE nevnom zivotu, a cije je rjesavanje veoma teska, iii gotovo nemoguce iskazatl u vidu algoritama. Na
primjer, ukoliko po~matramo postupak koji Ijekar koristi prilikom posfavljanja dijagnoze,
DA primijeti6emo da je ovaj postupak veoma tesko svesti na neki odredeni algoritam, Ljekar donosi
rjeSenje je NE odluku 0 dijagnozi vise na osnovu intuicije, iskustva, prethodno stecenog znanja, i uocavanja bitnih
broj bla pmh!cl11 ncmfl ,waH bro} x i nebitnih simptoma kod pacijanta, nego na osnovu nekll1 unaprijed preclzno definiranih koraka.
rjr.fenja predstm'lja Ije.kllje Svaki pokusaj definiranja algoritma za ovaj problem dovodi do nedozvoljenog pojednostavljivanja
problema, pa prema tome i do nepotpunih odluka i netacnih rjesenja. 0 ovama treba dobro voditi
racuna pri utvrdivanju da Ii se nacin rjesavanja nekog problema moze iskazat! aigoritmom iii ne.
Medutim, problemi eije se rjesavanje ne moze iskazati pomocll algoritama, ne mogu se rjesavati ni
8itno je naglasiti da je cesta greska prilikom definiranja algoritma zaboravljanje cinjenice da pom06u racunara. Mada su racunari u mnogim aspektima rjesavanja problema (brzini izvrsavanja,
algoritam mora da ponudi rjesenje problema iii odgovor da problem nema rjesenja za konacno vri- preciznosti, itd.) mnogo superiorniji u odnosu na covjeka, neposjedovanje intuicije j inteligencije cin1
jeme. Pretpostavimo da je dat sljeded problem: "Ispitati da Ii postoji takav prirodan broj X za ko]i je ih posve neprimjenljivim u situacijama koje se ne mogu predvidjeti unaprijed.
991 . X2 + 1 kvadrat nekog drugog prirodnog broja.". Neko bi mogao da pokusa da ispituje redom
sve prirodne brojeve 1, 2, 3, 4 ltd. odnosno da primjenom grube sile sastavi sljedeci "algoritam":
Polovinom prethodnog vijeka, Alan Turing je matematicki dokazao da postoje problem! za koje
je nemoguce sastaviti algoritam, cak ni teoretski. Na primjer, nemogu6e je sastaviti algoritam koji
1. Pretpostavi daje traieni broj J;
ee biti u stanju da za svaki zadani niz koraka ponudi odgovor da Ii taj niz koraka zavrsava rad za
2. Kvadriraj pretpostal'fjeni broj, [!mfll1Oii go sa 991, i dodo) J na rezultat; konacno vrijeme iJi ne. Drugim rijecima,_ nemogu6e je sastaviti algoritam koji 6e provjeravati da Ii
3. Ukoliko je kmdmtlli korijen iz rczulfatn ci}eli broj, idi na korak 6; zadani niz koraka predstavlja algoritam Hi ne. Ovo je Guveni problem zausfavljanja iii halting prob-
4. Povedaj pretpostm'fjcni brf~i za 1; lem. Problemi za koje S8 ne moze sastaviti algoritam nazivaju se neod/ucivi problem!. Postoji pret-
5. ldi na korak 2; postavka; nazvana Church- Turingova tez8, po kojoj one problema za koje ni teoretski ne postoji
6. IspiSi da {mieni bro} posto}i (i da je }N/nak trcl1l1f1lo prcfpostavljclIOIn broju); algoritam, ne moze rijesiti ni covjek. Ova ieza zapravo tvrdi da i covjek uvijek postupa po algoritmi-
7. Kraj. rna, mada oni mogu ponekad da budu enormno slazeni, taka da se ne mogu !ako tskazati. Church-
Turingova teza do danas nije niti dokazana niti opovrgnuta (nit! ima nade da 6e odgovor na nju biti
Medutim, prikazani niz koraka, mada jasan, precizan i nedvosmislen, uop6e nije algoritamJ uskoro naden, jer je ona vise filozotsko nego matematicko pitanje).
Primijetimo da 6e prikazani niz koraka, ukoliko je odgovor na postavljeni problem potvrdan, zaista
nakon konacnog broja koraka pronaCi trazeni broj i dati patvrdan adgovor. Medutim, ukoliko prob-
lem nema rjesenje, ovaj postupak 6e stalno ispitivatl nove brojeve i nikada nece zavrsiti. Neko bi
1.7.5 Konslrukcija algori!ama
mogao pomisliti da je dovoljno pustiti da se ovaj postupak izvodi izvjesno vrijeme, i ukoliko se za to
vrijeme ne pronade broj sa trazenim svojstvom, zakljuciti da je odgovor na postavljeni problem
U mnogim slucajevima nije nimaio laka na osnovu postav!jenog problema konstruirati algoritam
odrecan. Medutim, ovaj zakljucak je posve pogresan. Naime, postavljeni problem zaista ima potvrd-
za njegqvo rjesavanje. Jedan od najboljih pristupa koji olaksava konstrukeiju algoritama je pristup
no rjesenje, ali bi i najbrzi racunari na svijetu danima trazili trazeni broj, jer je najmanji broj sa traze-
'tazvoj8_odC!zgo na dofje iii top-down pristup. Sustina ovog pristupa sastoji se u tome da se prvo
nim svojstvom broj sa cak 29 cifara (to je broi 12055735790331359447442538767)! Ovaj primjer -
. ,uoei koji su'raspolozivi ulazi i zeljeni izlazi iz algoritma. Zatim se uoce gfavni korael koji su potreb-
n~veo.je poljski ~atem~ticar Waclaw Sierpinski. Odavde vidimo da algorltam nije svaki jasan, pre
clzan ) nedvosmlslen nlZ koraka. Inaee, za postavljeni problem, lako na prvi pogled izgleda prilicno n.idA'se_ od raspotozivih ulaza dobiju zeljeni izlazi. Nakon toga se svaki od uocenih koraka.poseb-
naivno, nije nimalo jednostavno sastaviti algoritam (za tu svrhu potrebno je poznavati naprednu .. no, fascl~njuje na j~dhostavnije karake. Novodobijenl korael se po potrebl dalje razraduju sve dok
teoriju brojeva i tzv. Pel/ove jednacine). . _--~s-e liE?: postigne nivo jasnoce u kojem nema nikakve nedvosmislenosti u naCinu kako treba obaviti
. pojedine-,korake.
Postoje nizovi koraka za koje se cak ne zna da li su algoritmi iii nisu. Jedan takav primjer-pred-
lozio je Lothar Collatz. Pogledajmo sljedeci niz koraka: . Razmotrimo ovu strategiju na jednom primjeru. Pretpostavimo da zellmo da sastavimo algoritam
zf3.: prona!a.tenje telefonskog broja osobe poznatog imena i p'rezimena u rokovniku (algoritmi ne
moraju imati nlkakve veze nitl sa racunanjem niti sa racunarima - recept za kuhanje govede supe
108 109
nije nista drugo nego jedan algoritam). Ovdje su oCigledno raspolotivi uiazi ime i prezime osobe ciji Ovaj algaritam mozema iskazati i U obliku struktuiranog govornog jezika:
broj telefona tratimo i rokovnik, dok je zeljeni izlaz broj tefefona osobe. Razmis!imo malo 0 ovom
problEimu. Telefonski imenici u rokovnicima obicno imaju posebne stranice za svako slovo abecede, "* Kreni od prve stranice;
pri cemu je to slovo izvuceno u obliku posebnog jezicka, taka da se ieljena stranica moie otvoriti "* Sve dok je slovo na stranici razliCito od trazenog slova radi stjedeffe:
bez listanja rokavnika. 8toga, mazemo sastaviii sljedeci grubi algoritam: =} Fredi na slj'edeClI stranicu;

=} Kraj.
1. Otvori rolwvnik;
2. Nadi stranu koja Odgulhtf'G pocetnom slui'u prezimena uso!;e;
3. Nadi ime i prezime traiene osobe na pronadeno) strani;
4. ProCitaj broj telelona nadene osobe.
Ovom algaritmu odgovarao bi sljedeci dijagram taka:

Nadi stranu sa
pocetnim sluram
prezimena osobe
Prikazimo ovaj razradeni dio i u vidu dijagrama toka:
Razradimo sada podalgoritam za nalazenje imena 1prezimena trazene osabe na nadenoj strani:
Na{ti ime i
prezime [raiene
oso/Je rKI 1. Ukoliko je stronico pmzna, idi na korak 7;
;SIH.IJli 2. Kreni od prvog imena i prezimcna na stranici;
3. Ukoliko je pusmatrarw fme i prezime jednako tmienam imcllll i prezinw!lu, idi na korak 9;
4. Ukoliko nema vi/ie imena i prezimel/a lUi stranici, idi na 'wrak 7;
5. Predi na sUedde imc i prezime;
6. Jdi na korak 3;
7. Nema podlltllka 0 trazenoj osobi;
8. ldi na korak 10;
9. FroNtaj braj teleJona nadcne osobe;
Do kojeg nivoa treba razradivati algoritam, zavisi od onoga ko taj algoritam treba da izvrsi. cak 10. Kraj.
i sasvim malom djetetu narmalne inteligencije koje zna da eita, ovaj algoritam bi bio dovoljan da
pronade trazenj brej telefona. Medutim, svako ko se iole ozbiljnije bavio programiranjem racunara, Iskazan struktuiranim' govornim jezikom, isti algorilam bi magao glasiti ovako:
n.edvojbeno je zakljucio da su racunari zapravo ve'oma glupe sprave. Razmotrimo kako bi se ovaj
algoritam mogao razraditi (ova razrada bi mogla posluziti ukoliko bismo kasnije ovaj algoritam tre~ "* Pripremi se za Citanje./)f'Vog imena i prezimclw no sirunici (ufwliko nije prazna);
b?li-~a pretvorimo u program za racunar koji bi pretrazivao brojeve telefona u nekoj bazi podataka, 00::> Fonovljaj sljeddu 'skupinu koraka .I've dok se nc ispitaju .I'm tll/nw i prezimena Ita strullici
odnosno elektronickom rokovniku). Moze se primijetiti da su neki korael, poput koraka "Nadl stranu
_sa pocetnim slovom prezimena osobe.", nedovoljno konkretni. Ovakvi koraci, koji trate dalju
razradu, u dijagramima taka oznaeavaju se blokovima sa dvostrukim okvirom. Pogledajmo kako bi
*
iIi- dok se tiC lir:onade trazena osoba:

9
Prt'drn!1- ~iJedec'e f/IJc iprezime;
UkoJ.tAu je p(),imatrano imc i prezime )ednako frazenOl'll imenu i prezilli(!IIU. oncla:
's~,ovi-koraci u navedenom primjeru mogl! detaljnije razraditi. RazmisJirno pIVO kake-bi mogao Izgle- ""*", ,-ZqpdrrU:{da je (raf.ena psoba naJena;
'. dati podalgoritam za nalaienje strane sa pocetnim.slovom prezimena osobe: =:> UkoHkO )e..iraie..fIa:osQ-ba nadena, onda:
=. ProchaJo.(o) teleJolla lIadene osobe;
C Kreni od prve straniu:; =:> U ,\upr(}tnO/it.~ :;:.
2. Ukoliko je strallica obiljczena tratcnim slOt'om, idi na korak 5; . ~. Nemapodatakp rTlraienoj osobi;
3. Predi na sljedeCu stranicu; .'* Kraj_
4. ldi na korak 2;
5. Kra). Mozemo primijetiti CIa je opis a!goritma struktuiranirn govornim jezikom nesto s!ozeniji nego opis

110 111
pomo6u numeriranih koraka. Medutim, opis struktuiranim govornim jezikom mnogo je prilagodljiviji druge strane, ukoliko se uvjet petlje"testira tek na kraju peUje, takve petlje izvrsi6e se makar jedan-
u slucaju potrebe za naknadnim promjenama, jer se u s\ucaju opisa numeriranim koraeima prilikom put, zbog cega. se nazivaju i bezuvjetne pettie. PeUje kod kojih je broj ponavljanja unaprijed
dodavanja novih koraka cesto javlja potreba za izmjenom brojeva kojima se iskazuju grananja odreden, takoder se ubrajaju u bezuvjetne petlje.
(poput "idi na korak n"). Prikazimo sada ovaj dio algoritma dijagramom toka:
Prilikom konstrukdje algoritama, petlje kod kojih je braj ponavljanja unaprijed poznat obicno se
realiziraju uvodenjem brojaca, koji bro]i koliko puta je petlja izvrse'na. Na primjer, neka je potrebno
realizirati algoritam za sabiranje 100 brojeva, Ocigledno, treba unijeti broi, sabrat! 9a sa sumom do
tada unesenih brojeva (koja je na pocetku nula), i ponoviti cijeli postupak 100 puta. Ovaj algoritam
mogao bi se realizirati sljedeCim dijagramom taka:

NE Orfgovarajm:a
osoha?

DA '--"-"--<Brojac!S lOO?
KRAJ
tm;:cll/1 osohe

Ovim su sada svi dijelovi pocetnog algoritma prUicno detaljno razradenL Sada bismo mogli
razradene dijelove dijagrama toka ubaciti u pocetni dijagram toka umjesto blokova sa dvostrukim
okvfrom da dobijemo razradeni dijagram toka, medutim obicno se to ne rad! zbog preglednostL

Kao sto je vee receno, ne postoje nikakva jasno definirana pravila do kOje mjere treba razradivafi
algorltme. Stepen detaljizaeije radnjf zadanih algoritmom mora odgovarati moguenostima izvrsioca
algoritma, jer se algoritmi uvijek prave iskljucivo za konkretnog izvrsioca. Ukoliko algoritmi treba da U ovom dijagramu toka upotrijebljene su neke skracenice koje se cesto koriste u opisu algoritama.
posluze kao osnova za kasnije pisanje pragrama za racunar, razradu treba vrsitf do onog nivoa dok Taka, na primjer, skracenice "Surna.;- 0" i "8roja6.;- 1" predstavljaju skraceni zapis koraka "Pastavi
ne bude jasno kako se svaki korak moze izvesti u vidu naredbj koje razumije racunar. sumu na 0." i "Postav! brojac na 1.", dok skracenice "Suma <1--- Suma + Brol' i "Brojac.;- Broja6 + 1"
predstavljaju skra6eni zapis koraka "Nova vrijednost sume postaje jednaka staroj vrijednosti sume
PriHkom opisanog postupka konstrukcije algoritama, moze se uociti da se u algoritmima uve6anoj za braj." i "Nova vrijednost brojaca postaje jednaka staroj vrijednosti brojaca uve6anoj za
pojavljuju neke karakteristic['Ie strukture. Obicno se smatra da se u algoritmima javljaju tri tipa karak- 1.", odnosno, kra6e iskazano, "Dadaj broj na sumu." i "Poveaj brojac za 1.?
teristicnih struktura:, linearn; tok (sekvenca), ,grananje (odluka, izbor, seJekcija) i pet/js (ciklus,
iteracija). Linearni tok.,predstavlja,.Q-rup"t) korakf! u kojoj se korael izvode jedan za drugim, onim
redom kako su napisanL, Graniinje je struktura. u kojoj se jedna grupa akcija izvrsava u slucaju da je
neki uvjet ispunjen, a druga-grupa: .akCija- -(koja moze ,da ne sadrii nit! jednu akciju) u suprotnom
1.7.6 Put od algoritmadil-pr6grama
.. ~ .. " ,
slucaju. Petga je struktura u kojo(s~ odred~f!a grupa akcija ponavlja odredeni broj puta. Kod peUji Kao sta sma do sada vidjeli, etapa razrade plana_akdja, odnosno_ etap?-~zriide algoritma, vrsi se
broj ponavljanja. mote biti:"unaprijed baieden (np~._ "Stavi tri'kasi6ice se6ero. u 6aj."), ill se porio.vlja- bez pomoci racunara, Ostaje jos da u kratkim crtama raZn:Il.}trimo' sta' -$"e', d'alle desava ukol1t<o pret-
nje moze vrsiti dok je neki, u\(jel ispu-njen- -(nr~.f. "Sve a_ok caj nije dovoljno sladak dodavaj kasicicu postavimo da imamo napisan algoritam za rjesavanje- nekog prc;bleiniI, :tr. 1(~kgV je put pd algaritma
se6era u caj."), odnosno dok $8.-nek:tlJ-vjef ne ispuni inpr. "Dodavaj kasi6icu secera u caj sve dok ne do programa za racunar. Kada smo u poglavlju 1.2 govorili 0 arh!fel<turi -racunara,-vidjell sma da
postane_ dovoljno'sladakc.'l Uviet se'.u petljama maze lspitivati kako na pocetku, tako i na kraju pet- racunar zapravo zna izvrsavati same elementarne 'instrukclje 'koje' se 'sastoje ad nlzova nu\a i jedini-
/je. Ukoliko se uvjet ispitLJIe na'p6cetk~ petlje, tada u slueaju da uvjet admah na pocetku nije ispu- ca, koje se nazivaju mas/nske inslrukclj'e. Staga je krajnji. oplik Li koji -svaki al90ritam mora biti trans-
njen, petlja se ne6e izvrsiti njiijedanput'{takav. sma primjer imali kod trazenja imena I prezimena fOfmiran upravo tai niz nula i jedinica. Kod prve gerjeracije racunara", taj po'stupak prE?vodenja algori-
osobe na stranici Us!u~aju da je ~tranica prazna). Stoga se takve petlie nazivaju i uvjetne pet/je. S

112 113
tama u masinske instrukcije morae je obav!jatl covjek. Da bismo stekli osnovni uvid ko!iko je avo tez,ak je pohranjen program, analizlraju ga i, ukoliko je korektna napisan, pretvaraju ga u niz masinskih
posaa, pretpostavimo korak algoritma koji 91asi "lzra6unaj koliko je 14 . (11 +15) i ispisi rezuI1at.". instrukcija kOje, razumije racunar. Dakle, kompajleri na sebe preuzimaju mukotrpan praces
Vjerovali iii ne, cak i ovako prost korak racunar ne zna izvrsiti odjedanput. Razlozi za ovo su sljedeei: prevodenja razumijivih instrukcija poput PRIN'T 14 * ( 11 + 15) u nerazumljivu skupinu nula i jedini-
ca, koju smo maloprije ilustriralL Dakie, tek pojavom prvih kompajlera proces programiranja je
Procesor zna raditi sarno sa binarnim brojevima, tako da bi brojeve 14, 11 i 15 trebalo prvo
pastao dostupan sirem krugu korisnika.
pretvoriti u binarne brojeve.
Procesor razumije samo elementarne operadje, pa se sabiranje i mnotenje moraju izvest! u Treba naglasiti da su kompajleri veoma komplikovani programi, i da su prvi kompajleri morali bitl
posebnim koracima. Da stvar bude jos gora, sve donedavno procesori 6ak nisu poznavali ni pisani pomo6u masinskih instrukcija, jer na pocetku nista drugo niie bilo na raspoiaganju. Medutim,
operaciju mnozenja, pa bi se u takvim slu'cajevima mnozenje moralo reaiizirati svodenjem na kada- su napravljeni prvi kompajleri, oni su posluzili za pisanje slozenijih kompaj!era, koji su dalje
prostije operacife (npr. na ponovljeno sabiranje), iskoristeni za pisanje jos slozenijih kompajlera, pa sve do danasnjih kompajlera, koji su dostigli nivo
slotenosti kakav autor! prvih kompajlera nisu mogli ni naslutiti.
Rezultat ra6unanja procesor ee opet zapisaU u binarnom obliku, tako da je potrebno izvrsiti i se-
riju instrukclja koje 6e ove binarne brojeve pretvoriti u 1akve signale upravlja6kom sklopu moni- Motema zakljuciti da se danas proces prevoctenja algoritama u programs za ra6unar odvija u
tora koji ee uzrokovati da se na ekranu manitora ispise trazeni braj u decimainom obliku. dvije faze. Prva taza je prevodenje algoritma u program pisan u nekom 60vjeku prihvatljivom pro-
Kao sto vidimo, neophodno je strahovito mnogo posta za tako jednostavan zadatak. Kada bismo gramskom jeziku, sto js za covjeka koji dobro vlada odgovarajucim programskim jezikom najcesce
zaista ispfsali (po redovfma) sve potrebne instrukcije (koje naravno predstavljaju kombi,nacije nula j rutlnski posao, Druga faza je potpuno automatizirana, i sastoji se u prevodenju programa pisanog u
jedinica) za obavljanje avog zadatka, dobili bismo s!jaded program (uz pretpostavku da se koriste covjeku prihvattjivom programskom jeziku u nizove niasinskih instrukcija, Ovu fazu, kao sto je vet
neki od Intelovih procesora ill njihovih klonova drugih proizvodaca, i neke od standardnih grafickih receno, obavljaju posebno pisani programi - kompajleri. Da bi se ove faze mogle realizirati, potreb-
kartica za PC racunare): no je poznavati barem jedan programski jezik, Tek tada je moguce algoritme prevesti u programe i
koristiti ra6unar kao sredstvo za rjesavanje problema za koje nisu na raspolaganju vee gotovi pro-
10110000 00001011 00000100 00001111 10110011 00001110 11110110
grami. Kako je citav treei dio ovog udtbenika posveeen upravo programskim jezicima, kompajleri-
11100011 10Ul0n 00000100 00000000 10111001 00000000 10111000 ma, metodologiji programiranja t programiranju uz pom06 programskog jezika Pascal, sa ovom
10001.1.1.0 11011001 10110001 00001010 11110110 111.10001 10000000 problematikom 6ete imati prilike da se kasnije detaljnije upoznate.
l.l.OOO1.00 00110000 10001000 001.00111 10000011 11101011 00000010
00110010 11100100 00001011 lldooooo 01110101 11110000

Uzasno, zar ne? Na prvim generacijama ra6unara, zaista se moralo ovaim raditi. Ovi nizovi nula i
jedinica unosili su se u memoriju pomo6u prekidaca, iii busenih kartica, na kojima je raspored rupi-
ca odredivao raspored nula i jedinica. Programiranje ra6unara u to doba bilo je zaista nocna mora.
Sre60m, ovakvo programiranje je stvar davne proslost!. Pokazalo se da racunari ne mogu naei
siroku primjenu ukoliko se ne oiaksa nacin pisanja programa. 8toga su danas razvijeni specijalni
programski jezici prilagocteni covjeku, pomocu kojih je korake algoritma r:noguce na znatno jednos-
tavniji nacin prezentirati racunaru. Na primjer, u programskom jeziku BASIC sa kojim ste se susre-
Ii' u nastavi informatike u osnovnoj skoli, dovo!jno bi bilo napisati naredbu:

PRINT 14* (11+15)

Ovo je, bez ikakve dileme, neuporedivo jednostavnije, Dak!e, algorilmi se danas ne prevode u
masinske instrukcije, nego u neki od programskih jezika koji su znatno prihvatljiviji covjei(u, To su jezi
'ci u kojima je mnogo lakse opisati problem za ko)! je algoritam razraden, bez ulaska u cisto tehnicke
detalje koje bi zahtijevao masinski jezik, Ve6ina ovih programskih jezika nastoji da S0 priblizi prirodnom
Ijudskom jeziku. Tako, na primjer, fijec' PRIN'l' na engleskom jeziku znaci "jspisi". Sto nam je na raspa-
',laganju savrseniji programski jezik, to 6e proces prevadenja algoritma u programski jezik biti jednos-
, tayniji. Ostaje jos da vidimo kakav je put od cavjeku razumljivih 'naredbi u nekom razumljivom pro-
'gram-skarn jeziku poput naredbe PRINT 14, * (11 +15) do nizova nula i jedinica koje razumije racunar.

, Programi u covjeku razumljivijim programskim jezicima pisu se pomo6u objenih editora teksta,
o ,kpjima smo vee govorili. Ti programi, posmatrani sami za sebe, racunaru ne predstavljaju nista
drugo nego obicni "Iekstualni dokument, poput odlomka iz nekog ramana Mes0>Selirnovi6a, iii neke
best]lislene skupine znakova. Nakon sto se program unese u editor teksta i sacuva na nekom od
uredaja 'eksterne memorije (npr. disku), u pomoe se pozivaju posebni programi prevodioci, nazvani
ko.mpajle';. Ovi programi, koji spadaju u sistemski softver, iscitavaju tekstualni dokument u kojem

114 115
Pitanja i zadaci
2. KORISNICKA INFORMATIKA
1. Kada je neophodno pisati vlastite programe?
2. Navedite barem nekoliko razloga zbog kojih nije jednostavno pisati programe za racunar.
3. Sa kojim se fazama susrecemo pr'1 rjesavanju problema uz p0l)106 racunara? 2.1 SISTEMI ZA OBRADU TEKSTA
4. Zbog tega nije dobra odmah pisati program?
5. Koje vrste problema pastoje?
6. Koje je etape rjesavanja problema predloiio Georg P61ya j koje se akcije preduzimaju u poje- 2.1.1 Razvoj sistema za obradu leksla na PC racunarima
dinim etapama?
7. Sta mislite zasta Polya tvrdi da je korisnije rijesit! jadan zadatak na vise razliCitih nacina nego U prvom dijelu ovog udzbenika upoznali sma se sa pojmom tekst procesora kao sistema za
vise razli6itih zadataka na 1st! naCin? obradu teksta koji uporedno obavljaju kako funkcije editiran/a, odnosno urecJfvanja teksta, tako i funkcj~
8. Sta je rjesavanje metodom grube sila? je formatiranja, odnosno oblikovanja teksta (za razliku od editora, kojl obavljaju samo funkc\je editira~
9. Sta je algoritam? nja). Danasnji tekst procesori veoma se razlikuju od riekadaSnjih tekst procesora. Nekada se tekst pro~
eesori po izgledu gotovo nisu ni razlikovali ad obicnih editora teksta. Taka se, na primjer, program
10. Koje naCine prikaza algoritama poznajete? WardStar ko)i je godinama bio jedan od najpopularnijih tekst procesora za mno&tvo ra6unara,
11. Formirajte algoritam za ispitivanje da Ii je trougao sa zadanim duzinama stranica a, b i c ukljucujuci i PC racunare pod MS-DOS operativnim sistemom, vizualno nije mnogo razlikovao od edi-
pravougli trougao, j nacrtajte njegav dijagram taka. tora teksta EDIT i slicnih editora za MS-DOS. Jedino 5to je ove programe razlikovalo od editora teks-
12. Farmirajte algoritam koji prikazuje vas tlpican radni dan ad ustajanja iz kreveta do odlaska na ta bila je mogu6nost oblikovanja teksta koji Ge biti ispisan na stampacu, iako ta oblikovanja nisu bila
spavanje, 1 nacrtajte njegov dijagram taka. vidljiva na ekranu. Ubacivanjem posebnih znakova iii naredbi u tekst, korisnik je mogao podesavati oblik
13. Farmirajte 8ta je god moguce razradeniji algori1am za kuhanje kafe, i nacrtajte njegav dijagram i velicinu ispisa, kao i neke druge detalje. To podesavanje se vrsilo nas/ijepo, dok je pravi oblik doku-
taka. menta bio vidljiv tek nakon stampanja. Jasno je da je ovakav naCin rada bio veoma podlozan greskama.
14. Formirajte algoritam za raeunanje prasjeene aejene ueenika, i nacrtajte njegov dijagram taka.
15. Zasto svaki jasan, precizan i nedvosmislen uredeni niz koraka nije algoritam? Razvojem grafickih kartica, pojavili su se i prvi tekst procesori koji su imali mogucnost prikaza
stvarnog izgleda dokurnenta na ekranu< Doduse, brzina rada tadasnjih ratunara nije dozvoljavala da
16. Navesti nekoliko primjera problema sa kojima se eovjek susrece, a eije je rjesavanje tesko
ratunar neprestano manipuiira sa visokokvalitetnim prikazom na ekranu, tako da su tadasnji tekst pro-
opisat] algaritmom.
cesari obitno lmaH dva nacina rada: normalninatin rada, u kojern se radilo naslijepo, i fzv. pregledni(engl.
17. Sta je pr]stup razvoju odozga na dolje? previeW; nacin rada u kojem se dokurnent prikaie na ekranu u obUku u kojem 6e biti i odstampan. Pri
1B. Koje se karakteristicne strukture javljaju u algoritmima? tome se u preglednom nacinu rada dokument nije mogao uredivatl, nego sarno pregledati. Stoga je bib
19. Opisati principijelno kako Se napisani algorltam prevod] u program za ratunar. kakav Qzbiljniji rad sa dokumentom tra2io stalno prebacivanje iz notma!nog u pregledni nacin rada i Qbr-
nuto. Najpoznatijitekst procesori za PC racunare koji su koristili takav naCin rada bile su ranije verzlj'e pro-
grama WordPerfect (firme Core~
za MS~DOS operativni sistem.
USkOfO su se poceli pojavljivaH i
tekst procesori koji su uspijevall da
eitavo vrijeme rada prikazuju
dokument na ekranu prilieno vjer
no (u odnosu ha stvarni izgled
stampanog dokumenta), uvazava-
juti razne vrste i velleine sloVq,
kao j razlielte stilove ispisa (poput
podebljanja iii podvlaeenja dijela
teksta), Jedan ad veoma popu-
!arnih tekst procesora koji je imao
takve mogucnosti bio je program
ChiWrifer za Ms.-DOS. Na slici sa
desne strane prikazano je kako je
izgledao rad sa ovim tekst proce-
soram,

Jedan od razloga za neka- Primjer r(/(h sa tcksf procesorom


dasnju veliku popularnost pro- ChiWdter za MS-DOS
116 117
grama ChiWrifer lezi u tinjenicl da je on bio jedan od prVih tekst procesora koji SU omogucavali zaista treba dosta vremena da se upoznaju sve njegove mogucnosti. Autor ovog udzbenika radi sa
unosenje raznih matematickih i drugih formula u tekst, koje su bile odmatl vidljive pri radu sa tekstom. Microsoft Wordom duzi niz godina, i neprestano otkriva nove skrivene mogucnostl ovog programa.
Doduse, kvalitet odstampanih formula je bio prilicno bijedan, i nije se mogao porediti sa kvalitetom Medutim, sretna okolnost je da se osnovne radnje sa ovim programom mogu savladati za svega
formula odstampanih pomocu specljal!ziranih programa kao sto je TeX, koji smo spominjali u prvom nekoliko sat! rada. Mada ste se sa programom Microsoft Word vee susreli u nekoJiko navrata kroz
dijelu udzbenika kada sma govaril! 0 prirnjenama racunara za potrebe obrade teksta. Medutim, TeX nastavu informatike U osnovnoj skoli, moramo se detaijno podsjetiti rada sa ovim programom, jer ie
je za vecinu prosjecnih korisnika bio prekompliciran za upotrebu, i u to doba nije omogucavao prikaz njegovo temeljito razumijevanje kljuc za razumiievanje veGine drugih aplikacija pisanlh za Windows
formula na ekranu (nego sarno na tampanom dokumentu), taka da je veGina korisnika koji se aperativni sistem. Nakan pokretanja programa Microsoft Word, na ekranu se pojavljuje prozor karak~
obradom teksta nisu bavill profesionalno za svoje radove koristila ChiWriter (ukljucujuCi autora ovog teristicnog oblika. Izgled ovog prozora, kao i njegovi osnovni elementi, prikazani su na sljedeeoj slici:
udtbenika, kojt je u ChiWriteru uradio svo) diplomski rad j nekoliko strucnih seminarskih radova),
Ubrzo nakon pojave ChiWritera, pojavile su se i novije verzije WordPerfecta za MS-DOS, koje su Nilslovna C/arnt Traka sa alatima Traka sa ulalima HOI"iwn/ulni
omogucavale veoma vjeran prikaz dokumenta citavo vrijeme tokom rada sa dokumentom, prj cemu Traka meni "Standard" "Formatting" [inijar
se takav nacin prjkaza mogao iskljuciti ukoliko je suvise usporavao rad na sporim masinama.
Medutim, za takav prikaz, WordPer1ect je zahtijevao mnogo snaznije maslne nego ChiWriler (tijl je
kvalitet prikaza, doduse, bio mnogo manje vjeran, ali dovoljan za mnoge primjene).

Pojavom snaznijih racunara i Windows operativnih sistema koji neprestano rade sa grafickim karis-
nickim okruzenjem, kvalitet sistema za obradu teksta je naglo porastao, Danas su racunari dovoljno
snaini, tako da praktieki svi danasnji tekst procesori omogucavaju rad u tzv. WYSIWYG (What you .ee
Is What You Get) rezimu rada, u kojem dokument na ekranu Citavo vrijeme rada izgleda prakticno isla
onako kao sto ce izgledati kada se odstampa na papiru. Danas se najvlse koriste razne verzije tekst pro~
cesora Microsoft Word i novije verzije WordPer1ecta prilagodene Windows operativnim sisternima.

U prvom dijf;!lu ovog udz:benika govorili sma 0 osnovnim operacijama editiranja i formatiranja
teksta koje bi trebao da padrtava svaki program za obradu 1eksta. Medutim, da bismo se detalino
upoznali sa naCinom izvodenja ovih operaciia, moramo se odlueiti za neki konkretan tekst procesor,
jer se natini rada sa razlicitim tekst procesorima mogu medusobno prilicno razlikovatL U nastavku
cemo razmotriti postupak rada sa tekst procesorima iz serije Microsoft Word for Windows, koji su
jos poznati pod skracenim nazivima WinWord, ill ponekad, samo Word.

2.1.2 Kralak pregled osnovnih operacija u programu Microsoft Word

Program Microsoft Word for Windows ie vjerovatno najpopularniji program za' obradu teksta koj! je
danas u upotrebi za PC racunare koji rade pod Windows operativnim sistemima. Pored PC racunara i
Windows operativnih sistema, ovaj program je prilagod~n i mnogim drugim vrstama racunara i opera~
tivnih sistema, tako da postoje Microsoft Word for Macintosh, Microsoft Word for UNIX, itd. U vrijeme
pisanja ovog udzbenika najrasireniia verzija programa Microsoft Word u nasim obrazovnim !nstitucija-
ma bila je verzija Microsoft Word 97, mada se dosta koristila j novija verzija Microsoft Word 2000, koja
se ad verzije 97razlikuje samo u nekim sitf]ijlm detaljima koji nisu sustinske,prlrode. Takad'er, u vrijeme Dugnwd za Statuma Traka sa alafilJUl Horizon/ulna
pisanja ovog udzbenika pojavile su se i najnovije vetzije Microsoft Word2002 i Microsoft Word XP koja izbor naCina traka "Drawing" traka za pomak
prikaza
je posebno prilagodena iskljucivo za rad sa Windows XP operativnim sistemQm:_Opis u ovom udzbenlku
odnosl se na Microsoft Word 97, mada ee se sve opisan~ stYarl gotovo_'sigurno "moei primijeniti u bilo Moguce je da ce u vaseni slucaju nakon pokretanja Microsoft Warda izgled pro~ora bltJ nezAaino
kojo] verziji'Microsoft Warda kOja ucenicima bOde na ra~pola.9anj~:-~r1!ikQm _koristenja -o'(og udzbenika. drugaeiji, npr. da" nece jmati neke ad elemenata prikazanlh na slid (npr. vertikalni linija'i). Raz[o,g
tome je elnjenica da je program Microsoft Word prilagodljiv i da nudi mogucnost likljueiv.:inja 6dr;-os~
Komunikacija korisnika sa programom~ Microsoft WorP' odvij~(se~pre~o naredbi i poruka.koje su
tipicno pisane na engfeskom jeziku, mada- postoje J verzije- Word~}} _.kojem su naredbe i poruke

no isklju(;ivanja pojedinih elernenata. tome kako se postizu ova prilagodavanja govoric.em-Q Q8stO:-
kasnije. Takoder, vazno je napomenuti da Word spada u tzv, programe koji podrt.avaju pristup' .. _
prevedene na mnage druge jezike. Tako se, na prfmjer, na na.Sirn:p~ostorirria cest9 moze sresti ver~
orijentiran ka dokumentu, sto zapravo znad da ee aktiviranje ikone kOja predstavlja dkt)rri~l-,"
zjja Worda prevedena na hrvatski jezik. Mi cem.o, u ns,stavku udzhenika, 'podrazumijevati da radimo
pisan u Wordu pokrenuti Word i automatski ucitati U njega dokument,o kojem je rijee". Go!njaslika
sa engleskom verzljom, koja se ipak najeesce. susrece:" . --
(sa praznim dokumentom) jav!ja se samo u slueaju da smo Word pokrenl,lli kao pr'ogram f'na
prazno"j, a ne preko nekog pridruzenog dokumenta. "
Microsoft Word je veoma slozen program, Potpune upute~i-~ kbristenje 0"';'09 programa zauzele
bi nekoliko hHjada stranica. To, m.edutim, ne znael -cia je ovaj-program te~ak za koristenje, mada
liB 119.
]'1

Nas/ovne traka sadrzi, pored naziva programa Microsoft Word, ime dokumenta ko]] se trenut~ obitjezenog dijela teksta slovbm koje odgovara pritisnutoj tipki. Ukoliko yam se ovo slucajno dogo-
no obraduje. Nakon pokretanja Micrastoft Warda "na prazno", to lme je uvijek Document1, i astaje di, prltisnite kombinaciju tipki etrl + Z, tj. pritisnite prvo tipku Ctrl, a zatim, ne pustaju6i ie, tipku Z
tako Sve dok ne zadamo naredbu za snimanje dokumenta na disk, kada eema morati unijeti i ze- (vidje6emo kasnije da se isti efekat moze postiei i na drugi nacin). Ova komblnacija tipki ponistava
!jano ime dokumenta. posljednju izvrsenu akciju. Istu kombinaciju tipki mozete iskoristiti i vise puta, da ponistite posljed-
njih nekotiko akcija, a ne sarno jednu.
Tacka umetanja iii kurzor E1znacava mjesto na kojem de se pojaviti sljedeCi znak pritikom kuca-
n]a teksta. Kurzor je mogu6e pomjetati pomodu tipki sa strelicama na tastaturi iii pomocu misa. Vodite racuna da ukoliko pritisnete lijevu tipku misa u trenutku dok se pokazivac misa nalazi na
Medutim, kUfzor se moze pomjeratl samo kroz ana) dio dokumenta u koji je vee unesen nek! tekst. obiljezenom dijelu teksta, tada svako pomjeranje miss dok je lijeva tipka misa pritisnuta dovo~
Pri tome se razmaci kaje korisnik unese smatraju kao dio teksta, mada se_ ti razmaci ne vide na di do pomjeranja obiljezenog dijela teksta na novu poziciju pokazivaca misa cim otpustimo
ekranu. Drugim rijecima, moguce je kretanje kurzorom kroz razmake koje je unio korisnik, all ne i kroz Upku miss. avo je jedan od nacina kako mozete brzo premjestiti dio teksta sa jednog mjesta na
prazan prostor dokumenta u ko]i nije uneseno nista. Za brzo kretanje kurzora kroz dugacke doku~ drugo. Medutim, taka se maze desiti da ova premjestanje izvedete nehoticno, narodto ukotiko niste
mente moguce je koristiti tipke Page Up i Page Down, kao i vertikalnu (raku za pomak. Tipke Home vjesti pri rukovanju misem. U stucaju da yam se to dogodi, ponistite nezeljeno pomjeranje pritiskom
i End pomjeraju kurzor na pocetak, odnosno kraj tekuceg reda. Za brisanje znaka lijevo ad kurzora na kombinaciju tipki Ctr/ + Z.
koristi se tipka BackSpace (na nekim tastaturama oznacena znakom <'--), dok se za brisanje znaka
desno od kurzora korist! tipka Qelete. Pri tome, pritisak na tipku BackSpace takoder pomjera kurzor Ispod nas!ovne trake, nalazi se glavni menj programa Microsoft
jedno mjesto ulijevo, dok pritisak na tipku Delete ostavtja kurzor na istom mjestu. Ukoiiko primijetite Word, koji sadrii sljedece menije: Eile, Edit, J{jew, insert, Fgrmat,
da se tekst koji kucate prepisuje preko postoje6eg teksta umjesto da se umeoe u postojeci tekst na Ivols, r.tbJe, .window i fjelp. Nije isk!juceno da se u novijim verzija- J{' :.CUI .'c~~;+x
mjesto kurzora, tada ste najvjerovatnije nehoticno uktjuciti prepisujuci (engt. overwrite) naiHn rada. ma Microsoft Warda pojave i dodatni meniji. Meniji se aktiviraju na '~':opy Ctri+C
Mozete ga isk!]uciti pritiskom ns tipku fnsel1, kOja ukljueuje, odnosno iskljucuje ovaj naein rada. nekotiko nacina. Najlaksi nacin je dovesti pakazivac misa na ime meni-
~t:a5te Ctrl+V
ja i pritisnuti tijevo dugme misa (ktlknuti). Umjesto toga, moguce je pri-
" P"aste" ~eciaL .
Pritlkom unoSenja teksta, Microsoft Word sam prebacuje u novi red rijed za kOje ustanovi da su tisnuti tipku Alt na tastaturi i, ne pustajuCi je, pritisnuti tipku sa potcr-
predugacke da bi stale u teku6i red (ova osobina se u eng!eskoj literaturi naziva word~wrap). Tipku tanim stovom u imenu zeljenog menija (npr. tipku F za slucaj menija
ENTER, koja se inaee u editorima teksta koristi za prelazak u novi red, treba koristiti samo ukotiko File, 8to cemo ubuduce skraeeno pisatl kao AIt+ F). Nakan aktiviranja
CieS!r Delete
zetimo da zapocnemo novi odjetjak teksta, koji svakako mora poceti u novom redu, ill ukoUko zetimo menija, meni se prikazuje na ekranu. Na slicj desno prikazan je meni
Edit nakon aktiviranja. Select All ctrl+A
da napravimo nekoliko praznih -redova u dokumentu. Drugim rijeCima, nije dobro pritiskati tipku
ENTER za pretazak u novi red unutar odjeljka, vee treba pustiti Word da sam obavi prelamanje reda.
U suprotnom, Word be pogresno smatrati da svaki red teksta cini zaseban odjeljak, sto 6e kasnije
Svaki ad menija sadrzi mnostvo naredbL Biranje naredbi iz menija lift Eind:<" Ctr!+F
vrsi se pomocu misa, iii pomjeranjem trat<e za izbor pomo6u tipki sa stre- Rspla(e... Ctt"l+H
dovesti do probtema prltikom obHkovanja (formatiranja) teksta, cija se !6gika ug!avnom zasniva upra-
licama (gore iii dotle) i potvrdom izbora pomocu tipke Enter. U slucaju da ~o To.. CtMG
vo na organizaciji teksta u odjetjke (koji se jos nazivaju i paragrafl).
je naziv neke naredbe prikazan b!ijedo ,(sivo), ta naredba se iz nekog
Uko!iko tipku ENTER pritisnemo u trenutku kada se kurzor na!azi unutar nekog paragrafa, Word raztoga ne moze izabrati u datom trenutku. U prikazanom meniju, takve
6e tada razdvojifi taj paragraf na dva dijela, upravo na mjestu gdje se nalazio kurzor u trenutku prj- su, na primjer, naredbe Paste as Hyperfink, Links i Object
tiska na tipku ENTER. Obrnuto, da bismo spojili dva paragrafa u jedan, koristimo tipku BackSpace,
pri cemu kurzor treba postaviti tacno na pocetak drugog paragrafa koji zetlmo da spojimo sa prvim. Sa desne strane nek\h naredbi iz manija -stojl ime tlpke ill kombinacije tipki pornocu kojih se
odgovarajuca naredba moze izvesti direktno, bez aktiviranja menija. ave tipke se nazivaju 'fipke
Mnoge naredbe za uredivanje i oblikovanje teksta trate da se prethodno oznaci (markira) dio kratice (eng!. shortcut keys). Na primjer, pritisak na tipku Delete ekvivalentan je izboru naredbe
teksta na koji 6e se naredba odnostiti. Oznaeenl dfQ feksta rikazu~e se SJ;!: zatamn ecrom Cizadinom Clear iz menija Edit, dok je pritisak na kombinaciju tipki ('trl + X ekvivalentan izboru naredbe Cut iz
o ut ove recJ;!hrce: Oznacavanje teksta motemo obaviti pomadu tastature iii pomoeu misa. U oba istog menija. Pojedine naredbe u menijima imaju neko stovo potcrtano, Pritisak na odgovarajucu
s!ucaja, prvo je potrebno dovesti kurzor na pocetak dijela teksta ko)! zelimo oznaciti (bito pomocu tipku (za vrijeme dok je odgovaraju6i meni aktivan) takoder aktivira naredbu. Na primjer, pritisak na
misa, bilo pomocu tipki za pomjeranje kurzora). Ukoliko zelimo da oznaeimo dio teksta pomocu tas- tipku E dok je meni Edit aktivan (tj. prikazan na ekranu) jzvrsava naredbu Replace, jer je slovo E
tature, prva pritisnemo tipku Shift, a zatim, drzed tipku Shift stalno pritisnutu, oznacavanje_vrsimo- potcrtano U imenu ove naredbe.
pomo6u tipki za pomjeranje kurzora. Oznacavanje pom06u tastature prakticno je ukotiko treba
oznaciti manje' dijetove teksta. __ Da blsmo pomocu misa oznadli dio teksta, pritisnemo lijevu tlpku' tspod glavnog manija nataze se dvije trake sa a/aUma (eng!. toolbars), nazvane Standard i
misa, i ne pustajuci je, pomjerimo pokazivac misa na kraj dijeta ko]i zeJimo da oznacimo. Tek nakorl" . Formatting. Ove_'trake se, doduse, mogu isktjuciti, ali su ol:?icno ukljucene. Trake sa alatima sasto-
toga smljemo pustiti tipku misa. Dvostruki ktik lijevom tipkom misa oznacava citavu rijec_na k-oju je se od niza slicica odnosno ikona, nazvanih a/arke. Alatke predstavljaju brzi naCin za aktiviranje
~okazuje pokazivac misa, a trostruki k!i.k oznacava citav paragraf u ko]em se nalazi pokG):zivac misa-. odredenih naredbi. Dovodenje pokazivaca mi8a na a!atku i klik lijevom tipkom misa aktivira nared-
Cltav red mozemo brzo obitjeziti tako sto pokazivac misa dovedemo na prazan prostor tijevo od Zff:~ bu prfdruzenu atatkL Ukoliko se pokazivac misa samo dovede do atatke (bez klika) i tu zadrzi izv~
Ijen09 reda i ktiknemo. Da bismo po~istm obiljezavanje nekog dijela teksta, dovotjno je samo ktik.nu- "1esno vrijeme, prikaza6e se mali prozorcic u kojem je ispisano ime naredbe koja je pridruzena alat-
"Ii u trenutku kada se pokazivac misa nalazi bito gdje izvan obiijezenog dije!a. ki. Pored aJatki, trake sa alatima sadrze j nekotlko padajueih listi (npr. listu za izbor vrste slova).

81tno je napomenuti da je obiljezeni diD teksta pripremljen za neku akciju, i svakl nehoticni pri:- U samom dnu prozora na!azl se statusna traka. Ova traka sadrzl, gledano s lijeva na desno,. redni
tisak tipke na tastaturi iii tipke misa moze dovesti do neieJjenih pas/jed/ca. Tako; na prlmjer, broj tel<uce stranice (Page), redni broj teku6e cjeline (Sec), razlomak obtika p/q gdje p predstavlja
prltisak na neko stovo na tastaturi za vrijeme dok je dio teksta obiljezen, ima kao posljedicu zamjenu redni broj stranice a q ukupan braj stranica, zatim polozaj kurzora na stranici (At - udatjenost kurzora

120 121
File Name u koji uplsujemo Ime dokumenta koji zelirno da sacuvamo, kao i padajuea lista Save in
ad vrha strane, Ln ~ Redni bro] lihije, Gol ~ Redni bro] kolone), kao i niz indikatora (REG, TRK, EXT,
pomocu koje biramo !okaciju na koju zelimo snimiti dokument. Zeljenu lakaciju mazema birati i
OVR, yvPH) k?ji .svojom b?jo~ (~ivom iii ernom) pokazuju razlicita stanja u kojima se program maze
preko ikona kOje su vidljive u sredisnjem prozoru diialoga. Oijalog za naredbu Save As sliean je po
nalaz!tl. Na pnmjer, zaernJen mdlkator OVR govor! da je aktivan prepisujuCi (overwrite) naCin rada.
Dvoslruki klik misem na indikator mijenja stanje indikatora iz a~tivnog u neaktivno, i obrnuto. izgledu dijalogu za naredbu Open, samo sadrzi manie opcija, Dokumenti kOje snimamo iz progra~
ma Microsoft Word automatski dobijaju ekstenziju (nastavak na [menu) . DOC,
. 8ada cerna navesti kratak pregled najvaznijih naredbi koje se nalaze u menijima programa Page Setup - Omogueava precizno podesavanje izgleda stranice. Izbor ove naredbe prikazuje
Microsoft Word. Neeemo ulaziti u previse detalja, jer ste se vjerovatno sa veclnom ovih naredbi vee dijalog sa 4 kartice: Margins, Paper Size, Paper Source j Layout. Kartica Margins omogueava
susreli tokom nastave informatike u osnovnoj skoli. podesavanje sirina margina (praznih traka kOje se nalaze izmedu ruba papira i pocetka pisanog
teksta na papiru). Margine treba raz!ikovati od fzv. uvlaka (engl. Indent) ~ margine su zajedni6ke
Meni File sadrii naredbe za osnovne operacije sa dokumentom, odnosno sa njemu pridruzenom za Citavu stranicu, dok pojedini odjeljci na stranici mogu jos biti dodatno uvueeni u odnosu na
datotekom na disku. Neke od najvaznijih naredbi u meniju File su s!jedece:
margine. Kartiea Paper Size omogueava podesavanje velieine papira i orijentacije stampanja,
New - Kreira novi dokument. Microsoft Word moze da radi istovremeno sa vise dokumenata Pod orijentaeijom podrazumijevamo izbor da Ii Zelimo uzduzno (opcija Portrait) iii poprecno (opci~
(prelaz iz jednog u drugi dokument vrsi se pomocu menija Windows). Nakan izbora ave ja Landscape) stampanje. Kartica Paper Source amogucava izbor nacina na koji ce stampae
naredbe, prikazuje se dijalog ko]i omogueava izbor veeeg brojaunaprijed pripremljenih sablona uzimati papir, ti. da Ii ee se papir ubacivati jedan po jedan rueno, iii ee se uzimati automatski iz
~engl. template) za kreiranje pisama (eng1. letters), memoranduma (eng!. memo), itd. Izaberite ladiee stampaca. Kartica Layout omogueava postavljanje razlieitog izgleda stranica sa parnim i
sablan Blank Document ukoliko zelite da zapocnete rad sa patpuno praznim dokumentom. neparnim brojevima, sto je ponekad korisno kod stampanja knjiga (npr. zelimo da na parnim
stranieama braj stranice pise slijeve, a na neparnim stranicama zdesne strane). Na sljedecoj slici
Open - Otvara postojeei dakument Ova naredba prikazuje dijalog u kojem su najvazniji ele~ prikazane su kartice Margins i Paper Size dijaloga za naredbu Page Setup.
:nenti.polie za unas File Nam~, u koji upisujemo ime dokumenta koji zelimo da otvorimo, i pada-
juea IIsta Look I'!., pomoeu kOle biramo lokaciju (uredaj i folder) na kojoj se nalazi dokumenl koji
zelimo olvorit!. Zeljeni dokument i lokaciju mozemo birati i preko ikona kaje su vidljive u
sredisnjem prozoru dijaloga, Dugme Find Now sluzi za pronalazenje svih dokumenata koji
zadovoljavaju kriterije kOje smo unijeli u dfjalog, i maze se lijepo iskoristiti za trazenje izgubljenih
da~umenata, VeGi izbor opeija za pretragu dobijamo pomoeu dugmeta Advanced, ave opcije
su Jako moene, ali su nesto komplleiranije za upotrebu, i namijenjene su uglavnom iskusnijim
korisnicima. Na sljedeeoj slid prikazan je moguCi izgled dijaloga za naredbu Open.

......... ! IClm!
~lJ~Jr!JlI" 1iblJ1'!i.1
i~
..:;",,,.1':1
6~,-..;.q,',.,: ,J
Print Preview - Omogueava pregled dokumenta pred stampu. Izborom ave naredbe ulazimo
u specijalni retim rada u kojem se dokument prikazuje tacna onako kako ee izgledati na papiru
(otpriHke ovako je izgledao pregledni nacin rada u starijim t!kst procesorlma). U ovom rezimu
prikazuje se posebna traka sa alatima pomocu koje mozemo podesavati da Ii zelimo da na
ekranu istovremeno gledamo jednu iii vise stranica (naravno, u umanjenom mjerilu), iH mazda
eventualno samo dio stranice u uveeanom mjerilu, Povratak u normalni rezim rada vrsi se klikom
na dugme Close na traci sa alatima.
Print - Stampa dokument. Izbor ave naredbe otvara dijalog pomoeu kojeg, izmedu ostalog,
mozemo odreditl koliko kopija dokumenta telimo (pomoeu polja za unos Number of Copiesj-,
kao i da Ii zellmo stampanje citavog dokumenta, sarno tekuce stranice, samo oznacenQg dijela,>
.Close - Zatvafa trenu~no aktivni dOkuine~t. UkoHko- dOk~iDent~:~ire prethodrlO sacuvan prim~ ili navedenog opsega stranica (pomoeu radio dugmadi Page Range i polja' za"uno's,Pagei;}.
Jenom naredbe Save, blee nam ponuden upi~ da ILzeli~o sauvati dQ~lIment Ostale opelje u dijalogu namljenjene su uglavnom iskusnim korisnieima, Stampat!ie zapocinje"
Save- 8nima trenutno aktivni dokumerit POdiStiril~rme[JO~-i~h~jstu'.IOkacljukako"j~ bilo ranije aktiviranjem dugmeta OK. .
zadano upotrebom naredbe Save As, bez postavljailja- ikakvjh" pita'nia korisniku; Ukollko nared~ Exit - Zatvara sve dokumente j napusta program Microsoft Word. Ukoliko pastois doJ~uinenJi",
?a Save. As ,nije bila prethodno koristena,_ tad~ S"}ye"ratl) ist6-"~to i" Save As. Veoma vazno je koji nisu prethodno sacuvani, pojavljuje se upit da Ii zelimo saeuvati dokument za svaki od-do~U:":
cesto smmatl dokument ko)i radimo, da bi se'-zastitHi Od:gubitk~ dokl,miEmta usljed eventualnog menata koji nije sacuvan. ' "
nestanka struje, ili kraha sistema.' . - .
Pored toga, u File meniju nalazi se j spisak imena posljednjih nekoliko dokUl:nenata (obicno 4)_,kojl .
Save As - 8nima trenutno aktiv:ni dokument pod ,zadanim,imenom i-na z~danu lokaciju (uredaj i su se obradlvali, sto omogueava njihovo brzo otvaranje, . ,
folder). Najvazniji elementi dijaloga koji Se otvara upqtrebom ove_ naredbe su polje za unos
122 .t23
Meni Edit sadrzi naredbe koje olaksavaju uredivanje (editiranie) dokumenta. U tu grupu nared izvrsenih naredbi mogu se dobiti preko trake sa alatima, a cemu 6emo govoriti nesto kasnije, iii
bi spadaju i naredbe za rad sa metfuspremnikom (engl. clipboard), specijalnim dijelom memorije pomocu vee spomenute kombinacije tipki etr! + Z. Naredbe Cut, Copy i Paste takoder mozema
koji j'e namijenjen za privremeno pohranjivanje isjecaka dokumenta sa ciljem njihovog kopiranja dobitl pom06u iskocnog menija koj! se pojavljuje ukoliko desnom tipkom misa kUknemo na tekst, sto
odnosno premjestanja iz jednog dijela dokumenta u drugL Verzija programa Microsoft Word 97 i ponekad moze bit! prilicno korisno.
ranije verzije dozvoljavali su da meduspremnik u jed nom trenutku moze sadrzavati samo jedan
isjecak, dok kasnije verzije dozvoljavaju cuvanje nekoliko (do 10}.razliCitih isjecaka u medusprem- Menl View sadrzi naredbe koje uglavnom upravljaju naCinom prikaza dokumenta na ekranu, bez
niku u i5to vrijeme. Neke od najvaznijlh naredb] u meniju Edit su sljede6e: ikakvog utjecaja na izgled konacnog dokumenta na papiru. Neke ad najvaznijih naredbi u meniju
View su sljede6e:
Cut - Isijeca oznaceni dio dokumenta i smjesta ga u meduspremnik, Kasnije, upotrebom
naredbe Paste, isjeceni dio mozemo prebadti na drugo mjesto u dokumentu, ili u drugu aplikaci- Normal Prikazuje dokument u naeinu brzog prikaza. U ovom nacinu rada Microsoft Word
ju, proizvoljan braj puta. omogu6ava rad sa dokumentom uz najmanje iastajkivanja. rv1edutim, u ovom reiimu rada
Copy - Kopira oznaceni dio dokumenta j smjesta ga u meduspremnik. Pri tome se sa izvorno prikaz na ekranu nije posve identiean prikazu dokumenta na papiru. Neki ad detalja, poput mar-
obiljezenim dljelom dokumenta ne desava nista posebno. Ova naredba se, zajedno sa naredbom gina, zaglavlja i podnozja teksta, eventualnih ilustracija ubacenih u tekst, kao i prijeloma teksta
Paste, koristi kada zelimo da kopiramo dio dokumenta na vise mjesta Hi u druge apllkacije. u vise stupaca, nece biti prikazani na ekranu u ovom naeinu rada. U takvim slueajevima treba
koristitj nadn prikaza Page Layout. U najnoviiim verzijama programa Microsoft Word, naein
Paste - Umece sadrzaj meduspremnika (koji je prethodno napunjen 'pomocu naredbi Cut iii prikaza Norma! vise ne postojL '
Copy) u dokument, na mjesto gdje se trenutno nalazi kurzar.
Online Layout - Prikazuje dakument na nacin ugodan za oei. U ovom nacinu rada Microsoft
Clear- Brise oznaeeni dio dokumenta. Word prikazuje na ekranu dokument u obliku kakav je najmanje zamoran za oei prilikom gleda-
Select AII- Oznacava citav dokument. Ova naredba je korisna kada zelimo da obavimo neku nia u ekran. Medutim, U ovom nacinu rada pril<az moze da dosta odudara od onaga kako 6e
operaeiju (npr. promjenu velicine slava) nad citavim dokumentom. dokument izgledati prilikom stampe.
Find - Trazi zadanu rijee iii frazu u dokumentu. Izbor ove naredbe otvara mali dijalog'sa pol- Page Layout- Prikazuje dokument na realistican natin. U ovom naCinu rada Microsoft Word
jem za unos u koji treba unijeti rijee Hi frazu koja se trati. Nakon pronalazenja prvog pojavljivanja nastoji da prikaze dokument na ekranu upravo onako kako 6e da izg!eda na papiru prilikom
tratene rijed iii fraze, klikom na dugme Find Next mazemo traziti sljedeca pojavljivanja trazene stampanja, sa svim detaljima. Drugim rijeeima, u ovom rezimu rada Microsoft Word u potpunosti
rijeel iii fraze. Klikom na dugme JViore dobijamo deta!jniji (rasirenl) dijalog, pomocu kojeg moze- postuje WYSIWYG princlp (What You See J.s What you i1et). Mada je ovaj haCin prikaza osjet-
mo preciznije raznaeitl sta trazimo. Na primjer, ukoliko zelimo da trazimo samo fraze u kojima no spori)i od naeina prikaza Normal, danasnji racunari su obieno dovoljno brzi da omogu6avaju
je raspored malih i veliklh slova ldentlean unesenom rasporedu ukljuelcemo opeiju Match case, rad u Page Layout nac\nu bez suvisnih zastajkivanja,tako da je Page Layoutdanas preporuceni
a ukoliko zelimo pretragu sarno kompletnih rijeCi a ne i dijelova rijeCi (npr. ukoliko ne zelimo da naCin rada.
nam rilee "put" bude nadena unutar riieei "stranpulica"), tada cemo ukljuciti opeiju Find Whole Outline- Prikazuje sarno okvirnu strukturu dokumenta. U ovom naejnu rada prikazuje se samo
Words Only. Na manje detaljan dijalog mozemo se vratiti klikom na dugme Less.
gruba strulctura dokumenta (naslovi poglavlja, odjeljaka, itd.) ali ne i cftav dokument. Ova opci
Replace - Omogucava zamjenu zadane ja je korisna pri radu sa velikim dokumentima, kada zelimo da na pregledan naein slozimo '
rijeel iii fraze u dokumentu sa drugom rijeei poglavlja dokumenta u zeljeni redoslijed.
iii frazom. Ova naredba radi slieno kao
Too/bars - Aktivira odnosno deaktivira trake sa alatima. Pom06u ove naredbe mozemo birati
naredba Find, sarno 5to odgovarajuci dij8 w

koje ce trake sa alatima bitl prikazane na ekranu, a koje neee. Nakon izbora ove naredbe,
log sadrzi dva polja za unos: Find What (u
prikazuje se spisak traka sa alatima, pri cemu kvaeica ispred imena trake oznacava da je odgo-
koji se upisuje sta se trazi) i Replace With ~epi"',,"Jh
varajuca traka vid!jiva na ekranu. Mnoge trake sa alatima namijenjene su sarno iskusnim karis-
(u koji se upisuje zamjena kOja se treba
nicima. Stoga, nije mudro drzatl ukljueeno mnogo traka sa alatima, jar se na taj na6in smanjuje
lzvrsiti). Zapravo, dijalog za naredbu
koristan prostor na ekranu. Za svakodnevni rad potrebno je drzati ukljucene trake sa alatima
Replace je sarno druga kartica i8tOg dijalo~
nazvane Standard, Formatting i, eventualno, Drawing.
9a kao za naredbu Find. Nakon pronalaska
prve pojave trazene rijeei iii fraze, klikom na Ruler - Aktivira odnosno deaktivira linijar (ravnalo)., Pom06u ave naredbe mazemo ukljuciti
dugme Find Next motemo tratiti sljede6u odnosno iskijuCitl linijar kojl se prikazuje iznad odnosno sa lijeve strane prozora sa dokumen-
pojavu bez vrsenJa _zamjene, klikom na tom. Unijar nam omogucava da mozemo imati uvid u ?tvarne mjere dokumenta. Takoder, porn"
dugme Rep/ace mozema izvrsiti zamjenu, jeranjem odredenih dijelova linijara pomocu misa mozema direlctno utjecatl na promjenu velicinu
dok klikom na dugme Replace All trazimo da se zamjena izvrsi u citavom dokuinentu, -bez. margina, uvlaka, ltd. Treba napomenuti da se jedino u na6inu prikaza Page Layout vide oba Ii-
posebnog zaustavtjanja na svakoj pojavi nadene rijecll1i fraze. Slika sa strane prikazuje dijc;rlag 'nijara, dok sa u nacinu prikaza Normal vidi sarno linijar iznad- prazora sa dokumentom. U
za naredbu Replace, u raSiren?j formi. naCinima prikaza Online Layout i Outline linljari se ne prikazuju.
Pored toga, u meniju Edit se, po potrebi, nalaze j naredbe Undo, Repeat I Redo, iza kojihJipicnq": .- Document map Aktivira odnosno deakt!vira mapu dokumenta. Mapa dakumenta prikazuje
slijedi i naziv posljednje izvrsene naredbe (npr. Undo Clear). Naredba Undo' ponlstava prethodno Silsa lijeve strane, Iljevo od prozora dokumenta, i sadrzi popis naslova pojedinih poglavlja i
izvrsenu naredbu, dok naredba Repeat ponavlja prethodno izvrsenu naredbu jos jedal]put. Naredba odjeljaka u dokumentu. Poma6u ave mape mozema S8 brzo prebacivati iz jednog dijela doku-
Redo ponistava efekat ponistenja koji je izvrsen naredbom Undo. Vece mogucnosti za ponistenje . menta u drugi, 8tO je naroeito korisno pri radu sa velikim dokumentima.

124 125
Header and Footer- Omogucava unos zaglavlja, odnosno podnoija straniee. Zaglavlje (eng!. neprekidiva crtiea (eng!. nonbreaking hyphen). Neprekidivi razmak koristimo u slucaju kada
header; je tekst koji se pojavljuje u vrhu svake straniee, negdje unutar gornje margine, dok je pod~ zelimo da izmedu dvije rijeel ubaclmo razmak pri eemu ni u kom slueaju ne ielimo da nam Word
nozje (eng!. footer) tekst koji se pojavljuje u dnu svake stranice, negdje unutar donje margine. izvrsi prije!om u novi red lzmedu te dvije rjjeel (npr. kada pis,emo formu!u A + B : : : C, razmaci
Zaglavlja i podnozja obi6no sadrze informacije poput naslova dokumenta, nasleva peglavlja, datu- izmedu s!ova A, B i C i znakova + i ::::: treba!l bi da budu neprekidivi razmaci, da bismo sprijecili
rna stampanja, broja stranice, ltd. Aktiviranjem ave apcije dobijamo posebnu traku sa alatima koja da Word eventualno polovinu formule prelomi u jedan, a drugu polovinu u drugi red). Slika sa
sadri! razne alatke (ikone), paput ikone za umetanje broja stranice (ikona Insert Page Number), strane prikazuje moguci izgled kartice Symbols dijaloga za ovu naredbu.
umetanje datuma (ikona Insert Date), itd. Ikana nazvana Switch Between Header and Footer Footnote - Ubacuje napomene na dnu stranice iii na kraju dokumenta. Nakon izbora ovog
omogucava da se iz zaglavlja prebacimo u podnotje, i obratno. Prikaz zaglavlja i podnozja zatvara dijaloga imamo mogucnost da kreiramo napomenu na dnu stranice, tzv. fusnotu (ukoliko
se klikom na dugme Close na traGi sa alatima. Zaglavlje i podnotje prikazuju se samo u Page izaberemo radio dugme Footnote) ili napomenu na kraju dokumenta (ukoliko izaberema radio
Layout na6inu rada. Sadrzaj zaglavlja i podnozja na ekranu se prikazuje blijedom bojam, mada ce, dugme Endnote). U oba slucaja, na mjestu kurzora pojavice se redni braj iii specijalni simbol
prilikom stampanja, zaglavlja i podnozja biti prikazana kao i ostatak dokumenta. koji upucuje na napomenu.
Fu/J Screen - Prikazuje dokument na citavom raspolozivom prostoru ekrana. Ovom opcijom Index and Tables- Ubacuje razne vrste automatski kreiranih informacija u dokument. Pomocu
aktiviramo prikaz u kojem dokument zauzima say raspolotivi prostor na ekranu, taka da se ne ove opeije mogu6e je automatski generirati sadrzaj dokumenta, indeks pojmova, indeks slika,
prikazuju niti meniji, niti trake sa alatirna, niti ista drugo osim samog dokumenta. Iz ovakvog ltd. Ova opcija namijenjena je uglavnom isku5nim korisnicima, 5toga je dosta kompiickana za
na6ina prikaza- motemo izad prltiskom na tipku ESC. upotrebu.
Zoom - Omogucava promjenu velleine prikaza dokumenta na ekranu. Pomo6u ove naredbe Picture - Ubaeuje sliku iii crtez u tekst. 0 ovoj opciji cemo detaljnije govoriti nesto kasnije.
mozemo podesavati relativnu veli6inu dokumenta na ekranu U odnosu na normalni prlkaz. Na
primjer, 200% oznacava dvostruko veti prikaz ad narmalnog prikaza. Prj tome, lzbor veliCine Text Box - Omogu6ava unos teksta na proizvoljnom mjestu. Nakon izbora ave opGije, nudi
prikaza na ekranu porno6u ove apcije ni na kakav na6in ne utjece na veli6inu dokumenta pri- nam se mogu6nost da kreiramo pravougaono podrucje bilo gdje unutar dokumenta (pa 6ak i npr.
likom stampanja. preko neke slike) unutar kOjeg mozemo pisati tekst 0 ovoj opGiji cemo detaljnije govoriti nesto
kasnije.
Nacini prikaza Normal, Online Layout, Page Layout i Outline mogu se birati i klikom na dugmad za
Fife - Ubacuje sadrtaj drugog dokumenta unutar trenutna aktivnog dokumenta. Ova opcija je
izbor nacina prikaza, u danjem !ijevom uglu prozora programa Microsoft Word.
sli6na opGiji Open iz menija File, osim sto se novi dokument ne otvara kao zaseban dokumenl,
Meni Insert sadrzi naredbe koje omogucavaju ubacivanje nekih po.sebnih elernenata u tekst na nego se ubacuje unutar postojeceg dokumenta na mjesto kurzora.
rnjesto gdje se nalazi kurzor. Neke od najvaznijih naredbi u rneniju Insert su sijedece: Object - Ubaeuje razne vrste netekstualnih objekata u dokument. Mogu se ubacivati razni
grafikoni, formule, jednaCine, zvu6ni zapisi, itd. 0 ovoj opciji 6emo detaljnije govoriti nesto kasnije.
'Break - Ubacuje prekid straniee, koione-ili cjeline na mjesto kurzora. Aktivlranjem ave opcije
dobijamo dija!og sa grupom radio dugmadi. Naj6esce se karisti dugme Page Breakza ubacivanje Meni Format sadrii naredbe za ob!ikovanje (formatiranje) teksta. Sve naredbe iz ovog menija
prijevremenog prekida stranlce na mjestu kurzora. Za prijevremeni prelazak u sljede6u ko!onu odnose se na aznaceni dio teksta iii, U slu6aju da ni jedan dio teksta nije oznacen, na tekst ko)i 6e S8
teksta {prilikom pisanja teksta u vise kalona, sto se postiie upotrebom naredbe Columns u meni- unositi neposredno nakon izbora naredbe. Neke od najvaznijih naredbi u meniju Format su sljedece:
ju FormaD koris!i se dugme Column Break. Grupa radio dugmadi Section Break koristi se za
razdvajanje pojedinlh cjelina (eng I. section) u dokumentu, i uglavnom je namijenjena iskusnijlm Font- Podesava ablik, veli6inu, stil j boju slova (odnos~
korisnicima. Smis80 evenlualnog razbijanja dokumenta u vise cjelina sastoji se u cinjenici da no znakova). Izborom ove opeije pojavljuje se poved
svaka cjelina moze imati svoje zasebne pastavke, poput skine margina, brojeva stranica, ltd. dijalog sa vise kartica, u kojem moiemo odabrati vrstu
Page numbers - Ubaeuje brojeve stranica u dokument. Izborom ove opeije dobijamo dfjalog slova (font) pomo6u spiska ozna6enog sa Font, zatim
kojim mozema birati da Ii ce se brojevi straniea ubaGiU u zaglavlje iii podnotje, kao i jos neke stil ispisa slova pomo6u spiska Font style, veliCinu slova
deta!je vezane za prikaz brojeva stranjea, na kojima se ne6emo zadrtavati. pomo6u spiska Size (ve!iCina se maze unijeti i kao bro] u
tstoimeno polje za unos), boju pomocu padaju6e liste
Date and time- Ubacuje teku6i datum iii vrijeme u dokument. Nakon izbora ove opGije, prikazu- .Color, natin 'podvla6enja pomo6u padajuee lisle
je se spisak pomo6u kajeg mazema izabrati format u kojem ielimo da se prikaie datum iii vrijeme. Vnderline, kao I mnostvo specijalnih efekata, eiil bi opis
SymboJ- Ubacuje simbole iii specijalne znakove . _oduz.eo previse- prostera. Pod stilom ispisa se podrazu-
u dokument. Izbor ove opeije otvara dijalog sa 'mijeva da Ii ,su slava nakosena (eng!. Ralic), podebljana
dvije kartice: Symbols i Special Characters. (engl.,:tiOIi!.)-rtd.. SUka sa strane prikazuje moguci izgled
, Kartfea Symbols omogu6ava umetanje raznih sim- .. Jjjj~log~ .~:.naredbu Font.
bola, poput gr6kih sJova, matematickih simbola, . - P!i'agraph.~~ P.9de~ava poravnanje dijela teksta u ~.~'~~:'",,= =;;c;~;:;=:::;:::;;;;:__~.J I
..'.";i':'.
streliea ltd. iz raznih skupina znakova, koje se odnos-ujla.ostaiak teksta. Ova opcija odnosi se na 6itav
mogu mijenjatl pomocu padaju6e liste Font. . o.dj$ljaK_ U kojem se trenutno nalazl kurzor, iii na grupu
Kartica Special Characters omogucava umetanje ~. a.zna6enlh -odjeljaka. Izborom ave opeije pojavljuje se dijalog sa dvlje kartice indents and
raznih vrsta specijalnih znakova sa specificnirn -- Spacing.! i..Ine-and Page Breaks, pri cemu je za prosjeenog korisnika bitna uglavnom sarno
zna6enjem. Medu ovim znakovima najvainiji su prva, k_artica. Pomocu nje se, na primjer, moze podesavati koliko ce oznaceni odjefjak bili uvueen
nepre,kidivi razmak (eng!. nonbreaking space) i
126 127
ltD! " U odnosu na margine (za tu syrhu sluzi grupa elemena H

ta oznacenih sa Indentation), zatim koliko ce odjeljei i


redoyi unutar njih biti razmaknuti medusobno (grupa
elemenata Spacing), kao i kako ce S8 ravnati odjeljak u
odnosu na margine (padajuca lista Alignment).
Padajuca Hsta Alignm.ent nUdi izbor cetiri opeije: Left
(ravnanje uz lijevu marginu), Right (ravnanje uz desnu
marginu), Centered (eentrlranje, odnosno ravnanje na
sredinu izmedu dvije margine) i Justified (istovremeno
ravnanje uz lijevu i desnu marginu). Slika sa strane
prikazuje maguci' izgled dijaloga za izvrsavanje ave
naredbe.

" Bullets and Numbering - Omogueava oznaeavanje


Columns - Omogucava prijelom oznaeenog teksta u dvije iii vise kolona, sHeno prijelomu kakav
niza stavki znacima ili rednim brojevima. Izbor Dye opei-
sa moze vidjeti u dnevnoj stampi. Pomoeu dijaloga koji se javlja na ekranu mazemo izabrati zeljeni
je otvara dijalog sa karticama BulJeted, Numbered i
bra] kalona, kao i njihove sirine. Prijelom u vise kolona vidljiv je sarno u Page Layout naCinu prikaza.
Outline Numbered. Kartiea Bul/eted otl)ogucava obiljezavanje aznacene grupe redova teksta
(stavki) specijalnim simbolima, tzv. meeirna (engl. pullets), prj cemu je moguce birati izgled Tabs Omogueava definiranje raznih tipava tabulatora. Tabulatori odreduju kolone unutar
"metaka". N_a primjer, stavke u kojima se opisuju opcije, U ovom dijelu udzbenika, Qznacene su dokumenta na koje se kurzar pazicionira svaki put kada pritisnemo Tab tipku'(to je tipka koja se
upravo "mecima" u obliku kruZica. Kartiea Numberedomogucava obiljezavanje stavki brojevima, na veeini tastatura nalazi iznad Caps Lock tipke). Moguce je postaviti da tabulatori iza sebe
odnosno slovima. U aba slucaja, klikom na dugme Customize dobija sa moguenost bogatijeg ostavljaju "trag" u vidu tackica, ertiea, ltd. sto je ponekad veama korisna (npr. kada pisemo
izbora. Kartica Outline Numbered sluzi za komplikovanija oznacavanja u kojaj se kombiniraju sadrzaj knjige).
razne vrste oznacavanja, i ana je namijenjena iskusnijim korisnicima. Na sljedeeoj sllei prikazan Drop Cap - Omogucava specijalno isticanje prvog slava adjeljka. Pomocu ove naredbe
je magu6i izg'ied kartica Bulleted i Numberedkoje pripadaju dijalogu za izvrsavanje ove naredbe.
moguce je specijalno stilizirati znatno uvecano potetno slavo odjeljka, sto se cesto susrece u
djecijim slikovnicama i knjlgama bajk1.
Change Case - Omogueava zamjenu malih slava velikim i obrnuto. Ova naredba otvara dija-
log sa grupom radio dugmadi pomoeu kojih mozema precizirati kakvu zamjenu zelimo.
AutoFormat - Omogueava automatsko oblikovanje dokumenta. Primjenom ove opdje,
Microsoft Word pokusava da automatski uoblici dokument u skladu sa nekim unaprijed
utvrdenim standardima.
Style- Omogucava definiranje i podesavanje stilova. 0 stilovima cemo detaljnije govoriti nesto
kasnije.
Background - Omogueava definlranje boje i izgleda pozadine po kojoj se pise dokument.
Pozadina je vid\jiva samo Li Online Layout nacinu prikaza. Postavljanje pozadine automatski
ukljucuje ovaj naCin prikaza.

Meni Tools sadrzi razne naredbe koje mogu biti ad pom9ei prilikom rada sa slozenijim doku H

mentima. Neke od najvatnijih naredbi u meniju Tools su sljedece:


Spelling and Grammar- Omogucava.provj.eru ispravnosti pravopisa i gramatike u dokumen~
Borders._siJd-Shading - ,Omogucava uakvirivanje Ui sjencenje teksta. Kada pokrenemo ovu
tu. 0 ovoj opciji cemo deta!jnije govoriti nestoKa~nije.
opciju, <lobijam9'.dijalog, sa kartical}la Borders, Page Border j, Shading. Kfutica Borders'
omagugava nam-da,pbdE?sima izgled okvira aka oznacenog drje!a teksta. Kartica Page Border Language - Omogueava definiranje'j~Zika u k~eJ1l,je'."pisan dokument. 0 ovoj opciji cemo
veama j~.stl9n_a_:kat1ic::i Borders, sama amogucava da podesimo izgled okvira oka Citave stra" detaljnije govoriti nesto kasnije:"- --
nice._Kan,lea-Shadfrig..omogu6ava da osjencimo oznaceni dio teksta raznim bojama j dezenima. Word Count - Broji koliko znakova, {ije-ci, 9dielja~a)ttt-.~aqrti dokurnent.
Na s!jedec9i '~!iciJ~!*aza!1 Ie moguef jzgled kartica Borders i Shading dijaloga za izvrsenje ave
naredbe. Auto Correct - Omogucava automat$Ku'ispravRIi",nekih tipicnih pravopisnih i stamparskih
,gresaka, kao i automatsko oblik~vanJe-' rt.eklh !=lijemiJa do.kumenta. 0 ovoj opeiji cemo deta!jnije
govoriti nesto kasnije. , .___
Track Changes- omogucav~ prace~je izmje~~ u-dokumentu. Ova naredba ima tri podnaredbe.
12B 129
Podnaredba Highlight Changes ukljucuje specijalni retim rada u kojem se svaka izmjena koju od gubitka dokumenta usljed nestanka struje. Pomocu kartiee View!TI0guce je upravljati detalji-
vrSimo u dokumentu posebno obiljezava, tako da je lako uo6ljiva. Podnaredbom Accept or Reject ma prikaza dokumenta na ekranu, tako da ukoliko yam se dokument prikazuje na neki neobiean
Changes mozema prihvatiti iii odbaeiti uCinjene izmjene. Podnaredba Compare Documents naCin, probajte malo eksperimentiratl sa opeijama na ovol kattiei. Slika sa strane prikazuje upra"
omogucava pronalazenje i obiljeiavanje razlika izmedu tekuceg dokumenta i nekog drugog doku" va izgled kartice View u dijalogu za izvrsavanje naredbe Options, Ne zaboravite da nakon
menta, kojt izabiramo na isti na6in kao kod naredbe Open u meniju File. eksperimentlranja obavezno vratite sve opeiie u prvobitno stanje, jer se ueinjene izmjene pamte
Protect Documents - Omogucava zastitu dokument,a od neovlastenog pristupa. Moguce je i nakon zavrsetka rada sa Wordom, tako da postoji mogucnost da Word kasnije nece raditi
odrediti sta ce onome ko pregleda dokument biti dozvoljeno, kao i lozinka koju je neophodno ispravno. Naroelto je opasno mijenjati opclje na kattieama File Locations i Compatibility. 0 jos
unijeti da bi se zastita mogla ukinuti kasnijim zadavanjem naredbe Unprotect Documents, koja nekim opcijama U ovom dijalogu govoricemo nesto kasnije.
S9 u slucaju vee zasticenih dokumenata javlja umjesto ove naredbe.
Meni Table sadrzi naredbe koje omogucavaju umetanje tablica u dokument, kao i detaljno
Mail Merge - Omogucava automatizirano pisanje eirku!arnih pisama, Cirkularna pisma pred w

oblikovanje ovih tablica. 0 radu sa tablieama detaljnije cemo govoriti nesto kasnije, pa cemo tom pri-
stavljaju skupinu pisama koja su gotovo identi6na medusobno, ali se razlikuju u nekoliko sltnih likom i objasniti komande kOje se javljaju u ovom meniju.
detalja, poput imena primaoca, adrese primaoca, itd. Ova naredba omogucava automatizirano
stampanje ovakvih pisama, pri cemu se na posebno obiljeiena mjesta u dokumentu automat~ Meni Window sadrzi naredbe koje omogucavaju istovremeni rad sa vise prozora dokumenata.
ski umecu neophodni podaei jz ranije pripremljene baze podataka. Mada je ova mogucnost Neke od najvaznijih naredbi u meniju Window su sljedece:
veoma korisna prilikom poslovnih komunikacija, koristenje ove naredbe je prilicno komplicirano
i zahtijeva provodenje Citavog niza koraka, koje u ovom udzbeniku necemo objasnjavatl. New Window - Otvara duplikat dokumenta u drugom prozoru. Ova opeija je korisna ukoliko
ze!imo da u isto vrijeme posmatramo dva razlicita dijela dokumenta, iii da kopiramo odnosno
Envelopes and Labe/s-Omogucava stampanje kaverti i naljepniea. Ova naredba otvara dija~
prepisujemo (eventualno, uz neke izmjene) neke dijelove teksta iz jednog u drugi dio dokumenta.
log sa dvlje kartice: Envelopes (za stampanje kovertl) i Labels (za stampanje naljepnica).
Potrebno je popuniti odgovaraju6e informacije u formular koji se nalazi na ovim karticama, Arrange All - Rasporeduje sve otvorene prozore dokumenata da budu istovremeno vidljivi na
nakon 6ega mozemo stampati kovertu iii naljepnicu klikom na dugme Print, odnosno umetnuti ekranu.
sablon za stampanje odgovarajuce koverte iii naljepniee u trenutno aktivni dokument. Spiit- Dl]eli prozor dokumenta na dva dijela. Nakon lzbora ave opcije, pomocu misa mazema
Letter Wizard- Olaksava pisanje pisama. Izborom ove naredbe, olvara se dijalog sa nekoliko adrediti mjesta na kojem cemo podijeliti prozor dokumenta na dva dijela, sa kojlma se maze
kartiea u kojem treba popuniti podatke u formularima, nakon cega 6e Word sam generirati neovisno manipulirati. Podjela se uklanja pomocu opcije Remove Split koja se pojavljuje u
sablon kako bi trebala da izgleda forma pisma u skladu sa zadanim specifikacijama. Nazalost, meniju Window umjesto opeiie Split nakon sto se podjela aktivira.
ova opcija je prilagodena iskljuCivo engleskom govornom podrueju (osim ako koristimo hrvatsku
Pored pomenutih opelja, meni Window sadri.! i popis svih otvorenih prozora dokumenata, pomocu
verziju Worda).
kojeg lake mozenio prelaziti iz jednog u drugi prozor (npr. iz jednog u drugi dokument, ukoliko
Macro- Omogucava kreiranje novih naredbi i alalki. Podnaredbom Record New Macro maze- istovremeno radimo sa vise dokumenata).
ma da zapamtimo niz karakteristi6nih radnji, kaje kasnije mazemo pretvoriti u novu naredbu.
Detaljan opis koristenja ove izuzetno mocne naredbe izlaz! izvan akvira ovog udzbenika< Meni Help sadrii naredbe koje sluze za pruianje pomoCi j neophodnih informacija korisniku pri"
Customize - Omogucava dodavanje naredbi i a!atki, kao i njihovo brisanje iz menija odnosno likom rada sa programom Microsoft Word. Neke od najvaznijih opelja u meniju Help su sljedece:
traka sa alatima. Ovo je veoma mocna naredba koja omogucava korisniku da kreira vlastiti Microsoft Word Help - Nudi pomoc u radu sa programolTI Microsoft Word. Izborom ove
sadrzaj menija i traka sa alatima, kao i nove menije j trake sa alatima. Ova naredba omogucava naredbe aktivira se mali pomocni program, nazvan Office Assistant, u kojem mali animirani lik
i p(eimenovanje postojecih menija i naredbi u njima, taka da je npr. mogu6e sve naredbe pre" igra ulogu pomocnika koj! je u stanju da u ogranicenoj mjeri odgovara na pitanja kOja mu postavl~
vesti na nel<i drugi jezik (poput bosanskog). Izmjene koje se nap rave pomocu ave naredbe su jate, i da nudi odgovore na naj6esce postavljana pitanja, Naravno, za koristenje ove usluge,
naredbe.
Options - Omogucava podesavanje naCina rada progra w

ma Microsoft Word. Pokretanje ove opelje otvara veJiki dlja"


log sa desetai< kartiea, pomocu kojeg se moze detatjno
podesiti nacin rada programa. Podesavanja koja se
=-----..
trajne, tako da se korisnicima koji nisu posve sigurni sta tacno rade ne preporucuje upotreba ove

il
"1i.?li
"'::;:~::
potrebno je sa!idna poznavanje engleskog jezika (asim ako koristimo hrvatsku verziju Warda).
Contents and Index - Nudi pregled tema 0 kojima moiete traziti pomoc. Nakan izbora ave
opcije, prika:;.;uje se spisak svih tema 0 Kojima mozete traziti pomoc, sotiiran po kategorijama
(na karticf-Conte!lt~) odnosno po abeeedi (na kartici Index),
- -What's-~Th'is_-......., Ntidi i~nformacije 0 zna6enju pojedinih naredbi odnosno a!atki. Nakon p.okretan-
naprave pomocu ove naredbe su trajna (u smlslu da ostaju ja-ove ve6ma:korisne naredbe, pokazivac misa se pretvara u upitnik sa strelicom. Ukoliko takav
. pokazi\i'a,Llov!demo. na neku naredbu u menijima iii na neku alatku i kliknemo, pojavice se
pal< i nakon izlaska iz programa i traju sve do sljedece
promjene podesavanja), takoda se neiskusnim korisnicima
II ':kratko-abJ~snjenje eemu -doticna riaredba iii alatka sluzi. Upitnikom mozemo kliknutl i na dio
Ii -- dols.u-mehfai_,6irri~(tobijamo'.sve informacije 0 izvrsenim ob!ikovanjima tog dijela dokumenta.
ne preporucuje upotreba ove naredbe. Ipak, neke od opci~
ja ove naredbe mogu biti od koristi i pocetnicima. Na prim- " AhC?i1_t ';;iidrqs~ft Word - Nudi osnovne informacije 0 samom programu Microsoft Word.
jer, kartiea Save sadrzi niz opeija koje upravljaju procesom I
snimanja dokumenta. Pomocu nje je moguce obavijestiti - --"oNak~n- to- SIYlo_dali kratak preg!ed osnovnih naredbi u menijima, podsjetimo se i funkcija naj"
Word da zelimo automatsko snimanje dokumenta u pravil- vaznijih ajatkr na trakama sa alatima "Standard" i "Formatting". Na sljede60j slici prikazana je
nim vremenskim intervalima, 6ime se mazemo obezbijediti !'Standard~'traka sa a!atima, zajedno sa imenima najvaznijih alatki (Iako se moze desiti da vasa traka

130 131
ne sadrzi neke od prikazanih alatki, s obzirom da se sadrtaj- i raspored alatki moze prilagodavati tabulatora, ltd. koji S9 ne vide, ali koji su programu jako vazni za ispravno ob!ikovanje doku-
pomocu naredbe Customize iz r:nenija Tools): menta. Pomocu -ove alatke mozemo ovakve znakove uciniti vidljivim. Tako se, na primjer, svaki
Tables
and Office uneseni razmak pretvara u malu ta6kicu, znak za oznaku kraja paragrafa iii novi red u znak 'Il,
Print
New Save Prewirw Cut Paste Undo Borders Columns ShowlHide Assistant itd. Ook je ova alatka aktivna, ona se na ekranu prikazuje osv/jetijeno, i malo uvuceno, sto
J J t .t t t
"D G;i; r;;J ~ [9.:)' ~ '" I!l1 <1 n,
t {(i Q
Ii if$' . rn+ L1G1 ... iQJl[
t 100%
t
(i)
oznacava njenu aktivnost. Ponovni izbor iste a!atke vraea norma!ni prikaz dokumenta. Ova a!at~
ka je korisna ukoliko zeJimo da utvrdimo gdje smo tacno unljeli razmake, odnosno gdje nam se

t r r t t
zavrsavaju pojedini paragrafi.

Open Print Spelling Copy Format


t
Redo
t
Insert
t
Document Zoom
t Zoom - Djeluje veoma slleno kao naredba' Zoom iz menija View. Klikom na streiicu sa desne
strane otvara se padajuca lista kojom biramo zeljeno uveeanje (odnosno umanjenje) prikaza na
and Painter table map
Grammar ekranu.
Znatenje prikazanih alatki je sljede6e: Office Assistant - Skraeenica za naredbu Microsoft Word Help iz menija _Help.
New- Djeluje poput naredbe New iz menija File, ali ne nudi izbor sablona korisniku, vee odmah
Sljedeea slika prikazuje "Formatting" traku sa alatlma, zajedno sa imenlma najvaznijih alatkl (i
podrazumijeva osnovni sablon Blank Document
ovdje je sasvim mogu6e da vaSa postavka Warda ne sadrzi sve prikazans alatke):
Open - Skracenica za naredbu Open iz menija File.
Ali~n Alil),n Font
Save - Skracenica za naredbu Save iz menija File. Fon! Size Italic Le t Rigt .Numbering Borders Color
Print- Djeluje poput naredbe Print iz menija File, ali ne prikazuje nikakav dijalog korisniku, vee
odmah zapoeinje stampanje jedne kopije 6itavog dokumenta.
~r
:i Norma! ,.
.'
J..
10 Y,! Il
t t
{ l! g :~ ~ ~,;~
t, . + t~ i~
.- i= ~.~ ,.6.t ,

Print Preview - Skracenica za naredbu Print Preview iz menija File. t


Font
+ f
Bold Underline
r +
Center Just(fy Rullets
t t
Highlight
Spelling and Grammar- Skracenica za naredbu Spelling and Grammariz menija Tools.
Cut - Skraeenica za naredbu Cut iz menija Edit. VeGina ovih a!atki odnose se na oznaceni dio teksta iii, u slucaju da ni jedan dio teksta nije oznacen,
na tekst koji 6e se unoslti neposredno nakon izpora aiatke. Njihovo znacenje js sljedeee:
Copy - Skraeenica za naredbu Copy iz menija Edit.
Paste - Skracenica za naredbu Paste iz menija Edit. Style - Omogudava izbor stilova (0 kojima demo govoriti kasnijs) pomoeu padaju6e Iiste.

Format Painter - Omogu6ava prenosenje obllkovanja sa jednog dijela teksta na drugi. Kada Font - Omogucava izbor vrste slova (tonta) pomoeu padajuee liste.
je neki dio teksta oznacen, izbor ove alatke pamti oblikovanje tog dijela teksta, a pokazivae misa Font size - Omogucava izbor velleins slova pomoeu padaju6e liste.
dobija obUk cetke. Kada tom cetkom kliknemo na naki drugi dio teksta, upam6eno oblikovanje Bold - Uk!jucuje odnosno iskljucuje podebJjani prikaz teksta. Korisno js znati da se Isti efekat
se prenosi na njega, nakon 6ega se pokazivac misa vra6a u prvobitni oblik. Ukollko zelimo 'da maze posUei pomoeu tastature kombinacijom tipki Ctrl + B.
oblikovanje' prenesemo na vise razlicitih dijelova teksta.. treba dVostruko kliknuti na alatku Italic- Ukljucuje odnosno iskljucuje nakoseni prikaz teksta. 1st! efekat se moze postiei pomocu
Format Painter. U tom slueaju, pokazivac misa zadrzava oblik cetke sve dok ne pritisnemo tipku
kombinacije tipki Gtrl + '-
Esc na tastaturi.
Underline - Ukljucuje odnosno iskljucuje podvuceni Q~ikaz tekstg,. lsti efekat se moze postiei
Undo - Ponistava posljednju izvrsenu naredbu, poput kombinacije tipki Ctrl + Z Uzastopnim pomocu kombinacije tipki elrl + U.
izborom ove aiatke moguce je ponistiti vise posljednjih naredbi. Klik na malu strelicu desno od
ove alatke otvara spisak svih obavljenih naredbi od trenutka posljednjeg snimanja dokumenta, Align Left - Ukljucuje ravnanje teksta uz Ijjevu marginu. Samo jedna od alatki Align Left,
tako da je pomoeu ovog spiska moguce precizno odabrati koju grupu naredbi felimo da Center, Align Right i Justify moie biti ukljucena_ u jednom-trenutku, tako da se, logicki posma-
ponistlmo. trano, ove 6etirl a!atke ponasaju kao grupa ra?io dugmadi.
Redo"""'Ponistava dejstvo Undo alatke. Ova alatka djeluje na sli6nom principu kao alatka Undo. Center- Uklju6uje ravnanje teksta na-sredinu izme~u !ljeve i desne margine (centriranje tek-
sta), 8to js korisno kod pisanja naslova. .
Tables ~and :J3o-rd?r$,-'Uklju6uje odnosno isk!jucuje dodatnu traku sa alatima (nazvanu upra~
vo "Taoles and_-Bord~rs") kOja sadrzi grupu alatki namijenjenih za oblikovanje tablica j postav~ Align Rlght- Ukljucuje ra,{nanje teksta_ui"de~f)l1 marginiJ.
!janje, raznih vrSia.9kvira. 0 ovoj traci sa alatima cemo detaljnije govoriti kasnije. Justify- Ukljucuje dvostrano ravnanje,~. istQ0j.~ti1~horaynanje- tei<sta-uz obje margine. Citav
inserLTiilJjle.~ Ompgu~va u.nos tablice u tekst. 0 ovoj alatki eemo govoriti nesto kasnije. avaj udzbenik (aka zanemarimo naslov~) $lic~e jzuzetke} :raden ie sa d\(ostranim ravnanjem.
Numbering - Vrsi automatsko obilje2"a.vanje 0:zna6enih' stavKi rednim brojevima, koristenjem
Cofu~ns':- Dj~Juje'PQPut.naredb~.eOIUmns iz menija Format, ali nUdi znaino manju mogucnost
izbora. --- stifa numeracije koji je izabran prilikom po~lje.dnj~g.-KoristenJa naredb~ Buffets and Numbering iz
menija Format.
jj~c~~ent'MlJP'~ Skracenica za naredbu Document Map iz menija View. Bullets - Vrsi automatsko' obiljezf:lvi;!.nj'e oznacmih stavki specijalnim znacima (mecima),
.. Show/Hide 11':::'" prikaziije oanosno sakriva "nevidljive" znakove u dokumentu. Svaki dokument koristenjem stila obiljezavanja koji je izabran prilikom pos!jednjeg. koristenja naredbe Bullets and
sa kojlm radi~o u Wordu prepun je raznih znakova poput razmaka, oznaka za kraj paragrafa, Numbering iz me~,ija Format.
132 133
Borders - Omogu6uje alternativni nacin za crtanje okvira oko oznacenog dijela teksta, s!icno mreze sa jednakom sirinom svih kalona. Po potrebi je naknadno moguce dodavati redove i kalone,
naredbi Borders and Shading iz menija Format. Ova a!atka zapravo iza sebe krije grupu od kao i oblikovati,izg!ed tablice po .lelji. Ukoliko ne .lelimo da se mucima sa rucnim oblikovanjem
desetak slicnih alatki, kOje se prikazuju klikom na strelicu desno ad a!atke, a "Formatting" traka tablice, klik na dugme AutoFormat unutar dijaloga za izvrsenje naredbe fnseft Tabfe omogu6ava
sa alatima sama za sebe prikazuje samo onu od ovih alatki kOja je posljednja koristena. izbor neko!iko desetina unaprijed pripremljenih oblika tabfica. Umjesto naredbe Insert Table, moze
se karistlti i istoimena alatka na "Standard" traci sa alatima, pri cemu se prilikom upotrebe ove alatke
Highlight - Vrsi bojenje podloge obiljeienog teksta pos!jednjom koristenom bojom. Boja se
broj redova i kolona zadaje vizualno, pomjeranjem misa preko mreze kvadrata kOja se pri tom
maze birati iz padaju6e liste koja se pojavljuje nakan klika na strelicu desna ad ove alatke.
prikaze na ekranu.
Color - Vrsi bojenje oblljeienog teksta posljednjom koristenam bojom. Boja se moze birati iz
padajuc.e I1ste kOja se pajavljuje nakon klika na strelicu desno ad ave alatke. Nakan Mo smo ubacili tablicu u tekst, neophodno je da popunimo njen sadrtaj. Kroz tablicu se
motemo kretaii mlsem, kao i pomo6u tipke Tab Gedno polje naprijed), odnosno kombinacije
Ovim smo se podsjetili svih naredbi i a!atki sa kojima ste se susretali u nastavi informatike u Shift + Tab Uedno polje nazad). Krefrana tablica na pocetku se nalazl uvijek tlk uz lijevi rub doku~
osnovnoj skoli, i eventualno nautili jos nekoliko novih. menta. Ukoliko zelimo da promijenimo sirinu neke od kolona, dovedemo pokazivac misa tacno na
liniju koja razdvaja kolone. U trenutku kada se pokazivac misa pretvori u znak oblika II, pritisnema
tipku misa i, dr.le6i ie, pomjerimo liniju kOja razdvaja kolone na zeljenu stranu. Na Istl nacin je
. 2.1.3 Ubacivanje !ablica u tekslualne dokumente moguce pomjeriti mjesto na kOjem tablica potinje. Visine pojedinih redova tablice mijenjaju se na
slican natin. Prilikom mijenjanja sirine kolona i visine redova treba paziti da neka defija iii grupa 6e/ij8
Vazno svojstvo kaje danasnje tekst procesore poput Warda razlikuje od nekadasnjih tekst proce~ ne budu prethodno oznaceni, inace ce se promjena sirine ko!ona i visine redova odnositi sarno na
sora je mogucnost unosa raznih netekstuafnih elemenata, poput tablica, crteia, sHka, formula, oznacene 6elije. Ukoliko ielimo samo da pomjerimo 6itavu kolonu, bet utjecaja na sirinu kolona koje
grafikona ltd. u tekst, sto je prije bilo svajstveno samo specijaliziranim programima za sta/no izdavastvo. slijede iza nje, najbolje je da misem pomjerimo kVadratic u horizontalnom linijaru koji se na!azi iznad
Dok je sve do nedavno bilo nezamislivo pripremiti ikakvu oZbi!jnu knjigu samo pomoGu tekst proceso- dokumenta na mjestu gdje pocinje kalona koju ielimo da pomjerimo (ukoliko se !inijar ne vidi,
ra, danas je veliki broj knjiga pripremljen sarno pamoGu Microsoft Warda, bez ikakvih dodatnih progra~ uklju6ite ga naredbom Rufer u meniju View).
rna, taka da se granica izmedu tekst procesara i programa za sto!no izdavastvo sve vise smanjuje.
Pojedina polja (6elije) u tablici moiemo oznatiti (markirati) kao i svaki drug! dio dokumenta.
Na prvom mjestu, objasnicemo unos tablica u tekstualne dokumente. Vecina naredbl za rad sa Ukoliko je potrebno da oznacimo cijeli red tablice, dovoljno je da kliknemo misem lijevo ad pa6etka
tablicama nalazi se u meniju Table. Za razliku od ostalih menija, ovaj meni intenzivno dinami6ki zeJjenog reda. Ukoliko zelimo oznaciti citavu kolonu, dovedemo pakazivac misa na sam vrh ieljene
mijenja svoj sadrtaj tokom rada, tako da pajedine naredbe sadriane u njemu nestaju iii se ponovo I<o!one, i kliknemo u trenutku kada pokazivae misa dobije oblik kratke debele strelice usmjerene
pajavljuju zavisno ad toga sta u tom trenutku radimo. nadolje (t). Alternativno, red odnosno kolonu u kojoj se nalazi kurzor mozemo oznaciti izborom
naredbi Select Row, odnosno Seiect Column iz menija Tab/e. Naredba Select Table 1z istog meni~
Unos tablice maiemo izvrsiti na nekpliko naCina. Najkreativniji naCin je izbor naredbe Draw ja oznacava citavu tablicu.
Table iz Table menija. Nakan izbora ove naredbe, pokazivac misa dabija oblik ofovke, pomocu koje
mazema da iscrtama taean izgled tablice kolika god da je ana siotena, slieno kao u nekom progra- Ukoliko .lelimo da dodamo novu kolonu u tab!ici, prvo oznacimo kolonu ispred kOje zellmo da
mu za crtanje. Ovaj nacin jako je praktitan za unos tablica eija se polia (ceUje) znacajno razlikuju po umetnemo novu kolonu, a zatim izaberemo naredbu Insert Columns iz menija Table (verzija
svojim dimenzijama i organizaciji, poput sljedece (prazne) tablice: Microsoft Word 20000magucava izbor da Ii zelimo dodavanje ispred iii iza oznaeene kolone). Ukoliko
oznaeimo vise kolona, naredba Insert Columns ubaci6e onoliko dodatnih kolona koliko smo kolona
oznaCiU. Ukoliko zelimo da dodamo navu kolonu na kraj tab!ice, prethodno oznacimo "nevidljlvu"
kotonu koja se nalazi iza kraja svake tabllce. Na sHean nacin se ubacuju i novi redovi, samo se koristi
naredba Insert Rows. Ukoliko iz oznacenog dijela tablice nije posve jasno sta zelite da umetnete,
umjesto naredbi Insert Rows i Insert Columns javlja se naredba Insert Cells, koja kqrisniku postav~
Ija nekoliko dopunskih pitanja vezanih za detalje sta zaista treba uraditi. Mnoge naredbe iz Table
I menija mogu se'ubrzano dobiti ukoliko desnom tipkom misa kliknemo na ozn,aceni dio _tab,lice:

lz retima slobodnog crtanja tabllce izla?imQ pritis~orn_ na tipku Esc na tastaturi. Medutim, za Ukoliko iejimo da izbrisemo neki red iii kolonu u tablici, oznacimo' red' od.nosho ko!onu .kojtl
unos tablica pravilnijeg obUka, slobodno crtanje- maze' bitLdo$ta naporno. Tada je prakticnije izabrati brisemo, nakan eega izaberemo naredbu Delete Rows, odnosno Detete C9Iumn:~ l:i::- fable menija.
naredbu Insert Table iz Tabfe menija, koja be narilprjkazati_ gijalog u kojem mozemo zadati broj Moguce je istovremeno izbrisati vise redova iii kolona, pa cak i citavu tab!icu. Ukolikb:i~ aznac~)1og
reaova i kolona,. kab-. r sirinu .kolona .. Ukoliko sirinu kolona dljeta tablice nije posve jasno sta treba izbrisati, umjesto naredbi Delete Rows i Delete .coluriJ11s jav~
posfavftrio:'.riaA~to:. Word ce sam prilagoditi sirine svih Ija se naredba Delete Cells, kOja korisniku postavlja nekoliko dopunskih pltanj<Lvezan:ih-!.a d.etaljs
~ ~-,o,-'~~I, "kolona tako~~1(f iablica zauzrne svu raspolo.livu sirinu
LI
sta zaista treba uraditl, slicno kao kod naredbe Inseft-Cells. - - .' -
Number of rows; f~ " Cancel I~. str1.nrce(salLlel~ uk6!iko nemate-dovoJjno prostora po sirini
IAwtl, r
7i.'L !iutoftlrmat. .. za.cifav,u tabHcu,-u,kljuCite poprecni prikaz stranice pomo6u Ukoliko tellmo da nekoliko polja u tablici spojimo u jedno vece pOlle; cizDac.i~o polj~ ko]? ~elrmo
r"bleform"" (nor>e)
, miredbe p'?-ge BEiti!p_u meniju File). Dijalog za izvrsenje Cia spoj'imo,] izaberemo naredbu Merge Cells (naravno, iz TabMn'Jenija).~'lJkoliko-~elimo da razb]-
naredbe-jnsert Table prikazan je na slid sa lijeve strane. jemo jedno ve6e polje na'vise manjih, koristimo naredbu Split Celis, pri cemu- seJavfla dija!dg koji
.__._,_.. _____._ . Ubacena."-tablica -ce imati oblik najprostije pravougaone nas pita na koliko dljelova treba izvrsiti razbijanje. Ukoliko smo prethodno 'oznaeili vise celija, moze
134 135
mo prije razbijanja sve ceHle prvo stopiti u jednu aktiviranjem opeije Merge cells before split koja misa se pretvara u gumieu, koju treba pr~vu6j preko kampletne linije koju zellmo izbrisati. U
S8 javlja u dija!ogu za izvrsenje naredbe Split Gelfs. Ukoliko je potrebno da Citavu tabelu rasijecemo normalni rezim rada vra6amo se pritiskom na tipku Esc na tastaturi.
po vertikaH na dVije tabHee (na mjestu gdje se nalazi kurzor), koristimo naredbu Split Table. Line Style - Omogucava itbor vrste linija koje 'ce se korlstiti u tabllei pomocu padaju6e liste.
Da bismo tabeH dali zeljeni izgled, npr. podebljali Hnije u tabliei, iii osjenCili zaglavlje tablice, Line Weight- Omogucava izbor debljine linl]a koje 6e se koristiti u tabliei pomo6u padajuce liste.
mozemo koristiti vecinu naredbi iz menija Format {npr. Borders and Shading} iii odgovarajuce alatke Borders C%r- Omogucava izbor bOje linija koje 6e se koristiti u tabliei. Upotreba ave aiatke
na "Formatting" traci sa alatima. Dodatna naredba koja se javlja u meniJu Format prilikom rada sa otvara popis mogu6ih boja.
tabelama je Text Direction pomocu kOje mozemo tekst u pojedinlm poljima tabele ispisivati ver"
tikalno umje5to horizontal no. Naredbom Table Autoformat iz Table menija mozemo na tablicu priM Borders - Ova alatka je duplikat istoimene alatke koju smo vec upoznali na "Formatting" traci
mljentti jedan od/"nekoliko desetina unaprijed pripremljenih oblika. Naredbe V;stribute Rows Evenly sa alatima.
i Distribute Columns Evenly sluze da izjednace sirine svih oznacenih redova odnosno kolona, dok Shading Color- Vrsi sjencenje oznaeenih polja u tabeli posljednjom izabranom bojom I stilam
naredba Cell HeIght and Width prikazuje dosta slozen dijalog koji omogucava precizno podesava~ sjencenja. Boja i stil mogu se promijeniti pomocu padajuce liste koja se otvara klikom na stre-
nje dimenzija poJedinih dijelava tabele, kao i razmaka izmedu pojedinih dijelava tabele. Naredba lieu desno od ove alatke. '
Hide Gridlines amagucava da se sakriju sve linije u tabeli asim linija kaje su eksplicitna nacrtane.
Merge Cells Skra6enica za naredbu Merge Cells Ii: menija Table.
Dejstvo ave naredbe ponistava se naredbom Show Gridfines.
Split Cells - Skraceniea za naredbu Split Cells iz manija Tab!e.
Sa kreiranim tabelama mogu6e )e vrsiti i neke elementarne transformacije. Tako, na primjer, Align Top - Poravnava sadrzaj oznacenih polja uz gornju ivicu polja.
naredba Sort u meniju Table omogucava da sortiramo oznaceni dio tabele (iii crtavu tabelu) prema
odredenom kriteriju. Ova naredba otvara dijalog u kojem pomocu padajuce liste Sort by biramo Center Verticalfy - Poravnava sadrzaj oznacenih polja na sredinu izmedu gornje i donje iviee polja.
kolonu po kojoj vrsimo sortiranje. Sortiranje mazema vrsiti u rastucem poretku (opelia Ascending) Alfgn Bottom - Poravnava sadrzaj oznacenih polja uz donju ivicu polja.
iIi opadajucem poretku (opeija Descending). Ukolika zelimo istovremeno sortiranje po vise kriterija
(najvise tri), dopunske kriterije mazema zadati pomocu pada]uC1h listi Then by. Pomocu naredbe Distribute Rows Evenly - Skracenica za naredbu Distribute Rows Evenly lz menija Table.
Formula u istom meniju moguce je cak i obavljati ]zvjesne radnje kaje spadaju u domen programa Distribute Columns Evenfy- Skracenica za naredbu Distribute Columns Evenlyiz menija Table.
za tabelarne proracune, 0 kojima cerna govoritl u s!jedecem poglavlju.
Table AutoFormat - Skracenica za naredbu Table AutoFormat iz menija Table.
Veoma korisna naredba u memj'u Table je i naredba Convert Text to Table, koja omogucava da Change Text Direction - Mijenja smjer ispisa teksta u oznacenim poljima.
sa oznaceni dio teksta koji nije u formi tabliee pretvori u tab!ieu. Ova naredba otvara dljalog slican dija" Sort Ascend;ng - Sortira oznacene dljelove tabele u rastuC! poredak, koriste6i kao krlterij 50r"
logu za naredbu Insert Table, u kajem se kao dodatno pitanje javlja grupa radio dugmadi Separate tiranja onu kolonu u kojo] se trenutno nalazi kurzor.
",0
text at pomacu kOje se odreduje kriterij sta se smatrati granieom izmedu dva podatka koja ce se
razvrstati u dvije razlleite celije. To moze biti oznaka novog reda (opelja Paragraphs), tabulator (opci" Sort Descending - Sortira oznacene dijelove tabele u opadajuci poredak) koriste6i kao kriter"
ja Tabs), znak tacka-zarez (opcija Semicoions), iii neki proizvoljno izabrani znak (opelja Other). Ij sortiranja onu kolanu u kojoj se trenutno nalazi kurzor.
Avto$lIm - Ubacuje u polje u kojem se nalazi kurzor formlJlu koja racuna sumu sadrzaja svih
Za rad sa tablicama veoma se korisno maze upotrijebiti traka sa alatima "Tables and Borders" polja kOja se nalaze iznad, iii lijevo ad polja u kojem se nalazi kurzor. Ova alatka spada u domen
koja ]e prikazana na sl]edeco] slici, a koja se moze ukljuciti odnosna isklju6iti pomocu istoimene tabelarnlh proracuna a kojima cemo govoriti u sljedecem poglavlju.
alatke na "Standard" traGi sa alatima, iii pomacu naredbe Toolbars u meniju View.
Neke od avih alatki mogu se koristiti i neovisno od rada sa tablieama, kao alternatlva naredbi
Borders and Shading iz manija Format.
Border
Line style Color
~
1h '"
r
,J;.
2.1.4 Ubacivanje oslallh netekstualnlh eiemenata u tekstualne dokumente

Dragacjena osobina programa Microsoft Word je mogucnost ubaeivanja lIustracija u tekstualne


f
Line Weight
dokumente. Najneposredniji nacin ubacivanja iI,lJ,$traelja u dokument je da u nekom od programa za
crtanje iii slikanje (npr, u Microsoft Paintu) obiljezimo citavu. ilustraeiju (iii sarno njen dio) i kopiramo
je u meduspremnik pomo6u naredbe Gopy (u Edit meniju programa za ertanje iii slikanje). Nakan
toga, ilustraeija se maze ubaeiti u Word koristenjem naredb'e Paste iz Worqovog menija Edit.

Vecina ovih alatki odnose S8 na oznacena polja, iii na polje u kojem se nalazi kurzor (uko!t~o-niJe~~ Drugi naCin za ubacivanje ilus1raeija u dokument je kbristenje naredbe Picture iz menija Insert.
polle nije oznaceno). Znacenje prikazanih alatki je sljedece: - Ova naredba ima nekoliko podnaredbi. Podnaredba Clip Art koristi se za ubaeivanje slika Iz unapri-
jed priprem!jene galerlje sllka kOja dolazj u paketu zajedno sa programom Microsoft Word (pri cemu
Draw Table - Skracenica za naredbu Draw Table iz menija Table.
je naknadno moguce instalirati dadatne slike). Na primjer, slika magarea sa !ljeve strane uzeta je
Eraser - Omogucava brisanje pojedinih linija u tabllci. Nakon izbora ove a!atke, pokazivac upravo iz ave galerije. Podnaredba From File koristi se za unos Hustraeija koje su pravljene u nek?m
136 137
od programa za crtanje iii slikanje i pohranjene na disk kao graficka datoteka, Izbor dok 1<artica Position omogueava precizno pozieioniranje slike unutar teksta. Kartica Wrapping (koja je
slike, koja se unosi, vrsi se na slican naGin kao pri upotrebi naredbe Open iz menija prikazana na slief sa desne strane) je veoma znacajna, jer omogueava podesavanje nacina na koji se
Fife, a padrzani su formati zapisa slika gotovo svih poznatijih programa za crta" okolni tekst "omotava" oko sllke (upravo kao sto se tekst kojl u ovom trenutku Citate omotava aka slike
nje iii sllkanje. Ukoliko izaberemo opciju Link to file koja se javlja u dijalogu desno od njega). Konacno, kartica Pictureomogueava da prikazemo samo isjeeak sllke, da posvijetllmo
za izvrsenje ave naredbe, slika nece postati fizieki dio tekstua!nog iii potamnimo sliku, kao i da poveeamo odnosno umanjimo kontrast slike (razliku izmedu tamnih i svi-
dokumenta (mada ce se prikazivati unutar njega), nego ce se jetlih dijelova slike),
cuvati kao posebna datoteka. Na taj nacin tekstualni dokument
postaje krati, jer nema potrebe za posebnim memoriranjem Ukoliko izaberemo naredbu Show Picture Too/bar (iii Show WordArt Too/bar) kOja se nalazi
ub!'J,ceile slike. Medutim, tada brisanje datoteke kOja sadrzi sliku takoder u iskocnom meniju ko]i se javlja nakori klika desnom tipkom misa na sliku (Hi ukrasni tekst), pojavlju-
dovodi i do gubitka slike prikazane u tekstualnom dokumentu. ju S0 dodatne trake sa alatima koje omogueavaju mnostvo dodatnih opcija za uredivanje slike iH
ukrasnog teksta. Ove trake se mogu ukloniti pomoeu naredbi Hide Picture Too/bar (odnosno Hide
Podnaredba AutoShapes otvara dodatnu traku sa WordArt Too/batj.
alatima za umetanje specijalnih geometrijskih oblika u ~... ..,.-..if ...

tekst, 0 eamu eemo kasnije pasebno govoriti, dok (~ rr.i~~~~ Program Microsoft Word sadrzi cak i alatke koje omogueavaju neposredno crtanje unutar Warda.
podnaredba WordArt omogueava unosenje ukrasnog ~U..l0'wjltd0.riJLL\lliiEl~ Mada ertanje pomo6u ovih alatkl nile tako elegantno kao u namjenskim programima za ertanje, iskus-
teksta (poput teksta prikazanQg sa strane) na veoma jed" niji korisnik moze pomocu njih nacrtati cak i jako slozene slike. Upoznaeemo se detaijnije sa ovim
nostavan nacin, ko]i zapravo niie nista drugo nego jedna vrsta slike, Podnaredba From Scanner alatkama, jer njihova razumijevanje kasnije olaksava rad sa namjenskim programima za crtanje, koji
omogueava ubacivanje sHka direktno sa skenera, dok podnaredba Chart omogucava unosenje se uglavnom zasnivaju na koristenju alatki kOje su sHene opisanim alatkama.
grafikona u tekst (0 cemu neeemo detaljnije govoriti, jer se mnogo kvaiitetniji grafikoni mogu pravlti -
pomoeu programa za tabelarne proraeune). Alatke za crtanje nalaze se u traei sa alatima "Drawing", koja se, ukollko nije prisutna na ekranu,
maze ukljuCiti pomocu naredbe Too/bars u meniju View. Na sljedeeoj sUel prlkazana je ova traka sa
Kada sma umetnuli sliku u tekstualni dokument, mozemo nad njom vrsiti raz!icite manipulacije, alatima, zajedno sa imenima pripadnih alatki:
Sllku mozemo pomjerat! kroz dokument tako sto dovedemo pokazivac misa na sliku i pritlsnemo lijevu
Text Fill Font Dash
tipku misa, a zatim, ne pustaju6i je, odvedemo pokazivac misa na novo mjesto (nakon cega pustimo Draw Free Rotate Line Rectangle Box Color Color Style Shadow
tipku misa), Ukoliko kliknemo misem na sliku, na rubovima slike prikazuju se kvadraticl, cijim je pom"
jeranjem mogute mijenjati veliclnu sllke. Pri tome, poveeanje nekih vrsta sllka dovodi do degradacije
t t t t t t ...t Ii!t
t ClO~41
njihovog kvaliteta, dok neke slike zadrzavaju lsti kvalltet neovisno od njihova veliCine. 0 razlozima za
ovakvo ponasanje govoricemo u poglavlju 0 racunarskoj grafici.

Uko!iko dvostruko kliknemo lijevom tipkom misa na sliku, bice nam u veein! slucajeva omogueeno
D[<':IW 0:,- k
t
/j.,
";;,,
." "
Ayto5hape5- ""

t
-
t t t t t f t
.;leA ........
-.
~

M'

uredivanje sm,e na isti naein kao u aplikaciji kOja je koristena za izradu slike. Kako se vrsi povratak u Select Auto Arrow Rectangle Insert Une Line Arrow 3D
Objects Shapes Word Art Color Style Style
normalni retim rada, zavis! od aplikacije (u veelni
slucajeva dovoljno je kliknuti misem negdje izvan !ttt;.W+ ... Ixl
slike, ili na dugme Close Picture). Napredna infer- CoiO"~"dlili~d' ';;~:<l'P'~";'~~ :'~i??i3tl'p:'tur;1 .' >1 Mnoge od Dvih alatkl mogu se primijeniti ne samo za crtanje, nego i kao alternativa za razne opelje
maticka tehnologija koja omogucava uredivanje koje se dobijaju pomoeu naredbi Format Picture iii Format WordArl. Znaeenje ovih alatki je sljedece:
objekata unutar neke aplikacije pomocu neke druge Draw- Otvara meni sa veHkim brojem grafickih naredbi i podnaredbi, kOje se uglavnom odnose
aplikacije naziva se OLE (Qbject Linking and na manipulaciju sa vee nacrtanim grafickim objektima, i Ciji bi detaljan Op'IS oduzeo previse pros"
Embedding) tehnoiogija, Sliku lako brisemo pri-. tora. Neke od najvaznljih naredbi biee ukratko spomenute u nastavku teksta. Mnoge od na{edbi
tiskom na tipku Delete u trenutku kada je slika iz ovog menija mogu se direktno dobiti klikom desnom upkom misa na nacrtani objekat.
oznacena (klikom misa na nju).
Select Object- Omogucava da lstovremeno oznacimo (markiramo) veei braj grafickih objeka-
K!ikom desnom tipkom misa na sliku-qobjja~se' ta tako 810 prosto misem nacrtamo pravougaonik oko njih. Vise graficklh objekata mozemo obit~
iskocni meni sa nekim veoma znacajhim- 'koman> jez!ti istovremeno i taka sto cemo driedi pritisnutu tipku Shift kliknuti .nfFsvakt oQ, objekata koje
dama (koje se, pod uvjetom da je' sllka prethodno., hoeemo da oznaCimo. . - .
obiljezena, mogu naei i u drugim menijim~ peput Free Rotate- Omogucava da rotiramo jedan Hi vise obiljezenih graficRih objekata:Nekj-06jek-
menija FormaO. Na prvom mjestu tu je --komantla - ~cc-~'-~-c-'''-'--'---'-'--'---'''-_J ti se ne mogu rotiratL . '--. . - -.
Format Picture (iii Format WorgArt UKoliko se radi <.._~.~~~~'----~~-'--
AutoShapes- Otvara men! koji omogucava jednostavno crtanje nekog ofsl.otinjill<-Ve6 (mapri~
o ukrasnom tekstu). Ova komand~ otv<:tr1!l.qijalo.9 ~,f :T___ . _
jed dizajniranih grafickih objekata, koji su rasporedeni u nekoliko .kategorija;.lfltert?santno je, da
nekoliko kartica, KarUca Colors and L:ines'oniogucava izbor bojEl pozadine, kao i boju i vrstu okvira aka
kategorlja Lines sadrti a!atku Curves koja omogucava elegantno crtarjje zakrivljeilih linija, kao
sllke. Ukollko ne zelimo pozadinu mokvir, iZabererriQ opGije. No. Fill odnosno No Line u dvije padajuce
i alatku Scribble, koja omogueava crtanje linija slobodnom mkom, -pomc;>c.v,-virt,ualne olovke
liste nazvane Color, od kojih se prva odnosi na'boj~ pazadine (skupina opcija FiJ~, dok se druga adnosi
(sl1eno kao u programu Microsoft Paint). .
na boju okvira (skupina opcija Line). Kartiea Siz~omogU6'ava precizno podesavanje dimenzija slike,

138 139
Une - Omogucava crtanje linija. Ukoliko telimo da uzastopno nacrtamo vise linija, potrebno je romo naredbu Group. Ova naredba moze se dobiti i klikom desnom tipkom misa na ozna6ene objekte,
ovu alatku izabrati dvostrukim klikom misa. Slicno vrljedi j za veCinu ostalih alatki za crtanje. Za rastavljanje slozenih objekata na sastavne dije!ove koristi se naredba Ungroup, kOja se nalazi na
Ukoliko zelite da linija bude savrseno prava, drZite tipku Shift pritisnutu za vrijeme crtanja. istom mjastu. Primjenom ove naredbe mozemo rastaviti sllke koje smo umetnuli IZ galerije sllka Clip Art
na njillove sastavne dijelove. Pojedini sastavni dije!ovi se mogu i dalje rastavljat! na prostije dijelove, sve
Arrow- Omogucava crtanje strelica.
do najelemenarnijih objekata. Medutim, rastavljati se mogu samo one slike kOje su crtane iz dijelova (a
Rectangle - Omogucava crtanje pravougaonika. Ukoliko zelite da nacrtate pravilan kvadrat, takva je vecina slika iz Clip Arlgalerije). Ukoliko smo rastavljenoj slid izmijenili neki od dijelova, i zelimo
drzite tipku Shift pritisnutu za vrijeme crtanja. da ponova sastavimo sve dijelove u ejelinu, koristimo naredbu Regroup iz istog menija.
Oval"- Omogucava crtanje elipsi. UkoHko zalite da naertate pravilan krug, drzite tipku Shift prj-
Svaki objekat koji crtamo u Wordu rasporeduje se u poseban sloj (eng!.
tisnutu za vrijeme ertanja.
layetj, ei]i je poredak mogu6e podesavatL Na primjer, na prikazanoj slid, ~
TextBox - Skracenica za naredbu TextBox iz menija Insert. Ova naredba omogucava da formi- crvena linija prolazi ispred plave elipse, koja se nalazi u udaljenjjem sloju. ~
ramo pravougaono podrucje u kaje mozema upisati tekst na bilo kojem mjestu u dakumentu. Okvir S druge strana, zelena linija prolazi iza zute elipse, kOja S9 nalazi u bfizem
kaji se javlja ako ovog podrucja mazema ukloniti pomocu alatke Line C%r i izborom opeije No slo]u. Poretkom slojeva moguce je upravljati pomo6u raznih podnaredbi naredbe Order, koja se
Line iz padajuce liste, ill pomo6u naredbe Format TextBox kOja se dobija klikom desnom tipkom moze dobiti IZ menija Draw iii ,klikom desnom tipkom misa na objekat. Podnaredba Bring to Front
misa na okvir, a kOja otvara dijalag koji je organiziran Isto kao dijalog za izvrsavanje naredbe Format dovodi oznacene objekte u sloj koji se nalazi ispred svih ostalih objekata, dok podnaredba Send to
Picture. Skraceno se ovaj dijalog moze dobiti dvostrukim klikom lijevom tipkom misa na akvir. Back dovadi oznacene objekte u sloj koji se nalazi iza svih ostalih objekata. Za preciznije kretanje
naprijed/nazad slo) po slo) koriste se podnaredbe BrIng Forward i Send Backward.
Inserl WordArt - Skraceniea za padnaredbu WordArt riaredbe Picture iz menija Insert.
Fill Color - Postavlja baju ispune oznacenog naertanog objekta (npr. elipse) na posljednju Ukoliko yam se pri radu sa ilustracijama i grafickim ,objektima crtezi uopce ne prikazuju na
izabranu boju. Baja se bira klikom na streHeu desno od alatke. Izaberite No Fill ukoliko ne zelite ekranu, provjerite prvo da Ii se nalazite u Page Layoutnacinu rada (meni View). Zatim provjerite kar-
ispunu. Hcu View dijaloga za izvrsenje naredbe Options u men!ju Tools. Opcija Drawings trebala bi bit!
uk!jucena, jer u suprotnom Word nece prikazivati nikakve crtane objekte. Takoaer, opcija Picture
Line Color - Podesava bOju aznacene I1nije, ill ruba ako aznaeenog nacrtanog objelcta, na
Placeholders trebala bi biti iskljucena, jer ce, u suprotnom, Word umjesto slika samo prikazivati
posljednju izabranu boju. Boja se bira klikom na strelicu desno ad alatke, Izaberite No Line uko-
prostor gdje bi se trebala nalaziti slika, ali ne i samu s!iku. Inace, ove opcije namijenjene su ubrza-
like ne zelite rub oko naertanog objekta.
vanju rada na sporijim racunarima, na kOjima prikaz slika oduzima isuvise vremena.
Font Color - Ova alatka je duplikat istoimene alatke sa "Formatting" trake sa alatima.
Pored slika, ponekad je u tekstualne
Line Style - Podesava stil i debljinu oznacene linije, iii ruba oko oznacenog nacrtanog objekta, dokumente potrebno ubaciti j neke druge 1: ,,,
(reate New Create from E~~
I
Dash Style - Omogucava da se oznacena linija iii rub oka oznacenog nacrtanog objekta iser- netekstualne objekte. NajveCl izbor
ta isprekidano. mogucnosti za ubaolvanje netekstualnih
objekata dobija se pomocu naredbe Object u
Arrow Style - Podesava stil prikaza prethodno oznacene strelice.
meniju Insert. Ova naredba otvara dijalog ,lEi ~v~ ,
Shadow - Omogucava prikaz "sjene" koju iza sebe ostavlja oznaceni objekat. Izborom opolje pomocu kojeg motemo jzabrati objekat koji 'I~i"o"oft E~('e' chart
Microrolt [xCtl 'Porl<sheel r,; Float ()yer text
Shadow Settings prikazuje se nova traka sa alatima koja sadrz! alatke za preolzno podesava- zelimo -da ubacimo. Kojl su objekti na raspo- . !,'ic'"cdtMap
'.""fOSDft Grbph 97 Chart
.::l r (Jo$p1ilY as icon
1
nje nacina sjencenja. !aganju, zavisi prete2no od toga koji su pro-
gram! instalirani na racunaru. Na primjer,
3~D - Pretvara nacrtani dvodimenzionalni objekat u neki od srodnih trodimenzionalnih abjeka-
~.
... In,ert. a new Ml(rosoft EQu(:I:fOfi 3.8 obie~t
tao Na prlmjer, eUpsu je moguce pretvoriti u valjak iii kupu. Izborom opolje 3~D Settings pfikazu-
je se nova traka sa alatima koja sadrti veoma interesantne alatke za precizno podesavanje
cesto se javlja potreba da u tekst unesemo
neku matematicku formu!u kOja sadrzi ~ .
\,t, ~ ",to YD\lt document. '

razlomke, korijene i slicne elemente koji nisu


izgleda dobijenog trodimenzalnog objekta. obicni tekst. Za tu svrhu potrebno je da
Preciznije podesavanje svojstava nacrtanih grafickih objekata maze se ostvariti pomocu dijaloga koji pomocu naredbe Object iz - menija Insert
S8 dobija dvostrukim klikbm lijevom -tipkom misa na objekat, iii naredbam Format Object~koja.se - ubacite objekat nazvan M;crosoft Equation,
mote dobitLklikom desnom tipkom misa na objekat (iii iz Format menija). Objekte brlsemo pritisk6m kao 5tO je prikazano na sliol desno. Ukoliko objekta sa_tim imenom nema, to znac! da na raeunaru na
na tipku Delete na tastaturl, pri cemu prethodno oznaeimo jedan iii vise .objekata- koje .!:>-ri$erno: kojem radite nije instaliran program za podrsku radu sa matemati6kim formulama. Moze se desit! da vasa
Oznaeene objekte mozema pomjerati i mijenjati 1m velieinu na slican nacin kao prilikomIada-s.a~svin:r postavka Warda vee ima na traei sa alatima alatku kojom se-odmah ubaeuje Microsoft Equation objekat
drugim ilustracijama ubacenim u tekst Ukoliko se prHikom pomjeranja ,grafickih obj{fkatadi2:(pritis~ u tekst (ta alatka se zove Equation Editor, na njoj je nacrtan korijen lz grckog s!ova alfa, a motete je vjd~
nuta tipka Gtrl na tastaturi, kreira se njihov duplikat na novom mjestu, pri 6-emu origfnalrif pbjEikti. jeti na erte2u "Standard" trake sa alatima koju smo ranije prikazali u ovom udzbeniku). Nakon obavljenog
ostaju na svom mjestu. Ovo je jako korisno u slueaju kada treba nacrtati vise iden~i_cni~_ -obie~:ata .. umetanja objekta, pojavljuje se traka sa alatima Equation koja izgleda kao na sljedecoj sliol:
x
Vise nacrtanih objekata mazema objediniti u jedan sloteni objekat (koji -se ponasa k';lO' neraskidiva - 5;:;;::;;: ,,-y-. wit , '0 -;~+ .',\;'3 one ooo Aw8 AO~
cjelina) tako sto prvo oznaeimo sve objekte kOje zelimo da objedinimo (pom02:u alatke SelecfObject iil"
pomocu misa i tipke Shift), a zatlm iz menija Draw (ko]i se nalazi na traci sa alatima "Drawing") izabe~ [j rr
v,. ~: 2:'" f f -=; ~
(r Q '" if:i
140 141
Svako dugme na ovoj traci sa alatima otvara meni sa mnostvom alatki koje iscrtavaju sablone za vanom Suggestions pisati neki od prijedloga kako bi ispravno rijet trebala da se pise (tj. spisak
unos odgovaraju6eg elementa formule (razlomka, korijena, itd.). Rad sa ovim alatima je vaoma ispravno napisanih rijeei koje lice na pogresno'napisanu rijet), iii prijedlog kaka bi trebala da iZ9le-
tesKo opisati rijecima, medutim sam rad je toliko intul!ivno jasan da js ,i apsolutnim potetnicima da gramatieki ispravna receniea. Treba voditi raeuna da pronadena pravopisna greska ne mora
dovoljno nekoli~o minuta prakticne vjetbe da savladaju postupak unosenja eak i najzamrsenijih for~ zaista da bude greska, To je prosto rljet koja se ne nalazi u rjecniku, koja ne mOfa nuzno da bude
mula. Kroz formulu se motema kretati kao i kroz obieni tekst. Obiljezene dijelove formule mozema neispravna (npr. neelja ime iii prezime vjerovatno neee biti nadeno u rjeeniku).
pomjerati u sva eetiri pravca pomo6u tipki sa strelicama, pri eamu istovremeno drzimo pritisnutu
tipku Ctrl. Zavfsetak rada sa formulom postizemo klikom miSem bila gdje izvan podrucja formule. Nakon pronalaska eventualne pravopisne iii gramaticke greske, korisniku se nudi nekollko
mogucnosti. Klik na dugme Ignore ignorira uoeenu gresku j nastavlja pretragu, dok Ignore All
Prilikom uredivanja formula na ekranu su prisutni drugaeiji meniji nego prilikom normalnog fada ignarira sve dalje_pojave iste rijeel u tekstu (ovo je korisno u slueajevlma kada je detektirana laina
sa tekstom, a eije bi opisivanje zauzelo previse prostara (zapravo, rad -sa formulama obavlja pose- greska). Klikom na dugme Add mozema uoeenu djec dodati u rje6nik, elme se omogucava da
ban program, a ne Microsoft Word, koji je sa Wordom povezan pomoeu Vee opisane OLEtehnologi- ratullar "nauei" novu rijee i da ie vise ne prikazuje kao pogresnu. Klik na dugme Change ispravlja
je). Word formule tuva kao neku vrstu crtanih slika, tako da mnoge stvari vezane za crtane slike uof':enu gresku (tj, mijenja pogresnu rijee sa izabranom rijeei lz spiska Suggestions) i nastavlja pre-
(pomjeranje, mijenjanje velleine, itd.) vrljede i za formule. Ukoliko telimo da vee unesenu formulu tragu, dok klik na dugme Change All odmah ispravlja sve pojave pogresne rijeei u (:itavom doku-
panovo uredujema, potrebno je dvostruka kliknuti lijevom tipkom misa na formulu. mentu (sto je korisno ukoliko ustanovimo da smo neku gresku ponavljali kroz cijel! dokument).
Ukoliko je opeija Check grammar isklju6ena, tada Ward nece provjeravati gramatiku, nego samo
pravopis. Nakan obav!jene analize eitavog dokumenta, Word 6e ispisati kratak izvjestaj 0 procjeni
2.1.5 Provjera pravopisa i gramalike, i aulomaisko ispravljanje gresaka Citljivosti i razumljivosti napisanog teksta.

Savremeni tekst procesori poput Microsoft Warda, pa cak i mnogi editor[ teksta, omogueavaju Provjera pravopisa i gramatike moze S8 obavljati i u pozadini, uporedo dok pisete'tekst.
automatsku provjeru pravopisa i gramatlke pisanog teksta. Provjera pravopisa za ratunar je Pozadinsl<a provjera gramatike i pravopisa aktivira se pomodu kartice Spelling & Grammar dijalo-
prilitno jednostavan zadatak, koji se uglavnom svodi na uporedivanje riied iz teksta sa ispravnim ga za izvrsavanje naredbe Options menija Toofs. Ukoliko zelite pozadinsku provjeru pravopisa,
rijetima iz unaprijed pripremljenih rjecnika, dok je provjera gramatlke neuporedivo sloteniji zadatak. uldjuciie opciju Check spelling as you type, a ukoliko zelite pozadinsku provjeru gramatike,
Pored toga, provjera pravoplsa podrtana je za gotovo sve jezike, dok je provjera gramatike podrzana ukljucite opciju Check grammar as you type. Kada je ukljutena pozadinska provjera, Word ee
samo za relativno mali broj jezika (npr. za engleski jezik). Taka je, na primjer, provjera pravopisa, svaku pravopisnu gresku podvlaciti 9J.y.s(Q9"rDy)j!J~ygro.JJ.QJlQ[Jl' a svaku gramaticku gresku ?,t9,!@H9llJ
pored engleskog jezika, sluzbeno podrzana i za hrvatski jezik. Sluzbene podrske za bosanski jezik viiug?Y~J\1.I!r)i,iOt:rL Ukoliko vam Word nezeljeno podvJaci sav tekst koji kucate crvenin-i iIf zele-
nema (u nedostatku, mote dobro posluziti i podrska za hrvatski jezik, s obzirom na izrazito veliki broj iilm"l,rJjuiiaviiirlinijama, to je staga 5to je ukljucena pozadinska provjera pravopisa i gra~
zajednickih rijed), mada to ne znael da neki od bosanskih entuzijasta nisu eventualno pripremili i matike za engleski jezik, a Vi kucate tekst na bosanskom jeziku, tako da Je 5vaka rijea
podrsku za bosanski jezik. Natalost, provjera gramatike nije do trenutka pisanja ovog udtbenika pravopisno nekorektna. U tom slucaju prosto iskljucite opcije za pozadinsku provjeru pravopisa i
podrzana ni za jedan od juznoslovenskih jezika. Opcenito se pokazalo da je gramatika svih jezika iz gramatike. Kartica Spelfing & Grammar sadrti jOs neke opcije koje omogucavaju preciznije
slovenske grupe jezika sa svojim obiljem padeza i izuzetaka prilicno "tvrd arah" za danasnje racunare. podesavanje provjere pravopisa i gramatike.

Da bismo mogli vrsiti provjeru pravopisa i gramatike u nekom dOkumentu,- prvo je pomocu PrHikom koristenja automatske pr9vjere pravopisa i gramatike, korisnik mora -biti svjestan gdje
naredbe Language iz menija Tools i njene podnaredbe Set Language potrebno definirati jezik u su granice u pO,drsci tekst procesora automatskoj provjeri pravopisa i gramatike. Provjera pravopisa
kojem je pisan dokument, sto je moguce uraditl jedino ukoliko je softverska podrska za taj jezik je onoliko dobra kolika je dobar rjetrl'ik za odgovarajuCi jezik, i ona uglavnom radi sasvim zadovo-
(rjetnici i drugo) prethodno instalirana na raGunar. U nastavku cemo pretpostavljati da je izabrani Ijavajuee. Medutim, opisati gramatiku nekog govornog
jezik engleski, jer je podrska.za taj jezik installrana praktiekl na svakom raGunaru. jezika na formalan naein koji bi bio razumljiv racunaru, ~, t ' 1 1 ' 1
veoma je tetak problem. 8toga je gramatieka provjera b'Jt'YCorroc' j_:\::;~~'O;;\~'~:~":";YPC j'~'"'01",~t 1 ~""'Fo""",l
Nakon sto smo podesHi jezik dokumenta, provjeru pravopisa i gramatike zapoeinjemo izborom kOja je ugradena u program Word prilitno primitivna,
naredbe Spelling and Grammar iz Tools menija, iii izborom istoimene alatke sa "Standard" trake tako da veliki broi gramatickih gresaka ostaje neotkri-
sa alatima (iii, jos brie, pritiskom na tipku ven. 8toga se na provjeru gramatike pomocu progra-
ma'Microsoft Word ne treba previse oslonitl (to ne
Fl). Pretpostavimo, na primjer, da nas tZ :-4 ;1,,,- '~Tii:w%ttHttt:ti"tet\ '7"j'}J,)(}
~ z~a~f da fie pastoje specijalizirani programl koji ovaj
dokument sadrii recenieu "We should go
throgh forest." u kojoj je ,rijec "throgh" ,p.0s.ao_ obavljaju ,znatno temeljitije).
napisana pogresno (treba "through").
Nakon sto pakrenemo provjeru pravopisa i _, _Jos' jedna 00 intere?antnih mogucnosti ugradenih
gramatike, Word ce, nakon prvog nailas\,a 'q -.prngr~m Microt?oft Word je automatska ispravka
na mogucu pravopisnu iii gramaticku .tfp!crii/J gresaka u kucanju. Da bismo prilagodili ovu
gresku, prikazati dijalog popul dijaloga , ," moguenost vi"asfitim- potrebama, potrebno je pokrenuti
prikazanog na slid desno. Pravopisna -naredbu AutoCorrect iz menija Toofs. Pokretanjem
greska biee oznacena crvenom bojom ova naredbe otvara se dijalog Sa vise kartica, eija je
(gramatitke greske oznacavaju se " Jiiartica AutoCorrect prikazana na slici. Opcija Correct
cC'--,J,'i' ny/ t'), dok ee u prozoru naz
H TWo' INitial CApitals omogucava automatsku

142 143
ispravku gresaka u kOjima su prva dva slova unutar rijeci velika, umjesto sarno prvog slova (ova Pllanja i zadaci
greska obicno nastaje usljed prekasnog otpustanja tipke Shif~. Opeija Capitalize t;rst letter of sen~
fences omogucava automatsku prepravku prvog slova recenice u veliko slovo. Kako Word smatra
1. Opisile kako je tekao razvoj sistema za obradu tekst~ za PC racunare.
da je prvo slovo iza svake tacke pocetak recenice (8to ne mora biti uvijek tacno, jer se tacka moze
nalazitl i unutar neke skracenice), ova opeija ponekad maze da smeta, staga ju je cesto potrebno 2. Koji su karakter!stitni elementi prozora programa Microsoft Wore!?
isklju6iti. OpGija Capitalize names of days omogucava automatsku zamjenu pocetnih slova naziva 3. Sta je oblikovanje, (formatir-anje) teksta?
dana velikim slovima, sto se zahtijeva npr. u engleskom pravopisu. OpGiia Correct accidental 4. Gemu sluze trake sa alatima u programu Microsoft Word?
usage of cAPS LOCK key omogucava automatske ispravke gresaka koje nastaju kada korisnlk 5. Koj! meniji postoje u programu Microsoft Word? Navedite nekoliko najvainijih naredbi u svakom
zaboravi da iskljuci tipku Cap:;; Lock. Klikom na dugme Exception moguce je definirati izuzetke, u od menija.
kOjima Word nece praviti automatske ispravke. 6: Cemu sluti oznacavanje teksta i kako se vrsi?
7. Cemu sluze linijari j sta u6initi ukoliko oni nisu vidljivi na ekranu?
Najmocnija opeija koju posjeduje Word za automatsku korekciju gresaka je opeija Replace text
as you type. Ova opcija omogucava automatsku zamjenu jedne rljed iii fraze prilikom kucanja dru- 8. Zbog 6ega je neophodno snimiti dokument na disk?
gam. Korisnik maze definirati vlastita pravila zamjene, taka sto ee ukueati izvomu rijet u polje za 9. Kako se mozemo zastititi od gubitka dokumenta u slucaju nestanka elektricne energije?
unos Replace, a zamjensku fijet (iii frazu) u polje za unos With, a nakon toga kliknuti na dugme 10. Sta cete uciniti ukoliko nehotiee uradite neku radnju koJom ste upropastlli dio dokumenta iii 6itav
Add. Program Microsoft Word vee dolaz] sa pripremljenim spiskom od nekoliko stotina tipicnih dokument?
gresaka u kueanju koje se javljaju prj kucanju engleskih tekstova. Ova pravila mozete i sami pre- 11. Za8to ne treba pritiskati tipku ENTER svaki put kada zelimo prelazak u novi red?
gledati u prozoru koji se prikazuje unutar dijaloga (pogledajte sliku). Medutim, medu unesenim pra- 12. Sta treba uCinitl ukoliko se neophodne trake sa alaUma ne vide na ekranu?
vilima postojl jedno pravllo koje je u direktnoj suprotnosti sa nasim jezikom, a to je pravilo koje kaze
13. Slucajno ste kliknuli na alatku New i otvorili novi dokument. Kako cete se vratiti u star! doku~
da se svako malo slovo "i" treba pretvoriti u veliko SIOVD "I" (ovo pravilo sHjedi iz engleskog
ment?
pravopisa, po kojem se li6na zamjeniea ~ja" uvijek pise iskljuCivo kao veliko slavD "I"). 8recam, neze-
Ijena pravila je laka izbrisati klikorn na dugme Delete (prethodno prvo trebamo oznaCiti pravilo koje 14. Kako biste najbrze zamijenili svaku pojavu rije61 "vazduh" u dokumentu u rije6 "zrak"?
zelimo obrisati). 8toga, ukolfko Yam Word neprestano mljenja malo slovo "i" u velika SIOVD "I", 15. Napravite dokument u kojem cete napisati spisak od 10 vasih omlljenih pjevaca, pjeva6iea iii
;zbrisite ovo pravilo ill iskfjucite potpuno opciju "Repface text as you type".
j
grupa kOje cete obiljezitt rednim brojevima. U dokument ubacite naslov, kojl 6ete podebljati i
eentriratL Vrstu i veliclnu slova izaberite po volji. Po zavrsetku rada, snimite dokument na hard
Microsoft Word omogucava ( automatsko oblikovanje teksta za vrijeme kucanja. Na prlmjer, disk 1disketu.
nekada Word uspije automatski da prepozna da ste unijeli naslov teksta i da izvrsi njegovo obliko- 16. Napravite po vlastitom izboru dokument kojl sadrii neku slozeniju tablieu, koji 6ete oblikovati po
vanja. Ovim mogucnostima upravlja se pomoeu kartica AutoFormat As You Type i AutoFormat u sopstvenoj volji. Snimlte dokument po zavrsetku rada.
istom dijalogu. Automatsko oblikovanje moze biti korisno, ali maze i da nervira, pogotovo ukoliko 17. Napravite samostalno nekoliko dokumenata u Kojima 6ete demonstrirati umetanje slika u tek~
ustanovimo da nam Wordvrsi zamjene koje su u suprotnosti sa onim sto zaista zellmo. 8toga, kada stualne dokumente. 8nimite sve dokumente po zavrsetku rada.
god primijetimo da Word izvrsava automatsko oblikovanje teksta koje nije u skladu sa nasim ze!ja~ 18. Napravite nekoliko crteza koriste6i iskljucivo Wordove alate za ertanje. Posluzite se alatkom
ma, najsigumije je da isklju6imo sve opGije na ovim karticama, time iskljucujemo sve automatske Zoom da povecate preciznost crtanja.
intervencije koje Word obavlja mimo nase volje i znanja.
19. Napravlte dokument koji opisuje jednu lekciju iz matematike, u kojaj cete morati da upotrijebite
umetanje matematltkih formula u-dokument. '
Na kraju izlaganja 0 Microsoft Wordu, reGimo i nekoliko riie6i 0 stifovim8. Stilovi omogu6avaju
da grupu informacija 0 obtikovanju teksta, poput vrste i veliCine s!ova, naCina ravnanja, itd. 20. Napravite samostalno nekoliko dokumenata u kojlma cete demonstrirati 8tO je god mogu6e vise
sa6uvamo kao jednu cjelinu pod jedinstvenim imenom. Na primjer, ukoliko smo definirali nacin elemenata koje ste nau6ili vezanih za rad sa programom Microsoft Word.
oblikovanja jednog naslova u dokumentu, mozema sacuvati informacije 0 oblikavanju kao stll 21. Sta je OLE lehnologija?
"Naslov". Kada kasnije primijenimo stil "Naslov" na neki drugi dio teksta, sve informacije 0 obliko~ 22. Gemu sluti grupiranje grafi6kih objekata i kako se postize?
vanju bi_ce autamatskl primijenjene na taj dio teksta. Uko!iko kasnije promijenimo neke od informa- 23. Kako se vrsi automatska provjE;lra pravopisa i gramatike?
dja pohranjenih u stilu "Naslov", te izmjene ce automatski biti primijenjene na sve dijelove teksta na
24. Napisite kratak tekst na engteskom jeziku i pU;3tite Word da pronatie pravopisne greske u
. kqfi je~primijenien-stil "Naslov", sto izuzetno olakSava naknadne izmjene oblikovanja dokumenata. napisanom tekstu.
8tllbvLse definiraju pomocu naredbe Style u meniju Format, a biraju pomoeu istoimene padajuce
lists nil- i'Form-atting" traci -sa alatima. Posto rad sa stilovima spada u naprednije teme, 0 deta!jima 25. U kojoj'mjeri se mozemo oSI~r1-iti-n-a~ pto\!Ieru praVopisa.1_gramatlke pomoeu programa Microsoft
Word?
qefinir"aryf"! i l.!potfebe s!ilova nec~mo govoriti u ovom udzbeniku. -
26. Sta treba u6initi ukoHko narii _~Grd_s.t~no podvfaCi tekst koji kucamo crvenim iii zelenim v[ju~
gavim linljama? '.'
27. Kako se upravlja automatskom isprq~k-0nl::greSaKa u kl,lcanju u programu Microsoft Word?
28. Sta treba utiniti ukoliko ham-Woi!istalno mijenja. malo slovo "F' u veliko slovo "I"?
29. Sta treba uciniti UkQliko'na~_:'W~rd obfikuje tekst.prilikom kueanja na nacin koji nije u skladu sa
nasim zeljama? " . .
30. Sta su stilovi i cemu slute?

145
2.2 SISTEMI ZA TABELARNE PRORACUNE

2.2.1 Razvoj sistema za tabeJarne proracune na PC racl.lnarima

U prvom dijelu ovog udtbenika upoznali sma se sa pojmom programs za labeiarne proracune,
kojl se jos nazivaju i programi za unakrsna izracunav8nja iii spredsit (engl. spreadshee~ progra~
mi. Njihov osnovni zadatak je omogucavanje kreiranja takvih tabela u Kojima vrijednosti pojedinih
polja mogu zavisiti od vrijednosti nekih druglh polja, taka da se vrijednostl svih takvlh polja automat~
ski mijenjaju kad god se promijeni sadrzaj nekog od polja 'od kojil1 takva polja zavise (biiD direktno iii
indirektno).

Slicno kao i kod sistema za obradu teksta, prvi programi za tabelarne proracune mnogo su se
razlikovali od danasnjih. Vee smo spomenuli da je sve pocele kasnih sedamdesetih godina sa
programom VisiCaic. Prvi programi za tabelarne proracune bili su orijentirani iskljuCivo na
tab!icna izra6unavanja, taka da su amogu6avali iskljuCivo rad sa tablicama, i ni sa eim drugim.
Tablice se nisu magle mijesati sa propratnim tekstom, tako da same za sebe nisu predstavljale
dokument koji bi se mogao odstampati i prezentirati. Obieno su se tadasnji programi za tabelarne
proraeune koristili isklju(;ivo za obavljanje samih proracuna, nakon eega su se proraeunate tabllce
morale "uvozlti" u neki ad tekst procesara Hi pro~rama za stolno izdavastvo u cilju dobijanja
finalnog dokumenta.

Programeri su ubrzo shvatili da js opisani rad sa programima za tabelarne proraeune isuviSe


zamoran, pa su ovakvim programima poceli dodavati izvjesne elemente, koji su, pored eistih
izracunavanja, omogucavali i oblikovanje tablica, kao i njihovu prezentaciju u formi samostalnog
dokumenta. Jedan od ptvih programa za tabe!arne prora6une koji je omogucavao ovakvu
prezentaciju bio je program Lotus 1~2~3. Prve verzije Lolusa bile su namijenjene za MSDOS oper~
ativni sistem, dok su novije verzije prilagodene Windows operativnim sistemima. Lotus 12-3 je i
danas jedan ad najpopularnijih programa za tabe!arne proracune za PC racunare (razumije se da
su danasnje verzije Lotusa neuporedivo naprednije od prvih verzija, s obzirom da se rad! 0 progra-
mu koji se razvija preko dvadeset godina).

Vjerovatno najpopularniji program za tabelarne prora6une za PC racunare je I}/Iicrosoft Excel,


koji cemo skra6eno zvati samo Excel (eita se ikse~. Ovaj program presto zadivljuje svojim
mogucnostima. Excel u sebi, pored osobina svojstvenih iskljuCivo programima za tabelarne
proraeune, sadrzi integrirane gotovo sve elemente sistema za obradu teksta. Stoga je, teoretski
gledano, pomo6u Excela mogu6e pripremiti i oblikovati cak i bilo koji tekstualni dokument ko]i bi se
mogao uraditi pomocu Microsoft Warda. Naravno, ovakav rad oe bi bio praktican, jer ce se pomo6u
namjenskih programa za obradu teksta ista stvar uraditi znatno jednostavnije. Mectutim, ovdje sma
samo zeljeli da istaknemo abuhvatnost programa Excel. Pored vee pomenutag Excela i Lotusa, u
~irQj upotrebi je i program za tabelarne proraeune Quattro Pro.

__ "'_ . :-Goto:Vo svi danasnji programi za tabelarne proraeune omogu6avaju i prikaz posJovne grafike,
.'.odnosrTo prikaz.tabelarnih podatka u vidu raznovrsnih dijagrama. U posljednje vrijeme, programi za
"~ab_eJarne proracune integriraju i neka svojstva geografskih informacionih sistema, poput
::~gU?nbstl pri~aza digitaliziranih geografskih karata,

Programi za tabelarne proracune veorna su pogodni za razne ekonomske analize, kalkulacije i


druge..racunske operacije, za koje su, prije izuma programa za -tabelarne proracune, mnogi uredski
siuzberilci znali potrositi i Wav radni dan. Obicno su u pitanju proracuni u kojima se susrece gomila
podcHaka, za Giji se obracun koriste iste metode i formule, ali nad razli6ltim podacima, i sa razliGiiirn

146 147
koeficijentima (npr. razlicitim j'edinicnim cijenama). Takoder, najcesce S9 radi 0 proracunima koje je Traka sa Traka sa
potrebno vrsiti periodicno (dnevno, sedmicno, mjesecno, kvartalno Hi godisnje). Programi za Naslovna Glavni Dugmad za alatima a{atima Oznake TroJa
traka meni uredivanj "Standard" "Formatting" kolona formula
iabelarne proracune omogucavaju da jednom potrosite nesto vise vremena da predzno izdefinlrate
problem, da biste kasnije ostvarili velike ustede u vremenu, jer ce yam program sve proracune
obavljati sam" Pri tome je najcesce dovoljno da za samo jedan objekat (npr. neki proizvod) ispisete
univerzalne formule za njegov proracun, kOje se kasnije mogu presto kopirati na ostale objekte.

Kao i u slucaju sistema za obradu teksta, da bismo se detaljno upoznali sa naCinom rada sa Polie za
sistemima za tabelarne proracune, moramo se odluciti za neki konkretan program. Ovdje, izbor, ureail'al1jt
formula
bez sumnje, pada na Microsoft Excel kao najpopularniji program ove vrsta za PC racunare.
Treba napomenuti da ogroman broj korisnika ne upotrebljava Exce! na pray! nain, vee ga koristi
samo kao sredstvo za brzo i lako oblikovanje tablica koje lijepo izgledaju. Medutim, puko prav- Oznaka
Ijenje tablica nije osnovni cH) programa Excel - lstu stvar bez problema mozema uraditi i u aklivne
celije Vc/1ika(na
Wordu. Oa bismo Excel koristili na ispravan nacin, moramo kreirati tablice koje obavljaju neke {mlw za
parnak
prora6une (pa makar i posve elementarne), sto zapravo i jeste osnovni cilj svih programa za Radna
tahelarne proratune. Mnogi korisnici misle da je dosta tesko nau61tl ispravno raditi sa pragrami- stanica
ma za tabelarne proracune, tako da S9 mnogi I ne trude da savladaju ave programe kako treba,
Medutim, to je velika steta, jer se rad! a zaista izuzetno korisnim programima. Trud koji je potreb-
no uloziti za njihova savladavanje kasnije ce se visestruko lsplatltL U. prvom dijelu udzbenika
naveden je interesantan primjer primjene programa za tabelarne prora6une za potrebe
automatskog vodenja statistike a uspjehu utenika u razredu. Nazalost, jOs uvijek veliki broj nas-
tavnika, ne sarno kod nas nego cak i u svijetu, ima prl1itan otpor prema ucenju efikasnog
koriStenja programa za tabelame proracune,

2.2.2 Organizacija dokumenata u programu Microsoft Excel Trnka sa a!(lfinw Statusl1tJ


Dugmad za Omake mdnih Horiz(mfall1f1
izhor rarlnih stanita "Drawing" trnka lraka
poput programa Microsoft Word za Windows operatlvne sisteme, Microsoft Exceltakoder je pri- stmnion za pml10k
1agoden i drugim vrstama racunara i operativnih sistema, U nastavku teksta podrazumijevacemo da
radimo sa engleskim izdanjem verzije Microsoft Excel 97 ill Microsoft Excel 2000 (izmedu ove dvije Poput Microsoft Warda, Microsoft Exceltakader podrzava pristup orijentiran ka dokumentu, taka da
verzije nema sustinskih razlika), mada ce se sve opisane stvar! gotovo sigurno moCi primijenlti na se gornja slika javlja prilikom pokretanja Excela na prazno. Moze se primijetiti priH6na slicnost sa pro~
ma koju verziju Microsoft Excela koja ucenicima bude na raspolaganju prilikom koristenja ovog zorom koji se javlja nakon pokretanja Microsoft Worda. Kao i u slucaju Worda, rnoguce je da neki od
udzbenika. elemenata nisu prisutni na ekranu. Ukoliko ne vldlte prikazane trake sa alatima, mazete ih ukljuCiti
naredbom Too/bars u meniju View, slibna kao u Wordu, Traku formula (koja sadrzi palje sa nazivom
Microsoft Excel je znatno kompleksniji program od Microsoft Worda. Oak smo u prethodnom
celije, dugmad za uredivanje, i polje,za uredivanje formula) mozete ukljuciti (iii fsk\jucfti) pomocu naredbe
paglavlju kroz brzi pregled uspjeli da pokrijemo aka 30% mogucnosti Worda, necemo pretjerati
Formula Bar, a statusnu traku pomocu naredbe Status Bar. Obje ove naredbe takoder se nalaze u
uko1iko kazemo da cemo u ovom udzbeniku upoznati svega oko 5% mogucnosti programa Excel.
meniju View. U nastavku cemo podrazumiJevati da su na ekranu prisutni svi navedeni elementi.
Zaista se radi 0 izuzetno mocnom pregramu koji, nazalost, rijetko ko zna iskoristiti u patpunosfi.
Kroz nastavu, informatike u osnovnoj skoli vjerovatno sfe se vee susreli sa programom Microsoft Bez obzira na slicnosti, mote se prlmijetiti jedna velika razlika u odnosu na Microsoft Word.
Excel, a.1i najvjerovatnije iskljuCivo kao sredstvom za pravljenje lijepo oblikovanih tablica. Na ovorn Umjesto praznog "lista papka",- Excel u 'radnom dije!u ekrana prikazuje praznu mreiastu strukturu
mjestu' cemo, se ~ise posvetiti proracunskim tablicama i poslovnom grafikom, sto i jeste (tabelu). Dokumenti radenl u E;xcefu na~jvaju se -radnfJ knjige (engl. workbooks), Pocetno ime doku-
osnovna svrha' ovog programa. Nakon pokretanja programa Microsoft Excel, na ekranu se menta u Excelu je Book1, kOje",Ostate {!.kvo:sve do prvog snimanja dakumenta na disk, kada cemo
,poja~IJOje prozor karakteristicnog oblika. Izg\ed ovog prozora, kao i njegovi osriovni elementi, morati unijeti i zelje'no !!l1e dDRument~.:D(Mumenti/adeni u Excelu automatski dobijaju nastavak na
prlkaz'ani S~.[l.B.:-slj~de60j slid: Imenu (ekstenziju) .XL$. '''T. " ,

Svaka radna knjiga podij~ljeD~i j'-n~~~;dr~~eOi_ broj ril.dilih stranica (engL worksheets), U jed-
nom trenutku na ekranu se prlkazuje'sa'r.-'jedna radna'stranica.' Sa jedne na drugu stranicu maze-
ma prelaziti klikom lijevom tip~bm mf~ana oznake.radnih stranica koje' se nalaze na dnu prozora,
U sJutaju da imamo,mnoga ra'dnih stranica., tako da se sve njihove oznake ne vide istovremeno na
ekranu, za izbor radnili stranka motemo.korisfiti dugmf!d za izbor radnih stranica, kOja se takoder
na!aze n.a dnu prozora,
149
Radne stranice na pocetku rada imaju imena Sheet1, Sheet2 itd. lmena radnih stranica maze- 2.2.3 Unos podataka u radne stranice
rna pramijenitj tako da dvostruko kliknemo na oznaku radne strane j da utipkamo novo ime. 1st!
efekat mozemo postiei i pomocu naredbe Rename koja se,nalaz; 'u iskocnom meniju koji se javlja Na prvom mjestu, moramo naglaslti da postoji mogucnost da objasnjenja koja slijede U ovom
nakon klika des nom tipkom misa na oznaku radne strane. Da bismo izbrisali radnu stranicu, koristi- odjeljku u vasaj postavci Excela mazda nece radit] tacno kako je, ovdje opisano, zbog cinjeniee da
mo naredbu Delete iz istog menija; iii naredbu Delete Sheet iz menija Edit. Novu radnu stranicu je Excel visoko prilagodljiv program u kojem korisnik mote podesavati detalje vezane za nacin
mozemo umetnuti pom06u naredbe Insert (takoder iz menija Edit); pri 6emu se nova stranica umeGe unosa podataka. Ukoliko imate problema prilikom unosa podataka (u smislu da yam se javljaju
uvijek ispred trenutno aktivne radne stranice. Alternativno, mozemo izabrati i naredbu Insert iz velike raz!ike u odnosu na objasnjenja koja ee bit! opisana u nastavku teksta), pokrenite naredbu
iskocnog menija. U tom slueaj bice nam ponuden dijalog u kojem mazemo izabrati neki od sablona Options iz menija Toofs, i eksperimentirajte sa opcijama na kartici Editdok ne podesite program da
unaprijed pripremljenih izgleda radne stranice. Ukoliko telimo da promijenimo redoslijed radnih radi u skladu sa vasim ocekivanjima (iii, jOs bolje, zamolite profesora da izvrs] potrebna
stranica, iii da kopiramo jednu radnu stranieu na-vise mjesta u radnoj knjizi, mozemo koristitl nared- prilagodenja).
bu Move or Copy Sheet iz menlja Edit, iii naredbll Move or Copy iz iskocnog menija. U oba slu6aja
dobijamo dijalog koji nas pita da Ii zelimo premjestanje iii kopiranje, kao i na koju lokaciju treba pre- Vee smo vidjeli da su podaei u radnim stranicama organizirani iskljucivo kao skupina eelija.
mjestiti iii kopirati stranicu. Podatke u celije mazemo uplsivati na raz1icite nacine. Najjednostavniji natin je da prvo obiljezimo
celiju u koju zelimo unosit] podatke, a da nakon toga neposredno zapocnemo unos sa tastature. U
Svaka radna ,stranica podijeljena je pamacu mreze linija na vefiki brej redova i kalona (65536 tom slucaju se podaci koje unosimo preplsuju preko eventualnog ranijeg sadrzaja iste cellje. Ukoliko
redova i 256 kolona u verziji Microsoft Excel 97). Kalone su abi!jezene slovima ad A do Z, nakon toga zelimo samo da izmijenimo neke detaije u celiji koja vee sadrzi unesene podatke, dvostruko
od AA do AZ, zatim ad SA do BZ, itd. Redovi su obiljezeni brojevlma. Oznake kalona vidljive su na kliknemo na ce1iju, eime dobijamo mogucnost da uredujemo podatke ko]i su vee bili uneseni u 6el1]u.
vrhu radne strane, a oznake redova sa lijeve strane. Naravno, u jednom trenutku na ekranu je vidljiv Alternativno, sadrtaj aktivne cellje mozemo uredivati i unutar polja za uredivanje formula (neovis-
samo mall dio radne stranice. Kroz radnu stranicu matemo se kretatl pom06u tipki sa strelicama i tipki no da Ii se radi 0 fermuli iii nekom drugom sadrzaju) u traGi formula.
Page Up, Page Down, Horrie i End, iii pomocu misa, koriste6i trake za pomak. Kako je radna stranica
agromna, lako nam se moze desiti da strelicama "odlutamo" na neki prazan dio radne slranice, 5tO 6e Prilikom lInosa podataka u 6eliju, iii uredivanja njenog sadrzaja, u traGi sa formulama javljaju se
nam stvoriti iluziju da smo "izgubili" podatke sa ekrana (oni se zapravo nalaze na nekom drugom dijelu i dva dugmeta na Kojima je naertan crveni kriii6 (X) i zelena kva6ica (F'). Klik na kritic atkazuje unos
radne stranice, koji trenutno nije vidljiv na ekranu). Medutim, ne treba da se brinemo: oznake redova i iii izrnjenu podataka, dok klik na kvacicu prihvaca unos iii izmjenu. isti efekat pastizemo pritiskom na
kolona uvijek ce nam pomoci da se orijentiramo na kojem se dijelu radne stranice trenutno nalazimo.
tipke Esc odnosno ENTER na tastaturi. Mada ce u veHkom broju slucajeva unos iii izmjena bit] pri-
hvaceni Gim promijenimo aktivnu celiju (npr. klikom misa na novu celiju, mkoristenjem tipki sa stre-
U presjeku redova i kalona nalaze se polja koja se nazivaju celije. U svakom trenutku jedna je
licama), trebate se navikavati da unos padataka lIvijek zavrsavate pritiskom na tipku ENTER (iii
telija aktivna: to js teJija aka kole postoji podebfjani crni okvir, koj! cemo zvati oznaka aktivne 6elije.
klikom na dugme sa zelenom kvaeicom), lnaee tete imati-velikih problema prilikom unosa formula,
Oznaku aktivne cellje mozemo pomjerali pomocu tipki sa strelicama, kao i neposrednim klikom misa
na celiju koju zelimo da proglasimo za aktivnu cellju: Mozemo primijetiti da su oznake odgovarajuceg
U celi]e se mogu ,unositi sljedeei elementi: tekstualni podaci, brojcani podaci, datumski podaci,
reda i kolone kajima pripada aktivna ceUja prikazane istaknuto.
vremenski podaci" i formule. Tekstualni podaci predstavljaju podatke sa kojima se ne mogu vrsiti
Svaka celija dobija ime na osnovu oznake kolone i reda u kojem se ona nalazi. Na primjer, cellja nikakve racunske operaci]e. To su, na primjer, imena i prezimena, brojevi telefona i, opcenito, bilo kakvi
koja se nalazi u presjeku kolone "C" i reda "5" dabija naziv "C5". Ime trenutno aktivne celije uvijek podaci ko]i sadrze proizvoljan tekst Za razliku od njih, sa brojCanim podacima se mogu vrsiti racunske
se prikazuje u polju sa nazivomcelije (engl. Name Box). Pored ovih podrazumijevanih imena (koja 'operacije. Primijeticete da Excel automatski poravnava unesene tekstualne podatke uz lijevu ivicu celije,
jos nazivamo i genericka imena ill adrese), ce!ijama mazemo davati i vlastita (korisnicka) imena, a brojcane podatke uz desnu ivicu celije (kasnije je ova ravnanja moguce promijeniti u postupku obliko-
tako sto cemo kllknuti u polje sa nazivom celije i tame upisati novo ime. Na primjer, ukaliko znamo vanja tab!ica). Ukaliko telimo da unesemo neki podatak koji izgleda poput brojeanog podatka, a zapra-
da ce ce!ija "C5" sadrzavati podatke 0 prihodu, mozemo ovu ce!iju imenovati imenom "PRIHOD", sto vo je tekstualni podatak, jer se sa njim ne mogu vrsiti racunske operacije (npr. postanski broj nekog
je lakse zapamtiti za potrebe kasnijeg obavljanja proraeuna od nesugestivnog imena "C5". grada), lInos treba zapoeet] sa znakom apostrof ( ,), koji govori Excelu da slijedi tekstualni podalak, bez
Korisnieka ir:nena ceUja moraju se sastojali 09 sarno jedne rijeei (bez razmaka), j smlju sadrzavati obzira na njegov izgled. Tako, npr. po:tanski broj Sarajeva (71000) treba unijeti kao '71000 da bi 9a
sarno slova engleske abecede i citre (prj ~emu prvi i posljednji znak imena mora bit! slovo). Excel ispravno shvatio kao lekstualni podatak (ovaj apostrof se ne prikazuj~ kao sadrzaj cellje).

Bltno je naglasiti da je mre:za. UniJ~ koja razdvaja pojadine redove i kolone samo fiktivna mreia Prilikom unosa brojcanih podataka treba paziti na nekoliko specificnosti. Zavisno pd regionalne
koja se tipicno ne"iscrtava' ria p~piru prllikom ,s!ampanja-dokumenta (mada posebnom opdjom moze- postavke racunara na kojem radite (koja se u Windows operaihmirTlsistefnitna mote birati pomocu
mo zahtijevati i njano stampanje). Na-paR\ru S? t!picno prikazuju samo one linije koje eksplicitno nac;" pomocnag programa Regional Settings, koji mozerno pozvati prvo:duplirri klikom na ikonu My
lamoprilikom postupka obli~Qya~ja" q,Q~menta:, :Fiktivna mreta same olaksava baratanje sa cinjen]" computer, a zatim na ikonu Control Panen, za razdvajal1je eije/orr od "de.clmal(log:ljij?la broja koristi
com da je svaka radna stn:tnic,a organiziF{i~? tao skupina neovisnih celija. Nekada je poteljno is/(fjuciti se znak zarez (,) iii tatka (.). Na primjer, u slucaju hrvatske p!:l$ta~~_e ~O!h3t~ s~ zare~_(npr. 3,15), -a
prikaz ove mrete. Za tu svrhu treba pokr.e,~uH naredb,u Qptions iz menija T00/5, izabrati karticu View, U slucaju engleske iii ameri6ke postavke znak tacka (3.15):Mo-rate proi,tjrirtH'k91a $e varija'Qta koristi
i iskljuciti opciju Griclline{3. Na OVo] kartlci nalazi se jos nekoliko opcija za upravljanje izgledom radne ria vasoj postavci. Na primjar, probajte unijeti broj 3,15 sa zarezom:Ukqfil>-ga Excel prihvaH i porav-
stranice na. ekranu, pa 'ukaiiKo primijettte CIa vam neki elementi radns slranice nedostaju (poput ozna" na uz desni rub celije, zapamtite da vasa postavka koristi'zaiez; U-s'uprotnbm, zarazdvajanje dee-
ka redava 1kolon'!-), eksperimentir~i:le. s~ opcijama.na ovoj karUci dok ne podesite zeljeni izgled. imala koristite tacku. Nagativne brojeve mozemo unositi sa -inakom niirJus ispred iii, alternativno,
kao broj u zagradi (npr. broj (25) je isto sto i broj -25), Brojcani podacnnogu S8 zavrsavati i znakom
"%", npr. 12% (sto ie zapravo sinonim z~ broj 0,12).

150 151
Datumski i vremenski podaci se takoder unose i prikazuju na nacin koji izrazito zavisi od region" meniju Insert. Ove naredbe djeluju na isti nacin kao naredbe Insert Rows, Insert Columns i Insert
alnih posiavki vaseg ra6unara. Kako se manipulacije sa oyim podacima susrecu uglavnom u Cells u Table meniju programa Microsoft Word. Umetanje redova odnosno kolona mozemo obaviti
naprednijim primjenama pragrama Excel, na njima se necema dodatno zadrzavati. 0 unosu formu" i pomocu naredbe Insertkoja se javlja u iskoenom meniju koji dobijamo klikom desnom tipkom misa
/a i njihovaj primjeni govoricemo nesto kasnije. na oznake redova iii kolona.

Prilikom unosa dugackih tekstova u celije, maze se desiti de, se tekst produzi dalje od desnog Ukoliko zelimo da iztmsemo red, kolonu iii grupu celija, mazemo koristiti naredbu Delete iz meni"
ruba ceUje. Mada vizualno izgleda kao da je u tom slucaju tekst zauzea vise od jedne celije, on ja Edit, koja se, u zavisnosti od toga sta je trenutno oznaeeno, ponasa poput naredbi Delete Rows,
zapravo logicki pripada sarno onol celiji u kOjoj je zapoeeo. Ukoliko zelimo da predemo u novi red Delete Columns i Delete Cells u Table meniju programa Microsoft Word. Brisanje redava odnosno
unutar iste celije, umjesto_pritiska na tipku ENTER (kaja zavrsava urias celiie) treba pritiskuti kom" kalona mozemo obaviti i POtTlocu naredbe Delete kOja se jav!ja u iskocnom meniju koji dobijamo klikom
binaciju tipki Aft + ENTER. Kasnije Cerna vidjeti da je moguce podesiti Excel da automatski vrsi desnom tipkom misa na ozna.ke redova iIi kolona. Pritisak na tipku Delete na tastaturi za vrijeme dok
prelamanje dugaekih tekstova u- posebne redove unutar cellja.
je grupa celija oznacena, brise njan sadrzaj, bez utjeeaja na ostatak tabele, kao i na informacije tome
kako su bili oblikovani podad unutar celija (tako da ce novouneseni podaci zadrtat! IstO ablikovanje).
UkolikO se uneseni brejcani podatak pretvori u niz znakova "#", to znaCi da je odgovarajuca
celija premala da prikaze odgovarajuci podatak. U tom slu6ajLi, treba prosiriti velicinu cellje, 0 eemu Da bismo premjes!i!! iii kopirali oznacenu grupu celija sa jednog na drugo mjesto, mozema se
cemo gavoriti u narednom odjeljku. korlstiti naredbama Cut, Copy i Paste lz Edit menija, iii istoimenim alatkama na "Standard" traei sa
alatima. A!ternativno, za premjestanje oznac~me grupe cellja sa jednog na drugo mjesto, mozemo
dovesti pokazivac misa na rub oznaeenog dijela celija. U trenutku kada pokazivac misa poprim'i oblik
bije!e strelice, pritisnemo lijevu tipku misa, i ne pustajuci je, odvueemo pokazivac misa na mjesto
2.2.4 Uredivanje i oblikovanje radnih slranica
gdje zelimo da prebacimo celije, nakon eega mozemo otpustiti tipku misa. Na slican naCin se moze
izvesti i kopiranje, samo prl tome treba drzati pritisnutu tipku elrl na tastaturi.
Prillkom unosa podataka u tabele, eesto se desava 'da podrazumijevane sirine kolona i visine
redova ne zadovoljavaju potrebe korisnika, 8toga je omogucena promjena sirina kolona i visina Ukoliko je potrebno da -sadrzaj neke celije Impiramo u nekoliko susjednih celija, potrebno je
redova. Sirine kolona mozemo podesavati tako sto dovedemo pokazivae misa u traku sa oznakama pokazivac mlsa dovest! u donji desn! ugao celije koju kopiramo. U trenutku kada pokazivac misa
kOlona,' tacno na I1nlju koja oznacava granieu izmedu dvije kolone, U trenutku kada pokazivae misa poprimi oblik velikog crnog znaka plus (+), pritisnemo lijevu tipku misa i, ne pustajuci je, prevueemo
poprimi oblik crnog kriza sa dvostranom strelieom lijevo-desno, pritisnemo tipku misa i, drzec! je pri"
pokazivac misa preko cellja u koje zelimo da kopiramo vrijednost, nakon cega otpustlmo tipku misa.
tisnutu, pomjerimo liniju koja razdvaja kolone na zeljenu stranu. Na sliean nacin mijenjamo i visine
Vidjecemo kasnije da je ovaj postupak od velike koristl prilikom rada sa formulama. Ukollko ist! pos-
redova. Slrinu neke kolone, odnosno visinu nekog reda, moguce je smanjiti i na nulu, tako da se taj
tupak primijenimo na grupu oznacenih celija koje sadrze razlieite vrijednosti (npc 1, 2, 3), Exeel6e
red iii kalona ne vide na ekranu. Za takav red iii kolonu kazemo da su skr;venL Skrivenu kolonu umjesto prostog kopiranja vrijednosti u nove cellje, pokusatl da nastavi zapoeet! niz vrijednosti u
mozemo otkriti tako sto u trad sa oznakama kolona pokazivac misa dovedema ne tacno na liniju nove celije (npr. 4, 5, 6, 7, itd.), Ova osobina naziva se samopopunjavanje (engL autofil~. Isti efekat
koja razdvaja kolone, nego otprilike jedan milimetar desno od mjesta gdje se nalazila skrivena mozemo postici i pomocu naredbe Fill u meniju Edit, preciznije pomocu njenih podnaredbi Down,
kolona. Pokazivac misa tada poprima oblik II. U tom trenutku je povlacenjem misa (uz pritisnutu lije" Right, Up i Left (koje preeiziraju smjer u kojem se vrsi popuna u odnosu na trenutno oznacene
vu tlpku) moguce otkriti skrivenu kolonu. Slican postupak se koristi za otkrivanje skrivenog reda. cellje). Pomocu podnaredbe Series moguce je podesavati kriterije na osnovu kojih Exee! vrsi
Skrivanje kalone odnosno reda, kao i njihovo ponovno otkrivanje, moguce je ostvariti i kllkom samopopunjavanje (u detalje se na ovom mjestu ne mozemo upustati).
desnom tipkom misa na oznaku reda odnosno kolone, a zatim izborom naredbi Hide odnosno
Unhfde iz iskocnog menija koji se tom prillkom ukazuje na ekranu. Motemo primijetiti da Microsoft Excel sadrzi iste menije kao i Microsoft Word, osim Sto je men!
Table u Excelu zamijenjen menijem Data. Takoder, veCfna naredbi u ovim menijima su iste ili slicne
Za obavljanje raznih operaeija nad sadrzajem 6elija cesto je neophodno prethodno ozna6iti odgovarajucim naredbama Warda. 8toga cemo na ovom mjestu istaGi sarno vaznije razlike.
jednu iii vise celija. Oznaeavanje mozemo obaviti, sHcno kao uWordu, koristenjem tipke Shiftzajed"
no sa tipkama sa strelicama, ili pritiskom na lijevu tipku misa, a zatim prevlaeenjem pokazivaca misa Meni File u Exce!u uglavnom sadri! iste naredbe kao i u Wordu. Naredbe New, Open, Close,
preko grupe celija koju zelimo oblljeziti, bez pustanja tipke misa. Na ovaj.nacin cemo uvijek obiljezi- Save, Save As, Print i Exit imaju u Excelu identicno znacenje kao j u Wordu. Ipak, pojadine naredbe
ti samo pravougaoni blok celija. Pri tome, jedna cellja uvijek izgleda kaD_da nije-qbiljetena, ali to je lz File menija u Excelu ne pastaje u Wordu, iii se ponasaju drugaeije nego u Wordu:
samo iluzija: Excelna taj nacin oznacava aktivnu celiju u obiljezen0t11 bloku. Exq.el dozvoljava.1 obil-
jezavanje grupe cellja kOje ne tine pravougaoni blok. Za tu svrhlJ potrebflo jee; drzeti-pritisnutu tipku Print Area - Oefinira dio radne stranice koji 6e se stampati. Kako Exeelove ratine stranice
etrl na tastaturi, kliknuti lijevom tipkom misa na svaku celiju koju zellm.o"da Dbilje1imo:_ DB:, bismo 01)11- mogu biti ogromne, a obieno sarno mali njihov dio sadrzi korisne podatke, Excel na poeetku
jezili citav red, dovoljno je kl1knoti na oznaku reda. SUeno vrijedi j-za obUjezavanJ8itave kql{Jne. Vise rada podrazumijeva da se stampa sarno onaj dio radne stranice koji sadri! cellje koje nisu
redova odnosno kalona mozemo obiljeziti prevlacenjem pokazivaea miSa" preKo "ezj1aka- redoya"ili prazne. Podnaredbom Set Print Area mozema za die koji se treba stampati proglasiti prethod~
kolona (uz pritisnutu lijevu tipku mlsa). Ukoliko zelimo obi!jeziti citavu --iaQefu,: kJ(kMmo 'l1JlSem na. no oznacenu grupu celija. Podnaredba Clear Print Area vraca podrazumijevane pretpostavke
polie kOje se nalazi u gornjem lijevom uglu, u presjeku trake sa oznakamtf;redova i koloAa. o povrsini koja ce se stampatL
Obiljezavanje ponistavamo k!ikom misa bilo gdje unutar radne- stranic~: . '" - Page Setup - Omogucava precizno podesavanje izgleda stranice. Mada ova naredba postoji i y ,
Wordu, ona se u Excelu prilicno razlikuje. lzbor ave naredbe otvara dijalog sa 4 kartice: Page,
Ukoliko smo, nakon unosenja podataka u tabelu, primije~iIJ da rri~ramo :u~etn~ti Hove redo~re, Margins, Header/Footer i Sheet. Kartica Page ima slicnu ulogu kao kartica Paper Size u dijalC!9u
kolone, iii samo pojedinaene celije, to mozemo ~raditi pomocu nar~~bi Ro~, Columns i Cells u za istoimenu naredbu u Wordu, dok je kattica Margins sliena istoimenoj kattie! u Wordu. Kartica
152 153
Header/Footer omogucava ubacivanje dijelu zaglavlja iii podnozja (polja Left section, Center section i Right section). Slicno kao u
zagJavJja i podnozja u Excel dokumente, Wardu, i u Excelu je, pomocu odgovarajuCih ikana, moguce u zaglavlje iii podnozje umetnuti speci-
koje se obavlja drugacije nego u Wordu (0 ja!ne elemente kao 5to su broj stranice, tekuGi datum, ltd. Ne treba da vas zbuni to sto ce Excel,
camu cemo govoriti kasnije), dok kartica za razliku od Worda, na mjesta umetnutih specljalnih elemenata upisati izvjesne sifrovane oznake
Sheet omogu6ava da odredimo detalje 0 poput "&[Page]", "&[Date]" itd. Ove ce oznake, prilikom stampanja dokumenta, biti zamijenjeme nji-
tome sta 6e tacno biti odstampano na hovim pravim znacenjem.
papiru, kao i kako 6e se radna stranica
raspodijeliti na vise listova papira u slueaju lVleni Insert u Exce/u sadrzi naredbe Cefls, Rows, Columns i Worksheet kOje smo vec objasnili,
da je sadrtaj radne stranice takav da ga je kao i naredbe Picture i Object kOje obavljaju istu funkciju kao u Wordu. Od ostaHh naredbi iz meni*
nemoguce odstampati na jed nom listu ja Insert vrijedi spomenuti sljedece naredbe:
papira. Slika sa desne strane prikazuje Chart- Ubacuje gratikon u radnu knjigu. 0 ovoj naredbi detaljnije cemo govoriti kasnije.
upravo izgled kartice Sheet dijaloga za
izvrsenje naredbe Page Setup. Page Break - Ubacuje prekid stranice tacno na mjestu iznad trenutno aktivne celije, Prekid
stranice se kasnije maze ukloniti pomaGu naredbe Remove Page Break,
Meni Edit u Exeelu takoder je veoma Function - Ubacuje funkcije u tabelu. 0 funkcijama cemo detaljnije govoriti kasnije.
slican Wordovom Edit meniju. Naredbe Undo,
Redo, Repeat, Cut, Copy, Paste, Find i- Replace_ imaju isto znacenje kao i u Wordu, dok sma Map - Ubacuje digitaliziranu geografsku kartu u radnu knjigu. 0 ovoj mogucnosti bi se mogla
naredbe Fill, Delete, Delete Sheet- i Move or Copy Sheet ve6 objasnili. Od preostalih naredbi iz Edit napisati Citava posebna knjiga, taka da 0 njoj ne6emo govoriti detaljnije.
menija nutno je objasniti jos samo jednu naredbu:
Men] Format u Excelu omogucava oblikovanje (tormatiranje) radnih stranica. Ovaj meni je orga"
Clear - Brise oznacenu grupu celija. Ova naredba sadrzi nekoliko podnaredbi. Podnaredba niziran drugacije nego istoimeni men! u Wordu, taka da cemo mu posvetlti malo vise patnje. Sve
Contents brise samo sadrtaj 6elija, ali ne i informacije 0 tome kako je sadrzaj cel!ja bio obliko- naredbe iz ovog, menija odnose se na aktivnu celiju, odnosno na oznacenu grupu celija. Neke od
van (pritisak na tipku De/ete ekvivalentan je upravo ovoj podnaredbi). Podnaredba Formats najvaznijih naredbi u meniju Format su s!jedece:
brise samo informacije 0 oblikovanju, dok podnaredba All brise kako sadrtaj, tako i intormacije
Cells _ Omogu6ava obllkovanje obiljezene grupe celija. Dijalog za izvrsavanje ove naredbe
o oblikovanju<
veoma je bogat i sastojl se od nekoliko kartica. Kartica Numberomogu6ava podesavanje naCina
Meni Viewu Exeelu slromasniji je od istoimenog menija u Wardu. Naredbe Too/bars, Fufl Screen na koji 6e se prikazivatl brojcani podaci. Na primjer, moguce je podesavati broj decimala u
i Zoom imaju Isto znacenje kao u Wardu, dok smo naredbe Formula Bar i Status Bar vee objasnilL prikazu, kao 1nacin prikaza negativnih brojeva. Dalje je mogu6e podesavati da Ii treba ispisivati
Od ostalih naredbi u View meniju programa Excel, neophodno je spomenuti sljedece: oznaku valute uz brej (ime valute ovisi od regionalnih postavki racunara), da Ii ce se brojevi koji
nisu cijeH ispisivati kao razlomci iii kao decimalni brojevi, da Ii ce se brojevi ispisivati sa znakom
Normal- Prikazuje radnu stranicu u uobi6ajenom obliku. postotka (%), il:d. Kartica Alignment odreduje kako 6e podaci biti poravnati unutar telija.
Page Break Preview - Prikazuje radnu stranicu u preglednom naeinu rada. U ovom naCinu Moguce je podesavati kako ravnanje po horizontali, tako i ravnanje po vertikali. Takoder je
rada mozemo (u umanjenom mjerilu) da vidimo kako 6e radna stranica prilikom stampanja biti moguc';e podesavati smjer u kojem se tekst ispisuje unutar celija (podrtano je cak i koso ispisi"
raspodijeljena na I1stove papira u slueaju da je sadrtaj radne stranice takav da 9a je nemoguce vanje). Ukoliko uklju6imo opciju Wrap Text, dugacki tekstovi unutar oznacenih ceHja automat"
odstampati na jed nom listu paplra. Pri tome takoder mozemo i da pomoc';u misa vizualno ski ce se prelamati u posebne redove unutar celija. Ukoliko ukljueimo opciju Merge Cells, sve
podesavamo ovu raspodjelu pomicanjem linija koje dijele radnu stranicu na dijelove, a kOje se oznacene ce!ije ce se stopiti u jednu veliku 6ellju, bez utjecaja na iig!ed ostatka tabele. Kartica
prikazuju na ekranu u ovom nacinu rada. Font omogucava podesavanje oblika, velitine, stila i boje znakova koji se ispisuju u celijama,
poput naredbe Font u meniju Format programa Microsoft Word. Kartice Border i Patterns
Header and Footer - Omogu6ava unosenje zaglavlja i podnotja dokumenta, Isti etekat postite omogucavaju crtanje okvira oko obiljezene grupe 6elija, kao i njihova bojenje i sjentenje, na
se izborom kartice HeaderlFooternakon pokretanja naredbe Page Setup u File meniju. Nakon iz- slican nacin kao pomocu naredbe Borders and Shading u Wordovom meniju Format.
bora ove naredbe, iz padaju6!h lisH Header i Footer mozemo izabrati oblik zaglavlja iii podnotja
lz spiska unaptijed pripremljenih oblika zaglavlja i podnotja. Klikom na dugme Custom Header Row - Omogucava podesavanje vislne redova. Ova naredba sadrz.i podnaredbu Height koja
adnosno Custom Footer, Jl}ozemo sami definlrati svoje zaglavlje i podnotje (sto obicno treba radi- omogucuje korisnlku da unese precizno teljenu visinu redova, zatim podnaredbu AutoFit koja
" , -- ti, jer su unaprijed pripremljena namjesta visinu svakog oznacenog reda da bude tacno onolik"a koUko je- potrebno za prikaz
zaglavlja i podnozja uglavnom podataka koji su uneseni u odgovarajuce celije,- te p0dnared~_ Hide koja sakriva oznacene
11 M ,
neprik!adna za nase potrebe), redave i Unhide koja otkriva redove koji su posljednji put bili sakr1veni. -
To "~,,,i aWf)" _ . dau" t""', i""""",., Qr lob.w"e. _po~"on ,~.-;'!'""J,o PofOt
'" tho edit 09), !;he:' ohw:" {he ~r9,,'Ial:o b,ullOn, Nakon izbora komandi Custom Column - Omogucava podesavanje sirine ko!~na. Qva naredb8, -sadrii- podnaredbe Width,
Header odnosno Custom Footer, AutoFit Selection, Hide i Unhide, eije je znaeenje analogn-o po~~n~redbarna naredbe Row,
dobijamo novi dijalog (prikazan na
Sheet - Omogucava podesavanje opcih svojs~ava. nlthie .sminice.- Ova naredba sadrii
slici lijevo), koji omogucava da
podnaredbe Rename za promjenu imena stranice, Hide'j tJnhide_ za skrivanje odnosno otkri~
posebno odredimo dije!ove zaglav~
vanje citave stranice, i Background za izbor slike k:oja de bi!!. koriStena kao pozadina radne
Ija iii podnozja koji ce se prikazivati
stranice. -
u lijevom, sredisnjem iii desnom

154 155
AutoFormat - Omogucava automatsko oblikovanje oznacenog dijela radne stranice u skladu Sa gotovo svim ovim alatkama upoznali smo se kroz program Microsoft Word, Stoga cemo objas~
sa nekim od nekoliko desetina unaprijed pripremljenih obnka, Djeluje na ist! naein kao naredba niti sarno alatke koje ne postoje u Wordu: '
Table Autoformat iz Table menija programa Microsoft Word.
Paste Function - Skracenica za naredbu Function iz menija Insert,
Conditional Fonpatling - OmoguC'ava da neka 6elija automatski promljeni izgled onog trenutka
kada se odredeni uvjet ispuni. Na prlmjer, pomocu ove naredbe je moguce postaviti da se sadrzaj Chart Wizard - Skraceniea za naredbu Chart iz menija Insert,
cellje aboj! u crveno onog trenutka kada vrijednost upisana u celiju postane manja od reclmo 15, Map - Skraceniea za naredbu Map iz menija Insert

Men! Tools u Excelu sadrii naredbe Spelling, AutoCorrect, Track Changes, Macro, Customize i Drawing Uk!jucuje, odnosllo iskljucuje traku sa alatima "Drawing", koja je inace po1puno
Options kOje djeluju identicno iii veoma sli~no kao istoimene naredbe u meniju Tools programa identicna, kako po izgledu, tako i po mogucnostlma sa istoimenom trakomsa alatima u Wordu.
Microsoft Word. Od specificnih naredbi avag menija kOje ne pastoje u Wordu, spamenucemo
Traka sa alatima "Formatting" u ExceJu takoder lma dosta zajednickih elemenata sa alatkama kOje
sljedece naredbe:
se javijaju u programu Microsoft Word
Protect - Omogucava zastitu eitave radne knjige iii sarno pajedinih radnih stranica od
neovlastenog mijenjanja, Merge and Pacm! JncrC(l,\'(' Font
Font Bold Undafinc Center Center Style Decima! Borders Color
Goal Seek - Pronalazi k6ju je vrijednost potrebno upisati -u neku celiju, da bi'neka druga celija
kOja zavisi od nje dobila neku ieljenu vrijednost 0 avome cemo detaljnije govoriti kada bude-
mo govorili 0 formulama, 11 Arial
t 10
,t t t !l:j't. , t
l.1l I !! ~ (W %
<-;0 .00 "-'- -'-
t~ t~
t
,- '<,,;<Ii.
'
t.
r r
.M ~.IJ ;

Solver- Omogucava odredlvanje koje vrijednosti treba upisati u grupu oznaeenih celija da bi sadltaj
neke druge eeHje koja zavisi ad oznacenih celija poprimio maksimalnu iii minimalnu vrijednost.
Font
f t f t f
Italic Align Align Currency Comma Decrease
f
Fill
Meni Data ne postoji u Wordu, i daie programu Microsoft Excel nake mogucnosti kOje nalikuju
Size uft Right 1)('("111101 Color
mogucnostima programa za rad sa bazama podataka, Naredbe ovog menija, mada izuzetno
korisne, veCinom su prHicno s!ozene, i cesto zahtijevaju da tabele budu organizirane na tacno SHena kao u Wordu, sve ove naredbe odnose se na aktivnu celiju, iii na grupu oznacenih celija.
utvrden nacin, taka da nam prostor ne dozvoljava da ih obradujemo u ovom udzQeniku. Pored Objasnimo znacenje a!atki sa ove trake kOje ne postoje u Wordu:
naredbe Sort, kOja je zapravo identicna naredbi Sort 1z Wordovog menija Table, informativno cemo Merge and Center- Spaja sve oznacene celije u jednu vecu 66liju, i poravnava njen sadrzaj
spomenuti i sljedece naredbe: na sredinu. Dejstvo ove aiatke moze se ponistiti pomo6u naredbe Cells u meniju Format,
Filter- Omogucava prikaz samo onih podataka u tabeli ko]i zadovoljavaju odredene kriterije. iskljucenjem opclje Merge cells na kartiei Alignment,
Na prlmjer, moguce je zahtijevati prikaz podataka sarno a ucenicima ko]i imaju odliean uspjeh. Currency - Prikazuje sadrzal celija kOje sadrze brojeve na nacin uobicajen u bankarstvu, sa
Form - Omogucava unos podataka u tablicu putem formulara umjesto direktnim popunjavan- pripadnom oznakom va!ute.
jem celija u tablicL Percent Style - Prikazu]e sadrzaj celija kOje sadrze brajeve kao procentualne vrijednosti.
Validation - Omogu6ava zabranu unosa u odredene ceHje onih podataka ko]i ne ispunjavaju Comma Style - Prikazuje sadrzaj ceUja koje sadrze brojeve na nacin uobicajen u bankarstvu,
postavljene uvjete. Na primjer, moguce je zabraniti da se u ceUje kOje sadrze podatke 0 oeje- bez oznake va!ute.
nama unese bilo kakav podatak koji nije eijeli bra] od 1 do 5, Ova izuzetno mocna naredba je
prakticki neophodna za kreiranje proracunskih tablica koje ee se profesionalno koristitL Increase Decimal - Povecava bro] decimal nih mjesta u prlkazu sadrzaja celija kOje sadrze
brojeve.
o menijima Window i Help u Excefu uglavnom se nema nista vise reci nego 8to je vee receno a to Decrease Decimal--Smanjuje bra] decimalnih mjesta u prikazu sadltaja celija koje sadrie brojeve,
istoimenim menijima u Wordu.
Dejstvo posljednjih pet navedenih alatki moze se ponistiti pomocu naredbe Cells u meniju Format.
Na sljedecoj slle,i prikazan je uobieajeni izgled "Standard" trake sa alatima u programu Microsoft Excet:
Print
New Save Preview Cut Paste Undo 2.2.5 Obavljanje proracuna u rac!nim stranicama

~
Dii;Q
t t t t t
&[9.~ db ~~<J I."}~
Osnovnu snagu programima za tabelarna izracunavanja daju formuJe. Formule definlraju nacin _
na koji sadrZaj nake od celija zavisi od sadrzaja drugih celija. Formule u programu MicrosQft Excel
obavezno pocinju znakom ";;;:" iza kojeg mora slijedltUzraz, Izrazi predstav!jaju pravila koja govor~
f t t f t
Open Print Spelling Copy Format Redo Pa.I'te" --Paste __ -Sort -Zoom
kako se racuna sadrzaj cellje u koju]e formula upisana. Izrazi mogu sadrzavati brojeve, imena 6efija
(bilo genericka, bilo korisnicki definirana imena), oznake osnovnih matemati6kih operacija- P9put: .
Painter juncti(J:l junction D~.I'cendif!g sabiranja (+), oduzlmanja (-), mnotenja (*) i dljeljenja (I), zatim zagrade za definiranje prioriteta "
operacija (s obzirom da mnozenje 1dijeljenje imaju visi prioritet u odnosu na sabiranje i oduzima: "
nje), kao i funkcije, sa kojima cemo sa uskorb upoznati. Bitno je naglasitl da se u izrazima -uvijek
156 157
koriste iskljucivo male zagrade, bez 'obzira na njihov broj i mjesto u izrazu. Pretpostavimo, na prim~ lu pravilno unijeli, pokrenite naredbu Options iz menija Tools, a zatim provjerite da Ii je ukljueena
jer, da smo u celiju C7 unijeli formulu koja glasi =1+ (B2*3+Bl-S) 12. Ova formula sadrZi Izmz oReija Formulas na karUci View (ukoliko jeste, Iskljucite je).
1 + (B2 *3+Bl-'5) 12 koj] govori da sadrzaj celije C7 treba da bude jednak zbiru broja 1 i polovine
vrijednosti izraza B2*3+Bl-5 (tj. polovine vrijednosti proitvoda sadrzaja ceHje 82 sa brojem 3, Na sliean nacin mozemo unljeti formule kOje 6e racunati ukupan prihod za ostala dva preduzeca.
Tako, u celiju 14 treba unijeti formulu "'C4+D4+E4+F4+G4+H4, dok u celiju 15 treba unijeti formulu
uvecanog za sadrtaj celije 81 i l)manjenog za 5).
"'C5+DS+ES+F5+GS+H5 (kasnije cerno vidjeti kako se ovaj postupak moze ubrzati, ali za pocetak
Prilikom unosa formula u cellje treba voditi raeuna 0 nekoliko Cinjenica. Prvo, formula ne smlj'e malo vjezbanja rU6nog unosenja formula nece skoditi). Total je, naravno, jednak zbiru sadrzaja celija
sadriavati nikakve razmake, inace neee biti shvacena kao formula, Hi ce Exce/odbiti da je prihvati 13, 14 j 15, tako da u celiju 18 treba upisati formulu =13+14+ IS (napomenimo da formulu uvijek treba
(korisnici cesto prave gresku taka sto nesvjesno upisu razmak ispred znaka jednakosti). Drugo, prl- zapoceti u novoj caliji, a ne niposto kao produzetak teksta u nel<oj ad cellja koje sadrze tekst). Ostaje
likom unosa formule direktno u celiju, svaki klik rnisem na neku od celija ne djeluje na uobicajeni jos da izracunamo prosjecne pr!ho'de po mjeseclma. Prosjek cemo dobiti ukoliko saberemo prihode
nacin, vee dopisuje u formulu ime trenutno obiljezene ceHje. 'Isto vrijedi i za upotrebu tipki sa streli- za sva iri preduzeca i podijelimo zbir sa ukupnim brojem preduzeca (tj,'sa 3). Stoga, formule koje
eama. Ova osobina moze ponekad bit! jal<o korisna, medutim poeetnike u veCini slucajeva samo treba upisati u cellje C6, 06, E6, F6, G6 i H6 treba redom da glase '" (C3+C4+C5) /3,
zbunjuje. Stoga, ukoliko zelimo uredivati formulu unutar ceUje pomo6u tipki sa strellcama, moramo =(D3+D4+D5) 13, = (E3+E4+E5) /3, = (F3+F4+F5) /3, :; ; (G3+G4+G5) /3 i = (H3+H4+H5) /3.
se koristiti iskljueivo po/jem za uredivanje formula u trad formula (avo polje aktiviramo klikom misa U celiju 16, koja bi trebala da sadrzi prosjecni prihad za citav polugodisnji period, mozemo upisatl
unutar njega). Oa bismo zapoeeli unos formule u polje za uredivanje formula, dovoljno je I<liknuti formulu :::C6+D6+E6+F6+G6+H6, formulu ::::(I3+I4+I5}/3, iii formulu =18/3 (sve tri formule
misem na dugme oznaceno znakom "::::" u traei formula. Takoder, unos formule uvJjektreba zavrsiti daju istl rezultat - razmislite zasto). Napomenimo da nije potrebno siriti kolone da bismo upisali
iskljucivo prltiskom na tipku ENTER iii klikom na dugme_ sa zelenom kvacicom (/). dugacku formulu, jer ee prikaz formule 10nako biti zamijenjen prikazom odgovarajuceg rezultata.

Rad sa formulama objasnicemo na jednom konkretnom primjeru. Pretpostavimo da je potrebno da Kako ce prosjecne vrijednosti cesto biti brojevi koji nisu cJjeli, pomocu alatki Increase Decimal i
vodimo evidendju 0 ostvarenom prihodu (u hiljadama KM) po mjesedma u tol<u polugodisnjeg perio~ Decrease Decima! na "Formatting" traGi sa alatima mozema oblikovati ceHje C6, 06, E6, F6, G6, H6
da (Januar - Junl) za tri preduzeca: "Kristalinvest", "Drvopromef' i "Masinotehna". Pored toga, potreb- i 16 da prikazuju sadrzaj uvijek na dvije decimale. Nakon sto smo obavili cjelokupni opisanl postu-
ni su nam podad 0 ukupnom prihodu za sva trl preduzeca u toku polugodisnjeg perioda, zatim ukup- pak, radna stranica bi trebala da izgleda ovako:
ni prihod svih preduzeca (total), I<ao i prosjecni ostvareni prihodi po mjesecima. Pretpostavimo,da smo
unijeli podatke a mjesecnim prihodima u radnu stranicu, i oblikovali tabelu kao na sljede60j slld: A B J

A B 2 Januar Februar Mart April Maj Juni Ukupno


1 3 Kristalinvest 160 140 210 130 170 150 980
2 Januar Februar Mart April Ma) Juni Ukupno
4 Drvopromet 160 210 230 150 160 140 1050
3 Kristalinvest 180 140 210 130 170 150
5 Masinotellna 200 170 230 130 140 160 1030
4 Drvopromet 160 210 230 150 160 140
6 Prosjek 180,00 173,33 223,33 136,67 156,67 150,00 1020,00
5 Masinotehna 200 170 230 130 140 160
7
6 8 Total: 3060
7 9
8
9 "-
, Sve ova izgleda lijepo, medutim do istog rezultata smo mogli doci brie uz pomoc obicnog
dzepnog kalku!atora. Da bismo vidje!i pravu svrhu formula, pretpostavimo da iz nekog razloga treba
da promijenimo vrijednost nekog od mjeseenih prihoda. Promijenimo, reeima, iznos prihoda pre-
Naravno, ukupne prihode: total,.kao Lprosje6ne prlhode, mozemo bez problema lzracunati i rucno. duzeca "Kristallnvest" za mjesec april (celija F3) sa 130 na'-1~O i pogledajmo'sta se desava. Istog
Medutlm, zasto rie ptistlti _Exce/--_da o~ayi ovaj posao za nas? Mada postupak ko]] je neopllodno trenutka kada izvrsite Qvu-promjenu, primijeticete da se automatskLpr6rriijenio- i sadrzaj nekih drugih
obaviti za tu svrhu na 'prvi pogf~d- jzgle9a .malo slozenjji, korist od takvog postupka je visestruka. celija. 8adrtaj celiie F6 promijenio se sa 136,67 na_153,33, sadrzaI"ceUie: 13- promijenio se sa 980 na
8toga, krenimo na pos~o~ LJ.k~p.n(~rihod za "K:ristalinvesr', koji treba cia se upise u celiju !3, raeun~ '1030, sadrzaj cellje 16 promijenio se sa 1020,00 na-l036;67,.dok sejadr,zaj:celije I? promijenio sa
se kao zbir prihoda ovo~rprediJ;teG~ za_ svih 6 mjeseei, kojl su upisani u cellje C3, 03, E3, F3, G3 I 3060 na 3110. Ukoliko se ove promjene nisu dogodile, p.I)Kre'1lte naredbu Options]z menija Tools,
u
H3. Upisimo stoga ce1iju~3 torrn,uJu -=C3+D3+~3+F3+G3+H3 (kasnije cemo vidjetj kako se ova i provjerite da Ii je aktivno radio dugme Automatic na kartici Calcl.il~tion(uko!iko nije, aktivirajte gal.
formula moze zaplsatl. krac-ef Ukollka sm-o (o_rmulu unljeli kako treba, nakon pritiska na tlpku ENTER Sta se zapravo desava? CeUje !3 i F6 zavise od sadrzaja ceJije- F,{Fpreko-fonnula 'upisanih u njih,
formula nestaje sa- ekrana,- i i.Jmfesto nje pojavljuje se odgovarajuci rezultat (ko]i u navedenom prim- deHja 18 zavisi od cellje 13, dok celija 16 zavisi od ceIUa'F6: 13-ili"-IS ,(zavisno koju ste formulu koristili),
jeru lznosi 980), Pri tom-e, form~u!u j datje mo~emo da vidimo u polju za uredivanje formula kad god tako da je promjena sadrzaja ceHje F3 pokrenula "Iaoci':lnu i'eakcfju'! koja je dovela do izmjene
je odgovarajuca celija aktivr\a. _Takoder, dvostruki klik na celiju prikazuje upisanu formulu, i sadrzaja svih ovih cellja. Da smo rucno racunali i upisivaH vrijedn-bsti-, nak6n svake promjene morali
omogucava njeno naknadno wedivanje. Ul<ollko se nije pojavio rezultat, a sigurni ste da ste formu- bismo vrSiti ponovna preracunavanja, pri eemu bismo prethodnombrali provjeriti sta od cega zavisi

156 159
(uz veliku vjerovatnocu da cemo neMo previdjeti). Ovako smo se jed nom pomueili da napravimo slicne funkci]e je funkclja AVERAGE, kOja sluzi za raeunanje prosjeene vrijednosti. Na primjer,
"pametnu" tabelu, koju kasnije mazema koristitl, j po potrebi sarno mijenlati neovisne podatke. ?~a AVERAGE(D3:D8) je skraceni zapis za izraz (D3+D4+D5+D6+D7+D8) 16, odnosno
automatizacija naroeito dolazi do izrazaja kada radimo sa veoma velikim tabelama sa brojnlm SUM (D3 : D8) 16: Narocita korist ad funkcije AVERAGE je (;lnjenica da ne moramo brojati podatke,
meduzavisnostima, 8to je u poslovnoj praksi izuzetno cest slueaj. kao i da ne moramo prepravlj'ati formulu svaki put kada dodamo odnosno obrisemo neki podatak.
Druga vrsta funkcija sluzi za obavljanje neklh radnji koje se lnaee ne bi mogle izvesti bez njih, Na
U slueaju da iz bilo kojeg razloga formula ne maze da izraeuna vrijednost (npr. ukoliko upisemo primjer, funkcija SQRT raeuna kvadratni korijen svog argumenta, sto se ne mote uraditi bez nje.
formulu ::oAl +Bl a celije Ai iii B1 ne sadrze brojeve nego tekst, ilj ukoliko upisemo formulu =Al/B1 Funkcije mogu biti sastavni dio s!oienijih izraza koj] cine formulu, t.ako da fe formula
a cell]a 81 sadrzi nulu), umjesto rezultata pojavice se informacija 0 gresci, koja uvijek poCinje znakom o::l+AVERAGE (D3 :D8) I (SQR'f{A2-1) +1) sasvlm legalna formula.
"#", npr. #VALUE 1 iii _#DIV 101 (podsjetimo se da pojava velikog broja znakova "#-" u celiji ukazuje
daje sirina odgovarajuce_kolone neadekvatna za prikaz 6dgovarajueeg pOd~tka i r~~ulta~a). Tako~er, Razll6ite funkcije prihvataju razlieite vrste argumenata. VeGina funkcija kao argumente prihvata w

trebamo paziti da ne napravimo niz formula kOje se "vrte u krug" ($to se moze desltl ukollko, na ~.nmw ju iZraze. Pojedine funkcije (poput SUM i AVERAGE) prihvataju specijalne vrste argumenata naz w

jer, u ceHje Ai, 81 i C1 up'isemo redom formule =B1+1, ",C1+1 i =Al'1:1). Ovakve g.re.ske su pn!l~no vane opsezi (engl. range) i liste (engl. lis~. Opsez; predstavljaju imena dv!je celije razdvojene
eeste i nazivaju se kruine reference (engl. circular references). Desl Ii se da sluca]no napravlmo znakom dvotacka (:) i predstavljaju sve cellje u pravougaonom podrueju ciji uglovi lei.e na
kruznu referencu, Excel ee nas na to odmah upozoriti. Kruzna referenca moze nastati i u slueaju da nazna6enim celijama. Na primjer, opseg B2: B6 predstavlja ceHje B2, 83, 84, 85 j 86, opseg
u neku celiju upisemo formulu u kojoj se spominje upravo ta celija (npr. ukoliko u ceUju D5 upisemo C2 ,F2 predstavlja celije C2, 02, E2 i F2, dok opseg B2, C5 predstavlja celije 82, B3, 84, 85, C2,
formulu =D4+D5+D6). Ovakve formule Excel jednostavno neee prihvatiti. Napomenimo jos i to da se C3, C4 j C5. Uste predstavljaju skupine izraza j opsega ko]i su medusobno razdvojeni znakom
u mnogim formulama prazne ceHje tretlraju kao da imaju sadrzaj jednak null. tacka~zarez(i). Na primjer, A2 :A5 i 5*B4+1 i C3 :C6 i 2 je primjer liste. Sam opseg iii izraz takoder
se smatraju specijalnim slueajem listi.
Unosenje vellkog broja formula koje su medusobno sHene moze bitl jako zamorno. Pogledajmo,
na primjer, ceHje 13, 14, 15 i 16, u koje smo upisali veoma sHene formule =C3+D3+E.3+F:~G3+H3, Excel posjeduje izuzetno vejiki broj funkcija (oko 250 u verziji Microsoft Excel 97), od kojih
o::C4+D4+E4+F4+G4+H4, ""C5+D5+E5+F5+G5+H5 i ;:;C6+D6+E6+F6+G6+H6. Zamlshmo sta rnnoge obavljaju veoma slozene matematicke, statisticke iii inzinjerske proraeune. Srecom,. vee je
bismo morali uraditi da sma, umjesto tri, lmali npr. 300 preduzeca! Srecom, Excelomogucava da se poznavanje svega desetak funkcija dovolJno za izradu veoma mocnlh proracunskih tablica. U funkci w

isti posao obavi mnogo lakse. Dovoljno je unijeti formulu samo u celiju 13, a zatim sadrzaj te ceUje je kOje svakako treba poznavati spadaju funkcije opisane u sljedecoj tabe\i:
kopirati u celije 14, 15 i 16, pomocu naredbi Copy i Paste, iii jos bolje, pomocu crnog znaka plus (+)
koji se javlja kada pokazivac misa dovedemo u donj] desni ugao celije (na nacin kOji.sm? ~ec o?~a~ SUM (lista) Daje 1<80 rezultat sumu svih elemenata u list! lista. Na primjer,
nili kada smo govorili a samopopunjavanju). Excelce tada, umjesto bukvalnog koplranja !dentlcnrh
SUM(A3iB5;1) je isto sto i A3+B5+L Usta obicno sadrii barem
formula, obaviti automatsko prilagodavanje formula celijama u koje se formula kopira. Tako 6e se: jedan opseg celija. Na primjer, SUM(C2:C6) je skraceni zapis za
na prrmjer, formula ;:; (C3+C4+C5) /3, prilikom kopiranja iz cellje C6 u celiju 06, automatskl lzraz C2+C3+C4+C5+C6, dok je .sUM-(Al;B2 :C4il) skraceni zapis
pretvoriti u formulu '" (D3+D4+D5) 13. Ova osobina naziva se intelfgentno kopiranje ill kopiranje za izraz Al+B2+B3+B4+C2+C3+C4+1.
sa samoprUagodavanjem.
-
Postoje situaclje u kojima inteligentno kopiranje moze da smeta. Pretpostavimo da ze!imo da u ovu COUNT (!ista) Daje kao rezultat bra] cellja kOje sadrZe brojeve u listi (ista, koja se
tablicu dodamo i kolonu "J" u koju cemo,upisati iznose poreza koji treba platiti (u cellje J3, J4 i J5), i pret- obieno sastoji od jednog iii vise opsega celija. Na primjer,
COUNT(C2:C6) daje kao rezultat braj ceUja u opsegu od C2 do C6
postavimo da je procentualni iznos poreske stope upisan u eeliju CB. Tada formule za racunanje poreza
koje treba upisati u celije J3, J4 i J5 redom glase =I3*c8/10Q, =I4*C8/l00, i =I5*C8/100. koje sadrze brojeve.
Medutim, ukoliko upisemo sarno prvu formulu u celiju J3, i izvrsimo "inteligentno" kopiranje u celije J4 j
J5, primijetlcemo da je Excel pretvorio plVU formulu redom u formule ::::I4 *C9/100 i =I5*C10/lOO, COUNTA ((ista) Djeluje slicno poput funkcije COUNT, ali broji sve ceHje koje nisu
5tO nije korektno! -Nairne, Excel nije smio da mijenja adresu ceHje CS. Excel, medutim, nije mo~ao ovo prazne, tj. koje sadrze barem neki podatak.
da zna. Da bismo rijesi!! ovaj problem, u ceHju J3 treba upisati formulu "=13 * $C$8/10Q, nakon caga ce
inteligentno kopiranje rad!t! kako treba. Oznaka dolar ($) ispred oznake reda ill ~olone govori Excefu da COUNTBLANK (lisla) Djeluje sHeno poput funkcije COUNT, ali broji sve eelije koje su prazne,
oznaku tog reda odnosno kolone ne treba mijenjati prilikom kopiranja. Adrese"_celija- poput :'C8", koje se tj. koje ne sadrze niti jedan podatak.
mijenjaju prilikom koplranja formula u druge celije, naziv':lju s~ relatil(ne--adr~se, -dok se adrese ce.lij~
poput "$C$S", koje ostaju nepromijenjene rna gdje se kopiraJe, naziva~u Bp'$Qfutne, adrese. Postoje I
AVERAGE (lista) Daje kao rezultat aritmeticku sredinu svih elemenata u list! lista (tj.-
mjesovite adrese, poput "$CS i "C$S", all se one koriste znatno rjede. _ -~--
sumu svih elemenata podijeljenu sa brojem e!emenata).
. - - -
AVERAGE ([isfa) ne predstav!ja nista drugo nego skraceni zapis za
Vee smo rekli da formule mogu sadrzavati i funkcije. Postojl Vii'?:!'vrst{f,unk~iJ':!: Jedna-vrsta izraz ,sUM (lista) ICOUNT(lista). ~

funkcija predstavlja sarno skraceni naein zapisivanja nekih drugih izra~a. "Naprimjer, SUM (El3 : D8)
predstavlja skraceni zapis za izraz D3+D4+DS+D6+D7 +08, dok .-spM(BS-: vredstavlja skraceni
MAX (lista) Daje kao rezultat najveci ad svih brojcanih elemenata u list! lista:-Na- I "-
zapis za lzraz B5+C5+DS+ES. !za imena funkcije (SUM u nayei;lenim primje:rirna), uvijek u paru
primjer, tvIAX (C3 : G3) daje kao rezultat najveci od svih brojeva"-"
zagrada slijede informacije koje govore na sta se konkretno funkcija. rfdnosi (D3 : D8 odnosno
upisanih u celije u opsegu ad C3 do G3. ~

B5 :E5 U navedenim primjerlma). Ove informacije zovu-se argumenti-furikcija.-Jos jedan primjer


161
160
MIN (lista) Daje kao rezultat najmanji od svih brojcanih elemenata u listi lista.
"'IF(COUNTIF(C3: G3 il)=0;ROUND(AVERAGE(C3:G3);O);1)
..

SQR'r (izraz) Daje kao rezultat kvadratni korijen vrijednosti izraza izraz. Ova formula na prvi pogled djeluje potpuno nerazumljivo. Medutim, ukoliko se ona paz!jivo rasClani,
. vidjecemo da u njoj nema nis{a posebno neobiCno. Izraz se sastoji od funkcije IF, u kojoj se kao uvjat
ABS (izraz) Daje kao rezultat apsolutnu vrijednost (modul) lzraza izraz. javlja izraz COUNTIF (C3 : G3; 1) =0, koji ponovo sadrzi funkeiju COUNTIF (C3 : G3 ; 1) koja broji
jedinlce u opsegu celija ad C3: G3 (tj. broji slabe oejene). 8toga je uvjet COUNTIF (C3 : G3 i 1) ",,0
taean ako je bra] jediniea jednak nuli, tj. ukoliko ucenlk nema slabih oejena. Ukoliko je uvjet ispunjen,
ROUND {izraz; brded Daje kao rezultat vrijednost izraza izrdz zaokruzenu na broi decimala
funkdja IF kao rezultat daje vrijednost izraza ROUND (AVERAGE (C3 :G3) ;0), a ukoliko uvjet nije
odreden izrazom brdec. Na primjer, ROUND (A3 ; 2) daje kao rezultat
ispunjen, funkcija IF kao rezultat daje jedinieu (treci argument funkdje IF), tako da je uspjeh jed-
vrijednost cellje A3 zaokruzenu na dvi]e decimale. Vkoliko je vrijednost
izraza brdec nula, lzraz izraz zaokruzuje se na najblizl cijeli broj. nak jedinici ukoliko je makar jedna oejena jednaka jediniei. Ostaje jOs da detaljnije razmotrimo izraz
ROUND(AVERAGE (C3 : G3) ; 0) eija se vrijednost dobija kao krajnji rezultat ukoliko ucenik nema jedini~
ca. Funkcija ROUND zaokruzuje svoj prvi argument AVERAGE (C3: G3) na najblizl djeli broj, jer je
COUNTIF (opseg i kriterij) Daje kao rezultat bra] 6eUja u opsegu opseg koje ispunjava]u krlterij kriter(j. njen drugi argument O. Druglm rijecima, ova funkcija zaokruzuje srednju ocjenu ucenika na najblizi djelJ
Krlterij moze biti proizvoljan bro] iii izraz. U tom slucaju broje se cellje broi, a upravo tako se raeuna uspjeh ueenika.
Cija je vrljednost jednaka vrijednosti navedenog broja ili izraza. Na,
primjer, COUNTIF (B2 : BiD is) dale kao rezultat broj ceJija u opsegu Na ovom mjestu moramo istaCi jednu bltnu einjenicu. Nairne, ukoJiko su regionalne postavke
od 82 do 810 eiji je sadrzaj 5. Ukoliko zelimo da brojimo celije koje racunara podesene tako da se za razdvajanje decima/nag ad cijeJog dije/a broja koristi tacka
sadrze nekl tekst, kao kriterij zadajemo zeljeni tekst uokviren znacima umjesto zareza, fada 5e za razdvajanje argumenata u funkeijams i za razdvajanje stavki u /iSM
navoda, npr, COUN'rIF(C4:F4;"Senad"}. Kao kriteriji se mogu tama kOf/sti obicni zarez, a ne tacka~zarez! U tom slueaju bismo g!omazriu formulu lz prethodnog
upotrijebiti [ konslrukcije poput ">broj" i "<bro./". Na pr!mjer, primjera trebali zapisati ovako:
COUNTIF(B2:Bl0; ">5") daje kao rezultat broj celija u opsegu od
=IF(COlMTIF{C3:G3,l)=O,ROUND(AVERAGE(C3:G3) ,0) ,1)
82 do BiD eiji je sadrzaj veei od 5.

IF' (uvjetiako_daiako_ne) Testira uvjet uvjet, i aka je uvjet tatan, daje kao rezultat vrijednost Stoga, ukoliko imate problema sa prihvatanjem formula koje sadrze znak tacka-zarez, probajte ga
izraza ako_.da, a u suprotnom, daje kao rezultat vrijednost izraza zarnijeniti zarezom, i vjerovatno ce sve biti u redu.
ako_ne. Uvjet je zapravo izraz, koj! pored uobicajenih operacija sadrzi
i barem jednu od relacija manje ), vece),jednako (:::), manje ifijed- Mozda sve ova 5to smo do sada rekli 0 forrnulama i funkcljama djeluje pomalo komplicirano, ali
nako =), vece iii jednako (>:::) Hi raz/idto .
Uvjet mora biti taean
tek kada u potpunosti shvatite sve 0 eemu se ovdje govori, motete reCi da ste savladali tehniku
kreiranja proracunskih tabliea. Inaee, kada savladate gore opisane funkcije, sted 6ete dovoljno
iii netaean. Na primjer, B3>A5+2 je uvjet koji je latan ukoliko je
znanja da mOi:ete u potpunosti krelratl proracunsku tab!1eu za vodenje osnovne statistike 0 uspjehu
sadrtaj celije 83 veti od sadrzaja celije A5 uvecanog za 2, a u suprot-
ucenika nekog razreda koju smo opisivali u prvom dijelu udtbenika. Najbolje je da jednu takvu
nom je netatan. Izrazi alwja i ako_ne mogu predstavljati i neki tekst
tablieu napravite kao praktlcnu vjezbu, eventua!no uz pomoc nastavnika.
uokviren znakovima navoda.
Excel posjeduje jos jednu interesantnu mogucnost mn:::!~t:::~::,;~ IIIlI IIIlI IIIlI['IJ.l3J!l!
Neke od ovih funkcija djeluju na prvi pogled dosta komplicirano. Stoga cemo njihovu upotrebu objas- za unos funkcija, koja je posebno korisna ukoliko nismo ;",-":u~,~o("~",, fuo",onq."'''' 'j
niti na konkrelnim primjerlma. Pretpostavimo, na primjer, da su u celije od C3 do G3 upisane ocjene taeno sigurni kako se funkcija pise. Pokretanjem "" :J:.:~~_~~iil..el'_.OIiIi.fi.,:.l':
nekog ueenika (pri eemu prostor za neke od oejena moze da bude i prazan). Formula naredbe Function iz menija Insert iii alatke Paste f.:~~";~IIl). ~~r
:::MAX (C3 : G3) izracunat 6e najbolju ocjenu tog utenika. Formula =COUNTIF (C3 : G3 i 1) Function sa "Standard" trake sa alatima, otvara se dija- 1>1ath&Tt/(j w.):
izracunat de koliko ucenik ima slabih ocjena, formula =COUNTIF (C3 : G3 i "> 1 " ) izra6unat ce, log (prikazan na slid desno) kOji omogucava izbor ze!w :~~~~'~\\t.f"'.r"o ;1~;~~:AiI"
koliko ucenik ima pro!aznih ocjena, dok (:e formula ",COUNT (C3 :G3) -COUN'l'IF (C3 :G3-; 3) jene funkcije iz spiska. Sve funkdje su, radi lakseg ~;~b~$e :'I~~%:ll~;
izracunati koliko ueenik ima ocjena koje nisu troj"e. U slucaju da js u celiji H3 upisan broj sfabih ocje~ snaiaienja, razvrstane u nekoliko kategorija. Kategorija .::J.
na nekog ucenika, a u ceUju .13 srednja vnjednost svih oejena (ukljucuju6i i slabe Dejene),_ tada c~ Most Recently Used sadrii popis posljednjih nekoliko MiJ<A(it(""mb~n;nu",loe,i...)
formula "'IF (H3=0; 13 i 1) dati kao rezultat prosjek oejena ucenika iii jedinicu, zavisno od toga da- ko.ristenih funkcija. Ukoliko zelimo popis svih funkeija,
i
Ii ueenik {rna slabih ocjena iii ne. Ukoliko j8 ova formula upisana u celiju J3, tada C8 formula
:::ROUND (J3 i 0) dati kao rezultat uspjeh ucenika (tj. prosjek oejena zaokruzen na najbliii cijeli broh
trebamo izabrati kategoriju All. Nakon sto smo izabrall _S!J
-zeljenu' funkeiju, pojavljuje se novi dijalog, Giji taean
, c I_!,cwc II
iii jedinieu). Formula "'IF (H3""O; "Prosao" i "Pao") upisace u pripadnu celiju tekst "Prosao';' iii izgled ovisi od izabrane funkcije (na sliei sa strane
"Pao" ovisno od toga da Ii ucenik ima slabih oejena iii ne. "prl~azan je dijalog za funkciju IF). Ova] dijalog sadrii polja za unos, u-koje treba upisati argumente
funkeije. Ukoliko zeijeni argument predstavlja ime eelije iii opseg 6elija, umjesto unosa pomocu tas-
Nema nikakvog raz!oga da se kao argument neke od funkcija oe upotrijebi izraz koji"takoder' tature moguce je misem kliknuti na zeljenu ceJiju iii oznaciti zeljeni opseg. Ukoliko zelimo da oznacimo
sadrzi neku funkciju. Na primjer, ukoliko panovo pretpostavimo da cellje od C3 do G3 sadrze ocjene argumenf misem, a smeta nam prisustvo dijaloga na ekranu, klikom na dugme sa nacrtanom crven-
nekog ucenika, moguce je odmah napisati jedinstvenu formulu koja ce odrediti uspjeh ueenika. . om strelicom u krajojem desnom dijelu odgovarajuceg polja za unos (vldljivo na pri~azanoj slid)
Takva formula glasi: ' moguce je privremeno minimlzirati ovaj dijalog na velicinu trake, i ponovo ga klikom na lsto dugme
162 163
vratiti na prvobitnu ve!icinu. Ukoliko se kao Prvi dijalog u ovom carobnjaku, prikazan na sliei Ht"g>t\'!.i~!-,:)ittlU.ll~ti".
argL!ment funkcije javlja ponovo neka desno, omogucava izbor vrste j podvrste grafikona. 't"r,"'ihY"c';:1 C";~~;,;,;~~;,,(
druga funkcija, nju je moguce izabrati 1z Za opce namjene najcesce se koriste StUPC8Sti dija w ~h~'i(y"""" 'i:i;~;;:""''''h~'''
padaju6e liste koja S8 pojavljuje na mjestu grami(engl. coiumn charts). koji se jOs nazivaju i his- ,~ . " .. ~~-IBil
petja sa imenom celije u traGi funkcija.
Ovakav nacin unasa funkcija zahtijeva
l"1lk;}Ue~t,<; any v"l~,; 0,; ;'xrr:_;'ici~ \h,,,"~ bi, '~~af""i~M6W,U[ .~, FALSi
togrami, zatim stapicasti dijagrami (eng!. bar
charts) i Iinij5k! dijagrami (englo line charts). Neki
-~:
~:~:(Sijft.teJ) jI
l~rndiT~-'
!,I~~I _,',uLI

~i~a~~:~r~o~~~;n~~!;~;~~;~(~~g~:;~~f~~:Jt~)~~:i~~~ ~'~:::~"
dosta prakse, ali bitno ubrzava rad nakon
sto' S9 korisnik malo izvjezba (u k,ral'njem.~
slucaju, ukoliko varn je tesko ovako unositi
11-;;-; 1111
Fo"nuIMe$lJit ~
so kada ie potrebno vizualno prikazati kakav ie rela- '" ,"".e, - n;jl
i ..Jii)ff8n
I rI[fIfJ .
funkcije, uvijek ih motete llkucavati rutno). tivni odnos pojedlnih podataka prema ukupnoj kOlieini :: ::(~e .:L' l_1jfJW ', ': ">
Dodatna prednost ovakvog naCina unosenja leti u cinjenici da S9 ne morate brinuti da Ii S9 za razd- svih podataka (cjelini), dok S8 XY rastrkani dijagra~
vajanje argumenata koristi zarez iii tacka-zarez (Excel 0 tome vodi brigu sam). mi Jengl. XY scatter chaJts) koriste kada grafieki treba
prikazati ovisnost nekih redova iii kolona u tablici od
Kao 5tO je vee reeeno, Excel omogucava analize tipa "sta je potrebno uraditr da bi se postigao nekog drugog reda iii kolone u istoj tablici, kao sto je
zadani cili". Na primjer, ukoliko nas zanlma na koju vrijednost bi se trebao povecati prihod firme npr. ovisnost visine pojedinih osaba od njihove
"Kristalinvest" u toku aprila (celija F3) da bi se prosjecni polugodisnji prlhod (ceHja 16) povecao sa starosti, ovisnost duzine neke metalne sipke od tem- ~ ").'
1020 na 1050, u Toolsmeniju treba izabrati naredbu Goal Seek, a zatim u polja za unos nazvana Set perature, itd, (za tu svrhu, u tabeli moramo imati
cell, To value [ By changing cell upisati redom 16, 1050 i .f3. Excelce obaviti analizu, i zak!juCiti da oznacena barem dva reda iii dvije kolone, pri cemu se crtaju dijagrami zavisnosti svih redova osim
se aprilski prihod firme "Kristalinvest" mora povecati sa 130 na 220. Analiza pomocu naredbe Goal prvog od pNOg reda, iii svih kalona osim prve od prve kolone). Bitno je napornenuti da bez obzira
Seekmoze se koris1iti sarno za ispitivanje utjecaja jedne6elije na neku drugu celiju. Za ~etaljnije ana- koliko redova ill kolona oznacill, kruzni dijagrami mogu prikazivati podatke samo za jedan red iii
lize ireba koristiti naredbu Solveriz Tools menija (koja je takoder i znatno slozenija za upotrebu). kolonu. U slucaju da zelimo uporedno prikazivati podatke za vise redova iii kolona na istom
grafikonu, umjesto kruznih mazema koristiti prstimaste dijagrame (engl. doughnut charts).

2.2.6 Kreiranje gralikona Svaki tip dijagrama Ima razlicite podtipove odnosno podvarijante, koj] S8 biraju pomocu istag
dijaloga. Tako, na primjer, skora svaki dijagram ima dvodimenzionalne j trodimenzionafne vari~
Microsoft Excel omogueava da podatke upisane u tablice prikazemo u vidu grafikona odnosno jante. Treba voditi raeuna da nije svaka podvarijanta podjednako dobra za svaku namjenu. Taka,
dijagrama, Sto je veoma praktieno ukoliko zelimo da izvrsimo vizualno uporeC!ivanje razJicitih na primjer, postoje podvarijan1e koje su pogodne za uporedivanje podataka po apsofutnom izno~
podataka iz tablice. Veoma je vazno istaei da su grafikoni kreirani u Excelu uvijek dinamfcki SIl, dok su druge podvarijante pogodne za uporedlvanje podataka po refativnom iznosu, tj. po njl-
povezani sa tablicom iz koje su krelrani, sto znaCi da ee se svaka izmjena podataka u tablie! istog hovom udjelu u odnosu na cjelinu. Potrebna je izvjesna vjestina i ,iskustvo da naucimo odabrati koji
trenutka odraziti na izgled svih grafikona kreiranih na osnovu te tablice. Excet posjeduje obilje tip grafikona najbolje odgovara za neku konkretnu primienu. Korae! koji slijede mogu neznatno vari
moguenosti za rad sa grafikonima, taka da postoje citave knjige (velike koliko i ova] kompletan rati u ovisnosti od toga koji smo tip j podtip dijagrama izabralL U nastavku teksta
udzbenik) koje su posvecene sarno krefranju grafikona u Excelu. Stoga je jasno da se na ovom podrazumijevacemo,da ,smo izabra!1 prv) podtip stupcastog dijagrama.
mjestu mozemo upoznati samq sa osnovnim idejama vezanim za kreiranje grafikona u programu
Microsoft Excel. Nakon sto smo izabrall tip i podtip dljagrama,
kliknemo na dugme Next, eime prelazimo na sljedeCi dlja
Postupak kreiranja grafikona u Excetu odvija se kroz niz etapa. Pretpostavimo, na primjer, da log carobnjaka za izradu grafikona (usput, svi earobnjaci
zelimo grafi6ki da predstavimo podatke 0 poslovanju tri preduzeea koja smo vee razmatrali u toku podrzavaju povratak na prethodni dljalog, u bilo kojem
polugodisnjeg perloda. PNO sto moramo uraditi je da oznacimo dio tabele kojl sadrzi podatke koje trenutku, pomoeu klika na dugme Back, tako da se uvijek
zelimo da prikazemo. Na primjer, mozemo se odlueiti da prikazujemo podatke Samo za jedno pre- mozemo vratiti nazad ukoliko smo nesto zaboravili). Na
duzete, Hi sarno za jedan mjesec. Mi cemo se odluClti da prikazujemo podatke za sva preduzeea u ovom dijalogu vee se prikazuje preliminarni izgled ze
toku svih 6 mjeseci istovremeno na istom grafikonu. Stoga, oznacimo dio tabele u opsegu eelija od Ijenog grafikona. Od ovog trenutka nadalje, postupkom
_ B2 do H5. Primijetimo da je potrebno da obuhvatimo ne sarno broj6ane podatke, vee i zaglavlje kreiranja grafikona je veoma jedn09tavno upravljat1, jer je
tabete koje opisuje znaeenje pojedinih redova i kolona. Zna6enja upisana u zaglavlju Excelee kas- efekat svake izmjene, koju ucinimo u dijalozima, istog
nije iskoristltl da ob!Jjezi smislenlm nazlvima pojedine elemente grafikona (ukoliko smo zaboravili da trenutka vidljiv unutar samog dijaloga. Pomoeu radio dug-
"Glznaeimo i zaglavlje tabele, Exce/ce koristiti stereotipna ime'na poput Series 1, Series 2 ltd. za obi- -madi Rows i Columns mozemo birati da Ii zel1mo da
lie~avanie grafikona), -medusobno uporedujemo podatke razvrstane po redovi~
rna (npr. grupirane podatke za tri preduzeca za svaki od
Nakon sto sma oznacili feljen! dio tabe!e, potrebno je izabrati naredbu Chart iz menija Insert, iii
scst mjeseci) iii po kolonama (npr. grupirane podatke za
alatku" Chart Wizard sa "8tandard~' trake sa alatima. Pokretanje ove naredbe" otvara sistem spreg
-svaki ad sest mjeseei za svako ad tri preduzeda). Pored
hutih dijaloga koji se u zargonu nazivaju carobnjaci (engl. wizard), a 6iji je cilj olaksavanje izvjesnih
toga, ukqliko utvrdimo da zelimo de ukljuelmo jos neke
slozenijih operacija. Dakle, pokretanje ave naredbe otvara carobnjaka za kreiranje grafikona
podatke u gr-a:flkon, JILoaprotiv da iskljucimo neke podatke iz grafikona, neophodne komande za
(ehgl._chart wizard).
takve manipulacije- (A~dd r Remove) mozemo pronaCi na kartici Series istog dijaloga.

164 165
Treci dijalog sadrii nekalika kartica kOje su oznatiti ma koji 'dio grafikona (ime oznacenog dljela uvijek vidite u traei formula). Nakan sto ste
uglavnom vezane za estetsko dotjerivanje oznaCi!i zeljeni dia, mazete preci na njegovo oblikovanje. Za tu svrhu, aktivirajte meni Format.
grafik6na. Sadrtaj al/itl kartica neznatno varira Njegova prva naredba uvijek 6e se odnositi na oblikovanje oznacenog dijela grafikona (zavisno od
ad vrste i padvrste izabranog' grafikona. U oznacenog dijela, mogu se podesavati razlicita svojstva). Alternatlvno, motete dvostruko kliknuti
nasem prlmjaru, u kartici Titles mozama zadati lijevom tipkom misa na oznaceni dia, iii kliknuti desnom tipkom misa na oznaceni dio j izabrati neku
ime gratikona, kao i nazive X f Y osa gratfkona. od naredbi za oblikovanje iz iskocnog menija koji se pojavljuje tom prilikom. Na sljedecoj slid

" ,,,
U kartici Axes mazema birati kako 6e se i da Ii prikazani su neki od grafikona izvedenih iz tablice koju sma razmatrali, nakon abavljenih dodatnih
ce se uopce prikazivati koardinatne ase. oblikovanja pojedinih dijelova grafikona:
Pamo(;u kartice GridHnes mazema podesavati
da Ii telimo prikaz mrete linija u pazadini Prifl(ldi Krist<lllmrost

g'rafikona, kao i njena sirojstva (ukoliko je ""'


I
I
I : "O"~I"~Ml
zelimo). Pomoeu kartice Legend odre9'ujemo
da If tetimo da se na grafikonu prikazuje {egen- .in ' !tlM,;;~,,,,h,,'1
I IH .:"i: f:l
,
1 I ; i 1.. , .. ".
i
da (tj. objasnjenje sta predstavljaju pojedini elementi grafikona). Ukoliko zelima prikaz legende, ,
..
\:! " " "
~
i i
mazema birati u kojem dijelu gmtikona ce se prikazivati legenda. Kartica Data Labels omogucava
podesavanje da Ii terimo da kraj odredenih efemenata graffkona budu prikazane i odgovarajuce
: : I : I

brojeane vrijednosti iii teksfuafne oznake (i ako ielimo, na kojf na6in), dok kartica Data Table
omogucava izbor da Ii telimo da se unutar gralikona pdkaze i tabefa sa odgovarajuCim podacima.
Pored grafikona, u Excelove radne stranice moguce je ubacivat! i sve druge vrste slika, kao i
Cetvrti, a ujedno i pasljednji dijalog za kreiranje grafikona, je najjednostavniji: on nam sarno nudi crtati vlastite crteze pomocu alatki iz "Drawing" trake sa alatima, na potpuno isH natin kao u pro"
izbor da Ii zeJimo grafikon kreirati na istoj radnoj stranici (opcija As object in) iii na novoj radnoj gramu Microsoft Word.
straniei (opelja As new sheet). Nakon klika na dugme Finish, trazeni grafikon se pojavljuje na rad~
no] stranici (dug me Finish se maze pritisnuti unutar bilo kojeg od spregnutih dijalaga, a ne nuz.no
unutar posljednjeg). Ukoliko smo sve obavili kako treba, na radnoj stranici pojavice se histogram koji
prikazuje raspodjelu prihoda po mjeseeima za tri razmatrana preduzeca.

Na prvi pogled, moglo bi se reci da je ovim proces kreiranja grafikona zavrsen. Medutim, blLze
je istini da ovim proces kreiranja grafikona tek poCinje. Nairne, ubaceni grafikon je moguce naknad-
no oblikovati na mnostvo naCina. Prva sto motets prirnijetiti je einjenica da je upravo ubaceni
grafikon oznacen, sto se vidi po ernom okviru koji grafikon ima aka sebe sa 8 crnih kvadratiCa
(hvataljki) u ug!ovirna i na sredinf svake strane okvira. Kao sto smo vee nautili prilikom rada sa
Microsoft Wordom, ove hvataljke sluze za promjenu veliCineobjekta, i pojavljuju se samo kada je
abjekat oznacen. K!iknete Ii bilo gdje van okvlra grafikona, okvir sa hvata!jkama nestaje, eime
grafikon vise nije oznaten. Panovno obiljez.avanje vrsimo prostim klikom na grafikon.

Dok je graflkon oznacen, u glavnom meniju sa umjesto menija Data javlja meni Chart. Ovaj
meni sadrii naredbe za naknadno oblikovanje grafikona. Prve ceUri naredbe u ovom meniju, Chart
Type, Source Data, Chart Options i Location, otvaraju jedan od tetiri dijaloga sa kojima smo se
susreli prilikom upotrebe carobnjaka za kreiranje grafikona. Taka, na prlmjer, ukoliko zelite naknad~
no da dopisete nas!ov grafikona, upotrijebite naredbu Chart Options, dok naredbom Chart Type
mozete naknadno promijeniti tip i podtip grafikona. Veoma interesantna naredba iz Chart menija je
naredba 3~D View, koja se koristi sarno kod trodimenzionalnih gralikona, i pomocu koje mozema
podesavati natin, pravac j ugao posmatranja trodimenzionaJnih grafikona, Ukoliko zelite da i2brisete:
grafikon, prosto pritisnite tipku Delete na tastaturi u trenutku dok je grafikon aznaten. . ,..<,

Pored toga sto mozema oznaciti eitav grafikon, mogu se oznacavati i pojedinacni dijelovr
gratikona, sto omogueava da se svaki dio graflkona zasebno oblikuje. Na primjer, ukaliko kliknemo
na naslov grafikona dok je graflkon oinaeen, ako naslova ce se pojaviti okvir sa osam hvataljki, eime
zakljucujemo da je upravo on oznacen. Naziv oznacenog dijela grafikona pojavljuje se u palju 138-
nazlvom celije u lijevom dijelu trake formula. Potrebno je izvjesno iskustvo da uvjetbate gdje i ka~
tatno treba kliknuti da bi se oznacio tacna odrecleni dio grafikona. Na srecu, postoji i dru.gi natin:
nakon sto ste oznaci!i bilo koji dio gratikona, pamacu tipki sa strelicama na tastaturi motete redom

166 167
Pitanja i zadaci Unesite ave podatke u Microsoft Excel i popunlte kolonu "PROSJECNO VRIJEME" sa odgo-
varajucim forrnulama koje racunaJu prosjecno vrijeme sve tri trke za sve takmicare, a kolonu
1. Cemu slute programi za tabelarne proracune i kako je tekao njihov razvoi? "BROJ BODOVA" popunite sa odgovaraju6im formulama koje racunaju broj osvojenih badova
za sve takmicare. Broj bodova se ratuna na s!jedeci nacin: aka je prosjecno vrijeme vece od
2. Definirajte sta su radne knjige, radne stranice, redovi, kalone i celije u programu Microsoft Excel.
160 sekundi, braj bodova je jednak nuli, au suprotnom brai bodova je 160 minus prasjecno vriw
3. Koje vrste podataka mazema upisivati u celije? jeme. Zatim, u celije 08, D9, DiD j 011 upsite redom formule koje racunaju ukupan broj bodo-
4. Cemu SIUll samopopunjavanje i kako se postiie? va koje su ostvarili sv! takmicari, najveci bro] bodova ko]! je ostvario neko od takmicara, naj-
5. Kakve su razlike u menijima i trakama sa alatima izmedu programa Microsoft Word i Microsoft manje postlgnuto vrijeme u ma koja] od trka, i bra] diskvalificiranih takmicara (tj. onih sa nula
Excen bodova).
6. Sta su formule i cemu slu.ze? Sta formule mogu sadrzavati.? 13. Realizirarje pl"Oracunsku tabHcu za vodenje statistike 0 uspjehu ucenika u razredu koju smo api-
7. Napisite formulu "" (C2+C3+C4+C5+C6+C7) /6 na kraci nacin. sivaJi u prvam dijelu udzbenika kada sma gavorHi 0 programima za tabelarne proracune.
8. Napisite formulu =SUM (D2 ; A4) bez koristenjafunkcija. 14. Neki lijek je 'testiran na 1000 pacijenata. Kod 500 padjenata zdravlje se paboljsalo, kod 300
pogorsalo, a kod 200 je stanje ostalo !sto. Predstaviti ove podatke kruznim dijagramom uz
9. Koje funkcije poznajete koje se mogu koristiti u formulama u Excelu?
pbmoc programa Microsoft Excel.
10. Sta mislite zbog cega je funkcija IF od presudnog znacaja u iole slozenijim proracunskim tabli~
15. Podatke u tabllci iz zadatka 12 predstavite raznim vrstama dijagrama pomoGu Micr(Jsoft Exce/a.
cama?
16. Prikupite podatke 0 kretanju klimatsklh priHka tokom deset'uzastopnih dana, Potrebna je upisatl
11. Na Sliei je prikazan isjecak iz tabele koja prikazuje poslovanje farmaeeutske industrije za prvu
temperature u 7 i 13 sati. Prikupljene podatke predstavite linijskim dijagramom.
cetvrtinu godine:
17. Sta je kruzna referenca i u l<ojim se slucajevima javlja?
A 18. Sta znaei aka kao rezultat- racunanja umjesto vriJednosti dobijemo ispis #VAJ~UE!?
1 MJESEC PRIHOD ZARADA 19. St~ treba uCiniti ukoliko kao rezultat racunanja umjesto vrijednosti dobijemo ispis ##.JI:##'##?
2 Januar 10000 3000 20. Kakva je raz!ika izmedu apsolutnih i relativnih adresa celija? Kad treba koristiti jedne a kad
druge?
3 Februar 7000 2200
4 Mart - 16300 4600
5 Ukupno:

Dapunite avu tabelu odgovaraju61m formulama koje nedostaju da bi tabela bila funkcionalna.
12. U s!jedecoj tabe!! upisani su rezultati kOje su takmicari postigli na trkama na -1000_ metara.
Odrzane su 3 trke, a upisani rezultati predstavljaju vrijeme u sekundama kOje su postigli
takmi6ari.

A E
1 TAKMICAR TRKA 1 TAKA 2 TAKA 3 PROSJECNO VRIJEME BROJ BODOVA
2 Paja Patak 160 140 150
3 Macak Tom 180 150 160
4 Mornar Popai 130 150 150
5 Miki Maus 150 170 170
6 Fred Kremenko 160 160 150
7
8 Ukupan broj bodova svih takmicara:
9 NajveCi ostvareni braj bodova:
to Najmanje ostvareno vrijeme:
11 Broj diskvalifieiranih takmicara:

168 169
2.3 RACUNARSKA GRAFIKA I GRAFICKI PAKETI vih Hnija kao i otvorenih i zatvorenih, ispunjenih i neispunjenih geometrijskfh likova (pravougaonika,
elipsi, itd.) koji mogu da se prek!apaju, prekrivaju iii uklapaju i na taj nacin tvore sliku. U ovakvoj vrsti
grafike, raspored svakog od objekata, kao i njihov obllk j veliCina, -moze se neovisno mijenjati, a da
pri tome poloiaj i karakteristike ostaHh objekata na slid ostanu neizmijenjenL Za isertavanje ovakvih
2.3.1 Uvod u racunarsku grafiku sllka, ra6unari koriste matematske formule vektorske atgebre (odakle i poti6e naziv vektorska grafika)
koje opisuju nacin i redoslijed iscrtavanja objekata. Vektorsku grafiku koristimo u svim situacijama u
Dugi niz godina racunari su bili u stanju da prikazuju informacije sarno u tekstualnoj formi. Pojavom kOjima je sastavljanje sllke ad objekata prirodan naCin kreiranja slike (npr. razni tehnicki crtezi, skiee,
prvih uredaja za crtanje (plotera), zapadele su prve graficke primjene racunara. Ispocetka se uglavnom naerti, plakati, ltd.). S druge strane, za prikaz sllka kOje se sastoje od jako mnogo detalja izmedu kojih
ractilo a jednostavnim crtezima koji su predstavljaii rezultate nekih proracuna u vidu krivulja iii prostijih je veama tesko uspostavitl neku jasnu matematicku vezu (npr. za prikaz fotografija iii umjeiniekih slika),
grafikona. Ti ertez] radeni su pomo6u programa koji su prvenstveno bili namijenjeni za numeri6ku vektorska grafika je potpuno nepodesna. U tim slucajevlma se koristi bitmapirana (rasterska) grafika.
obradu podataka, pri cernu su dobijeni erteti bili vise propratni efekat obavljenih prora6una nego cltet! Ovaj vid grafike kao osnovni (a zapravo i jedini) gradivni element slike koristi takozvani pikseJ, sto je
sami za sebe. Kasnijim ubrzanim razvojem racunarskog hardvera, poput kvalitetnih monitora koji su u kovaniea od engleskih djeCi picture i element. Rijec plkse/kod nas se obicno prevodi kao latka, mada
stanju prikaza1i visokokvalitetnu sliku na ekranu, zatim kvalitetnih grafickih adaptera (kartica) kojl su u se zapravo radi 0 sasvim malom kvadraticu iii pravougaoniku. Svaki piksel ima jedinstvenu boju iii
stanju generirati odgovarajuce signale monitoru neophodne za prikaz visokokvalitetne slike, kao i intenzitet osvijetljenosti. Rasterska sJika je, zapravo, skupina piksela razliCitih nivoa osvijetljenosti iii
visokokvalitetnih stampaea koji su gotovo u potpunosti istisnuli plotere lz upotrebe, raeunarska grafika razlieitih boja. U prvom slueaju radi se a monohromatskim iii crnoMbijeJim slikama, dok se u dru-
dozivjela je nevjerovatan razvoj i procvat. Danas se gotovo sve, sto se moze prikazati grafickl, prikazu- gam slutaju radi 0 sJikama u bojiill kolor sJikama. Treba napomenuti da Je terminologija "crno-bijela
je graficki, cak i u slueaju kada bi tekstualna prezentacija blla podjednako pogodna. slil<a" donekle nejasna: nekada se ovim terminom oznacavaju slike u KOjima S8 javlja iskij'uCivo ema
ili!i bijela baja, dok se nekada dopusta da ave slike mogu sadrzavati i razne nijanse sive boje. U
Pod grafikom opcenito podrazumijevamo prezentaciju informacija pomocu slika, u Kojima su engleskoj literaturi ave dvije situacije se strogo razdvajaju i nazivaju bJack&white i grayscaJed.
osnovni nosioci informacija obJici i boje. Racunarska grafika je takav vid graflke u kojoj se za gene- Jasno je da je kvalitet rasterske slike tim bolji sto su pikseli sitniji, tj. sto je slika podijeljena u vise pik-
riranje i prezentaciju slikovnih informaeija koristi racunar. Racunarska grafika js multidiscipJinama sela. 0 vektorskoj i rasterskoj grafid biee vise govora u nastavku teksta.
oblast, cije temeljito proucavanje, pored informatlke, trazi poznavanje izvjesnih grana matematike
(naroCito geometrije i algebre), fizike (narocito optike), tikovne umjetnosti, pa cak i psihologije. U vezi sa podJelama racunarske grafike, mozemo spomenuti i pod-
jelu na dvodimenzionafnu (20) i trodimenzionainu (3D) gratiku.
Treba istaCi jednu bitnu razliku izmedu racunarske grafike i neracunarskih grafika (npr. umjet~ 8trogo reeeno, prava trodimenzionaina grafika ntje ostvariva nit! na
nickih slika, klasitnih fotografija, itd.). Racunarska grafika je, u sustini, diskretna grafika, dok su ekrallima, niti na paplru, jer su oni u principu dvodimenzionalni
neratunarske grafike kontinuirane grafike. Nairne, sve realne stike su, po svojoj elementarnoj mediii, nego jedino hoiografskim postupcima u prostoru, uz
prirodi, informacije analognog tipa, 8to znaei da ne postojs strogo odredeni elementi slike, i strogo pomoe lasera. Ipak, vee se u dVlje dimenzije pomocu odgovara-
odredene granice izmedu jednog i drugog elementa slike, vee su prelazi sa jednog na drugi element jueeg izbora oblika, nijansi bOja i nivoa osvjetljenja i sjenki moze
, slike izvedeni postupno i kontinuirano, 1j. bez naglih skokova (podsjetite se na pojmove analog nih i docarati izgled trodimenzionalnih objekata. Na primjer, vjerovatno
digitalnih velicina koje smo obradivali u prvom dijelu ovog udzbenika). 8 druge strane, kako je 6e svaki posmatrat reci da slika prikazana sa desne strane pred-
racunar po svojoj elementarnoj prirodi digitalni uredaj (ovdje mislimo na digitalni ra6unary, on sliku stavlja valjak (koji je tlpieni trodimenzionalni objekat), mada je posve
maze posmatrati iskljueivo kao konacan broj jasno definiranih elemenata, izmec1u kojih postoje jasne I jasno da je rijee 0 obienoj slici u dvije dimenzije. Isto tako, fotografije pri!icno vjerno prikazuju trodimen-
i ostre grantee. Za takvu grafiku kazemo da je diskretna grafika. Srecom, ukoliko su elementi slike zionalne objekte u dvije dimenzije. Medutim, ne mozemo reCi da fotografija predstavlja trodimenzional-
dovoljno mali i dovotjno gusto postavijeni, Ijudsko oko ih ne primjecuje kao zasebne elemente, vee nu grafiku, jer ona predstavlja zapis trodimenzionalnog svijeta snimljen samo iz jednog pravca posma-
pojedinacne elemente vete u kontinuiranu sliku. Ova osobina Ijudskog oka naziva se prostorna tranja. Na takvoj sHe( ne mazemo pogledati svijet i2 drugog ugla (na primjer, odrediti sta se nalazi sa
integracija (eng1. spatial integration), i ima veliki znacaj za grafiku opeenito (ne samo za racunarsku druge strane nekog objekta koji je vid!jiv na slici). Trodimenzionalna grafika podrazumijeva da je
graliku), s obzirom da-su cak i mnogi graficki medij] poput fotografije i fifmske trake koje tipicno sma- cjelokupna informacija 0 trodimenzionalnim objektlma pohranjena u memoriji racunara, tako da se
tramo analognim i kontinuiranim, u svojoj prirodi diskretni (npr. ako pogledamo neku fotografiju kroz objekti po potrebi mogu posmatrati iz bilo kojeg pravca posmatranja. U tom slucaju, slika koju eemo
jako povecalo;,j'asno cemo vidjeti diskretna zma od kojih je fotografija naprav!jena). zaista vidjeti, zavisi od prostornog odnosa lzmedu pojedinacnih objekata, kao i od ug!a posmatranja, koji
se mogu podesavati. 8toga, u trodimenzionalnoj grafid umjesto pojma slike kor!stimo pojam svijet
Raeunars~u. gr-afiku mozemQpoClijeliti na vise nacina. Na prvom mjestu, mozemo navesti pod- (engl. wor/d), dok je slika samo jedna manife$tacija svijeta, pri tacno utvrctenom aspektu posmatranja.
jelu na Interakfivnu i !i~interaktivnu grafiku. Pod interaktivnom grafikom podrazumijevamo grafiku Prilikom rada sa trodimenzionalnom grafikom ,dalazi -u ob?lr.iskljuC!vo vektorsl<i pristup zapisu slike.
u kojoj'se koxisti dinamiMri naCio-'prikaza sllke na izlaznom uredaju koji to omogucava (npr. moni-
toru. iii multime{./Jjalnom'/J[ojekfo_r{l), IU kojol covjek (dizajner) aktivno ucestvuje u stvaranju i izmjeni
sllke, pri C~niU 'su re'zultafLodmah vidljivi.-Neinteraktivna grafika je grafika u kojoj se slike generira- 2.3.2 Sirukiura "graflcklhsislema"
ju i prezentiraju .l14 n-aGHr'kojl~ne ispuojaVa prethodne uvjete (npr. grafika u kojoj se informacije
prezentiraju; y 'Vip(J sUk~:.~tampanjh na stampatu). Da bismo mogli koristiti raeunarsku grafiku,neoph5ana namje odgovarajuca hardverska i soft~
verska podrska. 8toga, svaki graficki sistem~mora. posjedovati odgovarajueu hardversku i softver~
Druga tiplena pqdjela racunarske grafike je podjela na vektorsku iii objektnu grafilw i bitmapi~ sku strukturu. Hardverska struktura grajic.kih sistema .onio'gueava unos gfafickih informaclja u
ranu 'ili rastersku' graflku. pva podjela je izvrsena na osnovu osnovnih e!emenata od kojih je memoriju racunara kao i njihovu prezenlaciju, dok-softverska struktura odreduje n8cin zapisa stike
gractena: stika, Kod vektorske grafike, osnovni elementi koji grade sliku su objekti, poput pravih i kri- u ra6unarskoj memorijZ kao i postupke za. manipufiranje elementima stike.

170 171
Neophodna hardverska podrska sastoji se pretezno od odgovarajudh ulaznih i izlaznih uredaja. nje trodimenziona!ne graflke zahtijeva poznavanje nesto slozenijeg matematskog aparata. Kao sto
Mada postoji veliki broj razlieitih ulaznih uredaja, za potrebe racunarske grafike koriste se uglavnom je poznato, Dekartove koordinate neke tacke predstavljaju par brojeva (x, y), pri cemu x p~edstavlja
razni pokazivacki ulazni uredaji iii lokatori (npr. mis, pamicna kugla, grafieke table, table iii ekrani udaljenost po horizontali, a y udaljenost po vertii<ali od neke referentne tacke nazvane centar koor"
osjelljivi na dodir, itd.) i skeneri, koji sliku sa papira direktno prenase u memoriju racunara. Oak se dfnatnog Sistema, Ovdje treba upozoriti da je u mnogim sistemima racunarske grafike uobicajeno
pokazivadki ulazni uredaji mogu koristiti kako za kreiranje vektorske, taka i za kreiranje rasterske da y koordinata raste u smjeru prema dolje, a ne prema gore, I,ako je uobicajeno u matematici.
grafike, upotreba skenera je ogranicena iskljuCivo na rastersku grafiku. Izlazni uredaji koji se koriste u
racunarskoj grafiei mogu se podijeliti na koplrne uredaje (engl. hardcopy devices), u koje spadaju npr. Kod vektorskih grafickih Sistema, racunar sliku pamti kao
stampaci i crlaei (platen) i displeje (npr. ekran monitora). Izlazne uredaje mozemo podijelitj i prema niz objekata, pri demu se za svaki objekat pamte njegove
nadnu iscrtavanja sllke na raster-scan uredaje, koji prvo podijele sliku na veliki broj uskih horizontal- osnovne karakteristike. Na primjer, prava linija (duz) je u
nih traka, nakon cega isertavaju sliku traku po traku (veGina stampaca radi taka), j na random~scan nacelu u potpunosti odredena koordinatama poCetne i krajnje
urec1aje ko)i iscttavaju sliku objekat po objekat (takv] SU, na primjer, mnogi plateri). tacke, krug je odreden koordinatom centra i dutinom
po{uprecnika (radijusa), dok je poligon odreden .koordinatama
Pokazivacke ulazne uredaje mozemo podijeliti na uredaje koji registriraju apsolutni poloiaj svojih ljemena (vrflova). Pored ovih osnovnifl svojstava
pokazivaca U ogranicenom prostoru (poput grafiCke table in ekrana osjetljivog na dodir) i uredaje ko]i moguee je pamtlti i dopunska svojstva objekata. Tako je, na
registriraju relativno kretanje pokazivaca u o,dnosu na trenutnu poziciju (npr. mit; ill pomicna kug/a). primjer, za liniju moguce pamtiti njenu deb/jinu i boju, za krug
Skenere mazema podijeliti na skenere koje daju sliku u nijansama sive boje ("grayscaJed" skener~ i je moguce pamtiti boju i debljinu njegovog ruba, kao i boju ispune nJegove unutrasnjosti, itd. Tipican
skenere koji daju sltku u baji (kolor skener~. Pored navedenih ulaznih uredaja, vecina danasnjih stan- primjer vektorske grafike je grafika koju kreirate tiZ pomoc alata za crtanje sa."Drawing" trake sa ala~
dardnih video kamera se uz odgovarajucu hardversko*softversku pOdrsku moze koristiti i za tima u programima Microsoft Word i Microsoft Excel. Dugo vremena, osnovni problem pri forrnira~
neposredan unos video sadrtaja u racunar. OSim standardnih, danas se na trzistu mogu naCi i speci- nju vektorskih grafi6kih sistema bio je kako predstaviti objekle nepravifnog izgleda, npr. raznorazne
jalizirane kamere namijenjene iskljuCivo za povezivanje sa racunarom. Oblcno su veoma malih dimen- krivulje, kao i !ikove nepravilnog oblika. Ovaj problem rijesili su matematicarl uvodeci razne mate-
zija, dok kvalitet video izlaza koji daju varira. Najvise se koriste za komuniciranje udaljenih korisnika matske modele krivih linija i likova, medu kojima su najpoznatiji kubn! splajnovi (engl. cubic splines)
putem ra6unara uz prenos slike uzivo (tzv. videokonferencije). Za unos staticnih slika u ra6unar, sve i Bezierove, krive (engl. Bezier cu/Ves). ~ba modela su, matematski gledano, relativno jednostavni,
populamiji postaju i digitalnl fotoaparati, koji omogueavaju direktno pohranjivanje fatografija u digital- a njihova osnovna ideja je da se pamte koordinate karakteristicnih tacaka u !lnlji Hi liku, i eventual-
nom obllku (iskljuCivo u f~rmi rasterske grafike). Kvalitet ovih uredaja varira, tako da postoje jeftini digi- no, neke dopunske informacije 0 stepenu zakrivljenosti linije iii ruba lika izmedu karakteristicnih
talni fotoaparati koji farmiraju rastersku sliku od svega 320 x 200 piksela, dok postoje i profesionalni tacak8. Tako le, na primjer, prilicno nepravilan Ilk prikazan na slici desno, metodom kubnih splajno*
aparati koji daiu sliku formata 3000 x 3000 piksela, pa i vise. Digitalni fotoaparati su napravili revoluciju va zapamcen svega pomocu 12 parova koordinata, i nikakvih dopunskih inforrnacija, osim informa-
u digi1alnoj obradi fotografija, jer omogucavaju da se presko6i dugotrajni i skupi proces koji se sastoj] od eije 0 boji (interesantno je napomenuti da je Bezierove krive otkrio franeuski inzinjer Pierre Bezier
razvijanja tUma, izrade fotografija j njihovog prenosenja u racunar putem skenera (skeniranja). za potrebe dizajniranja automobila u 6uvenoj automobilskoj industriji Renauf~. Ukoliko zelite da
eksperimentirate sa kubnim sp!ajnovima, isprobajte alatku Curve koju u Wordu Hi Excelu mozete
8to S8 tice izlaznih uredaja, danas je gotovo nemogu6e jasno razgraniCiti stampace i crta6e. Veeina dobiti pomocu naredbe Une koja se nalazi u meniju AutoShapes na "Drawing" traei sa alatima. Za
danasnjih stampaca je u stanju da ravnopravno stampa i tekst i vi"sokokvalitetne graflcke sadrtaje (slike, eksperimentiranje sa Bezierovim krivim, mozete se posluziti alatkom Curve iz prograrna Microsoft
crteze ltd.), Sa druge strane, modemi crtac:i zasnavani reeimo na elektrostatskoj tehnologiji, mogu da Paint iii, jos bolje, neldm od naprednijih programa za crtanje poput Core! Drawa, koji Bezierove krive
rade i kaa klasicni stampa6i. Sa dosta rezelve, mozema reci da su stampaci ureda]i koji su namijenjeni intenzivno koristi pi"iHkom rada.
za stampanje pretezno teksta i ponekih grafickih, sadrzaja, koji za stampanje koriste papir formata
Kao sto sma vee rekli, veklorska grafika se pamti u racunaru kao niz informacija 0 pojedinacnim
najvise A2 (obicno A4), dok su ploteri namijenjeni prvenstveno ispisu grafjckih sadrzaja, i to obicno na
elementarnim objektima koji Cine sliku. Ovaj niz informacija obicno formira datoteku nazvanu
velike formate papira (A 1, AO i vise). 0 displej uredajima, poput raznih vrsta monitora, vee je dosta
meta-datoteka (engl. metafile). Na primjer, na sljedeeoj slici je prikazano kako bi principijelno mogla
receno u ptvom dijelu ovog udzbenika, kao i u nastavi informatike u osnovnoj skoli. Podsjetimo se same
izgledati jedna meta-datoteka, kao i slika koja odgovara tOj meta-datoteci:
da se izmedu monitora i sabirnice ra6unara kao posrednik mora nalaziti ureaaj nazvan graficki adapter
(kartica) koja digitalne podatke iz racunarske memorije pretvara u upravljacke signale koje razumije
Krug: Cemar=( 12,35) Rariijlls:;:;8 Ruh=Crni /splmn:;:;Zuta
, monitor, Grafi6ka kattiea je prillcno slozen uredaj u eije pri~eipe rada ne motemo ulaziti.
Krug: Ccntar:;;;;:(9,36) Radijus=2 Ruh=Cmi IspuniJo;;;Svijrt/{!pla1'{!
Veoma je bitno istaCi da od kvaliteta graficke kartice.bitno. zavisi kvalitet clje/og grafiCkog sistema. Krug: Centar=(9,36) Rarlijus=OS Rllh:::::Cmi ]spuna=Cma
Nista nam ne vrijedi ukoliko imamo monitor ,koji -moze prikazaH)B:st~'r od '3000 3000 piksela, ako Krug: Centar=( 15,36) Rfulijus=2 Rub=Crni /.IPWIG=Sl"ijct/op/(I\'G
graficka kartica koju posjedujemo "ne zna" da generira upravlja~Ke sigriale ko]i ce dovesti do prikaza Krug: Centar=( 15,3()) Nadlju,<,'=O.8 Ruh=Crni lspull(/""Crna
takve slike na monitoru. Takoder, ukoliko graficka kartica sporo ger1E~'rJraJjp:rivlja6k~ signale za moni LinUa: Po(etak=(lO,30) Kraj=(14,30) Bojo=Crvena Deb(jina=2
tor, ne mozemo oeekivati da cemo na monitoru moci vidjetfbrz..e:pr,ornjenesi,ike, Sto jeprllikom rada sa Linija: Po(elak=(12,27) Kraj=(12,13) Bc~;a=Smcd{1 De/JIjina=4
animiranim slikama od presudnog znacaja. Zapravo, "Svaki lanac'j?.o"tjofiko jak koliko.je jaka njegova
Liluja: Pocelak=( 12,24) Kraj=(2,17) Bojo=Srnnia Debljina:::::2
najslablja karika, a nerijetko je upravo graficka kartjc,~ n~j.slaQ,U~'''kcirlk~'' nekog grafickog sistema.
Unija: POfetak=(12,24) Kraj=(22,17) Boja=Smer!a Deb/jina=2
Nakon sto smo objasnili hardversku strukturu grajiekih sistema; matemo precl I oa objasnjenje Linija: Pocetak=( 12,13) Kraj=(2,2) Boja=Smeda Dehljina=3
njihove softverske strukture. Kljucni koncept za citavu raGuna-rsku, grafiku je koncept Dekartov;h Linija: Pocctak=(12, 13) Kroj=(22.2) Boja:::::Smedil Dcbljina=3
koordinata. U nastavku cemo se. ograniciti iskljucivona dvodimenzionalnu grafiku, jer razumijeva-

172 173
Stvarne meta"datoteke rijetko izgledaju ovako, jer S8 informacije 0 grafiekim objektima u racunaru (Tagged Image Eormat). GIFformat je specija!no razvijen za potrebe prenosa slika kroz ra6unarske
obicno.ne pamte kao tekst, nego sifrovano, kao niz binarnih brojeva. Medutim, prikazana izmisljena mreze (odakle mu i patiee ime), gdje je pozeljno da slika zauzima 5to manje memorije (da bi se brze
meta"datoteka dobro ee posluziti da se shvati osnovna ideja vektorske grafike. prenijela). Bitan nedostatak ovog formata je mogu6nost razlikovanja svega 256 razliCitih boja.

Windows operativni sistemi poznaju nekol1ko formata zapisa meta"datoteka, od kojih se najvise Jos bol]i stepen kompresije postignut je u metodu ko]i se koristi u formatu zapisa rasterskih slika
koriste WMF (Windows Metafile) i EMF C!;.nhanced ,MetaFile) format. Microsoft Word i Microsoft koji je poznat pod imenom JPEG (Joint Ehotographic Experts group). Za razliku od ostalih metoda,
Excel koriste upravo ove formate za euvanje informacija 0 crtezima koje nacrtate u njima pomocu ovaj metod ne pamti nikakve informacije 0 boji izvjesnih piksela na sliet, vee pokusava da pretpostavi
alatki za crtanje, a i veGina slika u galerUi Clip Art takoder su pohranjene u jednom od ova dva for" njihovu boju na osnovu boje susjednih piksela, cime se postize dodatna memorijska usteda. Pored
mata. Grafieke datoteke na disku, koje su pohranjene U ovim formatima, imaju na imenu nastavak toga, umjesta informacije 0 samim bojama, 6uvaju se informacije 0 svjetlini pojedinih piksela i odno"
. WMF odnosno . EMF. Mnogi od programa koji koriste vektorsku grafiku, poput Corel Drawa j su boja pikse!a sa susjednim pikselima (tj. kontrastu). Medutim, iz samog postupka je o6igledno da
AutoCada imaju svoj vlastiti format zapisa, ali generalni princip ostaje isti (Corel Drawovzapis koristi ovaj metod nije pogoaan za slike kod kojih postoje nagli prefazi fz jedne u drugu baju, jer ee lnaee
nastavak . CDR, sto ie ocigledno akronim od imena pragrama, dok AutoCadovzapis koristi nastavak doci do primjetne degradacije kvaliteta slike (npr. slike kod koJih postoje nagli prelazi sa crne na
. DWG, sto je skraeenica od engl. drawing). bijelu boju dobiee vidljivu sivu sjenu na mjestu prelaza). Zbog toga JPEG metod spada u tzv. metode
kompresije s gubicima (eng\. !oosy compression). S druge strane, JPEG metod je idealan za
Rasterski grafieki sistemi organizirani su na potpuno drugaeiji na6in. Rastersku sliku mazemo fotografije, kod kojih nikad ne postoje nagli prelazi (lna6e, ovaj metod razvi!a je grupa udruzenih
zamisllti kao veoma gustu pravougaonu mrezu kvadratica (piksela), pri cemu svaki kvadrati6 moze strucnjaka za fotografiju, odakle i potice njegovo ime). Kod ovog metoda je moguce birati odnos
imati svoju boju. Racunar tada prosto memorira informaciju 0 boji svakog piksela pojedinacno. izmedu zeljenog stepena kompresije (memorijske ustede) i stepena degradacije kvaliteta silks.
Pam6enje koordinata svakog piksela izbjegnuto je na taj nacin sto se podaci 0 pikselima pohranju" Zavisno od sadrzaja sllke i dopustene degradacije sllke, stepen kompresije kod JPEG metoda maze
ju u unaprijed utvrdenom poretku, obicno red po red, slijeva nadesno i odozgo nadolje. Prj tome je iznoslti i vise stotina, tako da se slika koja inaee zauzima nekoliko megabajta mote svesti na svega
neophodno poznavati braj piksela u svakom redu, kao i broi redova piksela. Ovi podaCi, napisani u desetak kilobajta!
form! produkta (npr. 800 x 600) tvore apsoJutnu rezoJuciju stike. Medutim, apsolutna rezolucija ne
govori nam nista 0 finael slike. Finoea slike izrazava se brojem piksela po jedinlci duzfne, obicno po Formate zapisa rasterskih grafickih datoteka mozema prepoznati po nastavcima na njihovim
incu (1 inc"" 2,54 em). Ovaj broj naziva se reiatlvna rezolucija, iii prosto rezolucija (u upatrebi je i imenima. Obicne rasterske (bitmapirane) slike, kOje nisu kompresovane ni na kakav nacin, na svom
imenu obicno imaju nastavak .BMP. Nastavci . RLE, .GIF, . TIF (iii . TIFF) i .,}PG (iii . JPEG)
izraz razlucivost iii tinaea). Jedinica kojom se izraiava relativna rezolucija najcesee se obiljezava
skraeenicom dpi (od engl. Qots E.er Inch). ukazuju na rasterske slike kOje su kompresovane jednim od gore spomenutih metoda. Treba
napomenuti da postojl jos bitavo mnostvo raznih zapisa rasterskih slika. Gotovo svaki graficki program,
Rasterske slike se, osim po rezoluciji, razHkuju i po broju bfta koje racunar koristi za pamcenje pored ovih standardnih zapisa, koristi i neki sv6j vlastiti zapis, za koji autori programa smatraju da je iz
informacija 0 svakom pikselu. Ovaj braj direktna odreduje koliko 6e razlicitih boja mod biti prikazano nekih razloga bolji od standardnih zapisa. Ipak, ovoliko obilje grafiCkih formata magla bi dovesti do kon"
na slici. VeCi braj bita omogucava vise boja, q!i se time povecavaju mernorijski zahtjevi za pamcenje fuzije prllikom grafickih komunikacija (tj. prilikom prenosa slika na daljinu). Stoga, graficki standardi
sllke, kao i zahtjevi za brzinorn racunara koji treba da obraduje takve sUke. Danas su u upotrebi stan- za izradu Web stranica na Internetu uglavnom ogranicavaju format zapisa rasterskih slika na formate
dardi koji za pameenje inforrnacija 0 svakom pikselu koriste 1,4,8, 16 iii 24 bita, 810 redom odgo" GIF, JPEG i PNG (Eor1able Network ,Graphics) ko]i je blizak srodnik GIF formata, dok su zapisi vek~
vara moguenosti razlikovanja 2, 16, 256, 65536 i 16777216 razHCitih boja. Mozda nekome torskih slika ogranieeni uglavnom na SVG (Scalable ,Y:ector graphics) format.
moguenost razlikovanja preko 16 miliona bOja djeluje kao pretjerivanje, ali Ijudsko oko zaista moze
razlikovati bJizu 10 miliona boja (ovdje se, naravno, podrazumijevaju 1razlieite nijanse istih boja)! Razmotrimo sada kako se euvaju informacije 0 boji pojedinih piksela.
Taka je, na primjer, u slikama uradenim sa 256 boja primjetna "grubost" i prisustvo "kontura" oko Za tu svrhu moramo se prvo upoznati sa nekim cinjenicama iz optike.
objekata koje ne postoje u stvarnosti, zbog nemogucnosti prikaza "finih" prelaza izmedu dvije Poznato je da se gotovo svaka nijansa svake bole moze dobiti mijesanjem
tri izabrane osnovne boje. Pri tome izbor osnovnlh boja nije jednoznacan,
razliCite boje. Inaee, uobicajeno je da se standardi u kojlma se koristi 16 ill 24 bita po pikselu, nazi~
a Simp bOja i nijansi koje se magu dobiti mljesanjem izabranih bOja naziva
vaju redom High Color i True Color. Za neke potrebe koriste se i 32, pa cak i 64 bita po pikselu,
sa gamut boja (ni jedan gamut boja ne pokriva sve bOje i nijanse koje vidi
ali cHj ovakvog zapisivanja nije povecanje broja mogu6ih bOja (16 miliona boja je sasvim dovoljno),
Ijudsko oko, ali mnogi gamut! pokrivaju preko 90% vidljivih .bola i nijansi).
nego olaksavanje ma~ipuliranja sa bojama prilikom obrade slika.
Postoje dva naCina mijesanja bOja. Ukolika se boje mijesaju kombinacijom
trf razlidta izvora obojene svjetlosti razlicitih ,intenzite-ta (npr.. iz .iri obojena Aditivno rnUdiJllje {;oja
OCigledno jeccla,rasterske slike-zauzimaju znatno vise memorije od vektorskih slika. Zaista, pret~
reflektora), tada govorimo 0 aditivnom miJeSanju_ boja. U ,tom" slucaju,
postavimo da:'treba ~~pamtitLsliku form-ata 800 x 600 piksela, pri 6emu se koriste 24 bita po pikselu.
kao osnovne boje tlpicno se koriste -crvena;-zelenfi-p{qv(;f baja. Ovakav
Za pamee'nje ove -slfke_ potreb~Q-je 800 . 600 . 24 bita, sto iznosi negdje oko 1,37 megabajta, bez obzi"
ra da Ii slika_pnds!avycLsloietJ(pejzai; iii potpuno prazan list papira! Da bi se ovi problemi prevazisli,
raZvijenLsu"raznnnefod1..kompresi!e rasterskih slika (0 opeem prlncipu kompresije podataka gavo-
model osnovnih boja zove se RGB (Beq, ,Green'-alue) mQcjel. Aditivno
mijesanje ove tr1 osnovne bOje jeQnaklh intenzi~ta-dajQ bijelulfoju. S druge
strane, ukoliko se bOje mijesaju nanosenjem trf raificite_Q,bojene materije na
c
rill smo u- Prvorii'd~elujJdzb~hika, kada smo govorili 0 prenoslJ 'padataka). Na primjer, jedna jedno"
stavng idej?"za 'kompr9siju sltka-;:J3stoji S8 u tome da u slueaju kada imamo grupu susjednih piksela
iSie boje, fl_e pamtimo posebno informaciju 0 svakom pikselu, nego informaciju 0 boji samo jednog
neku bl/elu podlogu u razlicitim omjerima (npr. 'kada -radfmo sa--lemperama
iii uljanim bolama u slikarstvu), tada -govorimo:o, subs.tniktivncim y
mijesanju baja. U toni slu6aju, kao osno"vne -bOle tipicno -se koriste
piksefa j ihforma:bijuk<2liko susjednih piksela Ima {stu baju. Ovakav nacin kompresije slika naziva se zelenkasto~plal<'a (cijan), plav{casto-crvemt (fTlagenta) . i tut/:? Ovakav
RLE(Bun LengthI;ncoding). Mnogo slozenlji (i bol]i) metodl kompresije izvedeni su u specijalnim fOf"
model osnovnih boja naziva se CMY (Qyan Magenfa Y:~lIow) model (u SubstraktivflO boja
11!ij'CStIIJjc
matirria 'zapisa rasterskih sJika_poznatim pod nazivima GIF- (Qraphic Interchange format) j TIFF
174 175
klasicnom sl1karstvu cesce se susreee izbor plave, crvene i tute kao osnovnih baja, ali model CMY piksela, ko]i obrazuju takozvani klaster ill svezanj (engl. elustery, a zatim se rasporedom obojenih i
pokriv~ znatno vise boja i nijansi). 8ubstraktlvno mijesanje ove trl osnovne boje u jednakom omjeru neobojenih piksela unutar jednog klastera docarava zeljena nijansa. Ova tehnika karikirano je
trebaio bi dati ernu boju, ali to je u praksi tesko postiei, taka da se CMY modelu najcesce kao eetvr prikazana na sljede60j sliei. Inaee, sve tehnike docaravanja neke bOje Hi tona pomocu razlicito obo-
ta boja dodaje ems baja, cime dobijamo CMYK (Qyan Magenta yellow Blacis) model boja. Treba jenih iii toniranih dovoljno bliskih i sitnih elemenata, nazivaju se dithering (ovaj engleski izraz nije
napomenuti da je gamut substraktivnog CMYK modela nesto man]i ad gamuta aditivnog RGB mo- mogu6e adekvatno prevesti). Tako, na primjer, mreza sitnih crvenih i zutih elemenata moze dotarati
dela, tako da se nei<e nijanse koje se mogu prikazati RGB modek)m ne mogu prikazati pomo6u narandzaslu bOju, sto je takoder prikazano na s!jedecoj slici (na kojo] se, zapravo, javljaju samo
CMYK modela. U visokoprofesionalnim primjenama koriste se mode,li i sa vise osnovnih boja (npr. crveni i zuti pikseli). Postoje mnoge podvrste ovih tehnika, u tije detalje ne6emo u!aziti.
aditivni i substraktivni RGBCMYK madeli), eime je mogu6e formirati gam ute koji pokrivaju prakticno
sve vidljive boje i nijanse.
RGB model boje prirodniji je kod uredaja i medija koji emituju svjetJost, poput monitora i projektora,
dok se CMY iii CMYK modeli boje koriste kod uredaja koji nanose slojeve boje na medij, poput
stampaca, plotera, ltd. U oba modela, svaka boja_ moze se opisatl sa 3 broja, koji predstavljaju inten~ Osnovu softverske podrske svakog grafickog sistema cini jezgro grafickog sistema. 8licno
zitete ucesca svake od osnovnih boja u t.eljenoj boji. Medutim, nedostatak oba modela sastoji se u jezgru operativnog sistema, jezgro grafitkog sistema predstavlja skup potprograma koji su zaduzeni
tinjenid da su oni posve heprilagodeni 6ovjeku. Na primjer, Govjeku nije lako odrediti koliki je udio za izvrsavanje e/ementarnih- grafickih operacija, kao sto su isct1avanje etementarnih grafi6kih
crvene, zelene ifi pfa've sljetfosti u nekoj ad posmatranlh boja. Ono sto Govjek zapravo opaza ked boje objekata (piksela, linija, elipsi, ltd.), odnosno manfpuliranje grafickim objektima (pomjeranje, prom-
su njena svjetlina (eng!. lumination), zas;cenje (eng!. saturatfon) i ton (engl. hue). Pojam svjetflne je jena velicine, oblika i boje, rotacija, razni vidovi deformaeija, itd.). Ove e!ementarne operacije nazi
sam po sebi jasan, zasicenje je parametar koji odreduje Cist06u boje fjako zasi6ena boja je znatno varno grafickim primWvama. Svi graficki aplikativni programi cjelokupan rad sa gratikom ostvaru
izrazajna, dok je slabo zasicena boja neizrazajna i pepeljasta), dok je ton tesko opisiv parametar koji u ju iskljucivo kombiniranjem grafickih primltiva. U modernim operativnim sistemima, jezgro grafiekog
sustini odreduje da Ii mi boju dotivljavamo kao nijansu CNene, zelene, smede, ljubicaste, narandzaste, sistema je sastavni dio samog jezgra operativnog sistema.
iii neke druge boje. Na osnovu ova tri parametra razvijen je i model u kojem se boje takoder opisuju sa
3 broja, ali koji je znatno prilagodeniji covjeku. Ovaj model obicno se naziva HSL (tiue ,Saturation
bumination) model, ali se susrecu r nazivi NSB (.!:jue ,Saturation Brigthness), HSV (Hue gaturation 2.3.3 Manlpuliranje elementima slike
'y',alue) iii NSf (!:tue .saturation Intensity), jer se za iz\'az svjetfina u engleskom jeziku koriste razliciti ter-
mini. Prednost HSL modela je u tome sto ako zelimo, na primjer, da pove6amo osvijetijenost slike, u Za bilo kakvu primjenu ra6unarske grafike ,u ct1anju i projektiranju, nije dovoljno imati samo
ovom modelu dovoijno je mijenjatl samo jedan parametar (svjetlinu), dok je u RGB i CMY modelima mogucnost prikaza elemenata sllke, nego je sa njima potrebno i manipufirati. Razliciti graficki pro-
neophodno mijenjatl intenzitete ucesca svih boja. gram! bitno se razlikuju i po sposobnostima manipuliranja elementima slike. Isto tako, neke vrste
manipulacija primjenjuju se sarno na vektorske slike, dok su druge vrste manipulacija prilagodene
Ukoliko zalite prakticno da eksperimentirate sa RGB i HSL modelima boja, za tu svrhu lijepo se iskljucivo za potrebe rada sa b1tmapiranim, odnosno rasterskim slikama.
motete posluziti dobro poznatim programom Microsoft Paint. Dvostruko kliknlte lijevom tipkom misa
na paletu boja kOja je u ovom programu vidljiva na ekranu, a zatim kliknite na dug me Define

o
U osnovne operacije sa grafickim objektima spada-
Custom Colors. Na ekranu 6e se pojaviti dijalog u kojem motete eksperlmentirati sa parametrima ju trans/selja, rotacija, skafiranJe i smicanje (engl.

D
RGB i HSL modela, j posmatrati kako oni utjecu na izgled bOje. skewing). Ove operacije ilustrirane su na slici sa strane
(osim translacije, koja predstavlja samo paralelno pom-
Kod formata zapisa sllka u Kojima se za pamcenje informacija 0 jednom pikselu koristi veel braj
jeranje u zadanom smjeru). U vektorskoj grafiei, sve ove
bita (npr. 24), svaka grupa bita tipicno pamti po jedan od tr1 parametra nekog ad modela boje (obicno
operacije svode se samo na proste matematske trans~
RGB modela). Taka se, na primjer, u True Coforstandardu koristi po 8 bita za pam6enje informaci~
formacije nad informacijama pomocu kojih je oplsan objekat rotacija
je 0 svakoj od tri komponente boje (koje se u racunarskoj grafiei cesto nazivaju kana/i). U CMYK
objekat. 8toga se one u vektorskoj graflcl izvode krajnje
modelu koriste se 32 bita po pikselu (po 8 bita za svaku ad tetirl komponente). Kod formata zapisa
jednostavno i glatko, i nikada ne dovode do degradacije
u kojima se koristi manji broj bita po pikselu (4 iii 8, koji redom omogu~avaju 16 odnosno 256 boja),

DO
izgleda sllke. 8 druge strane, u rasterskoj grafid situaci-
obicno se zajedno sa samom slikom euva informacija j 0 tzv. paleti boja. Paleta boja je tablica koja
ja je znatno slozenija. Rastersl<e sllke ne sadrze nikakve
cuva informacije 0 tacnim parametrima upotrijebljenih bOja (16_-m 256), po nekom ad modela boja informacije 0 geometrijskoj strukturi stike, taka da pros-
{RGB, CMYK iii HSL), a informacije 0 pojedlniiTl R.ikseILm~: Rredstav!jaju samo redne brojeve ta transformaeija geometrijskih svojstava sllke nije
(lndekse) odgovarajudh podataka u paleti boja. Kod-c!no-bijelih,slika, situacija je znatno jedno- moguca. 8toga'se manipulacije sa rasterskim slikama
stavnija: tu se jednostavno po svakom pikselu pamti jedan broj]<Qji oz~ae?va svjetlinu odgovaraju6e ne primjenjuju na individualne objekte slike (strogo
skoliranje sm.icdnje
s!ve nijanse, pri cemu se obicno koristi 8 bita po-piksel~~ (stod~i.e.28 ~-256 mogucih nivoa sive boje). receno, rasterske sllke se uopce ne sastoje od objekata,
Naravno, kod slika ked kojih postoji iskljucivo crna. iliii bije'!aboja;'.9_o~6!jan je-jedan bit po pikselu. vee iskljucivo od piksela), nego se manipulacije obavlja-
Jedna od potesko6a prilikom stampanja slika sastoji s,!3-Li qf~j~icf da veClnagrafiCkih uredaja za ju nad prethodno oznacenim dijelovima sllke, kojl mogu biti pravilnog ili nepravilnog ob!il~a. _Db_~:
stampanje (stampad, crtaei, ltd.), za razliku- od diSpJeja, 'ne, posjeduju moguenost bojenja pil(sela translacija (paralelno pomjeranje) proizvoljnih dijelova rasterskih slika odvija bezjJot~~koa; njih<?va,
razliCitim intenzitetem. Pikse! moze da bude jedino ,obojen iIi- neobDjen '(npr. ern iii bijel, ali ne i siv). fotacija je mnogo problematicnija, s obzirom da pikseli imaju tacno utvrdenu orijent.B.ciju,: koja se
Da bi se docarale nijanse baja, koriste se.- tehnike nazv-ine pofutonske aproksimacije (eng\. ratacijom narusava. Poseban problem kod rasterskih slika je skaliranje. Dok sa skaliranje ked.vek:
halftone approximations), kod k,ojih se svaki pikseJ prilikom stampe dijeli u veliki broj mnogo sitnijih torskih slika svodi samo na prostu izmjenu koordinata, jedino sto je kod rasterskih sHka mogu'ce ura-

176 ~ 177
dlti je zamjena jednog piksela grupom od vise piksela iste boje u sluca]u kada zelimo povecati e!e-
ment slike Uer ne postoje nikakve informacije 0 tome u kakvom se medusobnotn odnosu nalaze pOJe~
dini pikseti niti kakvu strukfuru tvore), odnosno ispustanje odredenih piksela u slucaju kada zelimo
smanjiti element sllke Uer na velitinu piksela ne mozemo utjecati, pa ih ne motemo ni smanjiti).
Stoga, svaki pokusaj skaliranja rasterskih slika neminovno dovodi do degradacije njihovog kvaliteta,
I<ao sto je vidljivo na sljedecoj slid:

E/ekaf 'Treda i ugalj" PIckat "Mozaik"

--
Efekat "GmJitlla olol'ka"
VeklOrsw Vecina ovih operacija moze se posebno primjenjivati na pajedine kanale boje, tako da je npr.
skalinmjc
mogu6e filtrirati plavu komponentu sJike, a izostriti crvenu komponentu, itd.

2,3.4 Graficki paketi


!?wiltefS!:.O
shdirdlljc
Postoji veliki broj grafickih paketa, odnosno programa za rad sa racunarskom grafikom, kojl se
lzvorna slika
medusobno veoma razlil<uju, kako po namjeni, tako i po mogucnostlma. Osnovnu grupu grafickih
programa cine programi ko]i su namijenjeni za kreiranje slika. Kako smo vee napomenuli u prvom
dijelu ovog udzbenika, programi za kreiranje vektorskil1 slika obicno se nazivaju programi za erta-
nje (eng\. drawing), dok se programi za kreiranje bitmapiranih stika obi(:no nazivaju programi za
slikanje (engl. painting).
Smicanje rasterskih sllka je nesto jednostavnlje od skaliranja, pogotovo za male uglove 8m i-
canja, ali takoder moze da dovede do primjetne degradacije sHke. Programi za crtanje mogu se dalje podijeliti na programe za dvodimenzionafno i trodimen~
zionaino crtanje, kao i na programe za crtanje opee namjene i specijaJizirane namjene. Programi
Flored pomenutih operacija za manipulaciju sa elementima sllke, kOje se susrecu u prakticno za dvodimenzionalno crtanje omogucavaju crtanje objekata sarno iz jednog pravca posmatranja,
svim programima za racunarsku grafiku, 6esto se susrece i prevrtanje slike po horizontali iii ver~ dok programi za trodimenzionalno crtanje omogucavaju definiranje cjelokupnog prostornog izgleda
tikali (eime se dobija slika koja izgleda poput odraza sllke u ogledalu), zatim izmjena svjetline objekata, tako da se rotacijom objekata u prostoru ma ko]i objekat mote vidjeti iz ma kOjeg pravca
slike, izmjena kontrasta (tj. razlike u nivou osvijetljenosti izmeclu svijetlih i tamnih dljelova sllke), posmatranja. Programi za crtanje opee namjene nisu posebno prilagodeni crtanju nekih specificnih
izmjene baja, pretvaranje kaJot, slika u cmoobijele slike (bHo pomocu razliCitih nijansi sive boje, kategorija crteta, dok, s druge strane, programi za crtanje speclja/izirane namjene posjeduju veliki
bilo pomocu polutonskih aproksimacija) itd. Ove operacije izvode se podjednako dobra, kako u vek- broj alata specijalno dizajniranih za crtanje sasvim specificnill crteza (npc elektrienih serna,
torskoj, tako j u rasterskoj grafici. inace, U ve61ni programa za rad sa racunarskom grafikom,_ opisane masinskih elemenata, nota, ltd.). Programi za crtanje specijalizirane namjene najcesce su sastavni
operacije za manipuliranje elementima s!ik8 mogu sa naCi u meniju nazvanom {mage. dijelovi CAD (Computer Aided Jdesign) programa, tj. programa za dizajniranje uz pomoc ra6unara.

Postoje izvjesne operadje nad eiamantima sllke, koje su posebno prilagodene radu sa rasterskirn Od programa za dvodimenzionalno
slikama, a narocito sa fotografijama. U tu VfstU operacija prvenstveno spadaju razne vrste filtriranja, crtanje opce namjene najvise je u upotre-
eijl je cilj da uklone "neeistoce" sa slike, te izostravanja, cijf je cilj da probaju da otkriju i istaknu bi 'program Corel Draw. Ovo je veoma
granice izmedu pojedinih dijelova slike koji, sa Ijudskog aspekta posmatranja, predstavljaju odvojene mocan program za crtanje, ali, nazalost,
cjeline slike. U ovu grupu operacija takoder spadaju i razni specija/ni efekti, 6iii je ellj da na sliku ne i sasvim jednostavan za upotrebu,
primijene takve transformacije koje ce kao krajnji rezultat stvoriti iluzlju da je slika kreirana nekom ad barem dok se ne savladaju njegovi
slikarskih tehnika, npr. pomocu krede i drvenog uglja, akvarela (vodenih bojiea), uljanih boja, osnovni konceptL Na ovom mjestu, pros-
njem komadi6a slakla (mozaika), itd. Ove opcije u veCini grafiekih programa sa u m,m;;;mA tor nam zaista ne dozvoljava opisivanje
nazvanim Fifter i Effects. Na sljedecoj slid prikazana je izvorna rasterska sllka nacina upotrebe ovog programa, jer se
jeno nekoliko oval<vih manipulacija (koje su izvedene uz pomoc programa M;',ci"so,ft IDh"to neophodni koncepti ne mogu izloziti na
malom prostoru i bez mnogo ilustracija.
Ovaj program se mnogo bolje upoznaje
kroz praktican rad. Stoga bi bilo dobro da ,
se, uko!iko nastavne mogucnosti to -""-,-~-----,,

dozvoljavaju, uz pomoc vaseg nastavni-


ka upoznate makar sa e!ementarnim
nacinom upotrebe ovog programa (za uvjezbavanje profesionalne upotrebe ovog programa potreb-
ni su mjeseci rada). Ukoliko ne postoje mogucnosti za takav vid nastave, za savladavanje osnovnih
l:z,vorna slika lzo.~lrena slika Tek.l'-turizirmw slikiJ

178 179
koncepata vektorske grafike mote kao dobra vjetba poslutiti vjetbanje crtanja slozenijih sllka unosenje u racunar putem skenera. Primjer sasvim jednostavnog programa za ovu namjenu je
pomoQu alata za vektorsko crtanje u Wordu i Excelu (sto je svakako dobra predvjezba i u slucaju da Microsoft Photo Editor, koji dolazi u paketu programa zajedno sa Wordom 1 Excelom.
zelite da uC:ite rad sa Corel Drawom). Slika sa strane prikazuje primjer primjene programa Corel
Draw za crtanje jedne geometrijske konstrukcije u matematici. Druga vrsta programa za rad sa raster-
skom grafikom su vee pomenuti programi
~'"~-',-; L:(:.?w~T.:":b' .d:1~! Program! za trodimenzionalno crtanje su, za s/ika'nje, koji omogucavaju i samostalno
~"JJ1~F~' "y ~flfil?l~.JQr <iif;';)~"Ir;liIQif' ------ naravnb, mnogo slozenij! od programa za crtanje (bolje reG! slikanje) rasterskih slika
-.-~-.", __.__- '-__ .~.~~l' -"''".J dvodimenzionalno crtanje. Stoga cemo se sa pomocu raznih alatki za crtanje. Primjer
njima upoznati sarno informativno. Jedan od sasvim jednostavnog programa za slikanje
. .. . :'.jednostavnijih programa za trodimenzionalno skromnih mogucnosti je Microsoft Paint,
I crtanje je program Corel Dream 3d (primjer ko]! yam je sigurno dobra poznat. Njegove

I I
rada sa ovim programom prikazan je na slici
lijevo). Ovaj program pogodan je za prostije
crteze, j moze dobro posluz.iti korisnicima koji
mogucnos1i manipuJiranja sa eJementima
, slike svode S8 samo na transliranje, skali-
ranje i smicanje, dok je rotacija ogranicena
iskljueivo na umnoske uglova od 90. Mnogo
I II
vet poznaju rad sa programam Corel Draw.
Naime, primje1na je sli6nost u nacinu koristenja napredniji progra!J'li ;za slikanje su Adobe
ova dva programa, s obzirom da oba poti6u od Photo$hop (prikazan na slici des no) i
L_ r
_ ._ _ .,,~_._. __ ~,-:_~-:-,_.-J'" " " iste' firme (kao sto je primjetna s!i6nost u Corel PhotoPaint. ~ba pamenuta progra"
~~ nacinu koristenja svih Microsoftovih progra- rna, pored mogucnosti sllkanja, sadrze i
mal vecinu mogucnostl koje posjeduju namjens-
kl programi za obradu rasterskih slika. Neki od specijalnih efekata ugradenih u ove programe (ko)i
Za profesionalne potrebe, Corel S0 mogu dobiti pomocu menija Filter odnosno Effects) mogu zaista biti impresivni. Potrebno je jos
Dream 3d ne moze zadovoljiti, te se za tu napomenuti da lako je Corel Draw program namijenjen prvenstveno za rad sa vektors/(im s/ikama,
svrhu koriste mocniji pro:;Jrami. Jedan od on takoder posjeduje i neke elementarne mogucnosti za rad sa rasterskim s/i/(ama, kao i za kom-
vjerovatno najboljih programa ove vrste je biniranje vektorskih i rasterskih slika u jednu cjelinu.
Discreet 3ds Max (primjer rada Sa ovim
programom prlkazan je na slici desno). Ne treba da zbunjuje cinjenica da programi za rad sa rasterskom grafikom takoder imaju alatke
Mogucnosti ovog programa su zaista za crtanje linija, krugova i drugih objekata ko]i su svojstveni progl'8.mima za rad sa vektorskom
ogromne, ukljucujuci i mogucnost prikaza graflkom. Medutim, neophodno je imati u vidu da svi programi za rad sa rasterskom grafikom linlje,
animiranih objekata u tri dimenzije. Kako krugove i slicne objekte uvijek posmatraju i pohranjuju iskljucivo kao skupinu pi/ese/a, a ne I<ao jedin-
se ovaj program mnago koristi i za profe~ stven objekat. Drugim rijecima. prava Ilnija (dut) se ne pamti kao par koordinata, vee kao skupina
slonalnl dizajn, mozemo ga takoder ubra- -piksela koji tvore Ilniju (i to sarno pribllzno). Stoga, bez obzira sto je pomoeu programa za slil<anje
jat! j u kategoriju programa za dizajnlranje mogu6e nacrtati savrsenu geometrijsku sliku, nikakva lnformacija 0 geometrijskoj strukturi slil<e neoe
uz pomoc racunara. Rad sa ovim pro- biti pohranjena u slid, tako da naknadne manipulaciJe sa individualnim geometrijskim objektima koji
gramom nlje nimalo jednostavan, tako da tvore sliku nisu mogu6e niti u jednom programu za slikanje (nm, opcenito, u rasterskoj grafici).
bi za kvalitetan opis upotrebe ovog pro-
grama bila neophodna knjiga velika otpri- Programi za prikaz poslovne grafike, odnosno za grafiCku prezentaciju podataka, takoder
like kollko i ovaj udtbenik. spadaju u kategoriju grafickih paketa. Nekada su 50 programi za prikaz poslovne grafike iskljucivo
pravili kao zasebni programi. Tako se, na primjer, za graficku prezentaciju podataka dobivenih
Ukol!ko nemate rriogucnostl da se upoznate nl sa kakvim specijaliziranim programima za trod!- pamocu programi3. VisiCalc koristio program Vis{Plot. Mada se jos uvijek mogu naci neovisni pro-
menzionalno crtanje, za sticanje elementarnog uvida u najosnovnije operacije u trodimenzionalnoj grami za poslpvnu grafiku kao sto je npr, Corel Chart, u danasnje vrijeme programi za poslovnu
grafic! mozete se pos!uziti cak i Wordom iii Excelom. Nacrtajte u Wordu neki Ilk, i doda]te mu trecu grafiku obicno su !ntE!grirani u programe za tabe!arne proracune, kao sto su Microsoft Excel i Lotus
dimenziju pomocu alatke 3-D na "Drawing" traci sa alaJima, a zatim pomoeu apcije 3-D Settings 1_~2-3,:U .progrl'ime za poslovnu grafiku mazemo svrstati i programe za I<reiranje raznih vrsta orga-
otvorite dodatnu traku sa alatima na kojoj cete dobiti nekoliko alatki za najelementarnije manipulacije nizacjon!~Aija-gr~ma ili dijagr_ama toka, eiji je tipfcnf predslavnik Microsoft Organization Chart
sa trodimenzionalnim objektima. U Excefu je najbolje da nacrtate neki trodimenzionalni grafikon, ko)i
u 'suStini takoder predstavlja pray! trodimenzionalni objekat-sa kojim sa moze manipulirati u prostoru, . _, 1?laga.nj!3" 0 gr~fickfm paketima zavrsi6emo prikazom jedne grupe programa kOj!, strogo uzevsi,
npr. rotirati ga u prostoru, posmatrati iz proizvoy'nog pravca, itd. nisu grafickiTf(ogrami, a11 su sa njima u bliskom srodstvu. To su programi za kreiranje prezentaci~
ja, -eijl je tipic)an predstavnjk Microsoft PowerPoint. Ovi programi omogueavaju korisniku da kreira
Za rad sa rasterskom grafikom postoji zaista ograman bra) raz!icitih programa. Postoje izvjesni prezentadJu u vict"u niza slajdova, Imj! ce biti prikazani na nekom od medija ko]i omogucavaju prikaz
programi, nazvani program; za obradu rasterskih slika (a ponekad i programi za obradu vidijiv: sirof publici. (najcesce na zidu iii p!atnu, uz pomoc muJtimedijskog projektora povezanog sa
iotograftJa, jer se uglavnom koriste za manipuliranje sa fotografijama) koji nisu namijenjeni za crta- -racun;;:trpm). Svaki s!ajd moze sadrzavatl proizvoljne isjecke teksta, crteta i sJika koji'se mogu raz~
nje rasterskih sllka, nego sarno za manipuliranje sa gotovim slikama iii, eventualno, njihovo mjesta'ti i _organlzirati po telji korisnika. Slika sa desne strane prikazuje primjenu Powerpointa za

180 181
organizaciju prezentacije koja se sastoji ad posebne slike neposredno ispred lijevog i desnog oka korisnika, koje se u mozgu stapaju u jednu
niza slajdova koj! prikazuju niz zanimljivih trodimenzionalnl) sliku. Pored toga, savremene kacige su u stanju i da defektiraju pofotaj glave
pejzaza i prirodnih fenomena. Kod progra- korisnika, tako da se slika koju korisnik vidi automatski mijenja kako korisnik pomjera i okre6e glavu,
ma za kreiranje prezentacija, korisnik maze sto se desava i u stvarnosti. Savremeni sistemi za prividnu stvarnost posjeduju i uredaje za docara~
aktivno upravljati nacinom i redoslijedom vanje cuJa mirisa, koji se zasnivaju na hemijskoj sintezi odgovarajucih mirisnih materija.
pojavljivanja svakog slajda, a takoder moze
napraviti i automatiziranu prezentaciju u Postoji nekoliko razloga za razvoj i primjenu sistema virtualne stvarnostL Na prvom mjestu,
kojoj se slajdovi automatski smjenjuju u avakvi sistemi omogu6avaju otklanjanje opasnosti za Ijude i materijalna dobra. Tako, na primjer,
unaprijed odredenim vremenskim intervali pilofi se prije obu(;avanja uprav!janja pravim avionom prvo uce upravljati prividnim (simufiranim)
rna. Ta:koder, za vrijeme dok je slajd avionom. Slican koncept mogao bi se primijenitl i na obuku vozaea automobila, prije nego sto se
prikazan na mediju, korisnik maze uz zaista ukljuee u stvarni sistem saobracaja. Drugo, sisteml virtualne stvarnosti omogucavaju sma-
pomo6 virtualne olovke dopisivati nove njenje troskova projektiranja. Na primjer, znatna je jeftinije simulirati prividnu zgradu i pokazati je
detalje na slajd i taka ga dinamieki mijenjati potencijalnom kupcu, ne90 izgraditi stvarnu gradevinu. Konacno, sistemi virtualne stvarnosti
u toku prezentacije. omogucavaju simulaciju nemoguceg okolisa, tj. stvaranje takvog okolisa koii nije mogu6 u
stvarnom svijetu. Taka, primjenom sistema virtualne stvarnosti, covjek maze "boraviti" u svijetu
Preporueljivo bi bilo da se u toku nas- (J~~ii-'" ~"",,,,",-,~_~~~"""",,,,,,o~~_::_,_,
tave informatike upoznate sa programom
_'___'
_"_~: maste, sto se obilato koristi kod razlicitih racunarskih igara, koje, u sustini, predstavljaju prlmitivne
sisteme virtualne stvarnosH.
Microsoft Powerpoinl i da samostalno kreirate jednu prezentaciju (npr. prezentaciju vase skole). To
ne bi trebao da bude prevelik problem, jer se radi 0 programu koji je prilicno jednostavan za upotre- Pojednos1avljeni sistemi vlrtualne stvarnosti najeeS6e se koriste u raznim uredajima za zabavu.
bu. Rad sa ovim programom ima mnogo zajedniekih elemenata sa radom u programima Microsoft Tako su u sirokoj upotrebi razni automati za zabavu koji oponasaju voznju avionom iii nekim drugim
Word i Microsoft Excel, taka da ukoliko ste sav!adali rad sa ova dva programa, bez ikakvih proble- vozilom, borbu sa prividnlm protivnikom, oponasaju prizore bitke i pucnjave, itd. Za razliku od
ma cete veoma brzo sav!adati i rad sa PowerPointom, eak i bez ieije pomoci (pogotovo ukoliko soUd- ozbiljnih prlmjena virtualne stvarnosti, u ovom slu6aju je cesto rijee 0 simulacijama necega sto je u
no vladate engleskim jezikom). stvarnom svijetu nemogu6e dozivjeti.

Da bi se uvela jednoobraznost u modele virtualne stvarnosti i omoguCio njihov jednostavniji


2.3.5 Virtualna stvarnosl razvoj, i 994. godine je formiran specijalan programski jezik za opis ovakvih modela, nazvan VRML
('I{irtual Beality Modeling 1anguage). Virtualna stvarnost je jedna ad oblasti informatike i racunarst-
Virtualna (prividna) stvamost (engL virtual reality) predstavlja jedno od najnovijlh dostignuca va kOja se posljednjih godina intenzivno razvija i tesko je nas!utiti sta ad ove oblasti mozemo oteki-
na polju racunarske grafike i racunarstva uopce. Pod virtual nom stvarnoscu obienQ podrazumijeva- vati u buducnosti. Mada cemo se, vjerovatno, prilieno nacekati dok se ne pojave sistemi virtualne
rna tehnologlju koja ukljucuje raeunare, programe I visoko sofisticirane ulazne i izlazne uredaje, i stvarnosti kao sto je HoloDeck iz naucno-fantastiene sarije Zvjezdane staze, neki su skloni miSlje-
kOja ljudima amogucava vizuafizaciju, manipulaciju i interakciju sa raeunarom na naein koji treba da nju da sistemi slicni ovame nisu ni toliko daleka buducnost koliko na prvi pogled moze da izgleda.
oponasa stvarnost, tj. stanoviti (;ovjekov okolis. To oponasanje treba da bude sto je god mogu6e
vjernije, te stoga mora ukljueivati i culne doiivljaje (u pos!jednje vrijeme ne sarno vid i stuh, nego i
njuh i opip). Pored toga, mora biti omogu6eno i djelovanje eovjeka na takav prividni okolis.

Objekti virtualne stvarnosti trebaju imati svojstva stD je god moguce slicnija svojstvima iz
stvarnog svijeta (oblik, boju, dojam prostornosti, ltd.). Sistemi virtualne stvarnosti nuzno moraju biti
interaktivni. Drugim rijeeima, ne samo da korisniku mora biti omoguceno da prima informacije iz vir-
tualne stvarnosti, nego korisnik rnora [mat! utjecaj na simulirane dogadaje u okruzenju virtualne
stvarnosti. To znaei da korisnik ne samo da moze da vidi npr. predmete u riekoj simuliranoj pros-
toriji, nego on mora da bude u mogu6nosti da te predmete j pomice. Sistem virtualne stvarnosti
omogucava korisniku dozivljaje sHene anima ko]e bi imao da se npr. nalazi unutar .neke gradevine,
na b;odu, u automobilu, avianu, ltd. "

Da bi sistemi virtualne stvarnosti bili sto js god mogu6e realni]i, razvijaju se,! posebnf 'utaznt ',' .'
odnosno izlazni uredaji kaji omogucavaju bolje eulne dozivljaje. Taka se kaa ulazfli-1.Jredaji' korlste'
specijalne rukavice koje su u stanju da detektiraju pokrete prstiju korisnika i da informa~dJe (jR:ok-te~'
tima prenesu u raeuriar, pa cak i kompletna odijeJa za virlualnu stvarnost koja su.opr~na: .
gomilom senzors koji detektiraju pokrete gotovo svih dijelova ljudskog tijela,.a mogll .da do.Qaraju i
izvjesne efekte vezane za dazivljaj 6ula apipa. Kao izlazni uredaji najcesce se koris.te uredaji kOji.na
neki naCin uspijevaju docarati punu prostomost, tj. stvarnu prostornu (trodim~nziO!lainu).slfktT. Jedarf
od takvih uredaja je specijaJizirana kaciga,_.koja se stavlja na glavu korisnik~. Kacige prikazuju

182 183
Pilanja i zadaci 2.4 MODEll I BA;i:E PODATAKA I
1, Sta je racunarska grafika? SISTEMI ZA UPRAVLJANJE SAZAMA PODATAKA
2, Na koji nacin mazema podijeliti ratunarsku grafiku?
3. Koje su osnovne karakteristike trodimenziona!ne grafike?
2.4.1 Osnovn; pojmovi 0 bazama podala"a
4. Kada se koristi vektorska a kada rasterska grafika?
5. Ko)! je hardver neophodan za upotrebu racunarske grafike? U prvom dijelu udzbenika upozna!i smo se sa najosnovnijim definicijama vezanim za pojam baze
6. Kako su organizirane vektorske a kako rasterske slike u racunarskoJ memoriji? podataka. Vidjeli sma da pod bazom podataka podrazumijevamo skupinu datoteka u nekom
7. Koje graficke formate poznajete i koja su im osnovna svojstva? racunarskom sistemu koje su medusobno povezane na osnovu njihovih zajednickih elemenata.
8. Sta mozete reci 0 raziicitim modelima opisivanja boja? Manje baze podataka mogu se nalaziti na sarno jednom racunaru i biti dostupne iskljuCivo na samo
jednom racunaru. U tom slucaju govorimo 0 lokafnim bazama podataka. Oval<ve baze podataka
9. Sita su polutonske aproksimacije?
korisnici mogu kreirati i upravljati njihovim sadrzajem pomoc:u relativno jednostavnih programa kao
10. Koje su osnovne manipulacije sa elementima slike? 5to su Microsoft Access, Borland Paradox i FoxPro. S druge strane, baze podataka mogu bit! dos"
11. Zasto je tesko skalirati rasterske slike? tupne velikom broju korisnika povezanih u racunarsku mrezu. U tom slutaju govorimo 0 umreienim
12. Koje S8 vrste transformacija slike primjenjuju na rasterske slike? bazama podataka, koje mogu obuhvatati podatke razbacane na vise stotil1a, pa tak i hiljada
13. Koje programe za rad sa vektorskim i rasterskim slikama poznajete i koje su im osnovne karak- racunara, Umrezene baze podataka mogu biti dostupne sirokom krugu korisnika preko nekog od
teristike? mreznih servisa na koje se korisnik prikljucuje putem li6nog racunara i modema, a mogu biti kreirane
14. Upoznajte se sa nekim od programa za rad sa vektorskom i rasterskom-grafikom i kreirajte ! za internu upotrebu, npr. u nekoj velik:oj radnoj organizaciji. Za kreiranje i odrzavanje ovakvih baza
samostalno nekoliko slika. podataka potreban je znatno moeni)i softver, kao sto je Oracle DBMS, Microsoft SOL Server, itd.
15. Sta su programi za-kreiranje prezentacija?
Sistemima za upravljanje bazama podataka prethodill su sistemi za upravljanje datotekama,
16. Kreirajte samostalno nekoliko prezentacija pomoeu programa Microsoft PowerPoint. tija je osnovna karakteristika mogucnost upravljanja samo jednom datotekom u jednom trenutku,
17. 8ta je virtualna stvarnost i koja se specijalna oprema koristi u sistemima virtualne stvarnost!? sto ih bitno razlikuje ad sistema za uprav!janje bazama podataka, iako su im funkcije koje se obavl-
jaju nad pohranjenim podacima sHene (kreiranje, brisanje, dodavanje, kopiranje, pretraga, azurira-
nje, stampanje, itd.). Na primjer, sistem za upravljanje datotekama maze odrzavati datoteku ucenika
u nekom razredu, datoteku Clanova dramsi<e sekcije i datoteku Clanova skolske biblioteke, medutim
izmedu ovih datoteka ne postoje nikakve veze. Ukoliko ucenlk promijeni adresu stanovanja, taj
podatak se mora posebno izmijeniti u sve trt datoteke. Ova je oClg!edno velika mana sistema za
upravljanje datotekama. Pored toga, prisutni su i drugi nedostaci. Na prvom mjestu, u sistemima za
upravljanje datotekama javlja se problem umnotavanja suviSnih podat'8ka (engL data redudancy),
ko]1 se odrazava u Ginje-nlei da se veoma cesto Isti podaci (npr. podaei 0 u6en,iku koji je istovremeno
clan jednog razreda, dramske sekcije j skolske biblioteke) cuvaju u vise razliCitih datoteka, sto je
oCigledno rasipanje ~memorije. Pored toga,. sistemi za upravljanje datotekama ne obezbjeduju
fntegrifet podataka, 8tO znaCi da podaci u razlicitim datotekama mogu da budu medusobno nesa-
glasnL Na primjer, ukoliko ucenik promijeni adresu stanavanja, a osaba koja adrtava bazu podata-
ka zaboravi da promijeni tal podatak u sve tri datoteke, imacemo nesaglasnost informacija u bazi
podataka.

Sve dok su domlnantni mediji za pohranu velikih k:oliCina podataka bile magnetne trake, koje su
omogu6avale pristup podacima samo po redu (sekvencijalno), sistemi za upravljanje datotekama bill
su jedinL moguCi sisterni za manipulaciju sa velikim koliCinama podataka, Medutim, pojavom prvih
magrrell1(h -di$kova; koj! su omogucavali neposredan pristup podacima u profzvoljnom redoslijedu,
-pocell s0 se lntenzivno razvijati i sistemi za upravljanje bazama podataka, jer je postalo oCig\ed-
-no da slstemi z.a tmi-ayljanje datotekama ne mogu da zadovolje potrebe slozenije abrade podataka.
jJ ovim-:sfstemima, slogo\ll u pojedinim datotekama su medusobno !ogi6ki povezani, taka da se
-- pOQa'Cirria' moze .prjstupati -na jednostavan i jedinstven nacin, bez obzira sto ani mogu bit! fizicki
razbacanfu'raznim datotekama. Taka, na primjer, ukollko posmatramo situaciju iz prethodnog prim-
.- Jera-;,infOJmacija 0 jectnom uteniku (:uva se na jednom mjestu, bez obzira da Ii se taj ucenik posma-
.:_tra kao~ clan fazreda, clan dramske sekcije iii clan sko/ske bibl1oteke. Na ovaj nacin je oeito izbJeg-
nu10 umnozavallje-suvisnih podataka i ostvaren njihov integritet.

184 185
Bez obzira na ocigledne prednosti sistema za upravljanje bazama podataka nad sistemima za tribuirane baze podataka. Bitna prednost distribuiranih baza podataka je u znatno smanjenom pro-
upravljanje datotekama, postoje i neki problemi. Na prvom mjestu, kreiranje, inslaliranje i odrzava- toku informacija kroz komunikacione kanale racunarske mreze, cime se smanjuje mogucnost
nje vellkih baza podataka moze biti jako skupo, narocito u velikim organizacijama (u cijenu treba zagusenja u mreti.
ukljuciti i troskove obuke personala za ispravno koristenje baze podataka). Dalje, mada se baze
podataka magu organizirati taka da znatno otezaju prislup neautoriziranih korisnika osjetljivim Umrezene baze podataka obicno ,se realiziraju pomocu tehnologije nazvane klijentlserver
podacima, uvijek je mogu'ce da ipak dode do provale u sistem. Ook je u slucaju provale u sistem za (odnosno korisnikiposluiiteIJ). Sustinu ove tehnologije demonstriracemo na jednom primjeru.
upravljanje datotekama napadac bio u mogucnosti da promijeni podatke samo u napadnutoj datote- Zamislimo da koristimo centraliziranu umrezenu bazu podataka, koja nije realizirana pomocu
ci, on sada ima mogucnost napada na cjelokupan sistem podataka. Na kraju, treba spomenuti i klijentlserver tehnologije. U tom slucaju, kada neki lokalni racunar zeli pristupiti podacima 1z baze
moguce zloupotrebe baza podataka po pltanju povrede prava na privatnost, jer baze podataka ne- podataka, on prvo mora putem mreze pokrenuti program za obradu baze podataka koji se nalazi na
rijetko sadrze i podatke ko]i ne bi smjeli cia se upotrijebe za druge svrhe osim one la kOje su nami- centralnom racunaru. Taj program se putem mreze prenosi u radnu memoriju lokalnog racunara,
jenjent, sto je dosta tesko kontrolirati. nakon Gega zapocinje njegovo izvrsavanje. Program tada pristupapodacirna na centralnom racunaru,
a zatim ih dotiavlja i obraciuje na lokalnom racunaru, gdje se i vrsi prezentacija obradenih podataka
Baze podataka cesto sadrze dvije vrste datoteka: glavne (mastef) datoteke, i transakcione korisniku. Bitno je uociti da se na centrainom racunaru nalazi kako baza podataka, tako i cjelokupan
datoteke. Gfavne datoteke sadrze skupinu slogova ko]! su manje iii vise trajnog sadrzaja, i koji se program za obradu, tako da ]e potreban opsezan prenos kroz komunii<acioni kanal pri bilo kakvoj
azuriraju samo povremeno. S druge strane, transakcione datoteke su datoteke privremenog sadrza~ upotrebi programa, S druge strane, tehnologija klijenVserver dijeli obradu podataka izmedu racunara
ja koje opisuju sve izmjene kOje su vrsene nad glavnom datotekom, poput dodavanja j brisanja slo- klijenta, odnosno racunara koji zahtijeva uslugu, i racunara servera, odnosno racunara koji pruta
gova, iii izmjene njihovog sadrtaja. S vremena na vrijeme (npr. jedanput mjesecno), sistem za, uslugu. U navedenom primjeru, to znaei da se npr. dio programa sa korisnickim interfejsom nalazi na
upravljanje bazam podataka analizira sadrtaj transakcianih datoteka, i na osnovu njihovog sadrza- korisni6kom racunaru, dok se dio programa za obradu baze podataka (npr. za pretrazivanje i sorti-
ja azurira sadrzaj glavnih datoteka. Na ovaj nacin se postize veea sigurnost, jer se smanjuje braj ranje baze podataka) natazi na central nom racunaru. Za razliku od prvog slucaja, ovdje mrezom ne
intervencija u datotekama kaje zaista sadrze karisne podatke. putuje cjetokupan program, nego s,amo zahtjev za podacima i rezultat obrade podataka.

lnformacije u velikim bazama podataka SU, veoma cesto, zila kucavica i najranjivlja tacka svih Bitno svojstvo tehnologije klijentlserver je podjela i specijalizadja programa izmetiu dvije strane.
vellkih radnih organizacija. 8toga je jasno da mora postojati neka osoba koja je zaduzena da uprav Program na racunaru klijentu obl6no je zaduten za komunikaclj"u sa korisnikom (korisnicki intetiejs),
Ija svim aktivnostima vezanim za bazu podataka. Ta osoba naziva se administrator baze podatB slanje zahljeva za podacima, kao i za prijem obradenih podataka. Program na racunaru serveru ima
kll. Zadaci administratora baze podataka su visestruki. Na samom poceti<u, administrator pomaze u zadatak da prima zahljeve od klijenata, da obraduje podatke iz baze u skladu sa zahtjevima, i da
specifikaciji organlzac1je baze podataka, a nakon toga, odreduje koliko ce prosl0ra na eksternoj me- salje obradene podatke klijentima. Na taj natin je bitno smanjena kolicina podataka koji putuju
moriji biti rezervlrano za potrebe baze podataka, kako ce se podaci dodavati odnosno brisati, i na ko]i kanalima veze u ra6unarskoj mrezi, tako da se bitno smanjuje opasnosi od zagusenja, Program na
nacin ce se evidentirati uCinjene izmjene. Dalje, administrator baze podataka mora odreditl prava pris" racunaru klijentu (klijentski program) tipjcno je znatno manj!, jednostavniji i zahtijeva manje mem-
lupa odrecienim podac1ma za svakog korisnika pojedinacno, uspostaviti sisteme zastite od neauto- orije od programa na racunaru serveru (serve,'Ski program). Opisanom podjelom moguce je pri~
riziranog pristupa podac1ma, i uspostaviti pravila za upotrebu baze podataka. Prilikoin koristenja baze lagoditi racunare u mrezi zadacima koji im najbo!je odgovaraju.
podataka, administrator treba da nadgleda sistem u cilju provjere da Ii sve funkcionira kako treba i
sprecavanja pokusaja neautoriziranog pristupa podacima, kao i da intervenira u slueaju bilo kakvih
problema. Konacno, kako gubitak podataka ill krah sistema za upravljanje bazom podataka moze da 2.4.3 Organizacija baza podataka
ima kobne posljedice po radnu organizaciju, administrator baze podataka mora brinuti 0 strategiji
U prvom dijelu ovog udzbenika, naveli smo nekoliko elementarnih informacija 0 strukturnoj orga-
pravljenja rezervnih kopija (eng1. backup)' vaznih podataka, kao i 0 strategiji obnavljanja podataka
(engl. data recovery) iz rezervnih kopija u slucaju da dode do gubitka podataka u bazi podataka. nizadji baza podataka. Rekli smo da se najmanji element svake baze podataka naziva polje. Skupina
meciusobno povezanih polja naziva se slog, skupina medusobno povezanih slogova naziva se datote-
ka, dok se bazom podataka naziva skupina medusobno povezanih datoteka, Ovdje se prvenstveno
misli na logi6ku organizaciju podataka, jer postoje programi za upravljanje bazama podataka, poput
2.4.2 Ceniralizirane ; disl,;buirane baze podalaka Microsoft Accessa, koji titavu bazu podataka fizi6ki cuvaju u jednoj jedinoj datoteci (sa nastavkom
.MDB), mada, log\cki gledano, ona.predstaVlja 6ita,,:u ~kupinu datoteka "nalijepljenih" jedna na drugu.
. U01reie,ne 'baze podataka mazemo podijeliti na centralizirane i distribuirane bazt: podataka.
Ked centraJizln3.ni,h baza podalaka, sVi podaci se nalaze na jednom (centralnom) racunmu, mada im Danas je uobicajena -podjela: baza podataka po organizaciji na hijerarhijske, mreine, rela~
svi-korlSillC[mogupristupati sa bilo kojeg od uvezanih racunara. S druge strane, kod distribuiranih eione j objektnoworijentirane baze podataka {napomenimo da pojam' mreznih baza podataka
-Q~a Rod~aka," podac! su razbacani na vise racunara, koji mogu biti geografski prllicno udaljeni nema nikakve veze sa mretama raGunara):.-Hijeiar~ijske i mrezn~ baze podataka su historijski naj-
'jedan. bd,drugo.g: Na primjer, posmatrajmo neku bazu podataka namijenjenu vodenju evidencije 0 starife i danas su u veliko] m]eri:prevazid~ne f,.zamijenjene [elacionim i objektno"orijentiranim baza-
artiklima lLnekom tanc.u prodavnlca. Ukoliko se evidencija 0 svim artiklima u svim prodavnicama ma podataka u svim moderriijim sistemil1l{l.."::fpak, baze podataka koncipirane na ~ijerarhijskom iii
_.cuv'a, na feonorn racunaru, radl se 0 centraliziranoj bazi podataka. S druge strane, znatno je prlrod- mreznorn principu i danas su fTI.nogo'J,.I.iJpotrebi-(radi se-uglavnom 0 davno dizajniranim bazama
- -nije da 'Sl;J-podacLo'artiklima u jednoj prodavnici cuvaju na raGunaru ko]i se fizicki nalazi u toj pro- podataka koje dobro ob8vfjaju" Syoj.P9sao, tako ,da l1ema potrebe za promjenom dizajna).
- davnicC~,U aha slucaj03:, trgovci iz ma koje od prodavnica trebaju imati mogucnost prisiupa podacima
o artiklJma~u ma kojo] prodavnici. Krajnji korisnik ne zna (niti treba da zna) sa kojeg racunara mu U hijerarhijskim tJazama podataka.;,poljaj slogovi brganizirani su kao povezana skupina koja po
stizu Rodaci! t<:iko da se sa aspekta korisnika uopee ne vidi razlika izmeciu centralizirane i dis- strukturi podsjeea na porodi6no stablo:_Na sljedeeoj slici predstavljena je moguca struktura jednog
186 187
isjecka iz hijerarhijske baze podataka koja se koristi u sistemima za rezetvaciju karata u aviosao- 2.4.4 Relacione baze podataka
bracaJu:
Relacione baze podataka najlakse je objasniti ukoliko datoteke posmatramo kao tabe'e u Kojima
svak! red odgovara jednom slogu, dok celije tabe!e odgovaraju poljima baze podataka. Dok se kod
hijerarhijskih i mretnih baza podataka unaprijed moralo znati koja su polja odnosno slogovi povezani,
kod relacionih baza podataka se smatra da su povezani oni slogovi u dvije iii vise tabe!a kod kojih
polja u izvjesnim unaprijed odredenim kolonama imaju jednake vrijednostr. Kako su svi podacl unutar
neke kOlone u tabeli obicno podaci istog znacenja koji opisuju odredena svojstva pripadnih slogova
u tabeli (npr. jedna kolona tabele moze sadriavati imena i prezimena neke skupine osoba, druga
kolona njihove adrese, itd.), u relaclonim modelima kolone tabela obicno nazivamo atributima (a
ponekad i poljima, sto moze stvorlti zabunu s obzirom na Cinjenicu da se elementi u presjeku redova
i kolona takoder nazivaju polja). Redovi tabela, koji predstavljaju slogove, u relacionim modelima
ob!cno Se nazlvaju entiteti, dok same tabele u relacionim modeJima nazivamo relacije.

Potrebu za relacionim bazarna podataka i nacin njihovog funkcioniranja objasnicemo na jednom


jednostavnom primjeru. Zamislimo da]e potrebno voditi evidenciju 0 korisnicima neke biblioteke,
knjlgama koje biblioteka posjeduje i zaduienjima (t]. intormacijama 0 tome keji korisnici su zadUiili
koju knjigu), Pretpostavimo da svaki korisnik moze zaduziti u jednorn trenutku ko!ika god hace knji-
PodaCl 0 ga, U slucaju hijerarhijske baze podataka, sve veze izmedu slogova morale bi biti unaprijed defini-
'Jlcdr f IIll1(J
rane, taka da bi se moralo predvidjeU koliko tacno knjiga svaki ad korisnika moze zaduziti (8to je, U
mnogim primjenama, neprihvatljivo ogranicenje), U slucaju relacione baze podataka, dovoljno je
voditi dvije odvojene tabele, tabelu korlsnika biblioteke i tabelu knjiga, koje su medusobno povezane
8vako polje (iii slog) koje se nalazi na visem nivou hijerarhije (nazovimo ga roditelj) moze biti povezano preko zajednickog atributa koji cemo nazvati "Sifra korisnika". Nacin na koji se ostvaruje ovo povezi-
Sa vise polja 111 slogova na nizem nivou hijerarhije (nazovimo ih djeca), ali svako polje iii slog na nftem nivou vanie, najbolje ilustrira sljede6a sllka:
hijerarhije moze biti povezano samo sa jednim poljem iii slogom na visem nivou Ilijerarhije. Na primjer, u
strukturi sa gornje slike, zna se da letove za ZiJrich pokrivaju aviokompanije Swiss Air, Air Bosna i TABELA KORISNlKA BIBLIOTEKE: TABELA KNJlGA:
Lufthansa. Dalie se zna da Air Bosna ima letove za ZOrich 15, aprila, 30. maja i 15. jula, a da su u letu kom- ,_.,- ---
panije Air Bosna za ZOrich dana 15. jula slobodna sjedista A-1, 8-1, C-1, itd, Ocigledno je kod hijerarhijskih Sifra
Korisnika
Ime i
prezime
Broj
TelefrJn8
Mjesto
boravka
Sifra
Knjige Naslov Pisac Sifra
Korisnika
I
baza podataka pozicija svakog sloga u datoteci, odnosno svakog polja u datoteci, od presudnog znacaja.
1-" Moho Mehle 311-123 Zenica Tvrdava Mesa Selimovic i-7
Hijerarhijske baze podataka imaju iZlfjesne prednosti nad modernlm bazama podataka. Na prim-
2 Pero'Perie 666-211 Sa'r'aJevo . I - 12 Qerv[s i smrt ..!4eScrSe !movit... 5
jer, pristup i azuriranje podacima u ovakvim bazama obavljaju se jako brzo, zbog toga SIO su sve veze
izmedu polja i slogova unaprijed gefinirane. Medutim, upravo cinjenica da struktura veza izmedu poje- 3 Iva Ivie 512-115 Mostar 3 Tr - a . IvrfAnaric '" 1
dinih elernenata baze podataka mora biti unaprijed poznata, cini ovakve baze podataka izuzetno kru-
tim i nefleksibilnim Takoder, og~anlcenje da svako dijete mora imati tacno jednog roditelja, kao i
4 Suljo Suljic 999999
5 ..... --V(:l~O vasic 136-1DJ_ 4l1liiJa Luka
-- 4
5
Uhode
Orlovi ranD lete
DeNis Susie
Branko .Gmlit- 7
cinjenica da izmedu elemenata na istam hijerarhijskom nivou nisu uspostavljeni nikakvi odnosi, znat- 6 PetaLfutmvt --:131-231 Tuz@ ,~ Mak Dizdar
no ogranicava mogucnosti ovih baza podataka. Konacno, dodavanje novih palja unutar slogova hije-
7~ f+JttSoiiusiG 444-000 Mostar
rarhijske baze podataka zahtijeva potpunu reorganizaciju cjelokupne baze podataka.
8 Ibra Ibric 156-356 Ballja Luka
Mretne baze podataka (engl. network-databases) su slicne hijerarhijskim bazama podataka, ali
u njima svako dijete moze imati viSe roditelja. 8toga se svakom elementu djetetu, koje se u termi- U tabeli korisnika biblioteke, svaki korisnik ima jedinstvenu Sifru. S druge strane, u tabeH knjiga, sifra
nologiji mreznih baza podataka naziva c!an (~ngL l}1~mbel), moze pristupiti preko vise elemenata korisnika identificira 'korlsnika kojl je zaduzio odredenu knjigu. Tako,. na,primjer, vidimo dE! je
roditelja na visem hijerarhijskom nivou" koji se 118zivaju, niegovi vlasn;ci (eng!. ownet). Mada su "Tvrdavu" zaduzio korisnik sa sifrom 7, odnosno korisnik "Huso Husic",(sto vidimoJz'tqbele korlsni-
mretne baze podataka znatno flel<sibilnije od hijerarhijsklh ~aza podataka (s obzirom da se mogu ka). Istl korlsnik zaduzio je i knjigu "Orlovi ranG lete", Polja u koloni ':Sifra korisnika:~za knjige "Uhode"
uspostavljati visestruke veze izmedu razlicitlh skupiri;t ,podMaka), Qve baze Rodataka i dalje zahtije- i "Kameni spavat" su prazna, 8tO oznacava da te knjlge nisu zaduzene,. Tr!?nufno, post?ie,6.e v.eze
vaju da struktura veza izmedu 'pojedinih.'elem'ena1a.6aze' p6dataka bwde definirana unaprijed. Pored izmedu slogova u ove dvije tabele prikazane su na slici strelicama u boji:,'~
toga, postoji i ogranicenje na broj veta koje'se ,mo;g"~cuspostaviti izmedu pojedinih elemenaia,
Vazno je uoCiti da su kod hijerarhijskih i mreznih baza podataka uspostavljen~ fiksne veze
Moderne baze podataka orgartiiirane su'ao.refacione baze podataka, iii keo njihova nadgrad- izmedu elemenata u vise datoteka koji se nalaze na fiksnim pozicijama.:8:: drug~e sfcane; u relac10nirn
nja u vidu objektno-orljentiranih baza poitataka. Zbog vellkog znacaja relacionih modela u danasnjim bazama podataka, veze se uspostavljaju na osnovu sadrtaja odgovarajl!Cih 'polja, pri'(:emll se pozi-
sistemima za upravljanje bazama podataka, nJilf'6emo razmotriti u posebnom odjeljku. cije tih veza mogu dinamicki mijenjati u toku rada. Na primjer" ncr prikaza'nol sHci; p,efi slog po redu
u tabeli korisnika povezan je sa drugim slogom p~ redu u tabell knEga (plava"_strelica na slici), S
188 189
druge strane, ukoliko korisnik ,"Vasa Vasi6" razduzi knjigu "Dervis i smrt" i zaduzi knjigu "Kameni Obicno se kao kljucno polje uzima polje kaje sadrz! neki jedinstveni identifikacioni broj, poput broja
spavac", tada 6e pet! po redu slog u tabeli korisnika bit! povezan sa sestim po redu slogom u tabeli uc-enika u dnevniku, jedinstvenog maticnog broja gradanina (JMBG), itd. Nije pogodno kao kljueno
knjiga: Upravo zbog ovakvog dinamickog naCina povezivanja, stvarni redoslijed slogova u rela- polje uzimati polje koje sadrzi ime i prezime neke osobe, jer se cesto desava da dvije razlieite osobe
cionim bazama podataka ne igra apsa/utna nikakvu ulogu (za razliku od hijerarhijskih i mretnih baza posjeduju isto ime i prezime. Moderne relacione baze podataka dopustaju da se kao prlrnarni kljuc
podataka, kod kojih je poredak slogova od kljucne vaznosti). definira i skupina atributa, Na primjer, ukoilko imamo atribute "I me i prezime" i "Broj telefol1a" j uko-
liko smo sigurni da ne postoje dvije osobe istog imena i prezimena, koje pored toga imaju i isti broj
Tip povezivanja koji je demonstriran u gornjem primjeru izmedu tabele korisnika biblioteke i tabele telefona, tada je par ova dva atrlbuta mogu6e proglasiti primarnim kljucem. U svakom slueaju, radi
knjiga nazivamo povezivanje tipa "jedan prema vise" (engl. one to many), zbog toga sto jedan slog potrebe za postojanjem primarnog kljuca, mozemo tvrditi da u reJacionim bazama podataka unutar
IZ prve tabele (nazovimo -je primarna tabela) u jed nom trenutku moze biti povezan sa vise slogova jedne tabele nikada ne mogu postojati dva identicna sloga (ani ce se razlikovati barem po sadrzaju
iz druge tabela_ (nazovimo je sekundarna tabela), ali jedan slog iz druge tabele moze biti povezan kl]uenih polja), sto u hijerarhijskim i mreznim bazama podataka ne mora biti sluca].
sa najvise jednim slogom IZ prve tabele. Zaista, jedan korisnik mote zaduziti vise knjiga, ali jedna knji-
ga moze (u jednom trenutku) biti zaduzena od strane najvise jednog korisnika. Da bismo uspostavili Relacione baze podataka moraju voditi racuna 0 referencijalnom integritetu podataka izmectu
povezivanje tipa "jedan prema vise", neophodno je da primarna tabela posjeduje barem jedan atribut tabela. 'Referencijalni integritet predstavlja skup pravila koja garantiraju da se u sekundarnoj tabeli
(kolonu) takav da ne postoje dva sloga u tabeli koji imaju isti sadrzaj polja unutar odgovarajuce kao vrijednost stranog kljuca nikada neee pojaviti vrijednost koja ne postoji medu kljucnim poJjima u
kolone. Kada takav atribut ne bi postojao, ne bi postojao nikakav nacin da jednoznacno identificiramo primarnoj tabeli. U nasem primjeru vodenja evidencije 0 korisnicima biblioteke i knjigama, to zapra-
slog u primarnoj tabeli koji je povezan sa nekim slogom u sekundarnoj tabeli. Atribut sa ovakvim vo znad da se ne smije deslti da tabela knjiga ukazu]e da je neka od knjiga zaduzena od strane
svojstvima naziva se primarni kljuc (engl. primary key), dok odgovaraju6a polja koja pripadaju tom nepostojeceg korisnika. 8toga, slstem za upravljanje bazama podataka ne smije cia dozvoff unos
atributu nazivamo kljucna polja. Dakle, kljucno polje je polje eiji je sadrzaj izabran tako da na sloga u sekundarnu tabelu eiia vdjednost stranog_ kljuca ne posto]i kao kljucno polje u prlmarnoj
jedinstven naCin odreduje slog kojem pripada. Povezivanje tipa jedan prema vise ostvaruje se na taj tabe!!. Referencijalni integriiet maze se narusiti u slucaju da se mijenja sadrtaj klju6nog polja u pri~
naCin sto se proglasl veza izmedu primarnog kljuea primarne tabele i nekog od atributa sekundarne marnoj tabelL Na primjer, Likoliko u tabe!i korisnika promijenimo sifru korisnika "Meho Mehie" sa 1
tabele. Taj atribut u sekundarnoj tabeli naziva se strani kljuc (engl. foreign key). 8trani kljuc moze, na recimo 9, gubimo referencijalni integritet, jer 6e u bazi podataka pisati da je knjiga "Travnicka
ali ne mora da ima isto ime kao primarni vkljuc primarne tabele. Tako smo, na primjer, strani kljue "Sifra hronika" zaduzena kod korisnika sa sifrom 1, koji vise ne postojL Opisani problem rjesava se na dva
korisnika" u tabeli knjiga mogli nazvati "Sifra ylasnika". Bltno je samo da se zna da je tal atribut strani nacina. Prvi nacin je zabrana izmjene kljucnog polja u slogu koji je u tom trenutku vezan sa nekim
kljuc koji je povezan sa primarnim kljucem "Sifra korisnika" u tabeli korisnika biblioteke. slogom u sekundarnoj tabelL Drugi nacin je automatsko aturiranje odgovarajucih polja u svim slo~
govima sekundarne tabeJe, koji su vezani za posmatrani slog primarne tabele, svaki put kada se
Pored povezivanja tlpa "jedan prema vise", u relacionirn bazama podataka cesto Se susre6e potre- promijeni sadrzaj kljucnog polja u prlmarnoj tabelL Ova] nacin naziv8: se i l<askadno aiuriranje (eng!.
ba i za povezivanjima tipa "vise prema vise' (eng!. many to manji) u kojima oeki slog u jedno] tabeli u cascade updating). Jos jedna operacija koja moze narusitl referencijalni integritet ]e brisanje sloga
nekom trenutku moze biti povezan sa vise slogova u drugoj tabeli, dok u istom trenutku !leki slog u dru- iz primarne tabe\e sa kojim]e vezano neko polje u sekundarnoj tabeli (npr. brisanje korisnika "Meho
goj tabell moze biti povezan sa vise slog ova u prvaj tabeli. Na primjer, pretpostavimo da imamo tabelu Mehic" iz primarne labele dovesce do istog problema kao i u prethodnom slucaju). I ova] problem
kupaca i tabelu artikala (poput brasna, secera, itd.). Jasno je da jedan kupac moze kupiti vise artikala, takoder se rjesava zabranom brisanja slogova primarne tabsle koji su vezani sa nekim slogom u
ali isto taka jedan artikl (npr, secer) maze biti kupljen od strane vise kupaca. Ovakvo povezivanje nijs sekundarnoj tabeli, iii automatskim brisanjem svih slogova sekundarne tabele vezanih za slog pri~
posve jednostavno izvesti. Ukoliko u tabelu kupaca uvedemo kao sekundarni kljue afribut koji pred- marne tabele ko]i zelimo da izbrisemo, sto nazivamo kaskadno brisanje (eng I, cascade deleting).
stav!ja primarni k!jut u tabeli artikala, tada cemo oeigledno dod u situaciju da jedan kupac maze kupiti
U relacionim bazama podataka, trebali bisrno po svaku cijenu izb]egavati postojanje medusob-
sarno jedan artikl. Ukoliko izvrsimo obrnuto povezivanje, doci cemo u situaciju da jedan artikl moze biti
no zavisnih atributa. Pretpostavlmo, na primjer, da u tabeli korisnika biblioteke treba da vodimo evi-
kupljen ad strane samo jednog kupca. Izlaz lz ove situacije nalazi se u uvodenju trece tabeJe, tzv.
denciju 0 kantonu iz kojeg dolazi korisnik, kao i postanskom broju grada. Na prvi pogled, dovoljna
posrednicke tabele, u kojaj se javljaju dva strana kljuGa, od kojih je prvi povszan sa primarnlm kljucem
bi bilo dodati dva nova atributa, "Kanton" I "Postan3ki broi" u tabelu korisnika biblioteke. Medutim,
pNe tabele, a drugi saprimarnim kljucem druge tabele. Posrednicka tabela u navedenom primjeru
ovakvo rjesenje Ima niz nedostataka. Uocimo da ime grada jednoznaeno odreduje kako kanton, tako
zapravo sadrzi popis svih obavljenih kupovlna, tj. spisak koji je kupac kupio koji proizvod. Drugim
i postanski broj. Na primjer, Mostar pripada Hercegovaeko~neretvanskom kantonu i ima postanski
rijecima, povezivanje tipa "vise prema vise" izmedu dvije tabele ostvaruje se indirektno, uvodenjem
broj 88000. Stoga, u slucaju da se zaista adlucimo da vodimo "Kanton" i "Postanski bro]" kao nove
. posrednicke tabele, sa kojom su prve dvije tabele povezane vezom tipa "jedan prema vise". atribute u tabeli korisnika, tada bismo i.a -svakog korisnika iz istog grada morali prepisivati iste
podatke 0 kantonu i postanskom, brojl). To ne sam9 da trosi memoriju, nego i omogucava nesa-
.:. ..l.J .slucajLi da se ia strani kljuc u sekundarnoj tabeli izabere atrlbut koji je u toj tabel} ujedno i pri-
glasnost podatakal. jer se lako:rnoze d~siti -da pogrijesimo, pa da za dva Ista grada u razliCitim slo-
rnarni,f<!juc.,)a<;la jedan -slog primarne tabele moze bit! povezan samo sa jednim slogom u sekun-
govima upisemo razHcite pO,datke o_kahtOnu :ilili postanskom broju. Mnogo bolje rjesenje ie da formi-
darnoHabeli' {j~r !ada ne mogu postojati dva polja u sekundarnoj tabeli sa istom vrijednoseu stranog
ramo posebnu tabelu Q(adova u kojo(cemo ~uv:a:tl p.odatke 0 kantonlma i postanskirn brojevima za
.~. kij!Jt~) .. Kf1ko :'jetlan slog sekundarne tabele ionako ne moze blti povezan sa vise od jednog sloga u
svakj od gradova, a koju cemO vezom'_ ttpa "jedan. prema vise" povezati sa tabelom korisnika
primarnon(ill?Ii,-~ tom slucaju imamo povezivanje tipa "jedan premajedan'-' (eng!. one to one). Ovaj
koristeci, recimo, lme grada kao prima'rnl- kljuC' u' t!3be!i gradova (prirnarni kljuc moze biti i postanski
t!Ppov~~vanja~se'u pra~si~eoma rijetko susrece, jer za njim nema velike praktiene polrebe (um}esto
broj, ali nazlv kantona ne moze, jer.visEf:gradova moze-priPadati istom kanlonu), koj! je povezan sa
. _~a: pO\1ezujemo dya sloga iz dvije tabele vezom tipa "jedan prema ledan", mnago je prirodnlje
atributom "Mjesto boravka".u:tabel! kojfsnika, koF:lgra ul09U stranog kljuca. OVakav nacin povezi~
napravltl jedan slog koji objedinjuje polja iz ta dva 310ga).
vanja lIustriran je na sljede~Qj.sliCi:
"it: lzrotenih koncepata, vidljivo ]e da je za uspostavljanje veza Izmedu tabela u relacionim baza-
ma 'podataka?d presudne vaznosti postojanje primarnog kljuca, odnosno postojanje kljucnih polja.
190 191
TABELA KORISNIKA BIBLIOTEKE: TABELA GRADOVA: baze podataka i krajnjeg korisnika uvijek nalazi aplikacija baze podataka (eng!. database app/fcation),
- - odnosno program Ko)l korisniku omogucava manipu!aciju podacima kao i prezentaciju podataka u
Silra Ime i Broj Mjesto Kanton iii Pos. njemu prihvatljivoj f~rmi, bez obzira na internu organizaciju baze podataka.
Korisnika prezims Telefona boravka Grad , entitet brDj
Ukoliko je aplikadja baze podataka dobro kreirana, sarna upotreba baze podataka obieno je
1 Meho Mehie 321-123 Zenica Zeoica Zenicko- Dobojski 72000 veoma jednostavna. [Vledutim, proces kreiranja baza podataka kao i kreiranja apfikacija baze podata w

2 Pem Perie 666-212 Sarajevo ----- ~ Sarajevo Sarajevo 71000 ka moze biti jako s!ozen. Zbog toga, savremeni programi za rad sa bazama podataka moraju da
3 Iva IviC 512-125 Mostar ~::,- Mostar Hercegovacko-neretvansKi 88000 olaksaju kako kreiranje i odrzavanje baza podataka, tako j jednostavnu izradu aplikacija baze podata-
~ ka koje su podesne za krajnje kOrisnike baza podataka, Danas je ova] posao znatno oiaksan pojavom
4 Suljo Suljir. 999-999 Sarajevo Ie; Banjo Luka Republika Srpska 51000
5 Vasa Vasic 136-631 Banja Luka 1-/ (", Tuzla Tuzlanski 75000
vizualnih alata za razvoj aplikacija baze podataka. To su program! koji omogucavaju kreiranje
baza podataka i odgovarajuCih aplikacija vezanih uz baze podataka crtanjem odgovarajucih simbola

~~?
6 Petar Petrovic 131-131 Tuzla " i objekata' na ekranu i njihovim povezivanjem, popunjavanjem formu!ara iii odgovaranjem na pltanja i
7 Huso Husie 444-000 Mostar slicnim postupcima, uz sasvirfl malo iii oak nimalo I<1asi6nog programiranja. Na taj naCin je i korisnici-
8 Ibro Ibric 156-356 Ba0~ rna koji ne vladaju programersklm vjestinama omoguceno razvijanje jednostavnijih baza podataka i
pripadnih aplikacija (slozene baze podataka se ipak ne mogu formirati bez znanja programiranja).
Pri tome, sistem za uprav!janje bazorn podataka mora da omoguci korisniku da ove dvije povezane
tabele vidi kao jednu tabelu sa vecim brojem atributa,. iaka su posmatrani podaci zapravo logiCki Jedan ad najpopularnijih vizualnih alata za upravljanje bazama podataka i razvo] prateCih_aplikaci-
organizirani u vise povezanih tabeJa. Skup tehnika, poput opisane tehnike, koje se preduzimaju sa ja vjerovatno je Microsoft Access. Kod ovog programa, kao i kod ve6ine slicnih programa, svaka baza
ciljem da se smanji dupliranje informacija u bazi podataka i obezbijedi sigurna konzistentnost svih podataka, zajedno sa pripadnom aplikacijom, sastoji se od sest tipova objekata nazvanih tabefe (eng!.
pohranjenih podataka, zajedni6kim imenom se nazlvaju normalfzaclja baze podataka, tables), upiti (engl. queries), obrasci (engl. forms), izvjestaj; (engl. reports), makroi (engl. macros) i
moduli (engl. modules). Tabele, koje su osnovni gradivni elementi svake relacione baze podataka, vee
U dosadasnjem izlaganju upoznali sma se sa osnovnim konceptima vezanim za relacione baze sma deta!jno razmotri!i. Upftf su objekti koji vrse odredene manipulacije nad sadrzajem tabela iii drugih
podataka. Ocigledna prednost ovakvih baza podataka nad hijerarhijskim i mreznim bazama podataka upita, i pripremaju rezultate obavljenih manipulacija za prezen1aciju. Na primjer, upit moze pronaCi
sastoji se u cinjenici da se korisnik ne mora pridti8vati nikakve unaprijed propisane "s1rukture" koja ga popis svih korisnika biblioteke jz Zenicko-dobojskog kantona koji nemaju zaduzenu nit! jednu knjigu,
ogranicava, 8tO omogucava jednostavno dodavanje, brisanje i modificiranje pojedinih elemenata u bazi pri cemu se pronadeni popis po potrebi moze prezentirati takoder u formi tabele. Obrasc{ su objekti koji
omogu6avaju unosenje podataka u tabele oa elegantniji nacin popunjavanjem formu!ara, a ne direkt-
podataka. S druge strane, pretrazivanje i aZuriranje re!acionih baza podataka moze biti znaino sporlje
nego u-slucaju hijerarhijskih i mreznih baza podataka, sto im S6 maze uzeti kao nedostatak. Nairne, zbog nim unosenjem u tabelu. Izvjestaji su objekli koji preuzimaju podatke iz tabela iii upita i prezentiraju ih
u vidu uredenih dokumenata. Makroi su objekti koji omogueavaju automatlzaciju izvjesnih uobicajenih
nepostojanja fiksnih i evrstih veza izmedu pojedinih elemenata baze podataka, testa nije unaprijed jasno
radnji kao i uvezivanje preostalih objekata u sistemu u funkcionalnu cjelinu, dok moduli omogucavaju
na ko)i nacin pristupitl trazenim podadma dok se ne obavi de1aijnija analiza (korisnik nije svjestan ove
analiza, jer nju obavlja sistem za upravljanje bazom podataka). Bez obzira na eventualne nedostatke, da S8 isprogramiraju funkcionalnosti koje nisu podriane ostalim objektima.
relacioni model baza podataka danas ubjedljivo dominira u svim primjenama baza podataka. Microsoft Access je prilicl10 slozen program (minimalni kursevi za potrebe upoznavanja
osnovnih principa rada sa Accessom obicno traju bar 20 easova), i u ovom udzbeniku se ne moze-
Prirodnu nadgradnju relacionih baza podataka predstavljaju objektno-orijentirane baze podata- mo upustati u detalje njegovog korisienja. Stoga cemo dati sarno nekoliko osnovnih napomena. U
ka, koje se od klasicnih relacionih baza podataka razlikuju sarno po cinjenici da polja U ovakvim verziji Microsoft Access 970snovni radni prozor ovog programa (nazovimo ga prozor baze podata~
bazama podataka mogu saCinjavati i razni objekti netekstualne_i nenumericke prirode, poput cneta, ka) posjeduje sest kartica, nazvanih upravo Tables, Queries, Forms, Reports, Macros i Modules,
slika, muzike, animiranih video sekvenci, i drugih objekata koje te8ko mozema zam/sliti i{ao polja dok su u verziji Microsoft Access 2000 kartice zamijenjene grupom dugmadl sa lijeve strane (uko~
neke tabele u klasitnom smislu. Polja objektno-orijentiranih baza podataka sastoje se od struktura liko zanemarimo estetske razlike, princip rada je prakticno isti u obe verzije). Izgled prozora baze
nazvanih objekti, koji u sebi sadrze ne sarno gale podatke, nego i skupinu uputa (postupaka) kako podataka u obje verzije prikazan je na narednoj slid.
sa tim podacima treba postupati da bi se oni prezentirali na zeljeni na6in.

2.4.5 ApUkacije baz8 podataka

Krajnjeg korisnika obicno ne zanima kakoIe: o'rganizirana baza podataka, od kojih se tabela sas w

toji baza, kako su one medusobno pov~zane,~_ ~d. Qnn'"sto krajnjeg korisnika zanima je jedino
koriStenje baze podataka. Korisnik ne:-teli:~a llno.si podatke direktno u'tabele, pogotovo u slucaju
kada su, zbog lzvrsene normalizadje, podaci kofe Xons.nik ocekuje u jednoj tabeli razbacani u vise
tabela. Umjesto toga, korisniku treba pon~diti ~crgovarajuGi korisni6ki interfejs u kojem ce on moGi
unositi podatke pomocu raznih obrazata--na ekra'nu;i koji ce od njega sakriti detalje vezane za inter-
nu organizaciju podataka. Takoder, ~orjsriikne ze!Jda \tidi podatke iz baze podataka sarno kao puku
tabelu, vee ocekuje prikaz d~taljnog izvjestaja .-0 traienim pqdacima iz baze podataka, u vidu
uredenog dokumenta koji se mt?z~ prezentlrati- i stampati. Stoga se kao posrednik izmedu same Microsofi h;c", 97
192 193
Novi objekti kreiraju se Idikom na dugme New. VeGina objekata moze se posmatrati sa aspekta
dizajna, i sa aspekta upotrebe, sto se mOle podesavati pomo6u odgovarajuCih naredbi u meniju Neki sistemi za upravljanje bazama podataka, kao sto je Symantec Q&A, cak omogucavaju
View, iii odgovarajuGih alatki na'traGi sa alatima. Treba napomenuti da su meniji'i trake sa alatima postavljanje upita u prirodnom govornom jeziku (konkretnije, engleskom). Medutlm, mogucnost
u Microsoft Accessu izrazito dinamicne prirode, odnosno mijenjaju svoju strukturu u ovisnosti od ovakvih sistema da razumiju govorni jezik prilicno su ograniceni, tako da su ovi sistemi za sada
toga sta ,u tom trenutku radimo, zbog caga bi za objasnjenje rada sa ovim programom trebalo znat~ namijenjeni vise eksperimentalnim istrazivanjima, nego profesionalnoj upotrebi. Za profesionaine
no vise prostora nego za objasnjenje Microsoft Worda iii Microsoft Exce/a. primjene, mozemo re6i da se danas gotovo iskljutivo koristi upravo SOL

Tabele i upite kreiramo u Acces$utako sto nakon kHka na dugme Newizaberemo apciju Design Prva verzija SQL~a nastaje davne 1970. godine u IBM istrazivatkom laboratoriju. Ipak, prvu
View (u verziji Microsoft Access 2000 mazema i dvastruko kllknuti na ikanu _Create table/query in komercijalnu verzlju sistema za upravljanje relacionlm bazama podataka (skraeeno RDBMS, od engl.
design view) i popunimo odgovaraju6e obrasce na ekranu neophodnim informacijama, u cije deta- 'Belation Qataase Management System) baziranog na SOL~u (koj! cerna, u nastavku kraee nazivati
lje ne mozemo ulaziti (nesto vise detalja biee navedeno u posljednjem odjeljku ovog poglavlja). prosto SOL sistem) na trziste ne lzbacuje IBM, vee firma Oracle. IBM svoje komercijalne izvedbe
Sadrzaj tabela kasnije mozema popunjavati na slican na6!n kao u Excelu, s tim da je prethodno SOL sistema izbacuje na trziste pocetkom osamdesetih godina. Ubrzo na seenu lzlaze SYSBASE,
potrebno tabelu otvoriti za prikaz klikom na dugme Open iii dvostrukim klikom na odgovarajueu INGRES i mnogi drugi, taka da vee pocetkom devedesetih godina na trzistu Ima preko stotinu SOL
ikonu. Formulare i izvjeStaje najlakse je kreirati pomoeu carobnjaka koje dobijama taka sto nakon sistema koji su bazirani na nekom dijalektu SOL-a. Da bi se uvelo reda u to sarenilo dijalekata, vee
klika na dugme New na odgovaraju6oj kartici izaberemo opcije Form Wizard, odnosno Report 1986. godine izlazl prvi ANSI SQL standard. 1987. godine je isti standard prihva6en i kao ISO SOL
Wizard (u verziji Microsoft Access 2000 Istl efekat mozema postle] dvostrukim klikom na ikonu standard (/SO, ad engl.lnternationalStandardlzation Qrganization,_predstavlja medunarodnu organi-
Create form/report by using wizard). zaciju koja se bavi pitanjlma uspostavljanja standarda). PIVO prosirenje standarda, IEF (lntegrity
Enhancement Eeature), S8 javlja vee 1989. godine. Paralelno se ustanovljavaju i drugi SOL standar~
Za uspostavljanje veza izmedu kreiranih tabela, u Microsoft Accessu koristi se alatka nazvana di, poput X/Open standarda (za UNIX operativne sisteme), SAA standarda (za IBM sisteme), FIPS
Relationship koju mozemo pronaei na traci sa alatima, iii istoimena naredba koju mozemo dobiti iz (Eederallnformation Eroce.s.sing) standarda (za potrebe americke savezne vlade), ltd.
iskocnog menija koji se javlja ako desnom tipkom misa kliknemo na prozor baze podataka.
Pokretanje ave alatke ill naredbe otvara novi prozor u kojem mozema prikazati sve iii rieke od Godine 1992. [zasao je novi standard poznat pod skraeenim nazivom SQU92 (puni naziv je
kreiranih tabela, zajedno sa popisom njihovih atributa. Uspostavljanje veze ostvarujemo tako sto "Intemational Standard ISO/IEG 9075:1992 - Database Language Sal"). Konacno, krajem devedesetih
pomoeu misa primarni kljuc primarne tabele "advucemo" na atribut sekundarne tabele koji treba da godina pocinje izlaziti najnoviji SOL standard SQug9. Zasto kalemo pocinje?! Za raziiku od dotadasnjih
postane odgovarajuCi slrani kljuc, U dijaJogu koji se tom prilikom javlja mozemo izabrati da Ii zelimo SOL standarda, posljednji SOL standard izlazi "u dijelovima". Do trenutka pisanja ovog udzbenika Uanu-
automatsko ostvarivanje referencijalnog integrlteta. Pri tome, mozemo izabrati koji naCin rjesavanja ar 2003. godine), iza810 je osam dijelova, a planira S8 jos nekoliko. Ovaj standard je zaista ogroman.
problema narusavanja integriteta zelimo prHikom miJenjanja primarnog kljuca !Ii brisanja sloga iz pri- Njegov "glavni" dio pod nazlvom ISO/lEe SOL Fundation ima ako 1120 strana teksta, d_ok preostali do
marne tabsle (zabranu postupka, iii kaskadno aiuriranje odnasno brisanje). Uspostav!jene veze sada objavljeni dijelovi imaju oko 1800 strana teksta (radi usporedbe, SQU89 standard imao je oko 120
kasnije sluie Accessu za automatlzaciju generiranja odgovarajuCih upita, obrazaca i izvjeStaja pri- strana teksta, a kompletan standard programskog jezika Pasca/lmji Cemo obradivati u tre6em dijelu ovog
Hkom upotrebe vizualnih alata. udzbenika Ima oko 80 strana u klasicnoj verziji, a aka 215 strana u prosirenoj verzijl).

Problem sa slozenoscu SOL s1andarda odratava se u cinjenici da su ti standardi rljetko u potpunosti


2.4.6 Jezici za manipulaciju relacionim bazama podalaka padrzani u kornercijalnim produktirna. Razlike izmedu dijalekata SOL-a izvedenih u razlicitim konkret-
nim produktima kao sto su Oracle DBMS, Microsoft SOL Serveri IBM DB2 u odnosu na zvanicni stan~
Upiti predstavljaju sri: svih postupaka za manipulaciju relacionim bazama podataka. Mada se dard otezava prenos aplikacija sa jednog na drugi racunarski sistem, kao i obuku korisnika za rad sa
jednostavniji upiti u programima kao sto je Microsoft Access mogu realizirati vizualnim postupcima, SQLom (bez obzira sto razlike izmedu pojedinlh dijalekada SOL-a nisu velike). Popularni program za
za kreiranje iole slozenijih upita potrebno je koristiti jezike za postavljanje upita (engl. query languages) rad sa bazama podataka Microsoft Access takoder podrzava neku verziju SQL-a kOja se jOs vise raz-
koji se jos nazivaju i jezici za manipuJaciju podacima iii DML (Q;3.ta Manipulation J",anguage) 1ezi~ likuje od standarda, Medutim, kako veeina korisnika svoj prvi susret sa SOL-om ostvari upravo preko
ci. To je vrsta programsklh jezika jednostavnih za upotrebu (ne i za racunar), koji spadaju u kate- programa Microsoft Access, njegove specificnosti ee biti posebno obradene u nastavku teksta.
goriju tzv. neprocedura/nih programskih jezika (0 programskim jezicima detaljnije ,cemo govoriti u
trecem dijelu ovog udzbenika). Ovi jezici se sastoje ad fraza koje podsje,6aju na recenice engleskog Jedan od rijetkih SOL sistema koji gotovo u potpunosti prati zvanicni SOL standard (doduse,
jezika, u kojima se pojavljuju osnovne djeti kao sto su "select" (izaberi),:"delete", (izbrisi) i ",modify" stariji standard SQU92) je sistem Ocelot SOL DBMS. Dodatna pogodnost ovog sistema je u tinjeni-
(izmijeni). Mada postoje razne vrste jezika ovog tipa, najvise je' u upotr~bi jezH~'poznatpod imenor)1 ci da se radi 0 potpuno besplatnom softveru koji se maze "skinuti" putem intemeta sa -adrese
SOL (S.tructured Query .Language), koji danas predstavlja zaKonski"C'de jure"rUaktieki_Cde facto") www.oc-elot.ca. tako da ga bez ikakvih problema mogu nabaviti 'kako skole, tako i ucenici za
standard u radu s relacionim bazama podataka. SOL spada u progmmskejezikB, -i fipicnl fe pred- potrebe uvjeibavanja rada sa SOL-om.
stavnik tzv. neproceduralnih programskih jezfka. Neproceduralnost ovog je2ika'se".9gleda u t6me da
se njegova glavna naredba SELECT sastoji iz opisa !ita se treba uraditi.:sa ba?:Q!D podataka, ali n"8:
i detalja kako ee se taj postupak uraditi. Na primjer,naredba 0vug,jezlka.k0ja bl prikazala ime i prez:" 2.4.7 Kra!ak uvoa u Sal
u
ime kao i broj telefona svih korisnika bibliateke koju sma razmatrali jednorh -od' ranijih primjera, a
koji zive u Mostaru, glasila bi: ., -- Osnovna funkcija SQL8 je da definira strukturu podataka, manipulira sa podacima i kontrolira
podatke u relacionoj bazi podataka. SOL je skupovno orijentiran jezik i za ozbiljniji rad s 'njim je
SELEC'l' ImeIPrezime, BrojTelefona FROM Biblioteka WHERE MjestQBoravka';' , Hostar ' potrebno poznavati teonju skupova, relacioni {aeun i relacionu a/gebru. Vee sma rekH da su rela--

194 195
mogu sadrzavati i neke dopunske opeije, od kojih su najvaznije sljedece:
cione baze podataka organizlrane kao kolekcija fabela. Svaka tabela (relacija) je ureClena kolekcija
jedne JIi vise kolona i neuredena kolekcija redova, koja moze da ne sadrii niti jedan red. Drugim NOT' NULL znaei da polja unutar pripadne kolone ne smiju nikad biti prazna, tj. da se u svakom
rijeCima, poredak kolona je bitan, dok poredak redova nije bitan. U presjeku svakog reda i svaka po!ju te kolone uvijek mora nalaziti neka vrijednost;
kolona nalazi se najvise jedan podatak, a svi podaci unutar jadne kolone moraju biti {stog tipa. DEFAUI.,T znaei da 6e SOL sistem kod dodavanja novih redova (slogova) sam uzeti vrijednast
navedenu iza DEFAULT za vrijednost odgovarajueeg polja u koloni uk'oliko se eksplicitno ne
Bitno je napomenuti da se SOL razlikuje od veGine klasicnih programskih jezika po tome sto nije
navede neka druga vrijednost;
moguce napraviti samostalan izvrsni program koristeCi iskljucivo SQL 8toga postoji mogucnost da
PRIMARY KEY oznacava da pripadna kolona predstavlja primarni kljuc. Kako kljucna polja ne
se, na razne naeine, naredbe SOL~a mijesaju sa naredbama drugih programskih jezika, odnosno da
smiju biti prazna, opGija PRIMARY KEY U sebe ukljueuje i opciju NO'l' NUI,L.
se, na izvjestan nacin, SOL naredbe ugraduju u druge programske jezike. Ovo je tzv. ugraden;
(engl. embedded) naein rada. U slueajevima kada naredbe SQL~a zadajemo interaktivno, koristimo Vazno je naglasiti da se kod upotrebe tipa CHARACTER (n), za svako ,polje tog tipa rezervira mem~
direktni naCin rada. Sarna sintaksa SOL naredbi ista je u svirri naC1nima rada, ali se neke SOL orljski prostor za tacno n znakova, bez obzira sto stvami podatak moze biti i kraCi. Zbog toga
naredbe mogu koristiti samo u odredenim naeinima rada. moramo paziti da ne postavimo preveliko n, jar cemo u suprotnom bespotrebno imati veliki gubitak
memorijskog prostora.
Rad sa SOL-om odvija se u tzv. transakcijama. Transakcija je grupa SOL operacija, odnosno
naredbi, kod kojih vrijedi pravilo tipa "sve iii nista". To znaei da ee iii sve promjene biti I fizieki Kao primjer, sljedeea naredba kreira tabelu nazvanu "Kredit", sa 6 kolona nazvanih "Broj",
zapisane u bazu podataka, iii se neee zapisatl niti jedna promjena. Sta de se od toga desiti, "lmePrezime", "Iznos", "lzdan", "Period" i "Dug" koje ee redom euvati podatke 0 broju kredita, imenu
odredeno je posljednjom naredbom u transakciji. Ukoliko se kao posljednja naredba u transakciji i prezimenu korisnika, iznosu kredita, datumu izdavanja, periodu otplate (u mjesecima), i iznosu
zada naredba COMMIT, sve izmjene ee biti zapisane u bazu, a ako se kao posljednja naredba u trenutnog dugovanja:
transakciji zada naredba ROLLBACK, niti jadna izmjena neee biti zapisana u bazu, Bez obzira na to,
sve izmjene su ipak vidljive za transakGiju sve do njenog zavrsetka. Analogiju mazemo napraviti sa CREATE TABLE Kredit(
B:mj INTEGER PRHfARY KEY,
radom u Wordu: prilikom zavrsatka rada sa dakumentom, mi na pitanje da Ii zelimo sacuvati izmjene
Imeprezime CHAR(3S} NO'l' NULL,
u dokumentu mozemo odgovori1i sa "No", eime izmjene nece biti pohranjene u datoteku, mada su Iznos Nl)MERIC(7,2) ,
sve izmjene u dokumentu bile vidljive u toku rada (prije nego sto smo se odlueili da ih prosto ignorl- Izdan DA'l'E,
ramo). Mnogi SOL sistemi imaju mogucnost ukljucenja neke opGije koja omogueava automatska upi- Period SMALLINT DEFAULT 12,
sivanje svih izvrsenih izmjena u bazu podataka, bez potrebe za zadavanjem naredbe COMMIT. Dug Nm:1GH1C(7,2)
),
Prvi korak u radu sa SOL-om je kreiranje same baze podataka. U standardnom SOL-u za tu
svrhu se koristi naredba CREATE SCHEMA. Mnog! speclfieni SOL sistemi koriste neki drugi naein za Primijetlmo da smo kolonu "Bro]" proglasili za primarni kljue, polja u koloni "lmePrezime" ne smiju biti
istu svrhu. Na primjer, Microsoft Access automatski kreira bazu podataka (naravno; praznu) na prazna, dok je podrazumijevani period otplate (ukoliko S8 ne zada drugaCije) postavljen na 12 mjeseci.
pocetku rada, a za kreiranje nove baze podataka mozemo koristiti naredbu New Database iz Fife
menija. Posto jedan SOL sistem obicno omogucava rad s vise baza podataka, prije rada s U slueaju kada je naredba duga, ana se obicno pise u vise redova, kao sto je i uCinjeno u
odredenom bazom podataka u standardnom SOL-u moramo uspostaviti vezu taeno s tom bazom prikazanom primjeru. U veeini SOL sistema kraj SOL naredbe oznaeava znak taeka-zarez (;). SOL
pomoeu naredbe CONNECT. Microsoft SOL server za istu svrhu koristl naredbu USE, dok u ne pravi razliku izmedu malih i velikih slova, taka da ne moramo vodit! raeuna da Ii naredbe pisemo
Microsoft Accessu mozemo korlstiti naredbu Open Database iz menija Fi/e. mallm iii velikim slovima. Tai<ocier, broj i redoslijed razmaka nije bitan. U svim navedenim primjerima
kljuene rijeei jezika SOL pisacemo velikim slovima da bi ih razlikovali od rijeci koje zadaje korisnik.
Nakon sto je kreirana sama baza podataka, sljedeci korak je definiranje tabela koje ce sadrta~
vati podatke koje cemo drzati u bazl. To se posfize naredbom koja ima sljedeei oblik: UkolikD pr'lmarni kljuc obuhvata vise kolona, onda se opcija PRIMARY KEY navodi kao zaseb~
na naredba sa spiskom kolona koje Cine primarni kljue. Na primjer, ukoliko primarni klju6 saCinjava-
CREATE TABI"E ImeTabele (ListaKolonn) ju kolone "Broi" i "lmePrezime", takav primarni kljue definiramo naredbom

Ovdje je ImeTabele keljeni naziv tabele, dok je ListaKoliina popis stavki kOje opisuju kolona PRIl1ARY KEY (Broj, ImePrezimej;
(atribute) tabele, medusobno razdvojenih zarezima. Svaka stavlm sadrzi barem dva podatka: ime
kolone, i tip kolone, odnosno tip podataka koji se mogu smjestati u tu kolonu. Vazniji tipovi podata- _Tabe-Ia. se- maze ponistiti odnosno izbrisati naredbom
ka u SQL-u su: ,DROP TABLE ImeTabcle;
CHARACTER (n) iii, alternativno, CHAR (n) - tekstualnf p'odatak,maksima!ne duzine n znakova;
NUMERIC (p, q) - decimalni broj s predznakom sa ukupno p cifara ad kojih je q decimala; '-: 1;3risahjem .tabe1e se" tiepovratno gube svi podad koji su bili zapisanl u njoj. Izmjena opisa vee
. kreirar)e tabele bez gubitka u njoj zaplsanih podataka maze se izvrsiti pomo6u naredbe ALTER
INTEGER ijj, alternativno, INT - cijeli broj;
FLOAT iii, alternativno, REAL - realni braj;
-_. ~'ABLE koju-ne6emo detaljnije opisivati.
DATE - datum, . Dozvoljena imena tabela i atrlbuta sastoje se od slova, cifri i znaka za podvlaeenje (~), pri eemu
Tip podataka SMALl,INT je podskup lipa INTEGER, koji omogucava pamcenje manjeg opsega poeetni znak mora biti slovo. ImEina ne smiju sadrtavati razmake (Microsoft Access dozvoljava raz-
m~ke ukolik6 ime uokvirimo uglastim zagradama, npr. [Broj Kredita]). Mada standard dozvo-
brojeva, ali zauzlma manje memorije u bazi podataka. Uz ime i tip kolone, stavke koje opisujukolone
197
196
Ijava koriStenje slova i iz nekih drugih jezika, preporucuje se upotreba iskljuCivo slova engleskog INSERT IN'ro Kredit VALUES (1. 'Suljo Suljic', 5000, DATE '2002-04-01',24.,3500);
alfabeta. Dvije tabele u is10j bazi ne smiju imati isto Ime, kao ni dvije kolone unutar iste tabele, dok
dvije raztieite tabele mogu imati ista imena kalona. Ana!ogno mozemo unijeti jos slogova u tabelu, kao u sljedecem primjeru:

INSERT TN'l'O Yuedit VAWES(2,'Pe:ro Peric',7000,DATE '2002"~04-15',6,O);


Microsoft Access ne poznaje naredbe CREATE, DROP i ALTER, jer se u ovom programu kreira~
INSERT INTO Kredit VAr,uES (3, ' Marko ~fdrkovic', 7000, DA'l'B . 2002-05-15' , 6, 0) ;
nje, brisanje i modifikaGija tabela obavljaju vizuafno. Da bismo pomocu Access8 kreirali tabelu kola TNSER'l' INTO Kredit VALUES (4, 'Mujo Muji (:' ,4000, DATE '2002-06-20', DEFAULT, 1950) ;
nam je 'neophodna za kasnije postavljanje upita, na kartici Table u prozoru baze podataka kliknemo rnSERT INTO Kredit VALUES(5,'Mujo Hujic',5000,DATE '200:>06-25',24,2500),'
na dugme New, a zatim na opGiju Design View. U formularu koji se tada polavi na ekranu, u kolonu INSERT INTO KIedit VALlJES(6,'Ivo Ivic',8500,DATE '2002'-07~02',,36,7001.53);
Field Nametreba upisati zeljena imena kolona.("Broj", "lmePrezime:', "Iznos", "Izdan", "Period" i "Dug" INSERT INTO Kredit VALUES(7,'Suljo Suljic',7000,DP,TE '2002-07-02',3,0);
u nasem primjeru), dok u kolonu Data Type treba upisatl odgovarajuce tipove kolona (umjesto rucnog INSERT INTO Kredit VALUES (8, 'Mujo Mujic' ,12000,DA'I'E '2002",,07~12' ,12,6000);
upisivanja, zeljeni tipovi se mogu birati iz padajuce liste). U Microsoft Accessu se tipovi podataka zovu INSERT TmD Kredl.t VAums (9, 'Pero Perie", 8000, DATE' '200>09-16', DEFAUW, 5570) i
drugacije nega u standardnom SOL-u, taka da se umjesto tipa CHARACTER koristi tip Text, umjesto
tipova INTEGER iii FI,OAT koristi se tip Number, umjesto lipa NUMERIC koristi se tip Currency, Ukoliko neke podatke unutar sloga ne zelimo da unesemo, u sklopu INSERT naredbe navodimo
dok se umjesto tipa DA'rE koristi tip Date/Time. U nasem primjeru, tipovi kalona trebaju redom da samo imena kolona cije vr1jednostl se unose. Na primjer,
glase "Number", "Text", "Currency", "DateiTime", "Number" i "Currency".
INBF.R'l' IN1'O Kredit (Broj, ImePrezime, Iznos I Perj ad)
VAl,UES (10, 'Huso Husi.c", 7000, 15) ;
Da bismo u Accessu zadali dodatne apGije paput duzine tekstualnog polja, broja decimala, kao INSER'r INTO Kredit~(13roj,ImePrezime,Iznos) VALUES(ll,'Marko Marlwvic',8000);
i opeija poput NOT NULL ill DEFAUI,T, koristimo se kartieom General koja S8 nalazi u donjem dijelu
forlllulara za kreiranje tabele, a koja se uvijek odnosi na ime atributa koji je trenutno oznacen. Polje Mada Microsoft Access poznaje INSERT naredbu, koja je neophodna da bi se dodavanje novih
za unos Field Size u slueaju tekstualnih, podataka odrec1uje duzinu polja, dok u slucaju brojcanih podataka moglo obavljati pod kontrolom programa, u Accessu je mnogo praktienije rueni unos
podataka istoimena padajuca lista odreauje da Ii je u pilanju Gijeli braj umjerenog opsega vrijednos- podataka obavljati vizualno u tabelu prikazanu na ekranu, sUeno kao prj unosu podataka u tabele u
ti (opcija integer), mali cljeli broj (opcija Byte), cijeH broj prosirenag opsega moguCih vrijednosti Excelu (za ovu svrhu, kreiranu tabelu je nakon snimanja potrebno otvoriti za prikaz klikom na dugrne
(opelja Long Integer), realan bro) male preciznosti (opGija Sing/e) iii realan broj velike preciznosti Open iii dvostrukim klikom na odgovarajucu ikonu). Ukoliko radite sa Accessom, prije nego sto nas-
(opGija Double). Opciia DEFAULT postavlja se pomocu polla za unos Default Value, dok Be opGi- tavite dalje, unesite sve podatke koji odgovaraju podacima unesenim pomocu prikazanog niza
ja NOT NULL postavlja pomocu padajuce liste Required (treba izabraU Yes ukoliko zelimo NOT INSER,T naredbL
NULL opciju). Brai declmala podesava se pomocu padajuce liste Decimal Places, dok se primarni
kljue postavlja pomocu alatke Primary Key iii istoimene naredbe u Editmeniju. Sada imate dovoljno Mnogi SOL sistemi posjeduju svoje specifiene komande poput IMPORT, LOAD, ltd. koje ne pri-
inforrnaGija da mozete u Accessu kreirati Istu tabelu kakvu bi kreirala naredba CREATE 'rABLE iz padaju SOL standardu, a koje sluze za prihvat vece kolicine podataka iz tekstualnih datoteka. U
gore navedenog primjera. 8toga, kreirajte takvu tabelu i snimite je pod imenom "Kredit" kako biste Microsoft Accessu se ovi podaGi mogu prvo unijeti u Excel, a zatim, koristeci meduspremnik i
mogJi nastaviti rad (ne zaboravite definirati polje "8ro)" kao primarni kljuc). naredbe Copy i Paste iz Edit menija, prosto koplrati iz xceJo\fih tabela u Accessove tabele.

Nakon s10 ste kreirali tabele, u njih je potrebno unijeti vry'ednosti. Osnovna naredba u SQL~u Ubjedljivo najeesce koristena naredba u SQL-u je SELECT. Ona sluzi da se dobave podaci iz
kojom se unose vrijednosti u tabelu ima oblik ,baze (tabela), tako da je cest sinonim za nju i SQL upit (engJ. SOL Ouery). Najprostija forma
naredbe SELECT ima sljedeci oblik:
INSERT INTO ImeTabele (Li.I'lalmenaKowu(I) VALUES (U~tClVrije(blO.\'ti)
SELECT Listalzraza FROM ListaTabela
Na primjer, ukoliko pod rednim brojem 1 treba unijeti podatak da je korisnik "Suljo Suljie" zadutio
iznos od 5000 KM dana 4. aprila 2002. godine na rok ad 24 mjeseca, pri cemu trenutni dug iznos! Iza stavke FROM navode se imena svih tabe!a kojima ce Se prislupiti, a iza stavke SELECT izrazi
3500 KM, takav unos mazemo obaviti 5ljedecom' naredbom: koji ce se ispisati. Ti izraz1 se, slicno izrazima u Excelu, mogu sastojati od brojeva, imena atributa
onih tabela koje su navedene u listi ListaTabela, osnovnih aritmeti6kih operacija (+, ~, *, I), zagra-
INSER'!' INTO Kredit (Broj, ImePrezime, Iznos, Izdan, Peri,od, Dug) " da i izvjesnih funkc/ja (koje imaju dosta slicnosti sa Excelovim funkcijama). Na primjer, da bismo
VALUES (1, ' Suljo Sulj ie' I 5000 I DA'rE '2002-04 :;"04 '., 24., 35VO-) :;- ispisali spisak svih podataka lz tabeie "Kredit", motemo koristiti sljedeci SOL upit
. , "

Primijetimo da se'tekstualni podaci pisu amedeni sa dva znaka apostrofa (;');,'.dok se: -:pat_umski SELECT Broj, IrnePrezime, Iznos, Izaan, Period, DI19 FROM Krediti
podaei po SOL standardu pisu u obliku DATE 'gggg-mm-dd', Microsofj:-AcOess-ne -postuje standard
Rezultat izvrsavanja ove naredbe (upita) je ispis poput s!jedeceg:
i u njemu 5e datums!<i podaci pisu kao -Ilmm/dd/gggg# (npr. #04/ 04/2002#'j. G4jB.,bi'sE.'l-t<;:leno ova.
naredba trebala ukucati ukoliko radima u Accessu, objasnicemo nesto kas!l.iie. - "

Ukoliko se naredbom INSERT unose vrijednosti za sve. kolol)e-,u "tabe-li. 'tada se argument
ListalmenaKolona moze izostaviti, tako da sma istu naredbu mogli pisa1i i ovaKo: .

198 199
~-.

Brei ImePrezime Iznos Izdan Period Dug Rezultat izvrsavanja ovog upita prikazan je na slid ispod, sa lijeve strane.
1 Suljo Suljic 5000,00 2002-04-04 24 3500,00
- ~~ezime U ispisu pomoeu prethodnog upita 6e S8 korisnik (klijent) koji koristi vise
2 Pero Perie 7000,00 2002-04-15 6 0,00
sura sunc kredita pojaviti onoliko puta koUka kredita koristl. Ako zelimo da se svaki
3 Marko Markovic 7000,00 2002-05-15 6 0,00 klijent pojavi u ispisu samo jednom, iza naredbe SELECT treba dodati
Pero Perit
4 Mujo Mujle 4000,00 2002-06-20 12 1950,00 ~!l-rkO Markovic apciju DISTINCf._ Na primjer:
5 Mujo Mujle 5000,00 2002-06-25 24 2500,00 Mujo Mujic
6 Ivo Ivie 8500,00 2002-07-02 36 7001,53 SELECT DISTllJCT ImePrezime ImePrezime
.- I-_Mujo M~jic - FROM Kredi t i
7 Suljo Suljie 7000,00 2002-07-02 3 0,00 Ivo Ivic Suljo Suljie
8 Mujo Mujle 12000,00 2002-07-12 12 -SOOO,OO Sullo Suljic Pera Peric -
Rezultat izvrsavanja ovag upita prikazan
9 Pera Perit 8000,00 2002-09-16 12 5570,00 ~ujoMujic _.. _- je na slid sa desne strane.
Marko MarkoviC
10 7000,00 15
Pero Perie ._- ~~MUji6
Huso Husie Iva Ivic
Huso Husj(~
L-
n Marko M-arkovic 8000,00 12 Marko Markovic Huso Husie

Vazno je napomenuti da se SOL upiti mogu napisati na vise naeina, a da se dobije isH rezultat Ukoliko zelimo da ispis bude sortiran, na kraj SEljE~T upita dodajemo opdju ORDER BY, iza
Najbolji primjer za to je clanak C. J. Date u kojem je isti rezultat dobijen pomocu 54 razli6ita SOL koje slijedi ime kalone iii broj kolone po kojoj zetima da bUde sarti ran ispis. Sortiranje S8 vrsi u
upita! rastucem poretku. Ukollko zelimo da se sortiranje abavi u opadajucem poretku, iza imena iii broja
kolone aodajemo i opciju DEse. Na primjer, ukoliko izvrsimo sljedeci upit:
Ukoliko koristimo neki specijalizirani SOL sistem, SOL naredbe se zadaju putem kornandne linw
ije. Medutim, ukoliko koristimo neki vizualni alat poput Microsoft Accessa, pocetniku moze bit] SELECT DISTINC'l' ImePrezime FROM Kredi t ORDER BY ImePrezime DImC;
prilicno nejasno gdje uopce treba ukucati SOL upi~ U Accessu, SOL upit mazema zadati na sljedeci
nacin. U prozoru baze podataka izaberemo karticu Query, nakon (:ega kliknema na dugme New i kao rezultat cemo dobit! prikaz na slid ispod.
izaberemo opciju Design View. Ovim se otvara akruzenje kaje omogueava vizuafno kreiranje jed-
nostavnijih upita. Pasta mi ne telimo vizualno kreiranje nego direktno zadavanje SOL upita, potreb- U slucaju kada iz.a stavke FROM navedemo vise tabela, maze doci do
no je zatvoriti prozor Show Table kojf S8 pojavia na ekranu, i iz menija View odabrati naredbu SOL dvosmislice ukoliko vise tabela imaju ista imena kolona. Da bi se pre-
SUIiD Sune
View (postaji j istaimena alatka na traci sa alatima, koja se dobija iz padajuce' liste na krajnjem dziralo kojoj tabeli koja kalona pripada, karisti se znak tacka (.) U obliku
Pero P.erie --
lijevom kraju trake sa ala1ima). Nakon pokretanja ove naredbe, na ekranu ce se prikazati editor tek- Mujo Mujic hneTahrde.lmeJ(olone. Na primjer, ukoliko zelimo da naglasimo da mis-
sta u,koji mozema unijeti zeljeni SOL upit (npr. upit IZ prethodnog primjera). Da bisma izvrsili uplt, Marko Markovic _ _ limo na kolonu ImePre'zime koja pripada upravo tabeli Kredit, a ne
kHknemo na alatku Run (na njoj je nacrtan veliki crveni uzvienik), iii izaberemo istoimenu naredbu iz Ivo Ivle eventualno nekoj drugoj tabeli koja je navedena u stavki FROM,
menija Query. Ukoliko smo sve uradili kako treba, na ekranu ee S8 prikazati rezultat izvrsavanja Huso Husie -------..: pisacemo Kredi t. ImePrezime.
upita. Da bismo zadali novi upn, nije potrebno djelu proceduru ponavljati, vee je dovaljna samo --
pamac:u a!atke iii naredbe SOL View panovo prikazati editor za unosenje naredbi. Bltna je
Ukollko se U SELECT naredbi umjesto imena -~Uplace""ilTiZn"Os
napomenuti da tacan izgled ispisa datuma i valuta (tipa "Currency") u Accessu zavisi od regional nih BrojKredita
kalona upotrijebe neki izrazi, sistem ce prilikom prikaza -
postavki racunara (s!ieno kao u Excelu), taka da se nemojte iznenaditi ukoliko ispis bude stilski 1 1500,00
sam od sebe imenovati nekim generickim imenima
odstupao ad ispisa prikazanog u ovom udzbeniku.
(poput Expr01 ltd.) one kolone tabele u kojima ce se r--_2 7000,00
prikazati vrijednosti navedenih izraza. Ukoliko zelimo da 3 _____ 7000,~~
Umjesto pojedinaenog navodenja imena svih ko!ona, u naredbi SELECT maze se koristiti i znak
ime prikazanih kalona bude smislenije, koristi se opelja 4 2050,00
zvjezdica (*) koj! zamjenjuje spisak svih kalona, taka da bi isti rezullat proizvea i s!jedeci upit:
AS. Na primjer, s!jedeei upit ee ispisati brojeve kredita 5 2500,00
SELEC'f -/.- FROM Kredi t ; .imEmovane imenom "BrojKredita" -(koje je smislenije od 6 1498,47
prostog jmena "8roj"), kao i upla6eni iznos po svakom -
7 7000~00
Treba abratiti paznju da aka naknadno izvrsima izmjenu u tabeli "Kredit", npr. dodamo novu kolonu, kreditu, koji mozemo izracu-nati oduzimanjem ukupnog
8 ..
6000,00
prvi upit u kojem sma eksplidtno naveli imena kalona nece vidjeti tu novu kolonu, ali je upit sa '-lznosa kredita .od trenutnog dugovanja: 1--
znakom zvjezdiea vidi. 9 2430,00
SELECT Broj AS BrojKredita, (Iznos-Dug) 10'--
Ako zelimo ispisati samo spisak imena korisnika kred,ita, zadacemo s!jedeCl upit AS UplaceniIznos FROM Krediti t--- -
11
.
SE:LBC'l' ImcPrezime FROM Kredit;
. Rezultat izvrsavanja ovog upita je ispis ko]i izgleda kao sto je prikazano na slid sa desne strane.

200 201
Sliono kaa u Excelu, u SQL-u takader postaji eijeli niz funkeija kaje se magu koristiti u izrazima. kao rezultat ce dati braj 78500, 5to je suma svih polja u kolonl "Iznos". Posmatrajmo sada malo
Medu najbitnije funkeije spadaju tzv. grupirajuce funkcije (engl. aggregate functions). To su funkci- s!ozeniji primjer. r;.Jeka je potrebno odrediti koliko su svi klijenti zajedno uplatili novea izrazeno u euri~
je kOje po nacinu rada podsjecaju na funkcije poput SUM, AVERAGE i COUNT U Excefu. Grupiraju6e ma. Ukoliko je odnos izmedu aura i marke 1.95 (takav je bio u trenutku pisanja ovog udzbenika),
funkcije se odnose na skup vrijednosti iz neke kolone iz odredene grupe redova. Ukoliko se pomaeu trazeni odgovor daje jedan ad sljede6a dva SOL upita:
apeije GROUP BY (0 kajaj ne6emo detaljnije govoriti) ne navede uvjel po kajem se grupiraju redovi,
SELECT Sum(Iz,nos-Dug)/l.95 FROM Krediti
fada se grupirajuca funkcija odnosi na sve redove iz tabele. U tom .slueaju, nije dozvoljeno u sklopu
SELECT Surn( (Iznos-Dug) 11.95) FROM Kredit;
iste SELECT naredbe navesti ime neke kolone izvan argumenta grupirajuce funkcije. Standardni
S(JL posj~duje pet grupirajucih funkcija: Count, Sum, Avg, Min i Max. Ova dva upita ce kao rezultat dati redom brojeve 18963.31 i 18963.29. Mala razlika na drugoj de-
cimali posljedica je raz!icitih mjesta na kojima se vrsl zaokruzivanje na dvije decimale. Naime, ptvi
Grupirajuca funkcija Count koristi se u obliku Count UmeKolone). SHena kao istoimena upit ptva sabira sve uplate, zatim zbir dijeli sa 1.95, i tek tada zaokru2:uje rezultat. S druge strane,
funkcija u Excelu, ana braji koliko u navedenoj koloni ima polja koja nisu prazna (Ii. koja sadrze neku drugi upit svaku uplatu prvo dlje!! sa 1.95, zatim zaokruzuje rezultat, i kona6no sabira sve takve
vrijednost). Ova funkcija maze se primijeniti na svaki tip podataka. Na primjer, sljedeci SOL upit zaokruzene rezu!tate.
SELECT Count(Broj) AS UkupnoKredita FROM Kredit;
Bano je napomenuti da ukollko se u bilo kojem izrazu pojav! makar jedno prazno polje, tj. polje
kao rezultat daje sljedeCi ispis: koje ne sadrii vrijednost (NULL polje), rezultat se takodertretira kao prazan (NULL). Stoga, prethod-
ni upit nece u obzlr uzeti stanje kredlta sa brojem 10 i 11 (a upravo to nam i odgovara).
UkupnoKredita Funkcija Avg koristi se na isti naCin kao i funkcija Sum, ali umjesto zbira racuna prosjecnu vri-
11 jednost (arilmeticku sredinu) izraza. Na prlmjer, aka zelimo izracunati prosje6nu vrijednost lzdatih
kredita, zadacemo sljedeCi upit (kao rezultat trt3bamo dobiti 7136.36):
S druge strane, sljedeei upit
SELEc'.r Avg(IzllQS) FROM Kredit;
SELECT Count (Dug) AS UkupnoKredita FROM Kredit;
Funkcije Max i Mi.n odreduju najve6u, odnosno najmanju vrijednost izraza navedenog kao
kao rezultat daje ispis argument i mogu se primijeniti na sve tlpove podataka, a ne samo na brojcane (pri tome se tekstu-
alni podaei porede po abecednom kriteriju). Na prlmjer, ukoliko zadamo sljedeci upit
UkupnoKredita
9 SELECT Max(Iznos) AS NajveciKredit, Min (Izdan) P,S DatumPrvogKredita
FROM Krech t;
zbog toga 5to za kredite broj 10 i 11 nije uneseno niSta u kolonu "Dug".
kao rezuHat cemo dobiti sljedeci Ispis:
Uz ime kolone maze se pisati i opcija DISTINCT, i u tom slucaju se broje samo redovi ko)i u toj
koloni imaju razlicitu vrijednost. Na primjer, upit DatumPrvo Kredita
2002-04-04
SELECT Count(DISTINCT ImePrezime) AS UkupnoKl:ijellata FROM-Kredit;
Ovakav rezultat smo dobili zbog toga sto je najveci iznos kredita 12000, a "najmanj]" (tj. najraniji)
kao rezultat _6e dati broj 6, zbog toga sto se u tabeli nalaze podaci za svega 6 razliCitih klijenata. datum izdavanja je 4. april 2002. godine.
Treba napomenuti da Microsoft Access ne poznaje ovu opciju. Count (*) prosto broii koliko ima
redova u tabeli. Na primjer, upit Veoma cesto je potrebno izvrsiti uplt samo nad nekim od slogova u tabeli. Za to se koristi opci-
ja WHERE iza koje slijedi nekLuvj!;1t. U tom slucaJu 5e obraduju samo slogovi koji zadovoljavaju
SELECT Count (*) FROM Kredi t i
zadani uvjet. Shena kao u Excelu, uvjeti sadrze izraze povezane relacijama "manje" ), "veee" (,
proizvodi sljedeCi ispis: "jednako" (=), "manje Hi jednako" (<-=),"\lece iii jednako" (>::.::) i "razI16ito" (<. Pored toga, prostiji
uvjeti se mogu -po~ezivaii Y-~Ioenjje-uvjete.upotrebom riieei AND, OR i NOT, kOje redom imaju
fr01 J znacenja "1\ "ili"- i "ne". Za_:prqvjeru d?- Ii je neko polje prazno (NULL), mogu se koristiti specijalni
operator! IS NU~4 r. IS ):J,GT 1~vLL. Opciju WHERE je najbolje ilustrirati na primjerima. Slljed]
nekoliko primjera,"u kojiina'je:p"fvo mlveden problem, zatim odgovarajuci upit, i, kona6no, rezultat
Primijetim~ da je sistem kreirao genericko ime ExprG1, s obzirom da nismo zadali. opciju AS.
izvrsavanja upita.
Funkeija Sum korlsti se u obliku Sum (/zraz). ana vrsi sabiranje vrijednosti Izraza koje b! se dobile
iz_sva~og reda tabele pojedina6no, i maze se primijeniti sarno na brojcane tipove. Na primjer, upit

SELECT S-um{Iznos) FROM Kredit;

.. 202 203
/zfistati spisak svih kfijenata koji su dabffi kre~it sa rokam atp/ate 12 mjeseci. SELECT Count:(*) FRO!1 Kredit WHERE Izdan IS NOT NULL;

SF,l,ECJ' DISTINCT ImePrezime FROM Kredit WHERE Period=12;


P01
ImePrezime
Mujo Mujid
W' ::==J
Bitno je zapamtlti da ako se ne navede opcija WIiERE, tada se obrada vrsi nad svlm redovima i'z
tabeJe. NULL podatak moze dati pogresan rezultat, ako se ne vodi raeuna a navedenoj Cinjenlci.

Utvrditi ko/iko kredita je izdano na 12, 24 iff 36 mjeseci.


Utvrditi koliko kredita je ispfadeno u ;znosu manjem iii jednakom 7000 KM na period kracl ad 12
mjeseci. SELECT Count (*) FROM Kredit WHERE Period;o12 DE Period",24 OR Period",36;

SELECT Count (*) FROM Kredit: i\lHER.l!: 1zn08<=7000 AND Period<12;

I ;X P'Ol
Isti upi! se krace maze zapisati ovako:

Iz/istati brajeve i datume izdavanja kredita koji su isplaceni u jufu 2002. godlne. SELE('T Count{*) FROM Kredit WHERE Period IN {12,24,36)i

SELEC1' RrQj, Izdan FROM Kredi t Za izmjenu podataka u tabeli koristimo naredbu:
WHERE Izdan>ocDATE '2002-07-01' AND Izdan<=DA'l'E '2002-07-31.';
UPDATE lme1'abele SErf UstaPridmiimnjo WHERE Uvjet
--Sroj Izdan
6 2002-07-02 Stavka WHERE U naredbl UPDATE maze se izostaviti, a za nju vrljede ista pravila kao i U SEI,ECT
7 2002-07-02 naredbi. ListaPridmZivrmja je !ista iskaza tip'a ImeKolone :;: Izraz razdvojenih zarezima. Izraz Izraz
se izraeunava i dodjeljuje po!jima u ko!oni ImeK%ne za svakf red koji zadovoljava uvjet Uvjet, iii
8 2002-07-12
za Sve redove ukoliko je uvjet izostavljen. Ova je takoder najbolje ilustrirati na nizu primjera, u kOji-
Umjesto uvjeta x>""a AND x<",b moze se koristiti fraza X BE'fWEEN a AND b. Shodno tome se ma cerna prvo navesti problem, a zatfm odgovarajueu SOL naredbu koja rjesava problem.
prethodni upit moze naplsati i kao:
Naknadno je ustanovljeno da se klijent, 6ije je lme zapisano kao Marko Markov/d, zapravo zove
SELEC'r Braj, Izdan FROM Kredi t Mirko. !zvrsiti neophodne izmjene u bazi podataka.
WHERE lzdan BET'\IJEEN DATE '2002-07-01' AND DA'1'J)! '2002-07-31';
UPDA'I'E Kredit SET ImePrezime", 'Mirko Harkovic'
WHERE .ImePrezime-=' Marko Markovic' ;
Ne smijemo zaboraviti da se u Microsoft Accessu datumi pisu na nestandardan naein, pa bi Isti upit
u Accessu trebalo napisati ovako: Doslo je do promjene kursa na triistu deviz8, zbog 6ega treba izvrsiti smanjenje duga svih kli-
SELECT Broj, Izdan FROM Kredi t jenata za 12%. Izvrsiti neophodne izmjene u bazi podataka.
WHERE Izdan B;::;rvmEN #07jOlj2002j~ AND #07/31/2002#;
UPDATE Kredit SET Dug''''O. 8a'Dug;

Vazno je napomenuti da je jedini uvjet koji zadovoljava prazno polie (NULL) uvjet IS NtJL1~. To
znaei da de upiti U ovoj naredbi nalazi sa na prvi pogled 6udno pridruzivanje Dug",Q,B8*Dug. Treba voditi racuna
da, za razliku od znaka ":;:" koji 59 koristi unutar uvjeta, znak ":;:" u pridruzivanju ne oznacava jed~
SELECT Count(*) AS- Otplaceni_FROM Kredit WHERE Dug::.;O; nakost u matematskom smislu, vee ga treba tumaCiti kao znak-dodje/e (0 eemu nas upozorava rljee
SELECT Count(*) AS, Neotplciceni FROM Kredit I'IlHERE Dug<>O; SET). Stoga, pridruzivanje Dug"'O. 88*Dug znaci da postojeCi sadrzaj kolone "Dug" treba pomnozlti
sa 0.88, i novodobijenu vrijednost ponovo smjestiti u koloriu-"DiJ~t: .. S_a prid,ruzivanjima slienog obi i-
kao rezultate dati redom- brOjeve '3l6~ stO_Uk(;pno daje 9, mada u tabeli ima 11 kredita. Nedostaju ka (poput BROJ:.::BROJ+l) ste se vjerovatno vee susreli u 'naslavi informatlke U osnovnoj skoli kada
krediti kod kojih dug nije niti jednak:ll-~iti le _raz!16it ad 0; a to su z~pravc; ~r~qit! gqje nema upisanih ste radi!i sa programskim jezlkom BASIC. Faktor 0.88 potiee ad 6injenk5e.da k~daod cjellrie (1 OO/c,)
podatka 0 dugu. Broj-takvih ~redita mQzemo- oobiti upitom adbijemo 12% dobijamo 88%, sto je zapravo 88/100 iii O.8ff..lstu na!!?dbu- smo:mogli zapisatLi na
s!jedeCi nacin, koji jasnije odrazava sta zaista radimo sa ~adFzajerri'~olon_?:"pug":
SELEcr Caunt,(*") AS Neob.i-~1j-<;iio' FROM Kredit WHERE Dug IS NUr~I.,;
UPDATE Kredit SET Dug=Dug- (D1l9*12jl00);.
koj! ee, naravno, kaa_J0Zul!at_dati-br9] 2.-

Utvrditi kofiko kreditt1 fe do ,$,ada.-fsplaceno_(odnosno ukupan broj kredita clje je isplac;vanje Kredit bro} 10 izdan je 15. tebruara 2003. godine: Upisatf, ovu 'informacij~_lJ bazu podataka.
poce/o, a ne mora nuino biti: z.avrseno). UPDATE Kre.dit S'I' Izdano:::DA'I'E '2003-02-15' ,~g=Iznos, tgHERE B:roj",10;
204 205
Prlm!jetimo da sma uporedo sa postavljanjem datuma pridru?ivanjem Dug=Iznos "otvorili" kredit, Pilanja i zadaci
tj. postavili da ie trenutno dugovanje iednako punom iznosu kredita. U slucaju da radimo sa
Microsoft Accessom, isti upit ce, zbog razlike u naeinu zadavanja datuma, 91asiti ovako: 1. Sta su lokalne, a sta umretene baze podataka?
UPDATE Kredit SET Izdan""#15/02!2003#,Dug=Iznos \'illERE Broj",lO;
2. Kakva je razlika izmedu sistema za upravljanje datotekama i sistema za upravljanje bazama
podataka?
U prethodnom prim/eru potkrala se greska: pogresno su upisane 0 kreditu broj 10, a on zapra- 3. Cemu slute transakcione datoteke?
vo los uvijek nije izdan. Ponisititi upisane informacije 0 kreditu koje su Izvrsene u prethodnom 4. Koja je funkcija administratora baze podataka?
primjeru. 5. Kakva je razlika izmedu centraliziranih i distribuiranih baza podataka?
UPDA'i'E Kredi,t S1'T IzdanooNUl,L,Dug=!UL WHEHE Broj=10;
6. Sta je tehnologija kl1jentfserver i kakva ie njena uloga u upravljanju bazama podataka?
7. Sta znate reci 0 hijerarhijskim i mreznim bazama podataka?
Iz prethodnog primjera je vidljivo da se naredba UPDATE moze korlsti i za brisanje pojedinih 8. Sta su relacione baze podataka i koji su njihovi osnovni elementi?
podatka u bazi. S druge strane, ukoliko zelimo da brisemo jedan iii vise kompletnih slogova (redo- 9. Objasnite naeine povezivanja tipa "jedan prema jedan", "jedan prema vise" i "vise prema vise".
va) iz baze podataka, koristimo naredbu DELETE, koja ima sljedeCi oblik: 10. Kako se rjesavaju povezivanja tipa "vise prema vise", i zasto je neophodna posrednicka tabela?
11. Bta je normalizacija baze podataka?
DELETE FROM lineTLlbele WHERE Uvjet
12. Sta su aplikacije baze podataka?
Stavka WHERE U naredbi DELETE takoder se moze izostaviti, ,I u tom slucaju se brisu svi redovi 13. Opisite ukratko program Microsoft Access.
tabele, inaee se brlsu samo redav! koji zadovoljavaju postavljeni uvjet. ! ovu naredbu cemo ilustriratl 14. Sta su jezici za manipuJadju podacima?
na nekoliko prakticnih primjera. 15. Sta znate reci 0 jeziku SOL?
16. lsprobajte sve primjere iz ovog udtbenika vezane za SOL na sistemu za upravJjanje bazama
Klijent Markovic je odustao od svog kredita bro} 9. Izbrisati podatke 0 ovom kreditu Iz baze. podataka koji posjedujete na racunaru na kojem radite.
DEIJETE FROM Kredit WHEHE Broj",9; '17. Pomo6u nekog od sistema za upravljanje baza podataka (moze i Microsoft Access) kreirajte
tabelu koja opisuje skup ucenika neke skole. Nakon toga, postavlte SOL upite kojim cete odre-
Izbrisati Iz baze podataka sve zavrsene kredite, lj. kredite kod kojih }e dug }ednak O. diu imena i prezimena svih ucenika drugog razreda kojl imaju odlican uspjeh, kao j imena i pre~
zimena svih ucenika eija je starost izmedu 15 i 17 godina (podrazumijeva se da kreirana tabela
DELETE FROM Kr:edi t WHERE DLJ.9"'O i mora sadrtavati odgovarajuce atribute koji sadrze trazene podatke).
18. Upoznajte se, uz pomo6 nastavnika, sa vizualnim postupkolTl kreiranja upita u Microsoft
Nakon unosa podataka u tabe/ll "Kredit" u06eno je da je doslo do prihvata velikog dije/a Accessu. Kreirane upite prikazite u SOL obllku (pomo6u opelje SOL View u View meniju) i
pogresnih podataka. Zakljuceno je da je fakse izbrisati sve podatke pa ih iznova unijeti, nego uporedite njihov izgled sa onim SIO ste naucili 0 SQL-u.
ispravljati ih pojedina6no. Stoga'je potrebno Izbrisati kompletnu labelu. 19. Kreirajte bazu podataka sa tri tabele: tabela korisnika biblioteke, tabe!a gradova i tabela knjiga,
prema modelu koji smo opisali kada smo govorili 0 relacionim bazama podataka. Pop unite
DELETE FROM Kredit; tabele podacima kao u opisanom primjeru. Nakon toga, probajte sastaviti SOL upit koji ce izlis
tati podatke 0 imenu i prezimenu, broju telefona, mjestu stanovanja, kantonu i imenu knjige koju
Oa bi se postigli bolji efekti u radu sa SOL-om kako bi se mogle obaviti i 'kompleksnije transak- je korisnik biblioteke zaduzio za sve korisnike koji su zadutHi barem jednu knjigu. Uputa: Da bi
dje. nad bazama podataka, bilo bi potrebno deta!jnije upoznavanje sa relacionim modelima, se ostvarila veza izmedu ove trl tabele, neophodno je u opeijl WHERE navesti uvjet da primarni
funkcionalnim zavisnostima, ulogom primarnog i stranog kljuea, i kreiranjem slozenih upita. kljucevi primarnih tabela moraju biti jednaki stranim kljucevima u sekundarnim tabelama.
Medutim, izloteni pregled SOL-a sasvim je dovoljan da se shvate osnovne ideje manipuliranja sa (Napomena: radi se 0 zadatku koji je namijenjen iskljucivo naprednim ucenicima).
podacima u bazi podataka. 20. Ukoliko mogucnosti dozvoljavaju,. upoznajte se uz pomoc nastavnika sa postupkom kreiranja
obrazaca, izvjestaja i je.dnostavnijih aplikacija baze podataka uz pomoc Microsoft Accessa.

206 207
']1
:1 2.5 iNTEGRIRANI PROGRAMSI<] PAKETI
I
'1
-"1
I
11
2.5.1 Inlegrirani pakeli za uredsko poslovanje
'il
I Potreba za razvojem integriranih programskih paketa nastala je onog trenutka kada se pojavHa
;'\ potreba da se rezultati obrade podataka, dobijeni pom06u jednog programa, iskoriste kao u!azni
podad u nekom drugom programu. Na primjer, sasvim je 10gi(:na potreba da se podad dobijeni lz
~:j neke baze podataka dodatno abrade u programima za tabelarne proracune iii da se graficki prikazu
1 pomo6u programa za poslovnu grafiku. Medutim, veGina programa nije bila dizajnirana tako da moze
'I prihvatati podatke koji su nastall kao rezultat rada drugih programa. Izlaz iz ove situacije naden je
;~J kreiranjem visenamjenskog softvera. Postoje dvije vrste visenamjenskog softvera: integriran!
program; (eng!. integrated software) i integrirane programske kolekcije (eng!. software suites),
,il
mada S8 cesto obje vrste nazivaju prosto integriranim programsklm paketima.
1
":,
rl Integrirani programi omogu6avaju kombiniranje osnovnih funkcija vise razliCitih aplikativnih pro-
{j
i grama, poput obrade teksta, tabelarnih proracuna, upravlj'anja bazama podataka, rada sa,graflkom i
;',i racunarskih komunikacija u jednom jedinstvenom programu. Ovakvi programi obieno u svom imenu
'.;
'(~j imaju ugradenu rijec "Works". Najpoznatlji predstavnici ovakvih programa su Microsoft Works,
;'i-~ PerfectWorks, Lotus Works, Claris Works i AppleWorks, Integrirani programi obitno imaju znatno
,,;1
slabije mogucnosti od zasebnih programa koji obavljaju" pojedine funkcije ugractene u njih< Na primjer,
[I Microsoft Works posjeduje mogucnosti obrade teksta, tabelarnih proracuna j upravljanja bazama
podataka, ali su te mogucnosti znatno manje nego mogucnosti namjenskih programa Microsoft Word,
"I Microsoft Exce/i Microsoft Access. Treba napomenuti da je danas prillcno tesko povuci granicu izmedu
':j namjenskih i integriranih programa. Na primjer, Microsoft Word posjeduje neke mogucnosti programa
ti
za tabelarne proracune, lako mu to nije osnovna namjena. Microsoft Excefposjeduje neke mogucnosti
;/)
d
kako programa za obradu teksta, taka i programa za upravljanje bazama podataka, itd.
';1
1 S obzirom na navedena ogranitenja, prirodno se postavlja pitanje zasto uopce koristiti integri-
1 rane programe. Razlog je, u sustini, veama jednostavan. Momma krenuti od jedne cinjenice koje,
! nazalost, na nasim prostorima mnogi jos uvijek nisu svjesni. Programi poput Microsoft Warda,
Excela i Accessa se PLACAJU, i to skupo! To sto ria n8sim prostorima skora de necete naei
I niti jedan racunar na kojem se ne nalaze instaliralli ovi programi posljedica je iskljucivo
nepostojanja zakonske regulative koja sprecava Uegalno kopiranje softvera. Btaga, nimalo
I nije cudna to stc na nasim prostorima veJiki broj korlsnika dotfvljalta Word, Excel, itd. kao
sastavne difelove racunara, a ne Irao netto sto treba kupiti i platiti! Medutim, u vecini drugih
j drzava nije taka, i za ilegalno kopiranje i distribudju softvera, kao i koristenje softvera koji nije legal~
no nabavljen j instaliran, predvidene su velike kazne (ukljucuju6i 1. zatvorske). Posmatrajmo sada
situaciju sa softverom sa aspekta nekoga ko treba da pIaU za njegovo koristenje. Tacno je da su npr.
,,:j Word, Excel i Access veoma m06ni programi, ali veCini prosjecnih korisnika ne treba vise od 10%
,
0} mogucnosti ugradenih u ,ove programe. Ukoliko npr. Microsoft-Works moze da zadovolji sve potrebe
nekog korisnika, njemu se mnogo vise isplati nabaviti neki program poput njega, koji kosta ispad 100
: dolara i koji podmiruje sve njegove potrebe, nego pl@cati dVQstr-uko ,vecu- 'sumu samo, za Microsoft
C"
";j Word, eije mogucnosti ne6e koristiti. Pored toga, integrirai1i progr,a~mf trQse-- mnogo manje memo-
-::',i rijskih resursa. Na primjer, U verziji 97 u kojoj je kompletan Microsoft Wprk zauzimao svega 7
,",'
" ". ;!
'~i
megabajta na hard disku, sam Microsoft Word je- zauzima~rpre.~o ~5' m~gabajta! Dbigledno je da
;:" koristenje integriranih paketa korisniku ostavlja vise prostora na.rlisku ia:sbft;ver,-koji mu zaista treba.
\'i
,;; Korisnik koji placa softver, dobra 6e razmisHti sta mu treba a St?-nef-~re-ba, i "nece-instalirB.ti na disk
\'1
',;'1
programe koje nece koristiti, tek da mu se "nadu pri ruel akO l1!0zda.zatreba":

Za razliku od integriranih programa, integriraf)e programske-"kde/(cije predstavljaju skupinu


odvojenih aplikacija, poput programa za obradu teksta, t~belarne p-~oracune, itd. koje -je proizveo isti

208 209
prozvoda6, koje imaju isti iii sliean korisnieki interiejs, kOje mogu medusobno razmjenjivati podatke, odredivanje kriticnih aktivnosti u projektu sa aspekta vremena zavrsetka projekta iii sa aspekta
i koje se mogu kupiti u paketu po eijeni koja je znatno nita ad eijene svake pojedinaene aplfkacije< troskova, kao i odredivanje postupaka koje treba preduzeti u cilju efikasnije realizacije projekata.
Visa djena ovih programskih kolekcija u odnosu na integrirane programe dovodi do toga da je u
zemljama sa razvijenom softverskom kulturom ovaj vid softvera znatno zastupljeniji l) radnirn orga~
nizacijama nego kod individual nih korisnika. Kako ave programske kolekcije sadrze programe bez 2.5.2 Inlegrirani pakeli za elektronicku Irgovinu i eleklronicKo poslovanje
kojih je nezamislivo poslovanje bilo kakve radne organizacije, one se obicno nazivaju lntegrirani
paketi za uredsko poslovanje, iii, u zargonu, "Office' paketi. U najvaznije integrirane pakete za U posljednjih desetak godina, intenzivan razvoi informacionih tehnologija, a narocito racunarskih
uredsko poslovanje spadaju Microsoft Office koji se isporucuje u dvije verzije: "standardnoj" i "pro" mreia, u potpunosti je promijenio k!asicni pristup trgovini i poslavanju. Dok se nekad trgovina i
fesionalnoj", zatim IBM Lotus SmartSuite koji se isporucuje u sarno jednoj verzlji, i Corel poslovanje nisu magU nl zamisHti bez neposredne razmjene dobara i novcanih sredstava, modeme
WordPerfect Suite koji se- takoder isporu6uje u dvije verzije (pri 6emu se "profesionalna" verzija metode trgovine i poslovanja svode se' na razmjenu informacija izmedu raeunara, U skadu sa novim
naziva Office Professionan. tehno!ogijama, razvill su se eiektronicka trgovina (eng1. Electronic Commerce ill. E~fominerce),
kao i elektronicko poslovanje (eng!. Electronic Business iii EMBusiness). Veoma cesto se i elek~
Prednosti integriranih programskih kolekcija sastoje se ne samo u niio! cijeni, nego i u sU6nm troni6ka trgovina i elektronicko poslovanje nazivaju jedinstvenim terminom E-Commerce.
rukovanju sa programima ko]i cine kolekciju, Obicno je dovo!jno upoznati jedan program iz kolekci~
je da bi se sa lakqeom koristili i ostali programi iz kolekcije, Pored toga, razmjena podataka izmedu Pod efektroniekom trgovinom podrazumijevamo kupovinu iii prodaju dobara iii usluga putem
pojedinih programa iz iste kolekcije ne bi trebala da predstavlja nikakav problem. S druge strane, globalnih ra6unarskih mreza, a naro6ito Interneta j njegovog setvisa World Wide Web, bez il<akvog
nedostatak integriranih programsklh kolekcija je tipicno velika zauze6e prostora na disku. Na prim" fizi6kog kontakta izmedu trgovca i kupea. E!ektronicka trgovina maze se definirati i kao proces uprav"
jer, Microsoft Office 97 zauzima 120 megabajta, dok Corel WordPerfect Suite zautima 157 mega" Ijanja finansijskim transakcijama putem globalnih ra6unarskih mreza od strane pojedinaca iii kompanija.
bajta prostora na hard disku (uporedite avo sa C/arisWorksom koj! zauzima 13 megabajta). Ovaj proces ukljucuje kako maloprodajne, taka i veleprodajne transakcije. Sustinu elektronicke trgovine
cine sistemi i postupci pomoeu kojih dojazi do razmjene razliCilih iinansijskih dokumenata i informacija.
Na nasim prostorima, ubjedljivo najzastupljeniju in~egriranu program sku kolekciju predstav!ja pro- Ovi sistemi uklju6uju transakcije kredltnim karticama, narudtbama i finansijskim izjavama, kao i transak-
gramski paket Microsoft Office, ko]i je instaliran na gotovo svim racunarima sa kojima se mozete susresti cije raznim elektronickim ekvivalentima uobicajenih trgovinskih sredstava. Tako je elektroni6ko poslo-
(naza!ost. naj6esce i!egalno). Ovaj paket u sebi sadrii Citav niz programa. 0 mnogima ad njih, kao-sto su vanja uvelo citav niz novih termina kao sto su elektronicka gotovina (E~Cash), elektronicko pJacanje
Microsoft Word, Microsoft Excel, Microsoft Access, Microsoft PowerPoint, Microsoft Photo Editor (E-BilJing), elektronicki cekovi (EMCheques), eJektronicki ratun! (E~invoices), itd.
i Microsoft Organization Chan vee smo govori!i. Pored ovih programa, Microsoft Office sadrzi i niz
drugih programa (ovisno od verzije), ad kojih cemo spamenuti Microsoft Scheduler, koji predstavlja Elektronlcka trgovina predstavlja nastavak tehnologije eiektronicke razmjene podataka,
kombinaciju elektroni6kog kalendara, elektroni6kog rokovnfka i efektroni6kog podsjetnika, zatim odnosno EDt (Electronic Qata Ihterchange) tehn%gije. ED/ tehnologlja predstavlja skup konven-
Microsoft Outlook, koji predstavlja kombinaciju komunikacionog progiama i organizatora /i6nih informa- clia za razmjenu poslovnih podataka izmedu umrezenih racunara. Ova tehnologija koristila se i prije
cija (0 ovom tipu programa smo govorili u prvom dijelu udzbenika), Microsoft Binder koji omogucava pojave Interneta, i obicno se koristila u razmjeni podataka izmedu korisnika koji su vee bili u
objedinjavanje dokumenata kreiranih pomo6u razlicitih komponenti paketa Microsoft Office, Microsoft neposrednom kontaktu putem prlvatnih mreza, na primjer za razmjenu podataka izmedu kompanija
Publisher, koji predstavlja jednostavniji program za stolno izdavaslvo, kao i Microsoft Project, koji koje su poslovale u kooperacij1.
spada u programe za rukovodenje projektima, 0 kojima cemo detaljnije govoriti u nastavku teksta"
E/ektronieko poslovanje je mnogo sira djelatnost od e!ektronicke trgovine, mada se i ona obicno
Programi za rukovodenje projektima u posljednje vrijeme cesto saCinjavaju neizostavan dio naziva izrazom E-Commerce, kao sto smo vee napomenuli. Pod eJektronickim poslovanjem
ozbiljnijih paketa za uredsko poslovanje. Pod projektom, u opcem slucaju, podrazumijevamo podrazumijevamo vodenje pos/ova putem ra6unarskih mreta, sto ne podrazumijeva samo kupovinu
skupinu postupaka i resursa koji se moraju organizirati sa ci!jem poslizanja zadanog cilja u zadanorn i prodaju, nego i kompletnu brigu 0 svim klijentima i poslovnim partnerima, kao i organizaciju poslo-
vremenu. Programi za rukovodenje projektima'koriste se za pfaniranje, organiziranje i upravljanje vanja u sopstvenoj firmi i organizaciju nacina saradnje sa klijentima.
resursima, troskovima i ljudstvom koji su neophodni za zavrsetak projekta u predvidenom vremenu"
Ovakvi programi obavezno posjeduju moguenost grafickog prikaza planir~1nih vremena po6etaka i Uvodenje elektroni6ke trgovine I poslovanja irnali su ogroman utjecaj na bankarstvo, Veeina
zavrsetaka pojedina6nih posjova od kojih se sasloji proje_kat, kao i-pri~aza stvarnih vremena kada banaka danas koristi transakcione terminale na svojim salterima i automatizirane sa/terske
su ti poslovi i zavrseni, sto omogucava !aksu organizaciju preostal_ih-zadat~ka,koji jos nisu obavljeni masine (tzv. bankomate) odnosno ArM (8utomatic Ialler Machines) masine (ave masine n~maju
do trenutka kada se vrsi analiza. Primjeri programa zei rukovooelJJe projektir:na su Harvard Project nikakve veze sa ArM mretama 0 kojima smo govorili u ptvom dije!u udzbenika), koje su elektronlt_ki
Manager, Microsoft Project, Suretrack Project Mailagiit j Ma'!!ifJerPro." povezane sa racunarima u banei. ArM masine su inteligentni terminali koji automatski me 'reviziju':
klijentovog bankovnog racuna, odnosno stednih uloga, kao j druge bankovne usluge za klilenta~,~:
U programima za rukovodenje projektima obicno se z~,.9rafi~i prikaz"-korlste dva tipa dijagrama: banke. Na-taj na6in ostvaruje se elektronicki transfer sredstav8, poznat pod skraeenim'hazivom
Gantolfi (engL Gantt) dijagrami i PERT (Erogram !;sa!uaton .Bevi,ew.I~Ghnique) "dijagrami. Gantovi EFT-(EJectronie Eunds Iransfer), koji ce u bliskoj buducnosti u potpunosti z"amijeniti gotovirn{i".
dijagrami koriste niz horizontalnih linija iii staplea da prikazu poe~taktraianje l'kraj svake predvidene eekove kao osnovno sredstvo placanja. _:_" '.
aktivnos1i (pri cemu jedinica mjerenja vremena nlQze varjratl o~ reda-ii1lrJute"doTeda godrne). Ovi dija-
grami pomai:u da se uoei da Ii su sve aktivnosti zavrseneu predvldenQm vremenu. Za razliku od Jasno je da se elektronicka trgovina i poslovanje ne mogu realizirati bez oct"govaraju6e"_ sofi" -- .
Gantovih dijagrama, PERT dijagrami prikazuju "ne sarno vremf!rf~" negoJ odnose izmedu pojedinih verske podrske" Skup medusobno povezanih aplikacija koje sluze za podrsku elektroni6koj"ctrgovlni
aktivnosti u projektu. Ovi odnosi se prikazuju pomoeu linija koje 'poyeiuju graficke bJokove koji pred~ i poslovanju formiraju integrirane pakete za elektronicku trgovinu i pos/ovClnje,"medu kojima-'je'-
stavljaju pojedine aktivnosti. PERT-dijagrami olaksavaju procje~u trajanja po)edinih etapa projekta, najpoznatiji paket Oracle Financial. Ovi integrirani paketi moraju sadrzavati veliki. b~oj karakte-

210 211-
risticnlh funkclja, kao sto su abrada prodajnih transakcija, kontrola nabavke i razmjestaja inventara, teksta, poput Microsoft Warda, ugradiH u sebe vellki broj mogucnosti koje su prije bile svojstvene
analiza raGuna i prodaje, prijem i pfacanje ratuna elektronickim putem, upravijanje kreditfma, iskljutivo programima za stolno izdavastvo. Bitna razlika izmedu danasnjih tekst procesora i pro"
vodenje pfatnih spiskova j analiza rada, vorJenje knjiga kupaca i dobav/jaca, vodenje gfavne knjige grama za stolno izdavastvo je u cinjenici da je primama funkcija tekst procesora ipak i dalje obrada
poslovanja, ltd. te/(stualnih dokumenata, dok je podrska radu sa grafikom i specificnom obHkovanju teksta cesto
izvedena na prllicno nezgrapan nacin koji je pogodan sarno za neprofesionalne j poluprofesionalne
Elektroni6ka trgovina i poslovanje postaju sve zastupljeniji u.praksi, zbog toga sto dovode do primjene. Tekst procesori lmaju velike mogucnosti vezane za uredivanje teksta, u koje spadaju
smanjenja troskova poslovanja. Jasno je da je razmjena male kolicine podataka preko racunarske mogucnost pretrage i zamjene teksta (engl. search and replace), provjere pravopisa i gramatike,
mreze jeftinija, brza i u- veeini slu6ajeva pogodnija nego komunikacija putem kurira iii cak i komu~ automatske korekclj'e gresaka, i drugih zanimljivlh mogucnosti sa Kojima smo se upoznal1. S druge
nikacija putem telefonskih razgovora. Medutim, osnovni problem kod elektroni6ke trgovine i poslo- strane, mogucnostl uredivanja teksta u programima za stolno izdavastvo svedene su sam~ na
vanja je problem sigurnosti. Globalne mreie poput Interneta su dostupne isuvise velikom broju Ijudi, najnuzniji minimum. NjillOV zadatak je da omoguee podesavanje izgleda stranice do najsitnijih deta-
tako da se vellki broj korisnika ustrutava da salje osjetljive podatke (poput brojeva kreditnih kartica) lja~ koji ukljutuju sve moguce natine pozicioniranja proizvoljnih dijelova teksta i slika na straniee, pri-
putem mreze ra6unara zbog straha da ne dopadnu u ruke zlonamjernih pojedinaca. Me6utim, kako jeloma teksta u vise stupaca, izmjene veli6ine, baja, nijansi, svjetline, kontrasta i pozadine sllka i
su se mnoge organizacije uvjerile u neslucene' pogodnosti koristenja elektronickog poslavanja, dijelova teksta, itd.
danas su citavi timovi strucnjaka angazirani na unapredenju sigurnosnjh sistema ko]i bi trebali da
vjerovatnocu zloupotrebe svedu na minimum. Danas je u upotrebi standard za sigurne transakcije Kao sto sma vee rekli, vrhunski tekst procesorl posjeduju izvjesne moguenosti DTP programa,
putem mreie pod nazivom SET (Secure Electronic Iransactions), koji su za potrebe sigurnog elek" ali ni izdaleka u onoj mjeriJao pray; GTP programL Na primjer, Microsoft Word omogucava prijelom
tronickog poslovanja razvili Visa, MasterCard, IBM j druge kompanije. teksta u vise kolona, ali ne omogucava da se tekst iz trece kolone na jedanaestoj stranici automat-
ski nastavi u prvoj koloni pedeset i sedme stranice, sto je testo potrebno priiikom kreiranja raznlh
magazina, casopisa, itd. Takoder, Microsoft Wordomogucava da se uz pomoe TextBoxobjekta (o'
2.5.3 Integrirani paketi za slolno izdavas!\lo kojem smo ranije govorill) tekst pozicionira na proizvoljno mjesto u dokumentu, pa cak I preko neke
od ubacenih slika. Zapravo, upravo je TextBox objekat kljucni objekat koji daje Microsoft Wordu
Sa pojmom stolnog izdavastva upoznali sma S8 jOs u prvam dijelu ovog udibenika. Medutim, kako bitna svojstva GTP,programa. Medutlm, previse intenzivna upotreba TextBox objekata znatno kom-
su uz ovaj pojam danas prisutne brojne nejasnoce, naroCito u vezi sa razl1kovanjem stofnog izdavastva plicira rad sa dokumentom, jel' je svaki TextBoxobjekat prakticno neovisan jedan od drugog (mada
i abrade teksta, na ovom mjestu cemo malo detaljnije analizirati pojmove vezane za stolno izdavastvo, je moguce podeslti da se tekst "preljeva" lz jednog TextBox ob~ekta u drugi).
kao i odgovarajueu softversku podrsku ovaj, relativno mladoj primjeni racunarsklh tehnologija.
Razliku izmedu vrhunskih tekst procesora j
Mada program1 za obl'adu teksta postoje vee decenijama, njihova primjena je dugo vremena bila DTP programa najbolje mozema ilustrirat\ na
ogran/cena iskljucivo na pisanje dokumenata ciste tekstualne sadrzine, poput pisama, dopisa, konkretnom primjeru. Na sHei sa desne strane
clanaka i slicnih dokumenata. Za potrebe pripremanja knjiga, brosura. navina itd. programi za prikazan je izgled tri stranice, koje sadrte potpune
obradu teksta se nisu mogli koristiti, jer nisu omogucavali mijesanje slika i teksta, proizvo!jan raz~ isti tekst i i!ustracije, samo ,sto su organizlrane na
mjestaj i oblikovanje teksta na stranici, itd. Tadasnjim izdavaCima na raspolaganju je bio jedino razliCit naCin. Mada je principijelno moguce ob!iko~
metod "makaze lljepilo" (engl. "cut and paste" u bukvalnom smislu), gdje su Se komadi teksta i slika vati stranice na prikazan naCin i u Microsoft
bukvalno izrezlvali pomoeu mal<aza i lijepili na praznu stranicu, da bi se sadrzaj stranlce obl\kovao Wordu, za postizanje ovakvog izgleda potrebno je
po zelji. Oblikovana stranica se kasnije umnozavala raznim fotopostupc1ma. uloilti i truda i vremena. Ukoliko smo vee dobili
dokument oblikovan na jedan ad tri prikazana
Situacija se drasticno promijenila prije nepunih dvadesetak godina, pojavom programa Aldus na6ina, a ielimo ga preoblikovati na neki od pre-
PageMaker (prva verzija bila je namijenjena iskljucivo za ra6unar Apple Macintosh). To je bio prvi ostala dva naCina, taj posao moze biti izuzetno
program koji je omogueavao proizvoljno razmjestanje kako tekstualnih taka j slikovnih komponenti naporan 1 dugotrajan ukoliko koristimo Microsoft
na stranice dokumenata koj] se stampaju. Pojava ovog programa izazvala je pravu revoluciju u izda" Word. S druge strane, u namjenskim GTP pro-
vackoj djelatnosti, jer je omogueila da metodi tipa "makaze i Ijepilo" odu u zaborav (komande "Cut", gramima, avakvo oblikovanje i promjena oblikovanja Iz jednog u druga dva prikazana naCina, mogu se
i "Paste" koje se koriste u mnogim programima dobile su ime upravo kao'podsjetnik na dane kada obaviti veoma brzo, uz pomoe mnoStva specijalnih komandi namijenjenih upravo za ovu svrhu.
su izrezivanje i lijepljenje u bukvalnom smislu bile jedine tehnike oblikovanja stranica). Kako je Afdu?
PageMaker omogueio obavljanje izdavastva uz upotrebu _samo stolnih (engl. desktop). racunara i'. . Programl za obradu teksta ko]i posjeduju DTP svojstva mogu dobro 'posluziti svrsi sve dok se
odgovaraju6ih izlaznih uredaja (stampaca), bez pomagala poput makaza i Ijepila, ovakvo izd,;1Vastvo lie zahtljeva veliki kvalitet stampe u boji. Preeiznije, Bve dok se finalni otisak proizvodi pomocu
uskoro je dobilo naziv stolno izdavastvo ill DTP (Qesk!op Eub!ishing), Uskoro nakon pojave.Aldus stampaca (npr. laserskog) u jednom pro/azu, bilo direktno na papir, bilo na paus~papir rad]
PageMakera, pocell su se pojavljivati i drugi DTP programi. riaknadtiog umnozavanja pomoeu masina za stampanje zasnovanih na raznim fotopostupcima,
oV~kvi programi mogu zadovoljiti. S druge strane, za potrebe visokokvalitetne stampe u boji, papil'
Ne tako davno, obrada teksta i stolno iZdavastvo bile su dvije posve odvojene stvari. Obrada prolazi kroz masinu za stampanje cetiri pula, prj cemu se svaki put otiskuje samoJedna od cetiri
teksta se i dalje bavila, kao sto joj ime kate, isklju6ivo obradom dokumenata tekstuaine prirode; L-tQ' osnovne boje CMYK modela (cijan, magenta, tufa i crna) 0 kojem smo govorili u pogJavlju 0
dokumenata koji nisu zahtijevali specifican razmjestaj teksta na stranici (poput prlkaza teksta u vis~ racunarskoj graficL Stoga, programi za stolno izdavastvo moraju biti u stanju da pripreme cetiri advo-
stupaca). Za mijesanje teksta i grafike, kao i za specificno oblikovanje teksta, kOrlstili su se iskljucivo" jene verzije dokumenta, kOje se obicno nazivaju separacije, od kojih svaka sadrii informaclje samo
programi za stolno izdavastvo. Danas je situacija bitno druga6ija, jer su vrhun~ki programi za ~bradu o jednoj komponenti boje u dokumentu. Za sada, ovakvu mogucnost ne posjeduje nitijedan program
212 213
koji se svrstava u programe za obradu teksta. Takoder, savremeni DTF programi mogu neposred- crteza sa uputstvima za izradu i montazu. Na primjer, CAD programi pomatu arhitektima u dizajni-
no da komuniciraju sa stamparskim masinama kOje koriste postupke fotoosvjetljavanja. U mnogim ranju i projektiranju zgrada i drugih gradevina, inzinjerima u dizajniranju i projektiranju automobila,
definicijama programa za stolno izdavastvo, upravo se moguenost kreiranja CMYK separacija ! aviona, elektronitkih uredaja, puteva, mostova itd.
kOij1uniciranja sa profesionalnim stamparskim masinama korfst! kao kriterij da Ii program spada u
kategorjju vrograma za stolno izdavastvo iii ne. Na prvi pogled, veGina CAD programa podsjeca na programe za crtanje, jer se pomocu njih
obicno crtaju razne vrste specijaliziranih crteza, poput nacrta, shema elektricnih i elektronickfh
Za potrebe stolnog izdavastva obicno se ne prave programske kolekcije, vee integrirani progra- uredaja, kao i tehnickih crteta koji se susre6u u masinstvu i arhitekturi. Medutim, vazno je naznaciti
mi, jer je funkcije, koje zahtijeva stolno izdavastvo, jednostavnije obav!jati ukoliko su sve prisutne u da su CAD programi zapravo integrirani programi (a ponekad i kompletne integrirane ko/ekclje pro-
isto vrijeme unutar istog programa. Za profesionalne potrebe danas se najvise koriste integrirani pro- grama), jer je crtanje samo jedna od njihovih mn'ogobrojnih funkcija. Pored crtanja, CAD programi
gram] QuarkXPress i Adobe PageMaker. Prefiminarna verzlja ovog udzbenika uradena je uz omogueavaju razficite vrste proracuna, simufacije rada slozenih uredaja ifi sloienih tehno!oskih
pomoc programa Microsoft Word, medutim, za kreiranje finafne verzije u obliku koji se moze starn- procesa, itd. Takoder, za razliku od klasicnih programa za crtanje, CAD programi namijenjeni za
pati u profesionalnoj stampariji koristen je upravo QuarkXPress. Microsoftov OTP program kreiranje tehnickih crteta mnogo vise painje posvecuju problemima vezanim za precizno zadava-
Microsoft Publisher, koji je odnedavno sastavni dio programske kolekeije Microsoft Office, znatno nje dimenzlja pojedinih dijelova crteia i njihovo tacno pozicioniranje. Konkretne funkcije koje mogu
zaostaje po kva!itetu u odnosu na prethodna dva programa i, eventual no, moze da posluzi za obavljati CAD programi zavise od osnovne namjene za koje su predvideni. Taka postoje specijal-
poluprofesionalne,primjene. Nekada je mnogo u upotrebi bio OTP program Ventura Publisher, ali izirani CAD programi za potrebe arhitekture, masinstva, elektrotehnike, itd. Mnogi CAD programi
su ga danas uglavnom potisnuli moeniji DTP programi. omogucavuju crtanje u tri dimenzije i mnogobrojne manipulacije sa trodimenziona!nim objektima u
prostoru, sto ih tijesno povezuje sa programima za trodimenziona!nu grafiku. Na taj nacin, projek-
Mada je bitna karakteristika stolnog izdavastva rad sa slikama, program] za rad sa slikama tantu js omogueeno da vidi objekat koji se projektira iz svih pravaca, pa cak i iz pravaca iz kojih je
obitno se ne smatraju sastavnim di]elom paketa za stolno iidavastvo. Ipak, firma Adobe izdala je j u stvarnosti posmatranje nemoguce (npr.,posmatranje unutrasnjosti zatvorenog objekta).
integriranu prograrnsku kolekciju pod nazivom Adobe Publishing Collection, koja pored vee
pomenutog programa Adobe PageMaker i programa za rad sa rasterskorn grafikom Adobe Primjeri CAD programa namijenjenih pocetnicima su Autosketc/l i CoreICAD. Izvjesni slo2':eni-
PhotoShop, ukljuGuje i program' Adobe Illustrator za rad sa vektorskom grafikom, kao i Adobe ji CAD programi dopustaju dizajnerima analize tipa "sta bi bilo kad bi bUo" (slicno programima za
Acrobat koji omogu6uje Izdavanje elektronickih publikacija u tzv. PDF (eortable Qocument format) tabelarne proracune). Ovakve analize mogu drasticno smanjiti vrlleme potrabno za projekliranje
zapisu, koji se moze citatl i stampati na proizvoljnom racunaru, neovisno od vrste racunara i ope- nekog uredaja. Procjenjuje se da je, uz pomoc CAD programa Parametric, firma Motorola usted-
rativnog sistema koji se koristL jela 9 mjeseci vremena prilikom razvoja svojih mobilnih telefona. CAD programi se ne koriste sarno
u tehnici. Tako, na primjer, postoje CAD programi ko]i p.omazu korisnicima da optimal no opreme
Veoma je vazno napomenuti da, ukoliko se neki dokument treba dacoblikuje uz pomoc OTP pro- stan namjestajem, urede bastu, organiziraju poljoprivredno zemljiste, pa tak i da kreiraju izgled
grama, nije poteljno vrsiti njegovo prethodno oblikovanje u programima za obradu teksta. Na prim- frizure koja im najbolje odgovara. U modnoj industriji CAD programi se obilato Imriste za dizajnira-
jer, dokument se maze u Microsoft Wordu veoma lijepo oblikovati, ali ce ta oblikovanja samo pravi- nje odjevnih predmeta. Tako se, mnogi odjevni predmeti prije nego sto se zaista proizvedu, prvo
ti probleme kada se kasnije dokument bude uCitavao u DTP program. Na primjer, prllikom ucitavanja isprobavaju na "virtualnim manekenima", ko]i nisu nista drugo nego specijalno dizajnirani trodimen-
dokumenta radenog u Wordu u Drp programe, svi objekti specifitni za Word u najboljem slucaju zionalni grafieki objekti.
zadriayaju sarno one moguenosti manipulacije kak:ve su postojale 1u Wordu, a nerijetko se desava
i da se neka spec1ficnlja oblikovanja jednostavno izgube. Posebno, TextBox objekti, koji u Wordu CAD programi ko]i omogucavaju izrade skica
predstavljaju "iscjepkane" nepovezane objekte, takvi ostaju i nakon uCitavanja u DTPprograme (pod i nacrta ponekad se nazivaju i CADD (Qomputer
uvjetom da ih OTPprogram uopce uspije prep'oznati, sto ne mora biti slutai). 8toga 6e nakon uCita- Aided Qesign and Qrafting) programi. Oyakvi fA" If:, ,)

vanja oblikovanog dokumenta u OTF programe, dokument u najboljem slutaju zadrzati onakvu programi posjeduju ugradenu bogatu kolekciju "',
strukturu kakvu je imao i u Wordu, time nismo nista postigll. Da blsmo iskoristili punu moe orp pro- vee kreiranih simbola i objekata, ko]i .~,
grama, dokumente je potrebno preoblikovaii, sto je mnogo lakse Liraditi ukoliko izvorni dokument nije omogucavaju brzo kreiranje raznih nacrta (poput
uopce obllkovan. 8toga se, prilikom rada sa OTP programima, prvo POmQeu nekog od tekst proce- tlocrta neke gradevine, ltd.). Najpoznatiji program
sora prlpremi neoblikovan, iii eventual no, samo neznatno'oblikovan tekst (bez ikakvih sloienijih zah- ove vrste je AutoCAD koji je proizvela firma
vata). Zatim 58 kreiraju crtati pomocu nekog od programa za crtanje koji je' oobro podrian u OTP AutoDesk (primjer projekta uradenog ovim pro-
programima (vjerovatno najbolji izbor je Corel Draw). _Sk!?nirane Jotografije _se posebno doraduju u gramom prikazan je na slici sa desne strane).
programima za obradu rasterskih slika (Adobe PhotoShop je n.ajees6Lizbor). Tek nakon sto se AutoCAD je, op6enito gledano, vjerovatno
pripreme sye ove komponente, one se uz pomoc OTP' f?fograma--u6bJlcuj.y .l,rkonacan dokument. najpoznatiji i najvise koristen CAD program.
Danas se rad bilo kojeg arhitekte, inzinjera
gradevine iii masinskog intinjera, ne moze ni
2.5.4 Integrirani paketi za dizajniranjeiprojekliranje zamislitl bez upotrebe ovo9_ programa. Pomocu
njega su u posljednjih dvadesetak godina projek- , _, _
Racunari se odavno koriste za potrebe dizajn[ra~j~::j' proje~tifa:nj~ u raznim oblastima intinjer- tirani zaista raznovrsni objekti. Neki poznatiji reprezentativni primjeri ukljucuju olimpijski:sladioh Z8..-
skih djelatnosti. Program; za dizajniranje i projektiranje uz pomo6 racunar8 iii CAD (gomputer potrebe ijetnih oiimpijskih Igara 1996. godine u Atlanti, masine za 6iscenje tepiha pomoGu-pa're~ pa
Aided Qesign) program; su programi koji su namijenjeni ia -kompletno izvodenj'8 projekta nekog cak i muzi6ke instrumente poput elektricne gitare Gijl je vlasnik rok muzicar Eddie Van Hal/en ..
sastavnog dijela, uredaja, iii masine, pocev ad idejnog projektaTskice, pa sve do detaljnih tehnicklh
214
CAD programi veoma cesto cine integrirane pakete sa programima za proizvodnju uz pomoc NaJcesci alati ko]i se susrecu u paketima za brzi razvoj aplikaclja su tzv. vizualn; alatl, kod kojih
racunara, odnosno CAM (Computer Aided Manufacturing) programima, taka da takve ,pake~e obicna programer dizajnira pojedine komponente softvera na slican nacin kao prilikom rada u nekim od
nazivamo CAD/CAM. CAD/CAM paketi omogueavaju da se proizvod koji je dizajniran uz poma6 CAD grafickih programa (crtanjem tabela, dijagrama taka, obrazaca za unos podataka, elemenata kOris-
programa proslijedi kao ulaz u CAM programe, koji upravljaju automatiziranim proizvodnim pogonima, nickdg okruzenja, itd.), nakon cega razvojni sistem sam generira dijelove programa koji odgovaraju
tako da se kao rezu~at cbbija gotov proizvod. CAM programl omogu6avaju racunaru da prati zalihe dizajniranim komponentama. Na taj nacin, veliki braj p'rograma se moze napravlti uz sasvim malo
slrovina, odabire njihove optimalne koilcine, daje naloge za aktiviranje pojedlnlh masina za obradu (ponekad oak i nimalo) klasicnog programiranja (t]. plsanja instrukcija). lpak; najcesce se nijedna
sirovina i poluproizvoda, iii masinaza sklapanje gotovlh proizvoda, kao i da pratl prijem i otpremu ozbi!jnija aplikacija ne moze napraviti sarno poma6u vizualnih alata, nego je potrebno koristiti i
gotovih proizvoda u skladista. Interesantno je napomenuti da su CAD/CAM paketi izazvaO pravu re~ klasicno programkanje. Zbog toga se vizualni alati obicno javljaju kao dodaci klasicnim prevodiocl-
voluciju u modnoj industriji, jer su omogu6ili automatiziranu proizvodnju odjevnih predmeta dizajniranih ma (kompajlerima) za klasicne programske jezike. Najpoznatiji integrirani paketi sa vizualnim alati-
na ratunaru. Primjena CAD/CAM programa u cjelovitom procesu proizvodnje naziva S8 racunarski ma za brzi razvojaplikadja su Microsoft Visual BaSic (zasnovan na jednoj verziji programskog jezi-
integrirana proizvodnja, iii, skraeeno, CIM (Qomputer integrated Manufacturing). ka BAS/C), Microsoft Visual C++, Borland De/phi i Borland C++ Builder, 0 kojima cemo' nesto
vise reei u tre6em dijelu ovog udzbenika. Integrirane programske ko!el<cije koje se sastoje od kom-
Savremena elektrotehnika i elektronika danas se takoder ne mogu zamisliti bez intenzivne upotrebe pajlera za razlicite programske jezike sa dodatl<om vizualnih aiata za brzi razvoj apilkacfja obicno se
CAD programa. CAD programi koji se koriste u elektrotehnici i elektronici ne omoguCavaju samo crtanje nazivaju Visual Stud;o (npr. Microsoft Visual Studio).
shema, nego i kompletnu analizu i simulaciju rada uredaja koji je predstavljen tom shemom. Taka, proj9k~
tant maze u polpunosti da analizira rad uredaja, i da proratuna.i odredi parametre svih elemenata ad kojih
Najvecu primjenu vizualni alati za razvoj aplikacija nasli su za potrebe aplikacija koje upravljaju
S9 sastaj! uredaj. Primjer jednog takvog CAD programa je Electronics Workbench EDA, koji je prikazan
bazama podataka. Tako, svi vee pomenuti integrirani paketi sa vizualnim alatima za brzi razvoj
na slid sa sirane. CAD programi namijenjeni za potrebe elektronike obicno omogucavaju i automatsku
apllkacija posjeduju mnostVQ alata koji su namijenjeni upravo kreiranju i odrzavanju baza podataka,
izradu nacrta stampanih pioCica, a uz pomoe odgovarajueih uredaja prikljucenih na racunar, i njihovu flzicku
kao i manipuliranju sa podacima u bazi podataka. Na prirnjer, paketi Microsoft Visual C++ (verzija 6.0
realizaciju (8tO vee spada u CAD/CAM}. lnace, stampane plocice predstavlJaju plasticne ploCice na koje je
ili novija) i Microsoft Visual Basic (verzija 6.0 Enterprise) sadrze skupinu alata pod nazivom Visual
u vidu tankog metalnog sloja nanesen niz
Database Tools ko]i podrzavaju vizualni razvoj baza podataka. Take, na primjer, alat Database
provodnika', i na koju se lemljenjem pricvr8cuju
Des;gner omogucava grafi6ki dizajn tabela i veza izrnedu njih, kao 1kreiranje i izmjenu komponenti
Ql["'~!!'lI! ,;:'f;,,,~'''~c',,!,!jU;,!1!I,:;:\j~~'~''~~" ..?J IT".M ostale elektronicke komponente koje baza podataka, dok alat Query Designer ornogucava upotrebu vizualnlh metoda za kreiranje SQL
saCinjavaju uredaj (ovakve pl06ice ste sigurno
upita za pristup iii izmjenu podataka u tabelama. Izgled ova dva alata prlkazan je na sljedecoj slicl:
vidjeli ukoliko ste ikad rastavili neki elektronicki
uredaj, opr. radio-prijernnik). CADprogrami za
eJektrotehniku ! elektroniku cesto se sastoje od
niza prOJrama koji cine integriranu program-
sku kolekciju. Na primjer, programski paket
OrCADsastoji se ad niza programa kao sto su
DrCAD SOT (S.chematic Qesign Iools) za
crtanje elektrotehnicklh i elektronickih shema,
DreAD VST (~erification and ,S.imulation
10015) za analizu i simulaciju elektroni6kih
uredaja, DreAD PCB (Erinted Qircuit 's.oard)
za izradu ~tampanih ploCica, itd.

2.5.5 integrirani pakeli za brzi razvoj apllkacija

Ubrzani razvoj racunarske tehnike doveo je do potrebe sve brteg i brzeg razvoja odgovarajuceg soft-
vera. Brzina kojom se razvijao softver nije mogla da prati razvoj hardvera, tako da je u jednom trenlJtku .
brzina razvoja softvera predstavljala glavnu i<oCnicu daljeg razvoja racunarstva j informatlke u~p6e. Izlaz.lz-_
ave situacije naden je u razvoju integriranih paketa za blZi razvoj aplikacija iii RAD (Sapid Applicatjon Vi:;ualni alat "Datahase Designer" l/hualni atat "Qllery designer"
Qevelopment) sistema. Ovi paketi nude niz tzv. programerskih alata (eng1. programming toqfs) koji
omogucavaju automatizaciju pojedinih procesa u pisanju programa za racunar, poput fogickog dizajniianjat, "Neki dd integriranih paketa sa vizualnim alatima namijenjeni su iskljuCivo Hi gotovo iskljuCivo za
kreiranja algoritama, kodiranjs (prevodenja algoritama u programe), testiranja, otklanjanja gresaka i .odrta~ razvoj baza podataka i pripadnih aplikacija. Jedan relatlvno jednostavan integrirani program za
vanja programa. Sve prisutnija automalizacija odrazila se i na proces programiranja, taka da danas pro- - takvu namjenu je Microsoft Access, a kojem smo vee govorlli u prethodnom poglavlju. Od profe-
grameri piu programe uz veliku pomae samog racunarskog sistema. Na taj nacin je u pragramersku prak-' sionalnih paketa za OVU namjenu najpoznatiji je Oracle Developer.
su uslo r8cunarski potpomognuto programiranje (skraceno CAP, ad eng!. Qomputer Aid!d
Erogmmming). Potrebno je napomenuti da je danas, bez obzira na sve uvedene automatizacij8, ~ajskuP~'a Postoje i integrirani paketi za brzl razvoj aplikacija koji omogucavaju razvo] izvjesnih vrsta
komponenta razvoja svakog racunarskog sistema radno vrijeme programera ko]i su angatlrani na raz:'Qju. aplikacija (najcesce upravo za fad sa bazama podataka) iskljucivo uz pomoc vizualnlh alata, bez
216 217
ikakve potrebe za klasicnim programiranjern. Ovakvi paketi nazivaju se generatori apJikacija. Mada Pitanja i zadaci
su ovakvi paketi jednostavniji za koristenje, jer ne zahtijevaju poznavanje klasicnog programiranja,
oni su 1 ograniceniji u odnosu na klasiene integrirane pakete za brzi razvoj apllkadja. Generatori 1. Kako je nastala potreba za integriranirn programskim paketima?
aplikacija za baze podataka obicno Cine sastavni dio tzv, CASE (Qomputer Aided Software
2. Sta su integrirani programi, a sta integrirane programske kolekcije?
Engineering) paketa, iii programerskih radionica, koji djelomicno iii u cjel05ti pokrivaju citav niz
aktivnosti na izradi informacionih sistema, Najpoznatiji paketi ove vrste su Clarion, koji se koristi za 3, Sta su integrirani paketi za uredsko poslovanje?
potrebe manjih informacionih sistema, i Oracle Designer (koji S8 ranije nazivao Oracle Case), koji 4. Koji je najpoznatiji integrirani paket za uredsko poslovanje i od kojih se programa sastoji?
je pogodan za sve vrste informadonih sistema, uklju6ujuCi i najve6e, 5, Zasto postoji potreba za koristenjem integriranog programa Microsoft Works, ukoliko znama da
on posjeduje mnogo manje mogucnosti ad integrirane programske ko!ekcije Microsoft Office?
6. Sta su programi za rukovodenje projektima i koji su najpoznaliji?
7, Sta znate reCi 0 elektronickoj trgovini i e!ektronickorn pos!ovanju?
8. Sta su elektronicka razmjena podataka i e!ektronieki transfer sredstava?
9. Sta je slolno izdavastvo?
10. U cemu su slicnosti i razlike izmedu abrade teksta j stolnog izdavastva?
11. Sta je PDF format zapisa dokumenata?
12. Zasto nije preporuCljivo dokumente, koje telimo oblikovati pomoGu DTP programa, prethodno
oblikovati pomo6u tekst procesora?
13, Objasnite sta su CAD programi i nabrojte nekolika njihovih maguCih primjena.
14, Zbog cega abieni programi za crtanje (poput Corel Drawa) nisu CAD programi?
15. Na'koji nacin su povezani CAD i CAM programi?
16, Sta su integrirani pake!i za brzi razvoj aplikacija i koji su najpoznatiji?
17. Sta padrazumijevamo pod nazivom Visual Studio?
18. Kakva je veza izmedu integrlranih paketa za brzi razvo] aplikacija i baza podataka?
,,'I
19. Sta su generatori aplikaclja?
1 20. Sta su CASE paketi j koji su najpoznatiji?
....1
,

218 219
2.6 MUlTiMEDIJA U OTVORENIM I ZATVORENIM SISTEMIMA mediju ostvarenu na slstemima ratunara 1 drugih multimedijskill uredaja kojl su medusobno
povezani putem, globalnih ratunarskih mreza (obicno Interneta), pri temu se informacije na bilo
kojem raeunaru mogu organizirati i pohranjivati na nacin ko]1 je potpuno neovisan ad natina organi-
zacije i pohranjivanja informacija na ostaiim ratunarima. Na taj natin se u otvorenim sistemima uvi-
2.6.1 Osnovni pojmovi 0 mullimediji jek mogu dodavati nove informacije (npr. povezivanjem novih racunara u mrezu) neovisno od vee
postoje6e situacije, sto zapravo i cinl ove sisteme "otvorenim".
Dugo vremena se smatralo da racunarska tehnika j audio tehnika (tehnika rada sa zvukom)
nemaju nista zajednicko, tim prije sto su savremeni racunari uredaji za obradu digitalnih informacija, Slika i propratni zvuk koji se javljaju u multimedijskim tehnologijama kao pratilae obieno
dok fe zvuk tipican prfmjer analognih informaclja (podsjetimo se da sma 0 razlie! izmedu analognih i suhoparnih tekstualnih Intormaclja, trebaju da korisniku pruze potpuniji dozivljaj prikazanog sadrza-
digltalnih informacija govorlli u prvom dijelu ovog udzbenika). Zvucne informacije zapisivale su se na ia, s obzirom na Cinjenicu da sa istovremeno angazira vise Ijudskih osjetila. Razlika izmedu
gramofonske ploce i magnetne trake, koji SU tipicni predstavnic1' analognih (kantinua/nih) medija. Do klasicnog i multimedijskog nacina prezentiranja informacija najbolje je vidljiva u multimed;jskim
velike promjene doslo je nakon izuma optickih kompakt diskova (CD-ova), na koje se muzicki zapis, enciklopedfjama, koje korisniku mogu pruziti neuporedivo vise informacija u odnosu na klasi6ne
nakon prethodno obavljene digitalizacije, pohranjuje u digftalnom obflku, u vidu serije binarmh bro/e- enciklopedije, zbog Cinjenice da se za prezentaciju informacija koriste slike (kako staticne, tako i an\-
va, sl16no podacirna u racunarskoj memorlji. Uredaji za reprodukciju kompakt diskova (ko]i su se u mirane) i zvuk, koje je veoma tesko na zadovoljavajuei natin opisati sarno rijecima.
pocetku nazlvali digitafni gramofoni, ali je taj naziv ubrzo iscezao I zamijenjen engleskim nazivorrt Co-playery,
po svojoj strukturl veoma podsjecaju na strukturu digitalnih ra6unara (npr. mikroprocesor je njihov
neizostavni dio). Na taj natin je uspostavljena prva veza izmedu racunarske i audio tehnike. 2.6.2 Neophoclna hardverska podrilka mullimedijskim sislemima
Mada su se kompakt diskovi u po6etku koristili iskljucivo za zapis muzike, veoma brzo je primije6eno Multimedijske tehnologije, kao I sve druge vrste racunarskih i informacijskih tehnologija, nisu
da bi. kompakt diskovl mogll bit! jako pogodan medij masovne memorije za pohranjivanje programa i izvodlve bez odgovarajuee hardverske i softverske podrske. Na primjer, jasno je da reprodukcija
podataka za racunare. Nakon sto su se kompakt diskovi zaista poceli koristiti kao medij masovne me- zvuka na racunaru zahtijeva prisustvo zvuenika, odgovarajuCih sintetizatora zvuka (zvucnih kartica),
morije za racunare, prirodan korak je bio opremanje racunara takvim hardverom i softverom ko]i ee kao i odgovarajucih programa kojl ee generirati neophodne upravljacke signale slntetizatorima
omogueitl reprodukciju audio kompakt diskova (tj. kompakt diskova na kojima je zapisana iskljuCivo zvuka koji su potrebni da bi Se proizveli odgovarajuCi zvukovi. Bitno je napomenuti da multimedija
muzika i koji su namijenjeni za reprodukciju na odgovarajueim muzickim uredajima) na racunarima opce zahtijeva izuzetno velike ra6unarske resurse (kako hardverske, tal{o i softverske), sto je osnovni
namjene. Na taj nacin je gotovo izbrisana razlika !zmedu audio tehnike i racunarske tehnike. Danasnji razlog zbog cega Se multimedija na ra6unarskim sistemima pocela intenzivno koristiti tek u pos!jed-
racunari opee namjene mogu, uz odgovarajueu opremu, s!uziti kao CD-playeri, dok s druge strane, svi njih 10-15 godlna. Racunare ko]i su opremljeni odgovarajueim hardverom i softverorn za multime-
CD-playeri kao svoj kljucni dio sadrZe digltalni racunar specijalizirane namjene. Takoder, upravljanje dijske primjene zvaeemo multimedfjski racunari.
raeunarom pomoeu zvucnih informacija (npr. glasom) u danasnje vrijeme nije nikakvo tudo, madaje sve
donedavno djelovalo poput nauc:ne fantastike. Savremeni elektroni6ki muzicki instrumenti, poput raznih Razmotrimo sta je sve neophodno od hardverske podrke za multimedijske primjene. Krenimo prvo
vrsta sintesa/zera i ritam masina, danas nisu nista drugo nego digitalni racunari 'specijaJizirane namjene od onoga sto je najodglednije odgovarajueih ulaznih i izlaz~lih uredaja. Za prikaz staticnih sllka brzina
(i to cesto prilicno moeni), koji nerijetko koriste iste medije masovne memorije (poput disketa; itd.) za rada grafitkih kartiea nije previse bitna. Medutim, za prikaz slika u pokretu, neophodne su vfsokokvalitetne
smjestanje podataka (npr, zapisa pjesama) kao i digitalni racunari opee namjene. gratieke karlfce, koje karakterizira velika brzina prikaza slika. Naime, kako su animirane sllke zapravo
samo slijed statlcnih slika koje se brzo izmjenjuju (filmski standard! predvidaju izmjenu 24 slike u jednoj
Uskoro nakon objedinjavanja audio tehnike i racunarske tehnike, i video tehnfka (tehnika animi- sekundi), jasno je da ukoliko graflcka kartica ne maze da prikazuje sliku dovoljno brzo, na ekranu e9 dod
rane slike, odnosno sUke u pokretu), kao jOs jadan klasicni primjer ana/ogne tehnike, dobila je i svoJu do treperenja iii zastajkivanja prilikom prikaza animiranih slika. Stoga su za multimedijske primjene
digita/nu verziju, sto je dovelo do postupnog brisanja granice lzmedu video tehnike i ra6unarske neophodne graf1eke kartice za koJe je izlicito naglaseno da omogu6avaju glatko prikazivanje digitalnog
tehnike. Danas je sasvim uobicajeno zapisivanje video materijala (filmova, itd.) na kompakt diskove, filmskog zapisa (na srecu, danas je prakticno nemoguee nad graficku karticu kOja nema takvu podrsku).
a pogotovo na njihove specijalne verzije ekstremno velikog kapadteta poznate pod skraeenim Pored dobre grafi6ke kartice, potreban je i monitor sa velikim ekranom i visokom rezofuclj'om, jer ee u
nazivom ova (Qigital.\lersatiie .Qisc iIl.Qigital Yideo .Qisc). Stoga se danasnji ra6unari mogu upotrebljavafi suprotnom gledanje digitalno zapisanih filmova bitl sve drugo samo ne zabavno. Savremene graficke kar-
za reprodukciju filmova, !ito je' donedavno bila iskljuCiva privilegija video rekordera. Takoder, video tlee cesto posjeduju i TV izlaz (engl. TV ou~ kojl omogucava prikljueenje racunara na televizijski aparat j
kamera je danas sasvim prirodan ulazni uredaj za dlgitalne racunare. Skupina tehnologija koje su prikaz slike na televizijskom ekranu, Mada je kvalitet prikaza:sUke na televizijskim el<ranima uvijek znat-
dovele do objedioLavimj!3- racunr;trske tehnike, audio tehnike i video tehnike u jednu jedinstvenu no slablji nego na ekranima monitora, gledanje filmova na,_televizijskom .ekranu (ko]i je tipleno veei od
cjelinu, danC!s'zajedn'ickim'fm~nom nazivamo muliUmedijske tehnologije. ekrana najveclh monitora) je znatno p~ijatnye za,Oct nego g!~danje na-ekranu rnonitora.

Postoji vise definjcjl~~sta}e :zaprav9 multil1le9ij~. Najprihvaeenija je definicija po kojaj je multi- Ukoliko se multimfjdijske informacije. trebaju 'prez~tit'ir-af( ~in;fpl,lblici, ~eoPhodno je u popis
mMija tehn6fogija.:k6ja. bmogu-eava prik~z informaelja u vise razlieitih oblika, poput teksta, grafike neophodne opreme ukljuciti i multimedijski projektof;' TaKo.der, ,ukoli~o 'pored puke reprodukcije
(staticnlh; odnosno riep_~Krefnih '-slika), animac(fa (slika u pokretu), video zapisa (animacija visoke video zapisa iii jednos1avnijih manipulacija sa postojeeim,>/i.t=le0 zapisima (I?oput tillovanja fHmova,
kvalitete kOj? .slJ-obtcnO:'P"racerie zvukom, puput filmova), muzike i govora. Multimedija se 6esto dijeli itd.) zelimo da se bavimo i samostalnirnkreiran/em videJj~zaprsa, jasno je da nam je neophodna i
na inultinied;jI! Uzatvoren!trJ s/stemima I mulfimediju u ofvorenim sistemima. Multimedija u odgovarajuea digftalna kamera, '
zatvQrenim '"sistemir'IJ~ podrfizumijeva multimediju ostvarenu na racunaru ill skupinl povezanih
racunara (iIi nekih srodnih uredaja); na-kojima je unaprijed poznato kako su informaeije organizirane, U posljednje vrijeme sve vise su u upotreOi' Spe.cija!n-l qClapterl, nazvani TV kartice iii TV tjuneri
gdje su po'hranjen~'i itd, S druge_ strane, multimedija u otvorenim sistemima podrazumijeva multi- (engl, tune!). TVljunerje uredaj kojl omogu~ava prev~enje analognih inforrnacija koje pristizu kroz

220 221
televizijsku antenu, i koje se koriste u televizijskoj tehnici za prikaz slike na TV aparatima, u digitalne rijskog prostora za pamcenje jedne minute zvucnog zapisa! 8toga, multimedijski racunari moraju
informacije kOje se mogu prikazati na monitoru racunara. Tako, TV tjuneri omogucavaju (uz pomoe obavezno biti opremljeni 6ita6ima opti6kih diskova (CD, a po moguc':nosti i DVD), jer su avo jedini
odgovarajuceg sof1vera) gledanje televizije pomoc':u racunara, tako da racunari mogu da zamijene prenosivi uredaji masovne memorije koji su podesni za biljezenje muitimedijsklh informacija. Za obradu
klasicne TV aparate. Posebno je zanimljivo to sto softver za gledanJe televizije uz pomoc racunara
omogucava prikaz televlzijske slike u prozoru (koji ne pokriva Citavu povrsinu ekrana), taka da na
I multimedijskih informacija ra6unar mora bitl opremljen veoma mocnim procesorom 1velikom kollcinom
RAM memorije. Ranije su procesori koji su bili namjenski dizajnirani za laksu obradu multimedijalnih
ekranu u isto vrijeme mozete lmati, na primjer, prazor sa tekst procesorom u koji unosite neki doku- i Informacija nosill u svom imenu oznaku MMX (Multimedia E~tension), dok se u novijim procesorima
ment, i prozor u kojem gledate vasu omiljenu seriju, ne prekidajuCi rad sa dokumentom. 1 oznaka MMX vise ne spominje, S obzirom da se podrska multimediji danas uglavnom podrazumijeva.
Ukoliko zelimo da se bavimo ne samo pregledanjem, multimedijalnih informacija nego i njihovim
Za potrebe prezentacije zvucnih informacija (muzike i govora), neophodno je da racunar posje- kreiranjem, neophodno je posjedovati i CD pisa6, kao i hard disk ve/ikog kapaciteta za potrebe prlvre-
duje sintetizatore zvuka i zvu6nike. Jednostavniji sintetlzatori zvuka (zvucne kartice) danas obieno menog biljezenja multimedijalnih informacija prije njihovog kona6nog zapisa na optieki disk.
delaze integriranl na maticnu plocu racunara. Mada se zvucne kartice osjetno razUkuju 'po eljenl,
bitno je napomenuti da je kvalitet reprodukcije zvucnih zapisa sa audio kompakt diskova i svih drugih
tzv. uzorkovanih zvu6nih zapisa pribUtno istl, neovisno od kvaHteta zvuene kartice. Do velike razlike 2.6.3 Neophodna softverska podrska multimedijskim sistemima
u kvalitetu zvuka dolaz! jedino prilikom reprodukdje tzv. sintetiziranih zvucnih zapisa, kakvi se
najvise koriste u programirna za komponiranje uz pomoe racunara i upravljanje eiektroni6klm Uvodenje i razvoj multimedijskih sistema doveo je do potrebe razvoja odgovarajucih standarda
muzi(;kim instrumentima, a nerijetko j u raeunarskim igrama (0 razlici izmedu uzorkovanih i sinte- za zapis multimedijskih informacija, kao i odgovarajuceg softvera koji 6e rukovati taka zapisanim
tiziranih zvu6nih zapisa govoricemo nesto kasnije). 8toga, skupe zvuc:ne kartice treba da kupuju informacijama. Standardni formati zapisa grafi6kih informacija, poput statitnih silka, razvljeni su j
sarno muzi6ki profesionalci, dok 6e potrebe vec':ine korisnika zadovoljiti i najjeftinije zvucne katrice. prije pojave multimedije, i 0 njima smo govorili u poglavlju a racunarskoj grafici. Ostaje da se raz-
Zvucnici koji se,priklju6uju na raeunare, najeesce su stereo zvucnici, mada se mogu sresti i sistemi motri naCin zapisa zvucnih informaclja, i informacija u formi pokretnih slika (animacije).
sa vise od dva zvu6nika koji se koriste za jos kvalitetnije tehnike vjerne reprodukcije zvuka nego slo
js stereo tehnika (npr. kvadrofonska tehnika, koja zahtijeva upotrebu 4 zvucnika, od kojih je svaki Za pamcenje zvucnih informacija postoje dva sustinski razliCita naeina zapisivanja koje maze-
loc'lran u jednom uglu prostorije). 8koro sve zvucne kartice posjeduju prikljucak za zvucni izlaz (engL mo nazvati uzorkovani (semplovam) zvu6ni z.apisi i sintetizirani zvucni zapisr Uzor/wvani
audio ou~ preko kojih se fBcunari mogu prikljuCiti na razglasne uredaje iii I<ucnu audio opremu, dime zvucni zapisf zasnivaju se oa pamcenju uzoraka vnjednostf intenziteta zvucnog talasa, koji je
se dodatno poboljsava kvalltet zvuka, kao i zvucni ulaz (engl. audio in) na koji je moguce prikljuCiti osnovni nosilac zvucnih informac1ja, uzetih u odredenim vremenskim trenucima. Drugim rijecima,
mikrofone i klasicne medaje za reprodukciju zvuka (kasetofone, itd.) i tako omogudti unosenje uzorkovani1 zvucni zapisi predstavljaju digitalizirani zapis odgovarajuceg analognog nosioca infor-
zvucnih informacija u raeunar. Mikrofon je neophodan ulazni uredaj i u slucajevima kada zelimo macije - zvucnog talasa. 8 druge strane, sintelizirani zvucni zapis! sadrts infonnacije 0 visini, tra-
izdavanje naredbi racunaru putem govora, sto se d~nas sve eesce susrece. janju i bojl pojedinih tonoll8 koji cine zvucnu informaciju. U tom smislu, ovi zvucni zapisi slicni su fJot-
nom-zapisu koji se koristi u muzici za zapi~ivanje muzitkih kompozicija. 8intetizirani zvucni zapis]
VeGina zvucnih kartica omogucava prikljuCivanje elektroni6kih muzi6kih instrumenata (koji su mogu se primijenlti samo za zaplsivanje muzi6kih informacija, all ne i govornih inforrnacija.
zapravo, kao stc smo vee rekll, digilalni racunari specijalizirane namjene) na racunar opee namjene
preko tzv. MIDI (Musical,lnstruments Qevice Interface) prikljucka. MIDI je, ustvari, standard koji je Najjednostavniji format uzorkovanog zvuenog zapisa je tzv. WAV (od eng I. wave) format.
prvobitno bio namijenjen iskljucivo za medusobno povezivanje j sinhronizaciju raznih elektronickih Datoteke koje sadrze zvucni zapis u ovom formatu imaju na svom imenu nastavak . WAV. Ovaj for-
muzi6kih instrumenata poput sintesajzera, rHam masina, itd. a koji je kasnije iskoristen i za poveziva- mat zapisa najcesee doslovno pamtl uzorke vrijednosti intenziteta odgovarajuceg zvucnog talasa
nje muzickih instrurnenata sa racunarima. MIDI koristi serijski prenos podataka, stoga MIDI prikljucak uzete u pravilnim vremenskim razmacima. Ovakav nacin zapisa omogucava izuzetno vjernu repro-
zapravo predstavlja jednu vrstu serijskih ulaznih vrata. Povezivanje racunara sa elektranickim dukciju, ali je, sa druge strane, veama zahtjevan po pitanju memorijskih resursa. Naime, u prvom
muzi6kim instrumentima ima visestruke primjene. Na primjer, moguce je na racunaru pripremiti neku
kompoziciju u vidu notnog zapisa, koju je kasnije moguce reproducirali uz pomoc elektronickih
I dijelu ovag udzbenika, vidjeli smo da je, prema Shannon-Nyqufstovom teoremu 0 uzorkovanju,
potrebno uzeti barem 40000 uzoraka u sekundi da ne bi doslo ni do kakvih gubitaka informacija.
muzickih instrurnenata. Na taj nacin, kornpozitor maze cut] kako ce napisana kompozicija zvucati (bez Ukoliko zelimo stereo -zapis, ovo uzorkovanje je potrebno uzeti posebno za oba kanala zvuka.
potrebe da angazira zive muzieare), i vrSiti neophodne korekcije dok ne bude zadovo!jan izvedbom Ukoliko svaki uzorak zapisemo sa 16 bita (manji broj bita povecao bi gubitak inforrnacija usljed kvan-
(prije ne90 sto kompozicija zaista bude izvedena utivo). Vecina savremenih kompozitora intenzivno se tizacije), prosti- raeun -daje blizu 10 megabajta po jedno] min uti zvuenog zapisa. Uzimanjem manjeg
koristi ovom tehnikom prilikom pisanja muzickih djela (na prirnjer, prva bosansko-hercegova6ka opera broja _uzoraka po sekundl ovi memorljski zahtjevi se rnogu smanjitL Medutim, na taj nacin se gubi na
Hasa,naginica pisana je upravo na ovakav nacin). MIDI tehnika omogucava i suprotan postupak: bi- kvalitetu ,zvUka (uslje-d_ Qubitka informacija). WAV format zapisa podrzava i nake elementarne
Ijetenje zvucnog zapisa koji zb/i muzieari sviraju na elektronickim muzickim instrumentima, i njihovu metode kompresij-e podataka. -Ipak, ostale einjenica da su WAVzapisi {ipieno jako glomazni i-pogod-
kasniju reprodukciju iii prikaz u vidu notnog zapisa. Na ovaj nacin je moguce pohraniti svirku zivih ni'samo zai.efa-!jvn6 kra.tke zapis's. Bitno je napomenuti da je zapis zvuka koji koriste audio kompaict
muzicara i kasnije]e vjemo reproducirati na istim instrumentlma. Takader, na ovaj nacin, muzicari ka)i diskovi veo l11 asrodan:VVAVzapisu (mada ne i potpuno istl), tako da Sve sto]e reeeno za WAVzapis
,ne poznaju muzieku notaciju (notni zapis) mogu dobit! naIni zapis svojih muzitkih izvedbi. vrije-di i ia:ZaplSe".nfi-audio kompakt diskovima. Napomenimo da Windows operativni sisterni ne vide
neposredno zaprs"e:na -audio kompakt diskovima, nego umjesto njih vide samo kratke datoteke sa
Nakon sto smo razmotrili neophodne ulazne i izlazne uredaje za multimedijske primjene, razmot- nasJa\lkarn '.C-DA koje, predstaVljaju upucivaee na stvarne zapise, i preko kojih operativni sistem
rima i zahtjeve na uredaje koj! cine centrafnu jedinicu racunara, koji su mnogo manje uaeljivi na prv! moze prl$tupiti stvarnom' zvucnom zapisu.
pogled. Veoma vazno je napomenutl da su multirnedijske informacije izuzetno bogate kofiCinom fnfor-
macija, stoga je za 'njihovo memoriranje neophodna velika koficina memorije,' a za njihovu obradu Da bi-~e'-omogucro zapis zvuka koji trosi manje memorijskih resursa, razvijeni su razni aigoritrni za
izuzetno velika snaga procesora. Na primjer, audio kompakt diskovi trose blizu 10 megabajta memo- kdmpresij~ -uzorkovanih zvucnih zapisa. Jedan od najboljih algoritarna za kompresiju zvucnih zapisa
222 223
ugraden je u format uzorkovanog zvucnog zapisa poznat pod imenom MP3 format (punim imenom slike u slijedu slika ko)i cine animaciju obicno sasvim neznatno razlikuju, taka da je davoljna pamti~
MPEGri 1 Layer~3, iz cega se vidi da je MP3 sarno specljalni slu6aj MPEG zapisa a kojem cemo go~ ti samo prvu slik)..l u slijedu, kao i razlike izmedu svake sljede6e slike u odnasu na prethodnu sliku.
voriti nesto kasnije). Ovaj zapis dosta je srodan JPEG zapisu za kompresiju slika. MP3 zapis, slieno Pored toga, kod pokretnih slika nije potrebno toliko precizno pamcenje deta!ja kao kod staticnih
JPEG zapisu u slucaju slika, dovodi do izvjesne degradacije kvaHteta zvuenog zapisa. Medutim, prak~ sllka, s obzirom da zbog njihovog brzog izmjenjivanja, !judsko oko nije u stanju da uoei svaki detalj.
sa je pokazaia da se pamacu MP3 zapisa zvucni zapisi mogu sabiti preka 10 puta (dakle, na oko Na ovim idejama zasnovani su mnogi algorltmi za kompresovano zapisivanje animiranih sllka, koji
megabajt po minuti'zvucnog zapisa) a da Ijudsko uho ne primijeti nikakvu razJiku u kvalitetu u odnosu u sabe uklju6uju i mogu6nost zapisa zvu6nih podataka', 'tako da su idealni za pam6enje video zapisa.
na WAV zapis (Ijudsko 6ulo sluha je mnogo manje osjetljiva na degradacije u kvalltetu nego 6ulo vida). Najpoznatiji format za pamcenje video zapisa je MPEG (Motion Eicture fxperts Group) format, kojl
Pom06u MP3 zapisa mogu se postiCi i jos veei faktori sabijanja (cak i preke 100 puta), ali u tom slucaju u sebe uklju6uje i MP3 format za parn6enje zvuka i ko]i omogucava kompresiju video zapisa i do
degradacija kvaliteta zvuka postaje sasvim primjetna. Zbog svojih izuzetno povoljnih osobina, MP3 je 95%. Pored MPEG formata, u irokoj upotrebi su i Microsoftov AVI (Audio Yideo interleave) format,
danas ubjedJjivo najrasprostranjeniji format uzorkovanog zvucnog zapisa (datoteke koje cuvaju ovako kao i QuickTime MOV (od engl. movie) format, keji je prvo bio razvijen iskljuclvo za Apple
zapisane zvucne informacije imaju na imenu nastavak .MP3). Pored MP3formata, u sirokoj upotrebi Macintosh ra6unare, ali se kasnije rasirio i za PC racunare.
je i Real Audio format zapisa (koji prepaznajemo po nastavcima . RA, . RM, . RAM i jos nekim na
imenu datoteke). Ovaj format zapisa ima dosta slienosti sa MP3 zapisom, i specijalna je razvijen za Nakan sto smo se upoznali sa naCinima zapisa multimedijskih lnformacija, mozemo nesto reCi i
potrebe radio prenasa i slusanja muzike uzivo pomocu globainih ra6unarskih mreza. Mada Real Audio o odgovaraju6em softveru koj! rul<uje ovim informaeijama. Postoj! ogroman broj razl!6ltih programa
format ima izvjesnih prednosti ,nad MP3formatom, pokazalo se da, pri istom stepenu kompresijs, Real koji u manjoj iii ve60j mjeri koriste multimediju. Stoga je veama tesko izvriti prikJadnu klasifikaciju
Audio format dovodi do vece degradacije zvuka nego MP3 format. multimedijskog softvera. Ipak, u sasvim grubim okvirima, multimedijski softver mazemo podijeliti u tri
grupe: sottver za prikaz multimedljskih informacija, softver za kreiranje multimedijskih infor~
Uzorkovani zvu6ni zapisi mogu da zapamte bilo kakve zvukove, poput laveia pasa, buke auto- macija i multimed;jskih aplikacija j sottver za obradu multimedijskih informacija, U engleskoj Ii-
mobila u prometnoj uUci, iii zvuka koji nastaje struganjem stiropora ad zid. S druge strane, sinte- teraturi se sottver za kreiranje multimedijskih informacija i multimedijsklh aplikacija najcesce naziva
tizirani zvu6ni zapisi su u stanju da zapamte samo zvucne informacije koje imaju veoma pravifnu softver za autoriziranje (engl. authoring software odnosno multimedia authoring software).
strukturu koja se moie opisati nizom tonova (a ne raznih neartikuliranih zvukova), kao sto su npr.
muzicke kompozicije. Mada su ovakvi zvucni zapisi mnogo ograniceniji od uzorkovanih zvucnih Za prikaz multfmedijskih informacija postoji mnostvo programa. Kako tTlultimedijske informacije
zapisa, oni posjeduju izvjesne bitne prednosti u odnosu na uzorkovane zapise. Pored toga 8to zau~ postaju sve rasprostranjenije, izvjesni programi za prikaz multimedijskih informadja danas cine sas~
ziiTIaju mnogo manje memorije ad uzorkovanih zvucnih zapisa (cesto je cijelu kompoziciju koja traje tavni dio svih modernih operativnih sistema. Tako, sve modernije verz!je Windows operativnih sis-
nekoliko minuta moguce zapisati u manje od stotinjak kilobajta), sintetizirani zvuGni zapisi mogu se tema sadrZB pomo6nl program CD Player, koji omogucava reprodukciju audio kompakt diskova, kao
reproducirati putem elektronickih muzickih instrumenata, i racunar na osnovu njih maze generirati i program Media Player, kaji omogucava reprodukciju zVlJ(;nlh zapisa (kako uzorkovanih, tako i sin~
notni zapis kompozicije, sto je nemogu6e postid pomo6u uzorkovanih zvuenih zapisa. tetiziranih) i video zapisa. Media Player ne podrzava sve formate zvucnih i video zapisa, tako da je
za neke zapise potrebno koristiti posebne programs za reprodukciju. Na primjer, za reprodukciju
Najrasireniji format sintetiziranog zvucnog zapisa je MIDI format (prepoznatljiv po nastavku Real Audio formata zvucnog zapisa neophodno je koristiti program Rea/Player. Bitno je napomenu~
.MID na imenima datotekakoje ga koriste) koji je, kao sto mu ime gavori, prvenstveno bio razvijen ti da za prikaz i reprodukciju multimedijskih informacija postoji cifavo mnostva razliCitih programa koji
za potrebe upravljanja elektronickim muzickim instrumentima. Ovaj format zapisa muziku posmatra sluze za istu svrhu, a koji se uglavnom razlikuju samo po nekim sitnijim dodatnim mogucnostima.
kao nfz dogadaja (engl. events) koji su je generlrali. Dagadaji mogu biti npr. pritisak iii otpustanje Tako se, na primjer, za reprodukciju zvucnih zapisa u MP3formatu mnogo koristi program Winamp,
neke tipke na klavijaturi sintesajzera, pritisak na dugme sintesajzera kojim se mijenja boja tona, koji je bio jedan od prvih programa koj! su podrzavali ovaj format zvucnog zapisa (prvobitna verzija
pomjeranje paliee kojom se postize vibriraju6i ton, udarae palicom u bubanj iii cinelu, itd. MIDI for~ ovog programa patjece od hrvatskog programera Tomislava Uzelca, a kasnije se u njegov razvoj
mat prosta pamti informaciju 0 svakom dogadaju (npr. kOja je tipka na klavijaturi pritisnuta i kojom ukljucio citav niz programera iz raznih zemaIJa). U poznatije programe za reprodukciju video zapisa
jacinom) kao i tacna vrijeme.u kojem se dogadaj dogodio. Prilikom reprodukcije MIDlzapisa, racunar spadaju ActiveMovie, QuickTime Movie Player, Micro DVD Player, itd. Rea/Player takoder
uz; pomoc odgovarajuceg hardvera oponasa (simulira) zapisani slijed dogadaja koj! su generirali omogucava reprodukeiju nekih tipava video zapisa.
muziku. OCigledno je da je ovaj vid zapisa idealan za upravljanje elektronickim muzi6kim instru-
mentima. Takoder, iz nje~a je sasvim lako rekonstruirati notn! zapis kompozieije. Za kreiranje muftimedijskih informacija i aplikacija postoji takader mnostvo programa koji se raz~
!ikuju po svojaj tacnoj namjenl. Opeenito gledano,' programL ovog tipa omogu6avaju korisniku
Za pamcenje animiranih sllka razvijeni SU mnogobrojni formati, zapisa. Jedan od najjednostavni- kreiranje multimedijskih aplikaclja (obicno u formi prezentacija) -koje objedinjuju tekst, statitne slike,
jih formata ~apisa, animiranih slika predstav!ja animfrani GIF format, kojt se sastoji prosto ad slije- zvuk, i animaeiju. Ovakvi programi najcesce pos'matraju multtmedijske aplikacije kao slijed dogadaja
da slika od kojih SEl brzh'n fzmjerijivanjem formira animacija. Dosta rasprostranjen format zapisa ani~ (eng!. event sequence). Svaki dogadaj u, OS0ov[-predsta"vlja prikaz_ neke tekstualne, graflCke, zvu6ne
mira!)ih slika,-koji p~red'Slika-'moze da pamti i propratni zvuk, je j SWF format kOJj je razvijen nam~ iii animirane informaeije. Kreator moze uprav!jat.l-strukttirom' dogadaja, njihovim redoslijedam, kao i
jenski.od stran~ firrrie.iVlacrolYfedja za upotrebu u njihovim programima (SWF je skracenica od tacnim vremenskim trenucima u kojima- 6e poledini ddgadajl na$tupitL Takoder, kreator moze odre*
Shock WavE?-E!a~.h;-sto)e)m~ programa ko]i generira ovaj format zapisa). Medutim, za potrebe video diti vrstu i stepen interakcije izmedu mult"imediLske-aplika'cije'l korisniKa koji ce koristiti aplikaciju (na
zapisa, u- kojima se ,IavJjaju pczkretne slik~ visokog kvaliteta koje su obavezno pracene zvukom, i koj) prlmjer, da Ii 6e se neki dogadaj pakrenuti_ pr!tiskom'h"a -Mekl(tlpku-odnosno-kllkom misa na odredeno
nerijet~o traju dosta ~ugo, klasieni -formaH zapisa animiranih sllka nisu pogodni. Naime, uzmemo Ii mjesto, iii de se dogadaj sam pokrenuti po isteku,odrl$~nog:vremena}.'lY1ultimedijske aplikacije
da,'cak-i uz~najboltu-'kompresiju; jedna visokokvalitetna staticna slika tesko moze zauzeti manje od imaju mnostvo prlmjena, pocev od obic[I,e t;:ap-aVEHpoPvt multimedijskih racunarskih igara), preko
tridesetak_k11obajta,-i pretpostavimo Ii da je za potrebe kva!itetne animaeije potrebno izmjenjivati 24 obrazovnih primjena, pa sve do krelranja multifnedifskih~baza podataka i baza znanja. Medu najpoz-
slike u sekundi, pfOstim racunom do!azimo do zakljueka da je potrebna preko 40 megabajta za natije programe za kreiranje multimedijskfh info~mac_jla "L apllkaelja spadaju Macromedia
pamcenj!9-jedne miQute slike u pokretu. Izlaz lz ove potesko6e naden je u Cinjenici da se susjedne Authorware, Macromedia Director, Action!, Asy";u:trix Ico(lAuthor r Asymefrix Toolbook.
224 225
Medu programima za obradu multimedijskih informacija naroCito su u upotrebi programi za 2.6.4 Hipertekst i hipermedija
obradu zvucnih zapisa. Da bismo kreirali uzorkovanl zvu6nf zapis, dovoljna je ima!i mikrofon iii nek!
drugi izvor zvucnog signala kO}i se prikljucuje na zvucni ulaz 'zvucne kartice, i upatrijebiti neki ad pro- Hipertekst predstavlja jednu od temeljnih tehnologija rnultimedije, koja Je omogucila razv~j mu/~
grama za zapisivanje zvuka kao sto je Sound Recorder, koji dolazi kao sastavni dio Windows ope- timedijeU otvorenim sistemima. Osnovna ideja hiper!eksta je mogucnost povezivanja uzaJamno
rativnih sistema. Snimljeni zvueni zapis kasnije je mogu6e uredivati i mijenjati uz pomoo programa vezanih tekstualnih podataka, koj] su razbacani u razliCitim dokumentima, na takav naein da se
koj! se nazivaju editori zvucnih zapisa. Pomoeu ovih prograrna moguce je vrsiti mnogobrojne pomoeu jednostavnih radnji moze preci sa prikaza jednog podatka na prikaz nekog drugog njemu
manipulaclje sa zvucnim zapisima, poput izmjene glasn06e i boje tona, raznih korekcija, itd. Na prim- srodnog podatka, bez potrebe da znamo u kojem se dokumentu vezani podatak nalazi.
jer, ukoliko posjedujemo zvucni zapis lnterpretacije nekog pjevaca, pomocu editora zvucnih zapisa
moguce je ukloniti izvjesne greske uoeene u interpretaciji, pa cak i poboljsati iii potpuno promijenitl Pod hjpertekstualnim dokumentom podrazumijevamo tekstualni dokument koji sadrzi poseb-
boju glasa pjevaca. Editori zvucnih zapisa gotovo iskljueivo rade sa WAVformatom zvuenog zapisa, no oznaeene dijelove (najcesce QQdvueQDiLLQ,QQl~n@ drugom boiom) koj! se nazivaju hiperveze iii
Jer algorltmi kompresije ko]i su ugradeni u zapise poput MP3 zapisa onemogucavaju njihova efikas- hiperJinkovi, a ko]i posjeduju svojstvo' da pritisak na tipku misa u trenutku kada se pokazivac misa
no uredivanje. Jedan od poznatijih editora zvucnih zapisa je program CoolEdit Pro. Ukoliko je nalazi na hipervezi dovodi do prelaska u neki drug) dokument na koji hiperveza ukazuje (u trenutku
potrebno da obradujemo zvucne zapise koj! nisu u WAV formatu, mozemo se posluziti nekim ad kada se pokazivac misa nalazi na hipervezi on obicno ima drugaciji izgled, naj6esce izgled d[~na sa
mnogobrojnih konvertora farmata zvucnog zapisB. Na primjer, neki od eesto koristenih konvelto- 'ispruzenim prstom). Na primjer, pretpostavimo da korisnik na ekranu proucava hipertekst~alnl d?ku~
ra su MPEG Layer~3 Producer za pretvaranje WAV formata u MP3 format, kao i AudioGrabber i ment koji govori opcenito 0 pticama. Aka korisnik u tekstu naide na pojam koj! ga detaljrHJe zan.lma,
Xing AudioCatalyst za pretvaranje zapisa sa audio kompakt diskova u WAV ilili MP3 format. npr. "Iastavica", moze klikniti misem na taj pojam (pod uvjetom da je taj pojam izveden kao hlper-
veza), i na ekranu e8 se pojaviti novi dakument koj! podrobnije objasnjava pojam 0 kojem je rijee.
Kreiranje sintetiziranih zvucnih zapisa prilicno se razlikuje od kreiranja uzorkovanih zvucnH-1 zapisa. Novi dokument moze takoder sadrzavati nove hiperveze. Na primjer, Citajud informacije 0 lastavi-
Ovi zapisi se najcesce kreiraju neposrednim sviranjem na elektronickim muziC!dm lnstrumentima cama, korisnik moze naie! na lnformaciju da su to pUce selice, pri eemu je pojam "ptice selice" izve-
(obieno sintesajzerima) koji su povezani sa racunarom preko MjDI prikljucka. Pri tome se koriste pro- :1 den kao hlperveza. Klikom na ovu hipervezu korisnik moze dobiti detaljnUe informacije 0 raznim
grami koJ! omogucavaju zapisivanje signala kOje generiraju elektranicki muzicki instrumentL vrsta ptica selica, itd.
Sintetizirane zvucne zapise moguce j8 kreirati i bez pomo61 elektronickih muzlckih instrumenata,
pomocu specijalnlh editora, koristenjem raznih tehnika kao 510 su pisanje nota, kreiranje liste dogadaja, Strogo uzevsi, pojam hipertekst trebao bi da S8 odnosi na dokumente koji sadrz.e samo tekst i
itd. Programi za obradu sintetiziranih zvuenih zapisa abieno dolaze kao integrirani paketi koji hiperveze. Za dokumente koj! pored teksta sadrze nepokretne i pokretne sllke, kao i zvucne zapise,
omogucavaju mnastvo funkcija: zapisivanje signaia sa elektronickih muzickih instrumenata, uprav- i u kojima ulogu hiperveza mogu preuzimati slike i njihovi dijelovi, a ne sarno dijelovi teksta, jspravni~
Ijanje elektronickim muzlCkim instrurnent1ma, pisanje nota, manipuliranje_, sa zvucnim zapisima, je je koristiti termin hipermedija. Ipak, najeesce se izraz hipertekst koristi kako za pray! hip~rtekst,
automatsko generiranje notnog prikaza iz zvuenog zapisa, itd. Vjerovatno najpoznatiji program ave tako i za hipermediju. Ako posmatramo, na primjer, hipermedijalni dokument ko]i govon 0 pt~cama,
vrste je Steinberg Cubase Score VST, koji je u prvlm verzijama razvijen jos za ATARI kucne korisnik maze klikom na sliku !astavice vidjeti animirani prikaz njenog leta, iii cuti njeno oglasavan-
racunare, a do danas je napravljen za je, ltd. Cjelokupna WWW (World Wide Web) tehnologija koja je popularizirala upotrebu global nih
gotovo sve postojece modele racunara. racunarskih mreza zasnovana je upravo na hlpertekstu i hipermediji.
Ovaj program je prilicno kompieksan i

'~~~i~~~~~~~,'rfu~~~~l0~~~~~1~J&J~ ~.'~~j
1
Osnovna ideja hiperteksta i hipermedije, koja je zapravo omogueila upotrebu multimedije u
namijenjen ijevlasnicima
sionalcima uglavnom muzickih
muzickimstudija.
profe- otvorenim sistemima, je mogucnost da hiperveze ukazuju ne same na dokumente koji S8 nalaze na
Za potrebe amaterskih i poluprofesional- istom racunaru kao i posmatrani hipertekstualni dokument, nego [ na dokumente koj! se naJaze na
nih primjena lakse je koristiti programe bilo kojem drugom ra6unaru koji je sa njim povezan. U slucaju globalnih racunarskih mreza kao sto
nesto manjih rnogucnosti an jednostavnijih je Internet, to znaei da hiperlink moze ukazivati i na dokument ko]i se nalazi na raeunaru na dru~or~
za rad. Primjer sasvim dobrog a jednos~ kraju svijeta. Pri tome je principijelno moguce da se opCi dokument 0 pticama ureduje u Norve~koJ,.
tavnog programa za rad sa sintetiziranirn dokument 0 lastavicama u Argentini, a dokument 0 pticama selicama u Mongolijl. KakO su SVI OVI
zvucnim zapisima je CakeWalk Pro dokumenti medusobno povezani hipervezama, korisnik uopce ne primjecuje njihovu prostornu
Audio. Prinijer rada sa ovim programom razbacanost i dozivljava ih prakticki kao dijelove jednog jedinstvenog dokumenta. ,Otvorenost
'prikazan je na slici desno. ~ba pomenuta ovakvog sistema je ocigledna: dokumenti se magu uredivati na raznim lokacijama, neovishO jedan
programa omogucavaju ne samo rad sa ad drugog, a hiperveze su one sto ih medusobno povezuje u jedlnstvenu cjeli~u;
,'sintetlziranim zvucnim zapisima, nego i
~~"~i",;c::~=:=::.::=:=.=~=::=::~:.:L:"=c~::==:::='"'l rnijeSfJ,l7je (miksanje) uzorkovanih i sinte- Hipertekstualne dokumente mazemo kreirati na razne nacine. Na,~rimjer,--Cak i Mlqr?soft,WO!d
-ti?ifarilh zvu?nih za~isa. omogucava ubacivanje hiperveza u tekstualne dokumente, koje mogu-upucivatLna drqgl dio 1stog-
dokumenta, Hi na sasvim drugi dokument, na istam iii udaljenom racunaril"~(za.ovi/ ~wtJ~_ tr,eba -
Slicno programima' za obradu 'zvucnih ;~Pi~~:-'Pci$fo~~i 'p~ogra~i za' 9bradu video zapisa. Medu izabrati naredbLJ Hyperlink iz menija Insert, ill pokrenuti alatku !nsert Hyperlink sa "~t~~rd~' t~.ake
najrasprostranjenijim primjenama ovakvih programa spadaju-rnontaza i titlovanje filmova. Programi sa alatima). Medutlm, programi poput Microsoft Warda nisu prilagodeni s~i~ TPc~r].a.rl'r'n~ kO]I. se
za obradu video zapisa omogucavajuj samastalna ,I(reiranje video zapisa, najces6e uz pomoc digi- koriste u svijetu, niH su instalirani na svim racunarima koji ih mogu Koristiti;- ~otreba 2a kon5~e~Je:m
taloih kamera, kao i zapisivanje televizijsko'g Si~nala-ui:.pom'oc kartica sa TV tjunerom. Jedan od hiperteksta u otvorenim sistemima, u kojima se na zna unaprijad koji .se racllnari kOr1ste, sa kakvlm
najmocnijih programa za obradu .vid:eo zapisa je program Aaobe'Pr~mjere, dok se za amaterske i operativnirn sistemima i kakvim aplikativnlrn softverom, dovela j9' dQ potrebe usp-o_Sfavlj~nja ~tan~
poluprofesionalne primjene cesto kori~ti program VjrtualDub. darda za organizaciju hipertekstualnlh dokumenata koji..ce se moGi prikazivati na s~im racunanma.

226 227
Ova potreba postala je posebno velika s pojavom Interneta koji povezuje ogroman broj raeunara iz jezici (proraeune, pristup bazama podataka, ltd.), dodavanje skripti u HTML omogueilo je da se
Citavog svljeta koji se medusobno sustinski razlikuju. hipertekstualni i hlpermedijski dokumenti pocnu ponasati poput pravih aplikacija koje omogucavaju
interakciju sa korisnikbm (pri tome 58 ave "aplikacije" izvrsavaju neovisno od vrste i modela racunara
Danas se kao standard za zapisivanje hipertekstualnih dokurT)enata koristi zapis poznat pod na kojem S6 dokument pregleda). Skriptni jezici nisu jedini nacini da se HTML dokumenti ueine dina-
nazivom HTML (tlyperIext Markup .Language). HTML se nekada pogresno svrstava u programske mienim i interaktivnim. U sirokoj upotrebi su i tzv. Java aplef; kao i Active-X kontrole, kojl pred-
jezike, mada se, u stvarnosti, ne radi ni 0 kakvorT) programskom jeziku (u pitanju je, zapravo, jezik stav!jaju neke vrste minijaturnih aplikacija koje se mogu izvrsavati unutar HTML preglednika prilikom
za oblikovanje dokumenata, koji nema nikakve veze sa programiranjem). HTML je, u sustini, obiean pregledanja dokumenata. Java apfeti i Active-X kontrole namijenjeni su za istu svrhu, ali S8 sustin-
tekst u koji su ubaeene specijalne Qznake koje se pisu unutar siljastih zagrada < i > (tzv. HTML ski razlikuju po tehnickim detaljima izvedbe.
tagov~. Pomocu HTML tagova se definiraju hlperveze, i zadaje osnovna forma kako bi hipertekstu-
alni dokument trebao da bude oblikovan (nacin kako se zadaje oblikovanje hipertekstualnih ,doku HTML dokumente je mogu6e kreirati i u obienim tekstualnim editorima, ruenim umetanjem
menata prilicno podsjeea na naCin rada sa tekst procesorima prije nego sto je razvijen WYSIWYG odgbvaraju6ih HTML tagova gdje je neophodno. Medutim, kako ovakav naejn kreiranja maze da
koncept obrade teksta). HTML dokumenti na svom imenu imaju nastavak .HTM iii .HTMl. Za pre- bude jake mukotrpan, razvijeni su i spedjalni programi koji omogucavaju kreiranje hipertekstualnih
gledanje hlperfekstualnih dokumenata zapisanih u HTML formatu, koriste se specijalnl programi i hipermedijskih dokumenata koristenjem WYSIWYG I<oncepta, na sllcan naCin kako se danas
nazvani HTML preglednic; iii brouseri (engl. browset')o Postaji vise razliCitih HTML preglednika, a kroiraju obicn] tekstualni dokumenti pomocu tekst procesora. Najpoznatiji programi za ovu svrhu su
danas se najvise koriste Microsoft Internet Explorer (ko)i Ie, ad verzije Windows 98, sastavni dia Microsoft FrontPage i Macromedia Dreamweaver. cak i Microsoft Word omogueava da kreirani
Windows operativnih sistema) i Netscape Navigator. Mada ime ovih pragrama gavori da su ani dokument snimite u HTML formatu, tako sto prilikom zadavanja naredbe Save As lz padajuee liste
pretezno namijenjeni za pregledanje hipertekstualnih dokumenata na Internetu, ani se mogu koris- Save as type izaberete opciju HTML Document. Medutim, specijalizirani program! za kreiranje
titl neovisno od Interneta. hipertekstualnih i hipermedijskih dokumenata (kao sto je npr. Microsoft FrontPage) nude znatno
bogatiju podrsku specificnostima vezanim za hipertekst i hipermediju, poput mogucnosti
Zadatak HTML preglednika je dvojak. Prvo, ani eitaju izvorni sadriaj HTML dokumenta i oblikuju ga automatskog generiranja skripti za izvjesne uobieajene radnje, ltd.
u skladu sa speciflkacijama, pri cemu se specifikacije dodatno prllagodavaju magucnostima racunara
na kojem se dokument pregleda. Drugim rijecima, preglednik ima puno pravo da ignorira ill izmijeni neki Jedan od najnovijih trendova u razvoju hipermedije i multimedlje u otvorenim sistemima
ad specificnLh zahtjeva za oblikovanjem dokumenta ukoliko ustanovi da racunar na kojem se dokument opcenito, predstavlja 3D muftfmedija, iii, kako se cesce naziva! 3D WEB. 3D WEB omogueava
pregleda ne padrzava takav vid oblikovanja. Na ovaj naein, ostvaren je izuzetno veliki stepen preno- interaktivni prikaz i manipulaciju sa trodimenzionalnim objekiima unutar hipermedijskih dokumenata
sl\1osti HTML dokumenata izmedu raznih vrsta i modela racunara. Drugo, preglednici na sebe preuzi- na sliean naCin kao u programima za trodimenzionaino crtanje. Na ovaj naCin, hipermedijski doku-
maju zadatak izvrSavanja odgovarajuce akcije kOja treba da se izvrsi kada korisnik klikne misem na menti omogu6avaju prikaz izvjesnih elemenata koji spadaju u domen virtualne stvarnosti, 0 kojoj
neku od hipeNeza u dokumentu. Na sljedecoj slici prikazan je primjer izgleda izvornog HTML doku- smo govorili u poglavlju posveeenom racunarskoj grafici. Za kreiranje 3D WEB-a nisu dovoljni ni
menta (Iijeva), i istog dokumenta prikazanog u HTML pregledniku Internet Explorer (desno): HTML ni skriptni jezici, vee se koristi VRML (Y..irtual Reality Modeling .Language), jezik specijalno
dizajniran za opis modela virtualne stvarnosti (posebno trodimenzionalnih modela), koji smo vee
<H1'ML:>
spominjali_ Bitno je naglasiti da obieni HTML preglednici nisu u stanju da prikazuju 3D WEB doku-
<HEAD> mente. Za tu svrhu koriste se specijalni VRML preglednici. Alternativno, mogu se koristiti speciial-
<'rITIJE>Primjer HTML 001 Jmp'l~~</H'l'ML> ni softverski dodaci I<oji omogucavaju prikaz 3D WEB-a u k!asicnim HTML preglednicima poput
</HEAD>
<BODY BGC01.,OR","FOFFFF"> OVIl ,ie naslov Microsoft Explorera (softverski dodaci koji prosiruju mogucnosti nekog postojeceg programa obieno
se nazivaju engleskim nazivom plugin). Najpoznatiji dodatak za Microsoft Explorer preglednik koji
<CEN-l'ER><El>Ovo je naslov</H1>
<H2>(a ovo je pQ(lnaslov)</H2></CENTER> (a ovo je podnaslov) omogueava prikaz 3D WEB-a je WorldView, poznat jos i pod imenom Microsoft VRML
H'l'HL dol:~e("y:ti mugu sadr::;ilvati
<STRONG>po j acane<! S'l'RONG> H'Th1L dokumenti mogtl sadthvati poja~alle kao i naglasrm:
kao i <BM>naglasene</illb dijelove dtjelove teksta
tek,sta. <:BR><BR>
Klikni na ovu <l>. HREFooo"drugi .htm]"> Klik,'1i 113 oml hlr.~:!ezl\ za naslavak
hipcrvezu</A> za nastavak.
</BODY>
, ,
<-/ETHL>

HTML se pokazao sasvim dobar za potrebe hiperteksta, pa u izvjesnoj filjeri i hlpermedije;Jer


omogueava ubacivanje slikovnih i zvucnih informacija u dokumente. Ipak, za potrebe prjkata.~nimj~
ranih sllka, kao i za potrebe kreiranja dokumenata koji dinamicki mijenjaju 8VOj sadrtaj -(npr. prikazu<-~
ju razliCite poruke u razliCito doba dana), sam HTML se pokazao nedovoljan, Stoga je om6gu6~.o:
da se u HTML dokumente ubacuju tzv. skript'e, koje predstavljaju minijaturne WOgr'!IAW t~kuPrfle
naredbi) pisane u nekom od specijaliziranih programskih jezlka nazvanih skriptn; j~zici, f kojl su
namijenjeni iskljuclvo za potrebe pisanja skrlpti. Najpoznatiji i najvise kQristeni sK"rfptni- j~z:jk je'
JavaScript. Kako skriptni jezici omogucavaju vecinu radnj! koje omogucavaju -i klasicni progr~mski

228 229
Pilanja i zadaci 2.7 RACUNARSKE KOMUNIKACIJE
1. Sta je multimedija i kako je nastala?
2. Kakva je razlika jzmedu multimedije u otvorenim i zatvorenim sistemima? 2.7.1 Komunikacija u lokalnim racunarskim mreiama
3. Sia SU osnovni sadriaji multimedije?
4. Zbog 6ega multimedijske aplikacije nude znatno vetu kollcinu lnformacija nego obicne U proom dijelu ovog udzbenika upoznali smo se sa osnovnim princ1pima prenosa podataka i
aplikacije? organizacije ra6unarskih mreza. Tom prilikom smo vidjeli da ra6unarske mreze mozema grubo podj~
5. Kakav hardver treba da posjeduje multimedljski racunar? jeliti na Jokalne iii LAN (Local Area Network) mreze, koje povezuju ratunare na relativna malom
prostoru, i giobalne, rasprostranjene ill WAN (Wide .8rea Network) mreze, koje povezuju ra6unare
6. -Sta je MID! prikljucak i za sta se koristi?
iii skupjne lokalnih mreza na znatno sirem prostoru, koji maze obuhvatiti i Citav svijet. Takader smo
7. Kakve vrste zvucnih zapisa pastoje i koji su najpoznatiji formati zvucnih zapisa? vidjeli da su ra6unari uLAN mrezama manje iii vise neposredno povezani kablovima jedan sa
8. Koj] su najpoznatiji formati video zapisa? drugim, prl 6emu se ostvaruju izuzetno velike brzine prenosa podataka, dok su u WAN mrezama
9. cemu sluzi program Winamp? racunari obitno povezani putem telefonskih mreta, pri cemu je brzina prenosa podataka znatna
10. Kako se kreiraju multimedijske apllkacije? manja nego uLAN mrezama. U ovom poglavlju posvetit cemo vise paznje naCinu koristenja
11. Ukoliko nastavne mogu6nosti to dozvoljavaju, upoznajte se sa osnovnim multirnedijskim racunarskih mreza i njihovim primjenama u oblasti komunikacija.
aplikacijama, kao i jednostavnijim programima za kreiranje multimedijskih aplikacija.
Komunikacija izmedu ratunara u lokalnim mrezama danas je izuzetno jednostavna, jer moderni
12. Sta su editori zvutnih zapisa?
operativni sistemi omogucavaju pristup resursima na svim racunarima u lokalnoj mrezi na identican
13. Kako se kreiraju sintetizirani zvucni zapisi?
nacin kao i pristup resursima na lokalnom racunaru (tj. racunaru na kojem u tom trenutku radimo).
14. Sta je hlpertekst a Sta hipermedija? U Windows operativnim sistemima, jedina razlika vidljiva korisniku u pristupu resursirna na lokalnom
15. Kreirajte dva medusobno povezana hipertekstualna dokumenta u Microsoft Wordu karisteCi racunaru i drugim ratunarima u mrezi, sastoji se u tome sto se za pristup resursima na lokalnom
naredbu Insert Hyperlink. racunaru I<oristi ikona My Computer, a za pristup resursima na ostalim racunarima u loka!noj mrezi
16. Zbog 6ega su hipertekst i hipermedija neophodni za razvo] multimedije U otvorenim sistemima? ikona Network Neighbourhood (iii My Network Places u novijim verzijama Windowsa) , mada je,
17. Staje HTML? pomoeu izvjesnih postavki, moguce postiei da izvjesni resursi sa drugih racunara budu vidljivl i preko
18. 6emu sluze HTML preglednici, koji su im osnovni zadac1, i kojl su najpoznatiji? ikone My Computer (npr. moguce je postiCi da hard disk nekog drugog racunara bude vidljiv kao
dopunski hard disk na lokalnom racunaru).
19, Sta su skriptni jezici?
20. Kako se kreiraju HTML dokumentl? Sa aspekta sigurnosti i mogucnosti zloupotrebe, izrazito je nepozeljno da svi resursi sa svih
21. Ukoliko nastavne moguenosti to dozvoljavaju, kreirajte samostalno nekoliko HTML dokumenaia racunara u mrezi budu dostupni svim korisnicima na svim drugim racunarima u mrezL Zbog toga je
(najbolje uz pomoe Microsoft FrontPagea). moguce postaviti da izvjesni resursi na nekom racunaru budu dostupni drugim ra6unarima u mrezi
22. Sta je 3D WEB i kako se kreiraju 3D WEB dokumenti? samo ukoliko se prije toga eksplicitno prog!ase za dijeijene resurse (engl. shared resources).
Resursi koji nisu proglaseni za dijeljene resurse vidljivi su sarno na /oka/nom ra6unaru. Takoder je
moguee organizirat! da izv]esni resursi budu vidljivi samo nekim korisnicima. Pored toga, moguce je
razlititim korisnicima dodijeliti razlicita prava pristupa (engl. access rights) izvjesnim resursima u
mrezi. Na primjer, odredeni korisnici mogu imati pravo da pregJedaju izvjesne dokumente ali ne i da
ih mijenjaju iii brisu, dok drug! (povlasteni) korisnici mogu imati puna prava pristupa nad istim doku~
mentima, ukljucujuCi i moguenast izmjene iii brisanja,

Oa bi se omoguCila kontrola vidljivosti resursa i upravljanje pravima pristupa pojedinim re'sursi~


ma za razne korisnike ra6unarske mreze, neophodno je uvesti nel<i mehanizam koji sistemu
omogucava identifikaciju korisnika koji radi za nekim od racunara u' mrezi. "U to svrhu se. za-
svakog korisnika mreze otvara kor;snicki racun (engl. user accounQ koji, ,izmedu bsta.!99, sadrzi
podatke 0 korisnickom imenu (engl. user name) i lozinci (engl, password) Korisr::ri1.<!'l. Kori$ni~ko
ime je naziv koji .jednoznacno identlficira karisnika (npr. njegovo ime i prezime) i ana jEi. {jostu-pno
. ....- javno (npr. moguce je zahtijevati prikaz korisnickih imena svih korisnika koji:-l{ ne:k6riiJrenutk.u'rade .
za ra6unarskim sistemom). S druge strane, lozlnka je naziv koji je pozna] sa'rno korlsniklfi ':nikome
drugom, i ona se nikada i nl pod kakvim uvjetima ne prikazuje javno. Smls3cUozlnke"je da
onemoguei pojedincima da se lazno prijave pod tudim korisnickim imenom'. Zhogtoga bi za lo.zihke
trebalo birati takve rijed (najbolje nasumi6ne kombinacije brojki i slova od bar-em 8 znakova) .!<:t.ko da
ih druge asobe tesko mogu pogoditi ijj naslutiti. ._""

230 231
"[

Korisnieke raeune definira osoba zaduzena za upravljanje i nadzor nad raeunarskom mrezom, niclrati sa korisnicima B i C bez prekidanja veze). Orugo, pri neposrednoj komunikaciji, telefonski
kao i za njeno odrzavanje. Ova osoba obieno se naziva mrezni administrator. Mrezni administra- impulsi se breje, kao klasicni telefonski razgovor izmedu dva korisnika, jer telefonske centrale ne
tor kreira korisni6ki raeun na zahtjev korisnika. Pri tome se kreira korisnicko ime i pocetna lozinka, prave nikakvu razliku izmedu prenosa govora, i tonskih signala koje emituju modem\. Tako, ako se
kOja je obi6no ista kao i korisnicko ime. Korisnik kasnije moze promijenlti svoju lozinku, bez znanja korisnik A nalazi u Bosni i Hercegovini, a korisnik B u Kanadi, i ukoliko je njihova komunikacija trajaJa
administratora (koji nije duzan da zna korisnikovu lozinku), i to bi trebalo uraditi odmah _nakon jedan sat, ta 6e komunikacija kostati (po cijen! od 5.5 KM po min uti, koja je vazila u trenutku pisanja
kreiranja korisni6kog racuna. Lozinku je moguce mijenjati proizvoljan broj puta. 6ak je, iz razloga sig- ovog udzbenika za razgovore izmedu BiH i Kanade) citavih 330 KM, sto je apsolutno neprihvatljivo.
urnosti, poi:eljno cesto mijenjati lozinku. Korisnieko ime nije moguce promijeniti bez intervencije Trece, ukollko bj neki korisnik zelia da neposrednom komunikacijom pristupi nekim informacijama
mreznog administratora. KorisniCki raeun! kreiraju se isklju(:ivo na mreinom serveru (osim u I<oje ga zanimaju, on bi marao poznavati tacnu lokaeiju racunara koj! sadrzi te informacije, kao i bra)
peer-to-peer mrezama, u kOjima je korisni6ke ra6une neophodno definirati oa svakom racunaru telefona na ko]i je taj racunar prikljucen, sto citavu stvar Clni tesko upotrebljivom.
pOjedinacno, sto je njihov oCigledan nedostatak).
Svi ovi nedostaci izbjegnutl su razvojem globalnlh racunarskih mreza. Cijela sustina komunikacije
Prilikom zap06injanja rada sa racunarskom mreiom, korisnik je dutan da izvrSi pn)avu (engl. u globalnim racunarskim mrezama zasniva se na tome da individualni korisniei ne uspostavljaju vezu
login) kojom ce sistemu" saopeiti svoje korisnicko lme i lozinku. U slu6aju da su uneseni podaci sa udaljenim racunarima neposredno, vee posredstvom kompanija nazvanih snabdjevac; iii
pogresni, sistem oe odbiti korisnikov zahljev za pristup. Ista strategija se moze koristiti i neovisno od provajderi (engl. providei) koje na sebe preuzimaju uslugu uspostavljanja komunikacije sa udaljenim
ra6unarskih mreza, u s!ucajevima kada na istom racunaru radi vise korisnika, a potrebno je ogran16itl racunarima (posredstvom drugih provajdera, na koje su priklju6eni zeljeni odredisni racunari). Pri tome,
prava pristupa pojedinlh korisnika pojedinim resursima. Formular za prijavu obiono se pojavljuje odmah korisnik cijelo vrijeme neposredno komunicira samo sa provajderom, a racunarski sistemi pravajdera,
po podizanju operativnog sistema. Primjer ovakvog formulara prikazan je na sliei desno. Treba primi- koji su medusobno povezanl, brim) se kako ce se dalje ostvariti kontakt sa teijenim uda~'enim
jetiti da prilikom unosa lozinke, ona nije vidljlva racunarom. Kako je korisnik u neposrednom telefonskom kontaktu'samo sa provajderom, koj!" se
..~iz:rll=':l,kr:!"ji:,'Zct~,!:,:!IlIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJ':IIZlxj cak ni korisniku koj! je unosi (umjesto stvarnih tipicna nalazi u istom gradu iii regiji u koja] se nalazi i korisnik, njemu se napla6uju telefonski impulsi
p
;~.~ 1ype a U"er n;;;t;w aho p~,,'_~O!d 10 klQ on to Vj,mlows OK :),'1 znakova, ispisuju se sarno zvjezdice). Na taj kao da se fadi 0 obicnom lokalnom razgovoru (pa 6ak i jeftinije, ukoliko provajder posjeduje poseban
\'I~Y . naCin se spretava mogu6nost da neko ko se ugovor sa uredom za telekol11unikacije, ko]i omogu6ava naplatu telefonsi\ih impulsa ko]! idu preko tele-
na!azi u bHzini s!ucajno vidi lozinku. Po fonskog broja provajdera po posebnoj tarifi). Na jedan provajder u isto vrijeme maze bit! prikljucen veli-
zavrsetku rada sa sistemom, obavezno je ki bra] korisnika,ovisno ad kapaciteta provajdera. Usluge provajdera se takoder naplacuju, meautim
izvrSiti i odjavu (engl. fogou~ ukoliko zelimo da djene us!uga korlstenja provajdera neuporedivo su jeftinije ad cijena telefonskih razgovora na daljinu,
nakon toga s!stem koristi neki drugi korisnik. i ne zavise od udaljenosti krajnjeg ra6unara sa kojim korisnik teli da llspostavi komunikaciju. Zavisno
od konkretnog provajdera, us!uge se Inogu placati bilo u fiksnom iznosu za odredeni period (npr. jedan
mjesec) neovisno ad stepena koristenja usluga, bilo u ovisnosti od stepena koristenja (npr. po svakom
2.7.2 Osnovni koncepti globalnih racunarskih mreia satu Imristenja usluge). Provajderi mogu, ukoliko to tele, da daju odredenim korisnicima i besplatne
usluge (npr. provajder nake radne organizacije moze nuditi besplatne usluge za svoje uposlenike). U
U prvom dijeJu ovog udtbentka vidJeli sma da se globalne racunarske mreze realizlraju tom slueaju, korisnik plaea sarno lokalne telefonske impulse. Provajderi koji nude usluge prikljucivanja
uglavnom posredstvom telefonske mreze kao dominantne komunikacijske mreze, i uz pomoc mode~ na Internet naziva]u se Internet provajderi i obicno se oznacavaju skracenicom ISP Qnternet .service
ma, koji vrsi pretvorbu digital nih podataka ko]i se nalaze u racunaru u analogne signale podesne za :rovider). Alternativno se prikljucenje na Internet moze obaviti i preko kompanija koje nude i druge
prenos putem telefonske mreze i obrnuto. vrste mreznih elektronickih usJuga (fZV. ()n~lfne servis/) kao sto su Microsoft Network iii America
Online (AOL) kOje, bar za sada, ne postoje u nasoj zeml]i.
Za uspostavljanje komunikacije izrnedu dva udaljena racunara koji su preko modema prikljuceni
na telefonsku mrezu, u principu nije potrebna nikakva dodatna aprema. Na primjer, korisnik A i koris- Sve ovo, u principu, zvuCi veoma jedoostavno. MeduUm, ono sto je slozeno u djeloj tehnologiji
nik B mogu uspostaviti vezu izmedu svojih racunara putem telefonske mreze na taj nacin 8to 6e pNa globaln!h ra6unarskih mreza je ana sto krajnji korisnik ne vidi, a to ]e nacin na koji provajderi
oba korisnika pokrenuti nek! komunikacioni program, kao sto je npr.' HyperTerminal, nakan cega medusobno komuniciraju. Da bismo stekli odredeni uvid u to sta se zaista desava, uze6emo kao
jedan od korisnika (reeimo, A) treba da pozove broj te!efona korisnika 8, bHo rucno, bllo pomo6u primjer najrasireniju i najslozeniju globalnu racunarsku rnrezu -internet. Grubo receno, Internet je
nekog ad programa za automatizirano biranje telefonskog broja, kao 5to je Phone Dialer. Korisnik organiziran kao skupina specijaliziranih racunara i uredaja nazvanih mrezne prfstupne tacke
B ne treba da odgovara na poziv (t]. ne treba da podize ,slusalicu), vee treba da pusti da na poziv (skra6eno NAP, od eng!. J~.etwork Access :o\nt), koji predstavljaju cvorista na koja se prfkljucuju sve
odgovori modem (sto korisnik B moze posti6i zadavanjem odgovarajuce komande)., Mode,m koriSni-
manje mreze kOje cine sastavni dio Interneta. Mrei:ne pristupne tacke obicno se naiaze u glavnim
ka A 6e prepo?!nati da na pozlv nije odgovorio covjek- nego drugi modem, sto pregstaylja stgt:laJ La.
gradovima drzava iii regija. Sve mrezne pristupne tacke su medusabno povezane, bilo putem
uspostavljanje komunikacije. Nakon sto je komunikacija uspostavljena, korlsnik A i f3 .mogu:'-raz::
satenta, bilo putem kab!ova ko]i omagucavaju brzi prenos podataka. Bitno je uociti da posta]i
mjenjivati p~ruke, datoteke, itd. u zavisnosti od konkretnih mogucnosti koristehog kQmunikaCionQg
mnostvo puteva kojlma informaclje mogu stiei od jedne do druge mrezne pristupne tacke, tako da
programa. Ovakav vi_9 komunikacije nazivarno neposredna komunikacijaJzmedu kQri-stilk~ A.i~~.
ukotiko neka od pristupnih tacaka zakaze, informactje je mogu6e preusmjeriti drugim putem. Upravo
ova izrazita decentraliziranost i redudaneija omoguoava Internetu funkcioniranje cak i u slucaju
Mote se postaviti pitanje zasto su uopce potrebne globalne racunarske mreze ukoliko je tako~akp
diverzija i sabotaza, koje nikad nisu iskljucene. SV! Internet provajderi prikljuceni su bilo direktno iii
uspostaviti neposrednu komunikaciju izmedu bilo koja dva racunara u svijetu koji su.pr-eko.modema
indirektno na najblizu mreznu pristupnu tacku. U sustini, provajder djeluje kao pristupna barijera
prikljuceni na telefonsku mrezu. Postaje barem tri izuzetno vazna nizloga zbog 'kojih le nepasredna
izmedu racunara i ostatka Interneta. Postoji moguenost da neki racunar bude neposredno prikljucen
komunikaclja izuzetno nepovoljna. Prvo, prilikom neposredne komunikaclje, na hilo kojl ra6unaL-u jed"~
na mreznu pristupnu ta6ku, ali je takva moguenost izuzetno, skupa, i koristi se samo u izninlOim
nom trenutku maze biti prikljucen samo jedan drugi ra6unar (npr. korisnik A rie moze uporedtio. kotnu-
slucajevima, Sljedeca slika daje pojednostavljeni uvid u nacin na koji ]e Internet organiziran:
232 233
Internet, kao i sve druge mreze koje koriste TCPI1Pprotoko!, adresiraju ratunare iskljucivo preko
njihove IP adress. Medutim, kako su IP adrese teske za pamcenje, uveden je sisten: ~ojl
omogucava da S8 znacajnijim serverskim ratunarima u mrezi dodjele i s/ovne adrese. N~ pnmjer,
vee pomenuti racunari sa informacionim sistemima agencije CNN i grada Sarajeva i~aju redom
slovne adrese WWIIl. crm. com i www.sarajevo.ba. Kako ove slovne adrese mreZI ne znace
nista u mrezama se koriste racunari spec1jalizirane namjene nazvani DNS (Qomain Name Service)
serv~l"i, tijl je zadatak- automatsko prevodenje s!ovnih adresa poput www.enn.com U IF adrese
poput 64.236.16,84. Drugim djecima, DNS serveri predstavljaju nesta poput elektronickih tel~"
fonsklh imenika u obicnom telefonskom saobraeaju. Naravno da niti jedan DNS server ne moze
_ Mretne pristupnc tai5ke sadrzavati podatke 0 IP adresama svih ratunara ko]i posjeduju slovne adrese. UkoUko neki O,,!S
server na pronade podatke 0 trazenoj slovnoj adresi, on odmah upueuja zahtjev za potragorn dr~glm
Internd prol'ujderi (ISP) DNS serve rima sa Kojima je povezan, koj! opat po potrebi upueuju zahtjeve drugim DNS servenma,
itd. Sve ovo se odigrava jako brzo, j ukollko trazena adresa zaista postaji, ana ee biU pronadena za
o Korisllii5ki raauiUri ili Jmge nekolika sekundi, ma gdje da se nalazila. DNS serveri automatskl azuriraju svoje baz~ podataka:
taka/lie i ri.L\j)fUslrwlienf mreze dodavanjem informacija 0 IP adresama ratunara kojima se pristupalo u skorije vrijeme, .1 po potrebl
brisanjem informacija 0 IP adresama racunara kojima se dugo nije pristupala. U slu6aJu kv~ra n.a
DNS serveru, pristup ratunarima u mrezi preko slovne adress je onemogueen, mada 1m S8 I dalje
maze pristupati preko IP adrese.

Slovne adrese se, kao sto je vidljivo iz gore navedenlh primjsra, sastoje od niza rileci razdvojen~h
Jasno je da je, u ovolikom mnostvu racunara, neophodno uspostaviti neki sistem identlfikacije ta6kama. Po pravilu bi pasljednja fijec u slavnoj adresi trebala da predstavlja tzv. do~el1u,v kOja
pojedinih racunara u mrezi. Internet, a i mnoge druge mreze, za identifikaciju racunara u mrezi zapravo predstavlja sifru drzave koja je dodijelila slovnu adresu raCunaru, tj. drtave u koja] je racunar
koriste skup konvencija i pravila poznatih pod nazivom TCP/IP (Iransmission Qontro! registriran kao server. Po konvenciji, veGina domena su dvoslovne skracenice (npr. de za
protocol/Internet Erotocol).' Pod protok%m S8, opeenito (ne sarno u racunarskim mrezama, vee i Njemacku, uk za Veliku Britaniju, fr za Francusku, hr za Hrvatsku, ba za Bosnu i He:cegovinu,
u ekonomiji, pravu, ltd.), podrazumijeva skup konvencija i pravlla koji preciziraju nacin prenosa ltd.), mada postoje i trosfovne damene, koje su formalno u vlasnistvu 8jedinjenih Americklh Drzav~,
podataka izmedu ucesnika u komunikaciji. Na primjer, mrezni racunarski protokoli propisuju kada j a u praksi se koriste kao internacionalne domene za razne svrhe, poput domena com za komerCI"
pod kojim uvj~tima racunari mogu emitirati i primati podatke putem kanala veze, kako ti podaci mora" jalno poslovanje, edu za potrebe obrazovanja (samo na engleskom govornom podrucju): org. za
ju biti organizirani, itd. Dva racunara, koji koriste razlicite mrezne protokole, nece moei komunicirati potrebe raznih neprofitabilnih organlzacija, itd.lrnena racunara koji nude usluge WWWservlsaoblcno
cak i ukoliko su prikljuceni na isti kanal veze, jer se nikada nece moGi sloziti oko toga kada treba imaju imena koja pocinju sa www.madajeovosamopreporuka.aline j pravllo.
emitirati poruke, sta one trebaju sadrzavati, kako treba reagirati po prijemu p~ruke, itd. 8toga su pro-
tokoJi neophodni u svim racunarskim mrezama, l<ako lokalnim, taka i glabalnim. Na primjer, mnoge Prilikom prenosa informacija kroz globalne ratunarske mreze, svaka poruka, bez obzira na njen
lokalne mreze takoder su zasnovane na TePIIP protokolu. Pored Tep/IP protokola, u lokalnim sadrzaj (tekst, sllka, itd.); dijeli se u sitne dijelove nazvane paketi, koji se salju neovisno jeda.n od dru-
mrezama na]vise se korlsti IPX (lnternetwork packet Exchange) protokol, kojl je za potrebe svojih gog ka odredisnorn racunaru, na kojam se ponovo sklapaju u jedinstvenu cjelinu. P.ri tome Je ~.eoma
mreznih okruzenja razvlla kompanija Novell. vjerovatno da ee razliCiti paketi ko]i cine istu poruku posve razlititlm putevima doel do odredlsta. ~
slucaju da se neki od paketa zagube, sto je sasvim moguee, pogotovo ukoliko se u isto vrijeme preno~:
Prema TCP/IP protokolu, koji je najpogodnlji za velike racunarske mreze, svl racunari u mrezi velika kolitina pOfuka kroz mrezu, biee automatski postavljen zahtjev za ponovno slanje paketa k?JI
se identificiraju pomoeu sifre koja se sastoji od cetiri broja u opsegu od 0 do 255 ko]i su mec1usob- nedostaju. Ovo ponovno slanje naziva se retransmisija, i ona je osnovni razlog zbog 6aga u ne~lm
no razdvojeni tackama (npr. 192.73.114.3). Ove sifre nazivaju se IP adrese. Svaki racunar periodima brzina rada, sa mrezaina moze strahovito da opadne. Da bi se sprij~Ci!o (iii barem u~anjllo)
ucesnik u mrezi jedinstveno je odreden svojom IP adresam, na isti nacin kao sto telefonski braj lutanje paketa kroz mrezu i smanjiJa vjerovatnoea retransrnisije, u globalnlm mrezama ~?nste se
(skupa sa prefiksom za drzavu i grad) jednoznacno odreduje telefonskog pretplatnika bilo gdje u svi" uredaji nazvani usmjerivaiH iii ruteri, 0 kojima smo, u najkraCim crtama, govorili j u ptvorn dyelu .a~og
jetu. Racunarima koji su neprekidno prikljuceni na ratunarsku mrezu i koji posjeduju informacije koje udzbenika.-Ruteri su uredaji ko]i pomazu u odredivanju najboljeg puta kojim neki paket moze st.u.':I.do
bi mogle bit! od koristi drugim utesnicima u mreti (serverskim ratunarlma), dodjeljuju se stalne, .2:aljel1og o_dredista, u skladu sa stanjem prometa kroz mrezu koje vlada u datom trenutku. Na pnmjer,
odnosno fiksne IP adrese. Na primjer, ratunar koji sadrzi centralni javni informacioni sistem vodeee :futer moi:e izabrati neki, na prvi pogled potpuno nelogican, zaobilazni put umjesto mnogo neposred-
svjetske agencije za javno informiranje CNN posjeduje IP adresu 64.236.16,84, dok racunar koj! '~fl-ijeg puta ykoliko uStanovi da 1e direl<tni put znatno optereeeniji protokom podataka u odnosu n~ zao-
sadrzi sluibeni informaCioni sistem grada Sarajeva posjeduje IP adresu 161 . 58 . 169 . 79 (ovi _ ,_ hit?-zni :pl.ft: Ovdje se maze napraviti puna analogija sa automobilskim saobracajern: duzl put moze nas
podaci bill su aktuelni u vrijeme pisanja ovog udzbenika, a sasvim je moguee da su u meduvremenu , .doV_~sti 'mnogo"brze do cilja ukoliko na kracem putu vlada velika saobraeajna guzva. 8tog,a, u glo?al-
promijenjeni). 8 druge strane, racunari koji se na mrez_u prik!jucuju tek oS vremena na vrijeme i koji nl"m'mtunifrskim mrezama nije rijetkost da poruka poslana jz Sarajeva u Zenicu na putu 00 odredtsta
traze usluge od drugih racunara u mrezi (klljentski racunari), dobijaju privremene IP adrese koje vri" 'pro'de kroz. '[3erlin, Kairo, Johanesburg, Tokio, Tuzlu, Kopenhagen, Beograd j London prije nego sto
jede onaliko koliko traje prikljucenje na mrezu (odnosno, tzv. sesija). Nakon-adjave sa mre-ze, ista , stigne do Zenice (sve se ovo odvija u svega nekoliko sekundi).
IP adresa se maze dodijeHti drugom racunaru. Nakan ponovnog prikljucenja na mrezu, novododije"
Ijena IP adresa moze biti potpuno drugatija od IP adrese dodijeljene prilikom prethodne sesije. Globalne racunarske mreze cesto se klasificiraju prema svom propusnom opsegu (eng!.
balldw~dth),; Pod prapusnim opsegom podrazumijevamo razliku izmedu maksirnalne i minimalne

234 235
dozvoljene brzine promjene signala nosioca in'formacije koji putuje kroz kanal veze.' Propusni opseg trenutku kada se u donjem desnom uglu trake sa zadacima (koja se obicno nalazi na dnu radne
Je direktno povezan sa maksimalnom mogucom brzinom prenosa podataka kroz mrezu. Mreze sa povrsine) pojavi ikona koja izgleda poput povezanih racunara, veza sa Internetom je uspostavljena.
sirim propusnim opsegam dopustaju vecu brzinu prenosa podataka. Prema propusnom opsegu, Korisni6ki ra6unar je ovim postao dio !nterneta, 1ostace povezan sve dok korlsnik eksplicltno ne zatrazi
mreze matema padijeliti na uskopojasne (engl. narrowband) mrete kaje dopustaju brzine prenosa prekid veze (Hi dok se veza ne prekine sarna od sebe, usljed prevelikih smetnji na vezama). Ovaj prekid
podataka do 64 KB/s (kilobajta u sekundi), zatim sirokopojasne (eng!. wr'deband) mreze koje se moz.e izvrsiti na nekolikO naCina, a najiednostavniji je klik desnom tipkom misa na pomenutu ikonu
dopus1aju brzine prenosa podataka od 64 KB/s do 1.5 MB/s, i' izrazito sirokopojasne (eng!. i izbor naredbe D;sconnect iz iskocnog menija koji S8 javlja tom prilikom. Bltno je napomenuti da s~
broadband) mreie kOje dopustaju brzine prenosa od preko 1.5 MB/s. Sve mreze kod I<ojih se kao proces prljavljivanja korisnika moie i automatlzirati pomocu tzv. komandnih skripti, tako da se odmah
prenosni medij koriste klasicnEi telefonske mreze spadaju u uskopojasne mreze. S druge strane, ATM po uspostavljanju veze automatski izvrsi prijava korisnickog imena i lozinke za adrec1enog korisnika. U
mreze, 0 kojima smo takoder govorili u prvom dijelu udzbenika, predstavljaju primjer tehnologije izra" tom slucaju terminalski prozor uop6e se ne pojavljuje.
zito sirokopojasnih mreza. U vrijeme pisanJa ovog udzbenika dominirale SU lIskopojasne mreze,
medutim sasvim je moguce da 6e se situacija drasticno promijeniti u veoma bliskoj buducnosti. Za racunar kojl js prikljucen na Internet, u iargonu kazemo da js online (engL on fine:;:: bit! na
linij], odnosno na mreii), za razliku od izraza offline, ko]i se koristi u slucaju kada veza nije
uspostavljena. Izraz online koristi se za sve manipulacije koje se obavljaju putem Interneta (npr.
2.7.3 Upotreba Interneta i WWW servisa izraz online transakcije oznacava transakcije kOje se obavljaju putem Interneta).

Da bi se racunar koji je opremljen modemom prikljuCio na Internet preko telefonskog prikljucka, Nakon sto je uspostavljena veza sa Internetom, moguce je korlstiti neke od mnogobrojnih uslu-
vlasnik racunara prvo mora otvorlti korisni6ki racun kod nekog od Internet provajdera, NajveCi Internet ga koje nudi Interne~ a koje se nazivaju Internet servis;' Postoji mnogo razlicit\h Internet servisa,
provajder u naso) drzavi je BIHNET, koji je sastavni dio kompanije Telecom 8iH, a postoje i drugl od kojih je vjerovatno najrasprostanjeniji servis WWW-'(W,orld Wide Web). Ovai servis zapravo pred"
Internet provajderi kao sto je UTiC illniverzitetski lelejnformac1oni Qentar), SmartNet, itd. Kada karis" stavlja ogroman informacioni sistem, a sastoji se od velikog broja hipertekstualnih i hipermedijskih
nlk koji je otvorio korisnicki ratun kod nekag od provajdera teli da uspostavi vezu sa Internetorn, on dokumenata koji se obicno nazivaju Web stran;ce. Od svih Internet s8!visa, ovaj servis je posljed-
P!VO mora uspostaviti vezu sa provajderom kod kojeg ima otvoren racun. Za uspostavljanje veze sa njih godina dotivio naJbrzi razvoj. On omogueava ne samo prenos tekstualnlh, vee i multimedijskih
provajderom mogu se koristiti razliciti programi. U Windows operativnim sistemima, za tu svrhu informadja (animadje, zvuka, itd.), kao i izvrsavanje programa putem skrlptnih jezika, Java ap!eta,
najcesce se koristi pomocni program Dia/~Up Networking koji dolazi kao sastavni dio aperativnog sis~ 1drugih komponenti 0 kojima smo govorili u poglavlju 0 multimediji. IIVWW servis danas obezbjeduje
tema, mada postoje i balii programi za Istu svrhu {npr. RAS professiona~, Prije prve upotrebe, pro- cita.v ~iz naprednih usluga kao sto su multimedijske prezentacijs, interaktivne stranice, pracenje
grami za uspostavljanje veze moraju se prilagoditi (konfigurisatl) prema l<onkretnom provajderu, sto se radIo! TV programa, automatski prenos programa i podataka sa udaljenih racunara na korisnicki
radi prema uputama kaje ponudi svaki provajder pri!1kom otvaranja korisnickog ra6una. U slucaju da racunar, itd. Uredena skupina medusobno povezanih Web stranica eila je svrha prezentacija neke
vas skalski ratunar lma pristup na Internet, ova prilagodenja je vee obavio nastavnik (1 vjerovatno odredene teme, obicno se naziva Web sajt (eng!. Web site).
kreirao ikonu na radnoj povrsini koja omagucava uspostavu veze), tako da se 0 tome ne morate brinu~
t1. U slueaju racunara povezanih u lokalnu mrezu, dlrektna veza sa Internetom uspostavlja se sarno Da bi se omogu6io pristup proizvoljnim dokumentima na Internetu, neophodno je bilo ustanoviti
sa serverskog ratunara, dok ostali raeunari pristupaju Internetu indirektno, koristeci usluge servera. odreciene konvencije za imenovanje dokumenata lz kojih ee biti jasno ne sarno kako se dokument
zove, nego i gdje se na!azi. Puni naziv dokumenta prema ovim konvencljama naziva se URL runiform
R."tg nt 5L ", ,i..fh .. , iot X); Nakon pokretanja programa za uspostavljanje Resource ,Locator) iii, manje preclzno, I!'ternet adresa (u zargonu cesto sarno adresa). Hiperlinkovi
veze, proces uspostavljanja zapocinje. Sasvim )e koji ukazuju na dokumente koji se nalaze na udaljenim racunarima sadrze zapravo URL odredisnog
mogu6e da se veza ne uspostavi lz prvog pokusaja, dokumenta. URL, odnosno Internet adresa, u najopcenitijem slueaju ima sljede6i oblik (pri cemu se
zbog prebukiranostl provajdera. U trenutku kada se broj porta koristi samo u specificnim slucajevima, stoga ga necemo posebno objasnjavati):
veza uspostavi, na ekranu se pojavljuje karakteristicni
terminalski prozor (prikazan na slici sa lijeve strane), u ime--protokola://imeJoc:unoraijolder_1 ljoldcr._2/ ... /imc_dokumenta:hroLporta
kojem se od korisnika traii da unese svoje korisnicko
ime i !ozinku. U slueaju da su uneseni podaci neis" Na primjer, dokument koji sadrii dnevni raspared filmova u sarajevskim kinima na jednom od nes-
pravni, iii u slucaju da korisnik nije lzmirio svoje finansi- luzbenih informacionih sistema vatnijih gradova Sosne i Hercegovine, ima sljedeCi URL odnosno
jske obaveze prema provajderu, pristup ce biti odbijen adresu (ove adrese su podloine promjenam~, pa jEi sasvim mogu6e da ova adresa ne bude va!jana
(engl. access denied). U suprotnom, na ekranu se u trenutku !<ada budete Citali ovaj udtbenik_ .
pojavljuje pozdravna poruka provajdera, kao i komand-
http://www.city.ba/bhis.a~aJe~9/k5:no . Rht"rnl .
I
/. tori~~~;'{Fhl C~nc~I!F3) na 11ni]a koja omogucava da zadajemo odgovarajuce
komande provajderu. U ovom trenutku, mi jos nismo Ovdje je http ime protciko!a kOji_sekoristr," www .~iiy .ba je lme racunara na kojem se dokument
'., ,' .. _ . " . _ povezani sa Intemetom, nego samo sa provajderom. nalazi, bh i saraj evo su lmenB foldera'O'!r1os"n,o pod{oldera u kbjem se dokument naiazi, dok je
Da bismq,_se:'!')ovl9zali sa Intemetom, potrebno je provajderu zadati odgovaraju6u komandu, najces6e
kino. shtml naziv samog dDkurrient~.:Kao t~~ia6~nqra moie .se koristiti njegova slovna iii IP adresa.
ppP,;stq~j~-skraceniGa od engL EoinHo"Eoint Erotocol (neki provajderi, poput BfHNET-a, avu koman"
~ "du '_izvrSavaju automatski, bez potrebe da je korisnik eksplicitno zadaje). Nakon zadavanja ove Kako Web stranice zapra-vo riS~:D;~t~'. :d;ugo ~ego hip-ert~kstualni dokumenti, za njihovo pre"
_. _kom'ande, na ekranu se ispisuje IP adresa koja je dodijeljena korisnickom raeunaru u toku tekuce sesi" gledanje moze se upotrebljavati _bilo kojt HTM.L preglednlk iii brouser, poput Internet ExpJorera (u
ie,'i joS-"11eke dOf)Unske intormacije. Sada je potrebno klikom na dugme Continue (ili pritiskom na tipku nastavku cemo pretpostayiti da" se k~xisti upravo-ovaj .preglednik, mada velikih razlika nema ni u
F7) ukloniti terminalski prozor, jer nam neposredna komunikacija sa provajderom vise nije potrebna U ostalim preglednicima). Ra? ~a ovim p~egledniGima)e izuzetno jednostavan tak i za apsolutne
2B6 . 237
pacetnike (mada i ani pasjeduju mnastvo je (sllke, animaclje, zvuk, itd.). potrebno snimiti posebno. Na primjer, u Internet Exploreru, slike
apcija namijenjenih iskJjucivo iskusnim motemo snimiti. klikom desnom tipkom misa na sliku, a zatim izborom naredbe Save Picture iz
korisnicima). Da bisma prikazaJi neku Web iskocnog menija. Internet Explorer (ad verzije 5.0 nadalje) omogucava i automatsko snimanje
stranicu, davoljno je u polje za unos cjelokupne Web straniee zajedno sa cjelokupnim hipermedijskim sadrzajem pomoGu naredbe Save
Address unijeti URL te stranice (pod uvje- As. Medutlm, bitno je istaei da ee svaka hipermedijska stranica uvijek biti snimljena iz dva dijela. Prvi
tom da smo se prethodno prikljucili na dio sadrzavaee samo hipertekstualni dio dokumenta, i biee snlmljen pod imenom koje smo zadali sa
Internet) i ona 6e se nakon kraceg !Ii duzeg nastavkom .H'rH (npr. Oglasi.htm), dok ce svi hipermedijski dodaei biti snimljeni u poseban
eekanja prikazati na ekranu. Na sllci slijeva folder eije je ime jednako imenu dokumenla sa dodatkom "_.. files" na kraju imena (npr.
prikazana je Web stranica koja odgovara oglasi~files). 0 ovome trebamo voditi raeuna ukoliko kasnije telimo premjestiti snimljenu,stran-
URL-u iz primjera koji sma maJoprije raz- ieu na neku drugu lokaciju (npr. na disketu).
matrali (preciznije, izgled te stranice kakav
je bio 8. februara 2003. godine). Maguee je postav!ti hiperlink tako da ukazuje na naki softverski resurs koji nije element hipertek-
sta iii hipermedije, npr. na neki program, arhiviranu da1oteku, iii opeenito datoteku koja ne pripada
..:J URL, odnosno Internet adresa, ne konceptu hipermedije. U tom slueaju, prilikom klika na takav hiperlink, preglednik ee automatski
'j; -(?" mora sadrtavati sve dijelove koje smo pokrenuti postupak prebaeivanja odgovarajueeg softverskog resursa (datoteke) sa udaljenog
naveli. Na primjer, ime protokoJa (zajedno sa pripadnom dvotackom i dvije koso erte) se veoma eesto racunara na korisnikov racunar (nakon cega ee korisnik odlueiti sta ee ue\niti sa njim). Taj postupak
izostavlja, jer so za pronos hipertekstualnih dokumenata gotovo uvijek koristi protokol HTTP naziva se download (zbog nemoguenosti dobrog prijevoda ovog izraza, kod nas se eesto koristi
(.t!yperlext Iransfer Erotocol), koji predstavlja podskup opeeg TePllP protokola priiagoClen prenosu targonski izraz "skidanje" sa lntemeta). Obrnuti postupak, tj. postupak prebacivanja nekog soft-
hipertekstualnih i hipermedijskih dokumenata (Web straniea). Ukoliko kao URL zadamo samo "ime verskog resursa sa korisnickog raeunara na udaljeni raeunar, naziva se up/Dad, ali se on znatno
racunara (npr. www.city.ba).prikazaee se dokument koji je na tom racunaru proglasen za potetni rjede susrece prilikom rada sa Web stranlcama. izuzetno Je vazno napomenuti da je svaki resuts
dokument (obicno dokument sa imenom index, html iii main. html), sa kojeg se granaju hiper- koji je "skinut" sa lnterneta, prije bilo kakve upotrebe, potrebno provjeriti pomo6u nekog ad
linkovi ka ostalim dokumentima. Taj dokument obicno se naziva osnovna, pocetna iii kucna stra~ antivirusnih programa, S obzirom da postoje mnogi saji'ovi fla kojima se mogu naci (bilo nam-
nica (engl. home page). Korisnik Web stranicama najeesce pristupa upravo preko hiperlinkova koji jerna iii nenamjernoj datoteke koje sadrie softverske bornbe, trojanske konje, viruse, i druge
vade sa osnovne stranice (pri tame se u polju za unas Address uvijek ispisuje puna adresa doku- vrste destruktivnih programa 0 kojima smo govorili u prvom dijeiu ovog udibenika!
menta koji se trenutno prikazuje). Ovakav pristup ima prednast sto ne treba pamtiti duge adrese i
tacne lokacije pojedinih dokumenata. Medutim, ponekad je potrebno pratiti dtavu seriju hiperlinkova Veoma cesto nam je potrebna neka infor-
da bi se sa pocetne stranice doslo do zeljenog dokumenta. Poste pristup svakoj ad Web stranica maclja, ali nemamo nikakve ideJe na kojoj bi je
maze biti prilicno spar (naroeito ukol1ko je mreza preopterecena), tada cemo mnogo brie pristupiti ze- adresi mogli traziti, tim prije sto je WWW
Ijenom dokumentu ukoliko odmah zadamo njegovu punu adresu (naravno, pod uvjetom da je znamo). otvoreni informacioni sistem koji nudi
Takoder, moguee Je da se na nekom raeunaru nalazi skriveni dokument ha koji ne ukazuje niH jedan ogromne koliCine informacija. Da bi se
hiperlink, tako da tom dokumentu mogu pristupiti sarno oni koji znaju njegovu punu adresu. omoguelo pristup informacijama za koje ne
znamo gdje se nalaze, unutar WWWsistema
Vedna naredbi i alatki u HTML preglednicima sasvim su jednostavne za upotrebu. Tako, na nalazi se j veliki braj tzv. racunara pretfaii~
primjer, ukoliko telima da se vratimo na dokument koji smo preg!edali prije nego sto smo pomoeu vaca (engl. search engines). Raeunari pre~ GtOUps
hiperlinka presli na drugi dokument, kliknucemo na dugme Back, dok nas klik na dugme Forward trazivaei posjeduju ogromne baze podataka
vodi ponovo u smjeru istog hiperlinka. Dugmad Back i Forward mogu se koristiti za vraeanje unazad koje euvaju informacije 0 tome gdje se mogu
i odlazak unaprijed kroz citav lanae povezanih dokumenata, sto amogucava veomajednostavno kre~ naCi pajedine informaeije (sami raeunari pre-
tanje (iIi navigaciju, kako se u zargonu kaze) kroz dokumente. Pomoeu dugmeta Stop mozemo .trazivaci su takoaer ogromni i obieno pred~
zaustaviti uCitavanje straniee u slucaju da one predugo traje, dok dugme Refresh omogueava stav!jaju raeunarske sisteme od neko!iko stot!-
ponovno ucitavanje iste stranice, sto moze biti ad koristi ukoliko je doslo do greske prilikom ucita- na iii h[ljada raeunara povezanih u !okalnu
vanja straniee, iii ukoliko postajl sumnja da je sadrtaj stranice u meduvremenu promijenjen. mrezu). Najpoznatiji raeunari pretrazivaei su
Naredbom New Windowiz menija File moguee je otvoriti istovremeno vise prozora u kojima mote- ~Google: AIt-aVista, Yahoo i Lyeos, kojima se moze pristupiti redom preko adresa
mo pregledavati vise razlicitih Web stranica,' sto ponekad moze biti veorna prakticrio. Svi naz/vi ".VlWW.; \:JQog'le. com, www.altavista.com, www.yahoo.com i WIIViA' .1ycos. COin. Upotreba
komandi kaje su spomenute odnose 'se na preglednik Internet Explorer, dok se u drugim pregled- ':.la9uria~a Rretrativaca je reiativno jednostavna. Nakon pristupa poeetnoj stranici racunara pretrati-
nicima mogu susresti i drugaeiji nazivi (npr. Netscape Navigator koristi komandu Reload umjesto vaca, pojaVljuje se polje za unos u kOje motemo unijeti jednu iIi vise kljuenih rijee! I~oje nas. zanima-
Refresh). Treba jos napomenuti da klik desnom tipkom misa na hiperlinkove iii pojedine dije!ove . '..ju."(ri.?'sIlCi sa -strane prikazan je izgled pocetne stranice pretrativaca Google). Pretraga zapocinje
Web straniea prikazuje iskocni meni koji sadrti razne kprisne naredbe koje se odnose na dio doku~ Rtiiiskom na tipku ENTER iii klikom misa na odgovarajuee dugme. Po zavrsenoj pretrazj (koja traje
menta na kojem se halazio pokazivac misa u trenutku klika. ..izvJ~sn6 vrijeine: najeesee ne duze od desetak sekundi, osim ako je mreza jako zagusena), pre-
trativap .ce 'prikazati spisak svih Web stranica pohranjenih u bazi podataka racunara pretrazivaea
Stranicu koju pregledamo mozemo sacuvati (snimiti) na sliean naein kao u veeini programa, koje sadrze zadane kljucne rijeci, zajedno sa hiperHnkovima ko]i ukazuju na ta stranice, tako da
pom06u naredbe Save As u meniju File, Ipak, nuzno je napomenuti da veliki broj preglednika obav- pro'nadenim stranieama mozemo !ako pristuplti. VeGina racunara pretrazivaca, pored moguenosti
Ija snimanje sarno hipertekstualnog sadrzaja, 'dok je sve sadrzaje koji spadaju u domen hiperrn(:">di-

238 239
pretrage po kljucnim rijecima, sadrze i spiskove stranica sa izvjesnim interesantnim informacijama licnog komunicifanja. Danas se razvija i varijanta elektronicke poste poznata pod nazivom voice
ko]i su razvrstani po kategorijama. Ovakvi pretraziva6i nazivaju se kata/ozi (engl. directories). mail, koja umjesto razmjene pisanih poruka omogucava razmjenu snimljenih govornih poruka.
Mada je, u svojoj sustini, osnovna upotreba pretrazivaca krajnje jednostavna, ponekad je potrebna Da bi korisnik mogao koristiti uSluge e!ektronieke poste, on mora posjedovati svoje elektronicko
prilicna vjestina da se odaberu prave kljucne riieel koje (;e dovesti do prikaza tacna onih informacija koje postansko sanduce (eng!. mailbox). ElektronlCko postansko sanduee je, zapravo, odredeni me-
nas zanimaju. Ve(;ina pretrazivaca, pored prostog zadavanja kljucl)ih rijeCi omoguCava i zadavanje morijski prostor na raeunaru koji se brine 0 prijemu i otpremi korisnikove elektronitke poSte, i koji se
slotenijih upita. Taka, na primjer, veGina pretrazivaea omogu(;ava da ispred rijeCi dodamo znak + iii - nazlva Email posfuiftefj (server). Naravno, elektronicko postansko sanduee korisniku mora neko
(bez razmaka izmedu znaka i rijeel). Znak + oznacava da se navedena rijet mora neizostavno pojaviti dodijeliti (npr. mretni administrator radne organizacije u kojoj je korisnik zaposlen). Obicno, svaki
u stranici koju trazimo, koliko god mazda djelovala nebitna, dok znak - oznacava da se navedena rijee Internet provajder svakom korisniku koji kod njega otvori korisnibki rabun automatski dodjeljuje i
ne smije pojaviti u stranici koju trazimo. Na primjer, uko!1ka nas zanimaju informacije 0 fQckmuzici, ali kOja elektronicko postansko sanduce. Svaki korisnik elektroni6ke poste dobija adresu za elektronicku
ne spada u kategoriju hard rockmuzike, mozemo postaviti upit koji glasi rock muzika -hard. Ukoliko postu (odnosno tzv. E~mail adresu) oblika imc~k()risl1ika@imeJ(JcunQr{/, -gdje imc_lwrisnika pred H

nas zanimaju stranice koje sadrte makar jednu od navedenih rljed, maiemo rijeti koje tratimo razdvoji w
stavija korisnicko lme korisnika elektronieke poste, dok imeJacYunara predstavlja adresu raeunara
ti operatorom OR. Na primjer, upit Zagreb Voz OR vlak pronaci Ce sve stranice na Kojima se nalazi na kojem se nalazl elektronieko postansko sanduce korisnika (primjer E-mail adrese je
rijee zagreb i makar jadna od rijeei voz iii vlak. Ukoliko tratima tacnu frazu kOja se sastoji od neko- peroperic@bih.net .ba.). Znak @ koji se javlja u E-mafladresama eila se et(engL a~, mada se
liko rijee! u taena odrectenom poretku, tu skupinu rijed trebamo staviti izmedu navodnika. Na primjer, uko- u zargo~nu susrecu i izrazi ludo "a", majmunsko "a" (engl. monkey "a"), pa cak isamo majmun.
liko postavimo upit Meho Nehic':, pretrazivac nam maze izlistati i stranice u kojima se govori a Husi
Mehicu i Mehi Suljicu, jar su u njima prisutne obje k!jucne rijeti (Meho i Mehi(~) koje smo zadali, sio Za koristenje usluga elekironidke
vjerovatno nije ono sto zelimo. S druge strane, uko!iko postavimo upit .' Meho Mehi e", pretrazivac 6e paste koriste se posebni program!, naz-
nam lz11stati samo one stranice u kqjima se javlja tacna fraza Meho l~erJ.:i.e (ali nazalost ne i fraza vani E-mail klijenti, medu Kojima su
najpoznatiji Eudora, Microsoft Outlook
Mehie Meho, tako da je za pronalazenje osoba na Internetu najbolje korlstiti slozeni upit poput
(kaji dolazi kao sastavni dio paketa
"Meho Mehie" OR "Mehie Meho"). Neki pretrazlvaCi (npr. Altallista i Yahoo, ali ne i Googfe)
Microsoft Office), Lotus CC:Mail,
dopustaju i upotrebu znaka zvjezdica (*) koji zamjenjuje proizvaljnu grupu slava, tako da bi upit papri *
Pegasus Mail i Outlook Express (ko]i
pronasao sve stranice koje sadr2':e rijet] koje poeinu sa frazom papd, sto moze biti jako korisno kod dolazi kao sastavni dio Windows opera"
pretratlvanja stranica na bosanskom jeziku s obzirom na nase mnogobrojne padeze (npr. paprika, papri tivnih sistema u novijim verzijama, i koji je
ei, paprikama, itd,). U svakom slueaju, prije bilo kakve ozbiljnije upotrebe raeunara pretraiivaca, pozeljno prikazan na sliei desno), Neki od ovih
je prouCiti savjete za efikasno koristenje, koji se mogu pronati prateCi hiperlinkove poput Search Tips, programa (poput Microsoft Out/ooka) su
Help Search, itd. sa paeetne stranice pretrazivaca. relativno .slazeni za upotrebu, jer pored
Usluge WWWservisa (kao, uostalom, 1usiuge Inteneta op(;enlto) su potpuno besplatne (avo ne slanja i prijema elektronicke paste',,~:,;',;':';'::'.;:::;::::::~:':'
omogucavaju i mnogobrojne druge radnje ,"
treba brkati sa uslugama Internet provajdera koji naplacuju usluge pristupa Internetu). Najveei braj nevezane za elektronicku postu. U nas-
korisnika Interneta vecinu vremena pri radu sa Internetom provodi upravo trazenjem informacija uz tavku cerna malo detaljnije razmotrlti pro- I
pom06 pretrazivaca i pracenjem hiperlinkova koji ukazuju na odredene interesantne teme, veoma gram Outlook Express, kojl je dovoljno
',,,,,~,,,,
,l, 0 " ... ~

cesto i bez ikakvog odredenog cilja. U zargonu se ovakav fad naziva 5urfanje (eng1. surfing). Treba jednostavan za upotrebu, i koji se na nasim prostorima najcesee susrece kao E-mail klijent.
znati da je WWWotvareni informacioni sistem na koji prakticno bilo ko moze stavljati informacije
kakve god zeli (ponekad i sa jako nepodobnim sadrzajem), tako da informacije prikupljene putem Prije prve upotrebe, bilo kaji program za s!anje i prijem elektronieke poste (E-maffklljent) potreb-
Interneta uvijek treba prihvatati sa izvjesnom dozom rezerve. cak i informactje koje se pronadu na no je prilagoditi (konfigurlsati) prema konkretnom E"mail serveru, sllcno kao sto se programi za
Web sajtovima nekih poznatih firmi ne moraju uvijek biti tacne, jer je poznata boljka mnogih firmi koje uspostavljanje veze moraju prllagoditi konkretnam provajderu. Ova prilagodavanja obavljaju se
posjeduju Web sajtove da ne poklanjaju dova!jno paznje redovnom azuriranju informacija prezenti~ prema uputama koje nudi organizacija kod koje korisnik ima elektronicko postansko sanduee (u
ranih na sajtovima, pa se nerijetko desava da pronadene informacije budu zastarjele, odnosno neak* slucaju da vas skolski racunar posjeduje mogu(;nast koristenja elektronicke poste, neophodna prila-
tuelne. N~zalost, ovaj problem je narocito izrazen kod Web sajtova domacih firmi, pa cak i panekih godavanja je najvjerovatnije vee obavio nastavnik).
kote imC]jLi veHk! znac~j i uzivaju veliki ugJed u nasem_drustvenam zivotu.
U veCini E-mail klijenata, posta (to"su zapn;ivb poruKe) je razvrstana u foldere, od kajih su naj-
znacajnlji Inbox u kojem se cuva <p~istigla:-post~,- Qutbox u- kojem se euva pasta spremna za slanje,
2.7.4 Elektronicka posta Sent Items u kojem se cuvaju k.C?pije pos-lane_posJ~,JDeleted Items, u kojem se cuva posta sprem-
ria za brisanje. Bitno je. naglasiti 9i;! kqrisniKl1e m:or? bfti'prisutan za racunarom u trenutku pristizanja
"Elekfr~fnc~a posta, o9nosno skracenim imenom E-mail, predstavlja najvise koristen servis elektronicke poste (niti njegoy racunar uot=J,e$J]lora bitf~uk!jucen), jer se sva posta kOja pristigne
Interneta:poslije- WWWsalVisa. Elektronicka posta predstavlja veoma brz i jeftin nacin komuniciranja korisniku euva u njegovom elektr6nic~kom,.postanskom .sanducetu (dakle, ne na karisnikovom
~ ~ "iz:medu'k'orisnika u raznim krajevima' sVijeta (mnoga jeftiniji ad telefonskog razgovora), kojl po formi ratunaru). Tek na eksplicitan t':a.htjev,- koji:se. izvodl'p6kretan]em komandi poput Receive, Check
.,'_ podsjeca na klasicno dopisivanje, izuzev sto poruke putuju enormnom brzinom sa kraja na kraj svi" Mail ill neke slicne (ovisn6-od' Konkretnolf E~mail-klijE:nta), sva pristigla elektronicka posta se pre
jeta (HpTcno ne'-duze od nekollko minuta). Proejenjuje se da se danas u svijetu svakog dana razmijeni baeuje na korisnikov racunar u -Inbox .fOJder. Slicno, k9mandom Send (Hi nekom slicnom), sva pri~
vise stotina miliona elektroniekih poruka, tako da je elektronieka posta danas najrasprostranjeniji oblik kupljena posta u Outbox-folderu otprema se plY~ u elektronieko postansko sanduce, nakon eega se

241
E~mail posluzitelj dalje brine kako ce otpremiti poruke na trazeno odrediste. Podrazumijeya ~~tPa (1 otvoriti besplatan korisnieki raeun popunjavanjem odgovarajuceg formulara (koji se dobija izborom
oba slu6aja, korisnikov racunar mora prethodno biti prikljucen na Internet. U mnogim EMma!, I<lijenti- hiperlinka Sign Up iii nekog slieriog, zavisno od konkretnog posluzitelja). Ovi posluzitelji kreiraju elek-
ma (npr. Outlook Expressu), komande Receive j Send objedinjene su u jednu komandu koja se tronieke postanske sandueice kojima korisnik pristupa putem klasicnih HTML preglednil<a (poput
zove Send/Receive (Hi Send/Recv). Prilikom slanja e!ektronieke paste najvise se koristi protokol Internet Explorera), a ne pomocu posebnih programa (poput Outlook Expressa). Ovaj vid elektronieke
koji se naziva SMTP (S.impleMail Iransfer Erotocol), dok se za prijem elektronieke poste obieno poste naziva se Web Mail. Kompletan rad sa ovakvim posluziteljima obavlja se iskljucivo putem Web
koriste POPS (Eost Qffice Erotocol version J) iii IMAP (Internet Message 8.ccess Erotocol) protokolL straniea, koje su dizajnirane tako da oponasaju izgled j,rad standardnih EMmaii klijenata.

Da bismo kreirali novu poruku, u E-mail klijentu pokrenemo naredbu koja obicno ima naziv poput NajveCi nedostatak opisanog pristupa elektroniekoj posti je to sto je nemogu6e odjednom pre-
New Mail iii Compose. Nakon pokretanja ove naredbe, pojavljuje se formular sa velikom praznom baciti sve poruke iz elektronickog postanskog sanduceta na korisnicki raeunar pa ih pregledati bez
povrsinom u koju unosimo tekst poruke, kao i nekoliko polja za unos, ad kojih su najznaeajnija polja potrebe za pri,klju6enjem na Internet, s obzirom da na korisniekom racunaru ne postaji Inbox folder,
obHjezena sa To: u kOje unoslmo E-mail adresu primaoca poruke, zatim Cc: (od engl. carbon copy) vee se on samo simulira puiem Web stranica (svaka poruka zapravo predstavlja Web stranicu).
u kOje eventualno upisujemo adrese na koje zelimo da posa!jemo kopije iste poruke (ova polje moze Drugim rijecima, za vrijeme pregledanja elektronieke poste korisnik mora eitavo vrijeme biti
ostati prazno, a ukoliko zelimo poslati vise kopija na razlieite adrese, potrebno je navesti niz adresa prikljucen na Internet, Cime se nepotrebno trose telefonski impulsi. Takoder, kako se svaka poruka
koje su medusobno razdvojene tacka-zarezima), kao I polje Subject: u koje uplsujemo temu poruke, formira kao zasebna Web stranica, prikaz poruka maze se odvijati prilieno sporo, narocito ukoliko je
odnosno nekoliko rijee! kojima,rezimiramo sadrzaj poruke. Temu poruke primaoe poruke vidi (kao mreza zagusena. S druge strane, kod klasicnih sistema elektronicke paste, zasnovanih na POP3 iii
naziv poruke u Inbox folderu) i bez potrebe za otvaranjem p~ruke, taka da terne pomazu primaoeu IMAP protokolu, _korisniku je dovoljno da bude prikljueen na Internet samo neko!iko sekundl (koliko
poruke da razlud koje ee peruke prvo c!tatl, a koje ce mozda potpuno ignorirati. Po zavrsetku pisa- traje prebacivanje poruka !z elektron'!ckog postanskog sanduceta u kor"lsnieki Inbox folder), nakon
nja poruke, potrebno je zadati komandu Send kojom ce se napisana poruka smjestiti u Outbox fol- cega je poruke mogu6e pregledati bez potrebe za trosenjem telefonskih impulsa.
der (u nekim E~mail klijentima je potrebna jos jedna Send komanda da bi poruka zaista i otputovala
iz Outboxfoldera, kao sto je vee opisano, dok u drugim poruke odlaze automatski ukoliko E~mail kli- I
jent ustanovi da je raeunar onUne). Pored opisanih komandi, bitne komande koje se takoder susrecu ;! 2.7.5 Ostali Internet servisi
u E-mail k!ijentima su: Forward koja omogucava prosljedivanje primljene poruke nekom drugom
korisniku, zatim Reply koja omogueava odgovaranje na primljenu poruku, i Delete koja omogucava Pored WWW~a i elektronicke poste, koji su najeesee koristeni Internet servisi, Internet pruza i
brisanje poruke. NaCin upotrebe ovih komandi je oeigledan, mnostvo drugih servisa. Jedan od servisa ko)i js donek!e sHean elektronickoj posti predstav!ja
caskanje (engl. chaQ pufem Interneta iii IRe (Internet Belay Qhat). Pomocu ovog servisa korisni-
Veoma znaeajna mogucnost elektronicke poste je mogucnost s!anja dopunskih datoteka (poput Gi Interneta mogu medusobno "razgovaratJ" kucajuCi poruke i citajuCi ih sa ekrana. Medutim, za raz-
sitka, programa itd.) zajedno sa porukama, Ove dopunske datoteke nazivaju se attachmenti (prik- liku od elektronicke poste, ovdje se komunikacija obavlja 'u rea/nom vremenu, tj. svi ucesnicj u komu-
ladan prijevod za ovaj izraz ne postoji) iii MiME (Multipurpose Intenet Mail J;)tension) dodaci. Da nikaciji moraju se lstovremeno nalaziti u bJizini raeunara. Say razgovor obavlja se posredstvom tzv.
bismo "prikaci!i" attachment na poruku, prilikom pisanja poruke dovoljno je izabrati naredbu poput kana/a, koji pokrivaju razmjene informacija 0 specifienlm temama. Postoje razlicite vrste IRc
Attach File iii alatku na kojoj je nacrtana spajallca (zavisno od konkretnog E-mail klijenta), nakon servisa, a za njihovo korislenje neophodni su odgovarajuCi programl, medu kojima su najpoznatiji
6ega ce se otvoriti dijalog koji omogucava izbor datoteke koju hoc':emo da prikaeimo na poruku< Microsoft Internet Relay Chat (poznatiji pod skracenim Imenom mlRC), flliirabifis ICQ, MSN
Prilikom prijema poruke koja sadrzi attachment, primalae ee biti obavijesten 0 tome i imat ce Messenger i AOL Messenger.
moguenost da otvori sadrzaj attachmenta. Olldje vrijedi isla pravi/o kao i prilikom "skidanja"
datoteka sa Interneta: Bilo kakav attachment prije otvaranja obavezno treba, provjeriti Napredni IRe servisi omogucavaju i I<omuniciranje putem glasa, naravno pod uvjetom da koris~
pomocu nekog ad antivirusnih programa, cak i ukoJiko dolazi ad poznatog posaljioca! Naime, nici posjeduju odgovaraju6u opremu. Na ovaj naeln omogueena je simulacija telefonskog razgovo~
mnogi racunarski virus; razmnozavaju se ns principu da kreiraju laine poruke 58 adresama ra putem Interneta, po eijeni koja je neuporedivo niza ad Gijene obi6nog telefonskog razgovora na
korisniku poznatih pasa/jioca (koje zapravo ne poticu ad njih), a koje sadrze attacl1mente koji daljinu. Sve tehnologije koje omogucavaju prenos glasa putem interneta, nazivaju se zajednickim
u sebi sadrie viruse i druge destruktivne programe! nazivom VOl (~oice Qver Internet) tehnologije. Ove tehnologije predstavljaju podskup opcenitijih
tehnologija kojirna se ostvaruju multimedijske interaktivne komunikacije put~m Interneta. Prlmjer
Elektronicka posta nudi t" mogucnost _diskusija putem e/ektronicke poste, preko takozvanih naprednih komunikacija ove vrste su video konferencije, koje omogucavaju diskusije izmedu grupe
maiJjng {aruma (iii mailing listh koji omogucavaju medusobnu razmjenu iskustava i informaeija 0 korisnika koji su opremljeni video kamerarna, i koje omogu6avaju da korisnrci ne sarno cuju, nego i
raznim problemima izmedu grup!1 kOJtsnlka; ~oruk~ koje se salju na odgovarajuce forume automat~ vide (na ekranu monitora) svoje sagovornike. - --
ski se salju svirn prijavljenim- kprisniGirria tih.-fOrljma. Korisnik se prijavljuje na odgovarajuei forum
najcesce slanjem specijalne poruke naJa{:uria(koji administrira taj forum. Forumi nude ogromah Jedan od servisa bez kojeg je nezamisliv ozbiljnijL rad sa InternetOJ1l je' FTP_;(Eile Iransfer
broj razlicitih tema za diskusiju-,: gd -koj!h_~e~ ve6im~, 1<or1sti u akademskim krugovima. Erotoc,ol). FTP ie ujedno i ime protoko!a, i Ime odgovarajuceg sewisa, 'SlLcno-HITp-u,.FTP jG
tai<oder podskup TCPIIPprotokola. Medutim, za razliku od HTTP'p:rot6k61~:lsoji_jep~ilagoden preno-
Da bi se omogucilo koriste~je vl~~tit~_i~-6u:l'jl.adrese anim korisnieima koji nemaju otvoren koris~ su pretezno hipertekstualnih i hipermedijskih dokumenata, FTP protokQU~- razvijen za prenos
nicki racun ni kod jednog !ntern~t provajdera, a irnaju pristup'lnternetu na neki drugi naCin (npr. kod datoteka proizvdljnog sadrzaja, i omogucava efikasan prenos datoteka"kak(rsa udaljenog raeLmara
prijatelja, u Internet cafeu, -ttdt izvj~sni Web poslu?:itelji nude usluge prijema i slanja elektronicke poste na lokalni racunar (download), taka i sa lokalnog na udaljeni :ra6unax '(upload). -~6r!stenjem FTP
putem WWWservisa.- ryledu ovim Web posluziteljima najpoznatiji su Yahoo Mail, koji se nalazi na servisa, moguce je putem Interneta nabaviti veliki broj do.kumenata, eiektroniGkih knjiga, slika, pro-
adresi mail. yahoO', com, i Halmai/-- (U vlasnistvu Microsofta), koji se nalazi na adresi grama (kako zabavnih, poput igara, tako i sasvim ozbiljnih programa, I{oji obieno spadaju u kate-
www.hotmail.com. Putem ovih Web Posluzitelja svaki korisnik koji ima ikakav pristup Internetu moze goriju shareware iii freeware programa), itd.. -

242 243
Mada je ograni6eni pristup FTPservisima (1 to samo download a ne i upload) moguc i pome6u Gopher predstavlja nekadasnji servis i protokol za pristup dokumentima, ko]1 se danas veoma
HTML preglednika (peput Internet Explorera), ovakav pristup se ne preporucuje, s obzirom da HTML rljetko korist1. Gopher je zapravo negrafi6ki (tekstualni) informacioni sistem, zasnovan na sistemu
preglednici nisu posebno prilagodeni radu sa FTPprotokolom (njihov izvorni protokol je HTTP, tako menija. Gopher protokol prosljeduje kroz Internet korisnicki zahtjev za pronalazenjem odredene
da se mora obavliati pretvorba izmedu ova dva protokola). Stoga je za koristenje FTP servisa informacije, i vrsi prenos dokUlnenta sa zeljenom intormacijom na korisnicki raGunar. -Pojavom
pozeljno korlstiti posebne programe nazvane FTP kUjenti (primjer ovakvog pro.Qrama je WS_FTp). WWWservisa, uloga i znaca] Gophera potpuno su se izgubili. Glavni razlog je veoma ogranicen i
Jedan jednostavan FTPklijent(nazvan prosto FTp) dolazi kao sastavni dio Windows operativnih sis- kompliciran korisnicki interfejs ko]! posjeduje Gopher u poredenju sa WWWservisom.
tema, ali zbog prilicno primitivnog korisnickog inteliejsa (komandna linija) njega mogu koristlti jedi-
no iskusniji korisnici. Za prikljucak na bilo koji raeunar koj1 nUdi FTPusluge, takoder ie potrebno pos-
jedovati korisnicko ime i lozinku (1 to upravo na tom racunaru). Ovaj zahtjev umnogome ogranicava
upotrebu FTP servlsa. Stoga, mnogi FTP posluzitelji doz'voljavaju prijavu korisnika koji nema
otvoren korisni6kl raeun taka sto' 6e kao korisnicko jme navesti Anonymous, a kaa lozinku svoju
Email adresu. Na taj naein, korisnik dobija manja prava pristupa nego korisnik koli ima otvoren
korisnicki raeun na tom ra6unaru, ali ipak moze koristiti ve6inu usluga kOje FTPservisi pruza]u.

Te/net je servis i protokol ko]1 sluzi za pristup za Tad na udaijenom racunaru (engL remote login)
koristenjem lokalnog raeunara kao terminala. Pokretanjem odgovaraju6eg komunikacionog programa
(primjer ie program koji se takoder zove relnet i dolazi kao sastavni dio Windows operativnih sistema)
i navodenjem adrese raeunara kojem se zeli pristupiti, korisnik moze raditi na udaljenom racunaru isto
kao da radi na ra6unaru ko]i se na!azi u njegovoj sobi. Pristup udaljenom racunaru je mogu6 samo uko-
liko korisnik posjedu]e otvoren korisni6ki racun na tom racunaru. Nakon odobrenja pristupa, korisnik
moze, ovisno 0 pravima pristupa koje posjeduje, koristiti raspolozive resurse tog racunara, ukljucuju6i i
hardverske resurse poput memorlj'e, procesora, izlaznih jedinica, itd. Na taj nacin, korisnik mreze moze
koristiti neki vrlo brz, mocan i skup racunar bez potrebe da fizicki odlazi na mjesto gdje je tal racunar
zaista lociran. Mada pastoje ra6unari na kojima je mogu6e raditi na daljinu bez placanja naknade, uslu~
ga rada na daljinu najeesce nije besplatna, pogotovo ukoliko se radi 0 zaista mocnim raeunarima.

Mreine novine (engL Usenet News) predstavljaju Internet servis putem kojeg korisnici sirom svi-
jeta mogu razmjenjivati informacije 0 razlicitim temama. Korisnik mreznih novina maze poslati poruku
koja 6e biti vidljiva svim ostalim korisnlcima mreznih novina, a moze i pregledati poruke koje je poslao
bilo koji drugi korisnik mreznih novina. Za razliku ad diskusija putem elektronicke poste, kod mreznlh
novina sve poruke su pohranjene na nekom centralnom racunaru na ko]i se korisnid moraju prijaviti
da bi citali poruke vezane za neku temu (kod diskusije putem e!ektronicke poste, poruke vezane za
odredenu temu automatski pristizu u elektronlcko postansko sandu6e svakog korisnika).

Da bi se korisnici mfeznih novina mogli sna6] u mnostvu poruka koje svakodnevno pristiiu, sve
poruke su razvrstane u razliCite tematske skupine (eng1. newsgroups), ovisno 0 podrucju na koje se
odnose. lmena tematskih skupina sastoje se, poput slovnih adresa racunara, ad niza rijeei razdvo-
jenih tackama (npr. rec. food. recipes, hr. ree .music, hr. sci, comp.lang . pascal, ltd.).
PlVa rijee u imenu grupe oznacava tematsku skupinu sireg sadrzaja, dok svaka sljedeca rijee suza-
va skupinu. Npr. u imenu comp .lang .pascal riiee comp oznacava da je u pitanju tema vezana
za racunare (engJ. computers), rijec lang precizira da se radi 0 temi vezanoj za programske jezike
(eng!. languages), dok rije6 pascal sasvim suzava tematsku skupinu pa-diskuslje vezane za.pro-
gramski jez]k Pascal. Unutar svake tematske skupine nalaL;e se poruk-e koje su p6slali korisnici
mreznih novina. To su, uglavnom, kratke poruke sliene elektronicKoj posti-(mada,:hlogU sadrtavatl_i
attachmente poput E~mail poruka), osim sto su vidljive svim korisnicima mrezQih nciYirft.?. Z~ kofistenj~
mreznih novina takoder je potrebno posjedovati odgovaraiu6e program_e~ tZy'.::n~ws,-!(/fjente. Vee
spomenuti_program Outlook Express se moze konfigurisati da radi i kao news klije~r, ~'-rie _sarno kao .
E~mail kllj'ent. Izvjesni ra6unari pretrazivaei (npr. Google) omogucavaju i Pf~tfa:z~.v?nie mreznih -nO'-
vina koristenjem WWWservisa. Treba napomenuti da pored mailing j :Usenet fqruma; postoje j tzv.
Web foruml, koji su nallk na mailing lomme, sarno 8tO su organizlranj.u, okviru: nekog Web sajta, i
kojem pristup imaju sarno prijavljeni posjetioci tog salta. Eventualno, svi posjetiocrsajta m-clgu-da pre-
gledaju poruke, a pisanje je dozvoljeno sarno korisnicima koji su prljayljeni kao- korisnici tog salta.
244 245
Pitanja i zadaci
3. OSNOVE PROGRAMIRANJA
1. Cernu sluze korisnicki raeuni?
2. Zbog 6ega je potrebno da postoje i korisnicko ime'! lozinka? Zbog 6ega nije dovoljno da posto-
ji sarno korisnicko lme iii sarno lozi'nka? 3,1 OSNOVNE KARAKTERISTIKE PROGRAMSKIH JEZIKA
3. Kako se vrsi komunikacija u lokalnim rnreiama u modernim operativnim sistemima?
4. Kako se uspostavlja neposredna komunikacija izmedu dva racunara prikljucena na telefonsku
rnrezu? 3.1.1 Nedostaci govornih jezika za potrebe komunciranJa sa racunarom
5, Sta su Internet provajderi 1Gernu sluze?
6. Opisite ukratko kako je organiziran Internet. U prvom dijelu ovog' udzbenika, vidjeli smo da ukoliko ielimo neki problem rjesiti uz pamoc
7. Sta su protokoli i cernu sluie? racunara, moramo prvo racunaru na neki nacin saopciti problem koji zelimo rijesiti. Drugim rijecima,
8, Sta su lP adrese, a sta slovne adrese? Koji racunari imaju i slavne i IP adrese? moramo komunicirati sa racunarom. Naravno da bi idealno bilo da racunaru mazemo iznijeti prob-
9, Garnu sluze DNS serveri? lem u nekom od govornih jezika (engleskom, bosanskom ltd.), na primjer: "Molim te, rijesi jednaCinu
X + 2 61 ispisi njeno rjesenje na Stampac.". Nazalost, lz mnogo razloga, ovakvo komuniciranje sa
10. Sta SU domene?
racunarom, bar za sada, nije moguce. Najbitniji razlozi za takvu nemogucnost su sljedeci:
11. Sta su uskopojasne a sta s,irokopojasne mreze?
12. Kako se vrsi povezivanje korisni6kog racunara na Internet? Govorni jezici su optereceni mnogim rijecima i izrazima koji racunaru ne predstavljaju nista. Na
13, Sta su Web stranice, a sta Web sajtovi? primjer, u govornom jeziku recenica "Kupt hamburger, pojedi 9a i odspavaj do popodnevnog
14. Bta je URL i ad 6ega se sastoji? filma." sasvim je smisiena, Medutim, tesko je zamisllti kako bi na nju trebao da reagira racunar.
16. Kaka se pregledaju Web stranice? U govornim jezicima veoma cesto se neke stvari podrazumijevaju. Na primjer, ukoliko mi dobi-
16, Ukolika vasa skala posjeduje prikljucak na Internet, prakticno uvjezbajte upotrebu HTML pre- jemo naredenje "Idi u prodavnicu i kupi mlijeko.", podrazumijeva se da cerna S8 nakon obavM
glednika za pregledanje Web stranica, Ijene kupovine vratiti kuci (da donesemo m!ijeko), Robot, koji bi eventual no mogao izvrsavati
17. Bta je download, a sta upload? ovakve naredbe, nakon obavljene kupovine ostao bi net istom mjestu (u prodavnici), jer mu ni
i 8. Sta su racunari pretrazivaCi i koji su najpoznat1ji? ,i
jedna naredba ne nalate da se treba vratiti kudo Ispravan "program" za ovakvog robota trebao
,,! bi da glasl "ldi u prodavnicu, kupi mlijeko i vrati se kucL". covjek u govornom jeziku nije navikao
19. Ukoliko vasa skola posjeduje prikljucak na Internet, praktlcno uvjezbajte pre1razivanje Web
stranica pomocu nekoliko najpoznatijih ra(;unara pretrazivaca. na potrebu za ovako preciznim izrazavanjem, taka da bi komuniciranje sa racunarom na go-
vornom jeziku cesto bilo praceno nedosljednostima.
20. Da Ii su informacije dobijene putem Interneta uvijek pouzdane? Obrazlotiti odgovor.
21. Sta je elekironicka posta i kako se koristi? , Govorn! jezici su ponekad dvosmisleni, tj, iz ispravne reeenice nije posve jasno sta se htjelo retl.
i
22. Ukoliko vasa skola posjeduje prikljucak na Internet, prakticno uvjetbajte sianje i prijem po'ruka i Na primjer, u jednoj engleskoj knjizi bio!ogije, napisana je recenica "fruit flies like a banana". Autor
!,
putem elekironicke paste. je hiio rsci "v06ne musice vole bananu" (sto jeste ispravan prijevod ave reeenice na bosanski
23. Bta su attachmenti j kako se koriste? i
:i
jezik). Medutim, prevodilac je ovu recenicu preveo kao "voce letl poput banane". Ova, nazalost,
takoder jeste rnogu6i (lspravan) prijevod reeenice, jer "fly" moze znacit! "musica" iii "Ietjeti", a "like"
24. Na koje se sve naCine racunar moze "zarazitj" racunarskim virusima prHikom koristenja -'I
Interneta? Na koji nacin se mazemo zastititi od zaraze? moze znaCiti "voljeti" iii "poput" (ipak je jasno da autor sigurno nije htio da kaze ovu drugu verzi-
ju prijevoda). Postoje i neki slieni primjeri na bosanskom jeziku. U nekom restoranu napisano je
25. Sta je Web mail, i kakve su mu prednosti i mane u odnosu na klas!cnu elektronicku postu?
"Zabranjeno gostima hranitl ribe.". Gramatlcki je ova recenlca ispravna, ali je nejasno da Ii gosti
26. Ukoliko vasa skola posjeduje prikljucak na Internet, otvorite svoj vlastiti korisnicki racun na ne smiju hraniti ribe, mse gosti ne smiju davati kao hrana ribama" U ovom slucaju, nase zivotno
nekom od Web mail servis~ (Yahoo Mail, .Hotmail iii nek! drugi), i uvjezbajte natin njihovog iskustvo, koje racunar ne posjeduje, pomaze nam da odbacimo drugu varijantu kao nelogicnu. U
koristenJa. primjeru reeenice "Pop je govorio dugo gledajuti u daljinu." {primjer lEi uzet iz jednog romana)
27. Kako se realiziraju interak!ivne multlmedijske komunikacije uz pomoc Interneta? nista nam ne pomaze da zakljueimo da Ii je pop dugo govorio ill je d~go g!edao (primijetimo da
28. Kakva je razlika izmedu elektronlcRe po.ste 1caskanja putem Interneta? bi jedan zarez ispred iii iza rijeel "dugo" rijesio nedoumicu),.. S!i{;nu :situaciju mama i sa recenicom
29. Cemu sluze FTP i Telnet?- ".Ko pjeva zlo ne misli.", iii sa cuvenom latinskom recenk;:om '!Ibis redibis. numquam peribis in
30, Sta su mrezne navine i kakg Se koriste? bello.", koja, u zavisnasti od toga gdje stavimo zarez, moze imati potpOI:1('),suprptna znacenja ("lei
ces, neces se vratitl, poginuees." i "Ici ces, vratlt ces se, neoos pogjnuti~~)~ - ..
31. Razmislite kakve nam ~ventualne ..op.q~Osii prijete 'ad savremenih informacionih tehnologija
koje su se razvile pojavom In~~r!}et~:-:_._: -. Govorni jezici posjeduju veliki stepen fzv. redudancije, kOj~ O~~gi.;6-~~"<{ d~. Iz.- pisanog teksta
uklonjmo znacajan bro) znakova, a da tekst i dalje bude ra;:::l,Imljhi., Ma:cta je ovakva nidudancija
veoma korisna u svakodnevnom Ijudskom komunicira"nIu;- j!;lr smanjtlje'nlogl!cnost nesporazu H

rna, za potrebe komuniciranja sa racunarom ona je (lepoieijna, jer~.epotfeQno tr~si racunarske


resurse.

246 247
Zbog svega navedenog, razvijeni su posebni, precizni i nedvosmisleni (mada nerijetko i prillcno
ogranieeni) jezici za komuniciranje sa raeunarom, nazvani programski jezici.
3.1.3 I'roceduralni programski jezici

3.1.2 I'rogramski jezici niskog nivoa Znatno napredniju skupinu programskih jezika Cine tzv. procedurafn; jezid. Ova skupina pred-
stavlja najsiru s~upinu programskih jezika, i u nju spada valik! bro] danas koristenih programskih jezi-
Najprimitivniji programski jezik je masinski jezik. Ovaj jezik sastaji se samo od n;zova nuta i ka, kao sto su BASIC, Pascal, FORTRAN, COBOL, C ltd. Karakteristika jezika iz ove sku pine je da
jedinica. Jasno je da ovakav jezik covjeku mora biti izuzetno nerazumljiv. Medutim, to je jedin! jezik za rjesavanje ma kakvog problema uz pomo6 ovih jezika, moramo ra6unaru jasno i precizno opisati
koj! racunar neposredno razumije, bez potrebe za prevodenjem. Zapravo, procesor eita jz memori- postupak kako se rjesava taj problem (drugim rijecima, potrebno je prethodno sastaviti a/goritam za
je s!ijedove "nula" i "jedlnica", interpretira ih na odredeni na6in, i lzvrsava. Stoga je masinsk! jezik rjesavanje prob!ema). Sta se pod tim podrazumijeva, biee detaljno objasnjeno u sljedeeem
izrazito ovisan 0 procesoru kej! 'je upotrijebljen u raeunaru. Na primjer, na procesorima famHije poglavlju. Za razliku od asemblerskog jezika, proceduralni jezici ipak ne zahtijevaju rasclanjivanje
INTEL BOxB6 (ovi procesori, Hi njihovi najblizi srodnici, nalaze se u svim PC ra6unarima), sljedeei problema na previse elementarne operacije (na primjer, izraz 5 + 8 - 6 prihvati6e, bez potrebe za
masinski program rasClanjivanjem, prakticno svakl proceduralni jezik). Takoaer, proceduralni jezici SU, za razliku od
masinski orijentiranih jezika, problemski adient/rani jezici, jer ne ovise od konkretne masine na
1011QOGOOGOO{}101 kojoj se program lzvrsava, nego samo od problema koji se rjesava.
0000010000001000
0010110000000110 Neupueeni cesto postavljaju pitanje kakva je uopce korist od racunara ukoliko mu mi moramo
objasniti kako da rijesi neki problem. Stvar je u tome sto za r]esavanje nekih problema eovjeku bez
sabira brojeve 5 i 8, nakon 6ega oduzima 6 od rezultata. Nemojte se cuditi ako ne razumijete ovaj pomoCi racunara treba lzrazito mnogo vremena, mada ih princfpijelno zna rijeSiti. Na primjer, neka
program: morate biti masina da biste ga razumjelL Covjek moze razumjeti masinski jezik jedino uz ze!imo da izracunamo sumu reciprocnih vrijednosti svih brajeva od 1 do 1000000. Ovaj problem se
pomoe glomaznih tablica u kojima je zapisano sta koja kombinacija nula i jedinica radi! principijelno moze rijesiti uz pomoc dzepnog kalkulatora, pa cak i samo pomocu papira i alovke, ali
za koliko vremena? Ukoliko koristimo obieni kalkulator, i pritls6emo u prosjeku dvije tipke u sekun-
Mada se nekada moralo programfrati iskljucivo u masfnskom jeziku, jasno je da nas ovakvo pro- dl, potrebno je preko pet mjeseci svakodnevnog osmocasovnog rada da dodemo do rezultata (pad
gramiranje ne bi daleko odvelo. Zbog toga su razvijeni drugi programski jezici, pogodniji za covjeka, uvjetom da nigdje ne pogrijesimo, sto je praktieno nemoguce)! Mectutim, sljedeei p-rogram u jeziku
nazvani vis; programskf jez;c;. Prvu stepenicu iznad masinskog jezika predstavlja asemblerski BASIC (8 kOjim ste se vjerovatno susreli u osnavnoj skoli) rijesice istl problem za neko!1ko sekundi
(simboflck~ jezik, l{Oji se jos uvijek ne smatra visim programskim jezikom. Kod ovog jezika, (tacna 11 sekundi na racunaru sa Pentium !II procesorom na 700 MHz, i sa QBASIC prevodiocem
odredene skupine nula i jedinlca zamjenjuju se skraeenicama (tzv. mnemonlcfma) kOje opisuju nji- za BASIC), pri cemu za sam unos programa sa tastature nije potrebno vise od jedne minute:
hova znacenje. Na primjer, lstl program kao u prethodnom primjeru, u asemblerskom jeziku bi se
zapisao ovako: 10 S\.llna "" 0
20 F'OR broj '" 1. TO 1000000
mov aJ,5 30 Buma '" suma + 1 / bro]
add al, 8 40 NF,x'l' bro]
StW al,6 50 PRIN'l' surna

Ako prepoznamo da skraeen!ce mov, add i sub znace "prebaci", "saberi" i "oduzmi" (ad. eng\. Takoder, ne treba zaboraviti cinjenicu da danas obicno krajnji korisnik racunara nije ujedno i pro-
"move", "add" i "substract'), smisao programa vee pocinje da se nazire (tj. on postaje "uhvatljiv''). gramer. Tako, programe najcesce prave profesionalni programeri (koji znaju kako se rjesava neki
Nazalost, i ovakav jezik je prilicno tezak za covjeka, zbog cinjenlce da su mu naredbe prejednos- I<onkretan problem), a njihove programe koriste krajnji korisnici, koji mogu ali i ne moraju da znaju
tavne. Na prvi pogled moze djelovati paradq~sa!no da je jezik tezak zbog prejednostavnih naredbi. I<ako se taj problem rjesava. Sve sto ani treba da znaju je kako se program upotrebljava.
Medutim, sa tak:vim naredbama, potrebno je upotrijebiti veliku koli6inu naredbi za rjesavanje cak i
najjednostavnijih problema (u gruboj analogi]i, to je isto kao da zelimo l.skopati jarak koristenjem
kasiCice za kafu umjesto velike lopate). Za primjenu asemblerskog jezika, svaki problem je neophod- 3.1.4 Karaicterislike najrasprostranjenijih proceduralnih jezika
no rasdaniti na gomilu posve elementarnih operacija, koje nerljetko za~tijevaju duboka poznav:anje
unutrasnjih procesa u racunaru (pogledajmo, na primjer, ko!i~o Je garnji progrti!1'l.komplikovaniji od Kao sto je vee receno, sa jednim pragramskim jezikom vee sma se upoznali u osnovnoj skoli: to
prostog izra?-8 5 + 8 - 6). Ipak, poznavanje asemblera je neophodno.6nim programerima ko]i zele je BASIC, Rijec BASIC skra6enica je od traze J2eginner's Alf-purpose ~ymbofic instruction [d6de, iz
da u potpunostl kontroliraju sve unutrasnje procese u ra6unaru i sve sistemske cre~Qrse .ra(:pnara, s 6ega se vidi da se radi 0 programskom jeziku namljenjenom pocetnicima. Madaje jedno vrijeme dvaj
obzirom da je asemblerski jezik (osim naravno masinskog jezika) jedini jezik-u kojem. ~programer Jma jezik bio izu2etno popularan, polako se istiskuje lz upotrebe zbog toga sfo podstice neke zastarje!e
apsolutnu kontrolu nad ra6unarom. o. .- koncepte u programiranju, Na prvom mjestu, u BASIC~u se tok programa moze nekontro!irano pre-
bacivati sa jednog na drugi kraj programa (tJpotrebom GO'l'O naredbe), sto dovodi do nepreglednih
Asemblerski jezik se ponekad naziva 1 asembler, mada ova) :t$tmirl. nile "oposve -precizan. programa koji se teska prate i jas teze odtiavaju. Mada se danas susrecu i mnogo naprednije va~. '
Dodatnu zbrku unosi i Clnjenica da se ponekad poistovjeeuju asemb!!:~r~kioi masihskj je-zlk., sto na- rijante ovog programskog jezika (poput verzije QBAS/C), u kojima se takvi problemi mogu prevazici,
ravno nije tacno. Jezici niskog nivoa (masinski i asemblerskf) riredstavljaju ma'Sinski 6rijtmtirarye ostaje misljenje da BASIC nije jezik za ozbi!jnije primjene. Iznimku predstavlja znatno unaprijedena
jezike, jer zavise od masine na kojo] se program izvrsava (preciznije:, od nlenag procesora). varijanta BAS/G-a nazvana Visual BASIC, 0 kojoj eemo govoriti nesto kasnije u ovom poglavlju'-
248 249
FORTRAN (ad eng I. -Formula Iranslation) je znatno mocniji programski jezik od BASIC-a, i dugo biti "dolazak u skolu", "odgovaranje", "izrada kontrolnog rada", "odlazak kuci", itd. Najpoznatiji objek-
vremena bio je najpopularniji programski jezik za potrebe naucno-tehnickih prora6una. Ovaj jezik je tno orijentirani j6zici danas su SmallTalk, C++ (unaprljedena verzija jezika C), Delphi (zapravo
stekao popularnost zahvaljujuCi ogromnoj kolekciji matematickih potprograma koji su programerima Object Pasca~, Java, C# (jezik veoma sliean jeziku Java, cita se "C sarp") itd. Objektno orijentirani
bili dostupni za upotrebu u vlastitim programima, sio je znatno alaksavalo programiranje. Medutim, jezici dozivje!i su veliku popularnost pojavom Windows serije operativnih sistema, jer se pokazalo
sHena BAS/C-u, FORTRAN je duga vremena podsticao zastarjelu metodologiju programiranja (ovdje veoma prakticno da se pri programiranju razni elementi grafickog okruzenja Windows sistema (poput
se prvenstveno misli na najrasprostranjeniju verziju ovog jezika FORTRAN 77). Mada se FORTRAN prozora, dugmadi, menija, ikona, itd.) modeliraju upravo pomoGu objekata. U posljednje vrijeme,
i dalje razvija, i mada su se pojavile znatno naprednije verzije (npr. FORTRAN 90) koje su uklonije narocitu popu!arnost doiivljava programskJ' jezik Java, jer omogucava pisanje programa koji se bez
gotovo sve njegove nedostatke, ave verzije su se pojavile prekasno, u doba kada su se vee pojavili ikakvih problema mogu izvrsavati na bila kojem racunaru, neovisno od njegovog tipa i operativnog
kvalitetni programski jezici koji su bili boJji od tada aktuelne verzije FORTRAN 77, Kao posljedica tog sistema koji se koristi, sto je naroCito pogodno za pisanje aplikaclja koje koriste Internet i druge
kasnjenja, FORTRAN se danas postepeno povlaei u korist jezika kao sto su C i njegova pobo!jsana racunarske mreze. Prilikom izrade Web stranica masovno se koristi objektno orijentirani jezik pod
varijanta nazvana C++, koji su preuzeli veCinu njegovih dobrih svojstava. nazivom JavaScript koji je inspirisan jezikom Java, ali Je znatno jednostavniji i ogranieeniji.

Programski jezik Pascal (ime je dobio u cast matematicara i fizicara Blaise Pascala) bio je Pogodnost objektno orijentiranih jezika za programiranje u grafickom okrutenju dovela je do
zamisljen pNenstveno kao programski jezik za edukativnu namjenu, jer podstice pisanje jasnih, pre- pojave integriranih razvojnih sistema za vizuelno programiranje. Naime, prilikom razvoja bHo
ciznih i eitljivih programa. Ovaj jezik posjeduje prillcno stroga pravila pisanja programa, koja tjeraju kOje aplikacije koja koristi graficko okruzenje, najdosadniji i najzamorniji dio je upravo programira~
korisnil<a da se pridrzava izvjesne discipline pri programiranju. Stoga je ovaj jezik veoma pogodan nje okruzenja. Oesavalo se da se i do 90% vremena utrosenog za razvoj apllkacije iZQubi upravo na
za ucenje programiranja. Standardni (izvorni) Pascal bio je donekle ogranieen, jer nikada nije bio razvoju okruzenja. Sreeom, proces razvoja okruzenja je u prilieno formaliziran i sab!oniziran, sto je
zamisljen kao jezlk za ozbiljne primjene. Ipak, velika popularnost ovog jezika (naroelto u Evropl) omogucilo razvoj vee pomenutih sistema za vizualno programiranje. Kod ovih sistema programer
dovela je do pojave brojnih prosirenja ovog programskog jezika, koja su sasvim upotrebljiva cak i za dizajnira graficko okruzenje na slican naCin kao,prilikom rada u nekom od grafickih programa (crta-
veoma ozbiljne primjene (ovdje prvenstveno mislimo na verziju Pascala poznafu pod imenom njem obrazaca, postavljanjem komponentl poput dugmadi, ikona i menija na obrasce, itd.), a raz-
Turbo Pasca~. Nakon dugog perioda popularnosti, jedno vrijeme je vladalo misljenje da je Pascal vojni sistem sam pise neophodni dio programa koj] ee generiratl dizajnirano okruzenje. Programeru
potpuno zaboravljen programski jezik, potisnut od strane jezika C i C++. Medutim, u posljednje vri- ostaje samo da napise one dijelove programa koji se izvode kao reakcija na odredeni dogadaj, poput
jeme, Pascal kroz svoju znatno unaprijedenu verziju nazvanu Object Pascal (koja eini osnovu pro- pritiska nekog tastera Hi klika misem na neku opciju u menlju, ikonu iii dugme. 8toga programi pisani
gramskog 'razvojnog okruzenja poznatog pod imenom Delphi) ponovo dobija na popularnosti, jer u ovakvim jezicima djeluju kao skupina nepovezanih cjelina koje se izvrsavaju iskljuCivo kao reakci~
posjeduje veoma jasnu sintaksu (koja jezicima C i C++ nije bas jaea strana). ja na odredene dogadaje. Ovakvo programiranje naziva se programiranje upravfjarw tokom
dogadaja. Jasno je da se na taj nacin postiie znatna usteda u vremenu programera. Najpoznatiji
Programski jezik C (njegovo ime ne znaei nista nego je plod ekscentricnosti autora jezika - dva razvojni sistemi za vizualno programiranje su V;sual BASIC (zasnovan na jednoj znatno usavrsenoj
njihova pretllodna jezika zva!i su se A i 8) po osnovnom konceptu prilicno je blizak Pascalu, mada verziji BAS{C-a koja posjeduje i mnoge osobine Pasca/a), Delphi (zasnovan na Object Pascalu),
se po sintaksi dosta razlikuje od njega. Za razliku od Pascala, sintaksa jezika C je mnogo slobodni- Visual C++ i C++ Builder (zasnovani na jeziku C++), itd.
ja, sto programeru daje znatno vise mogucnosti, ali po cijenu pisanja konfuznih i nejasnih programa
u kOjima se, nakon izvjesnog vremena, vise ne snalazi niti njihov autor (treba napomenuti da se i u
ovom jeziku mogu pisati sasvim jasni i titljivi programi, sarno sto ovdje jezik ne primorava progra- 3.1.6 Neproceduralni programski jezici
mera na takvu discipHnu). Pored toga, jezik C omogueava programeru znacajnu \mntrolu nad svim
unutrasnjim procesima u racunaru (gotovo poput asemblerskog jezika), sto ga eini idealnim za Posljednju kategoriju programskih jezika cine neprocedurafni jezici. Za razliku ad procedural-
razvoj sistemskog softvera (operativnih sistema, itd.). Jezik Cje gotovo u potpunosti istisnuo upotre- nih jezika, kod neproceduralnih jezika nije neophodno da racunaru objasnjavamo kako da rijesi'
'bu asemblerskog jezika (osim u nekim zaista delikatnim situacijama). Nakon sto je vodeea svjetska problem, nego samo u 6emu se 8astojl problern Uasno, precizno j nedvosmisleno), a raeunar sam
softverska firma Microsoft ozvanieila jezik C kao sluzbeni razvojni jezik za programe koji koriste zakljucuje kako problem treba da se rijes1. Zbog toga, ovaj tip jezika nazivamo i deklarativni (opis~
Windows operativne sisteme, jezik C je dozivio nevjerovatnu popularnost u gotovo svim primjena- n~ jezici. Ovakav pristup, na prvi pogled, djeluje savrseno. Naza!ost, racunar ne posjeduje intellgen~
ma, mada je prvobitno bio zamisljen pretezno kao jezik za razvoj sistemskog softvera. Danas je ciju (tj. sposobnost snalazenja u situacijama sa kojima se nije ranije sU8retao), tako da je ovakav
veeina dostupnih programa (ukljueujuci i najpoznatije programe poput Warda, Exce/a ltd.) pisana pristup ogranicen sarno na rjesavanje onih tipova problema za koje je tvorac programskog jezika
upravo u jeziku C (iii njegovim bliskim srodnicima C++, Java i C#). '''ebjasnio'' racunaru kako se rjesavaju. Zbog toga su prakticno svi neproceduralni jezici ograniceni
na ri_esavanje uskih klasa problema, dok su proceduralni jezici manje iii vise univerzalni. Medutim, u
;- domenu svoje valjanosti, ovi jezlci mogu biti zaista izuzetno mocn1. Primjer jezika iz ove kategorije
3.1.5 Objektno orijenlirani proceduralni je,;cl jezika je SQL (Structured Query 1anguage), sa kojim smo se, u kratkim crtama, upoznali u drugom
dijelu ovog udzbenika. Ovaj jezik ie izuzetno mocan za potrebe upravljanja bazama podataka, ali se
Kao posebna potkategorija skupine procedura!nlh jezika izdvaja se skupina objektno orijenti- - ne moze koristiti ni za kakve druge svrhe. Komuniciranje izmedu covjeka i racunara u jezicima ovog
ranih jezika (neki autori ovu skupinu jezika izdvajaju u posebnu kategoriju). Kod jezika iz ove skupine tlpa" uglavnom se zasniva na formlranju odredenih pitanja (upita) koje covjek postavlja raeunaru,
problemi koji se rjesavaju modeliraju se pomo6u tzv. objekata iii klass, kojl imaju svoje atribute'f .. stoga se jezlci ovog tlpa nazivaju i upitni jezici.
metode. Atributl predstav!jaju skup svojstava koje neki objekat posjeduje, dok metode predstavljaju
skup postupaka ko]i se mogu vrslti nad objektom. Uzmimo kao primjer objekat "ueenik". Njegovi Bitno je napomenuti da ni programiranje u neproceduralnim jezicima nije uvijek posve jednos-
atributi mogu biti "irne", "prezime", "adresa", "bra] u dnevniku", "ocjene" itd. dok njegove metode mogu . tavno (mada je, uglavnom, znatno jednostavnije nego u proceduralnim jezicima). Naime, postoje
250 251
mnogobrojne situacije u kojima nije lako objasnitl racunaru cal< nl u cemu se problem sastoji, na naCin duralne jezike su prava rijetkost). Od proceduralnih jezika najeesc8 se interpretira BASIC (jako pos-
koji 6e bit! dovoljno jasan, precizan i nedvosmislen, i dovbljno uskladen sa mogucnostlma jezika! toje i kompajleri za BASIC), dok se FORTRAN, Pascal i C iskljuCivo kompajliraju. Medutim, danasnji
kompajieri za Pascal i C pruzaju gotovo sve pogodnosti koje pruzaju interpreteri, tako da je danas rad
Znatno unlverzalniji jezici jz kategorije neproceduralnih jezika su jezici LISP (List Erocessing sa ovlm jezicima udoban kao nekad rad u BASIC-u. Napomenimo jos da postoje i hibrldni prevodi~
Language), PROLOG (Pmgraming in !:,Qgic) i ML (njegovo lme ne znael nista) ko]1 imaju prlmjenu u Dei (na primjer, tzv. P~kod kompajleri i run~time interpreter~ koj1 kombiniraju tel1nike koje koriste
domenu tzv. vjestaeke inteilgencije. Rad u ovim jezicima j8 osj6tno tezi nego, na primjer, rad sa kompajleri, i interpreter!. Ovakvi prevodiocl najcesce se koriste kod programskog jezika Java.
SQL-om, sto predstavlja cijenu koja je placena za povecanu univerzalnost ovih jezika. Metodologija
programiranja u ovim jezicima zasniva se na tehnici poznatoj pod nazivom funkcionalno pro-
gramiranje. Ova tehnika nema prakticki nista zajednicko sa tehnikom proceduralnog programiranja
(na primjer, klasicna grananja i petlje u ovakvim jezicima ne pastoje), sto je i osnovni razlog zbog
eega se ovi jezici svrstavaju u grupu neproceduralnih jezika. Skupina neproceduralnih jezika kojo]
pripadaju pomenuti jezicl naziva se funkc;onalnf jezic;,

Pored ogranicenosti primjene, jos jedan bitan nedostatak neproceduralnih jezika je sto su
izuzetno zahtjevni po pitanju racunarsl\ih resursa (koHcine memorije, brzine procesora, ltd.).

3.1.7 Kompajleri i interpreteri

Vee je receno da racunar neposredno razumije sarno masinski jezik. Program, u ma kojem dru-
gom programskom jeziku, za raeunar je obieni tekst koji mu ne znael apsolutno nista. Stoga se pro-
grami pisani u drugim programskim jezicima moraju prevesti u masinski jezik uz pomoe posebnih
pragrama prevodilaca kojl se nazivaju kampa/leri Gasno je da su prvi kompajleri morali biti napisani
u masinskom jeziku, s obzirom da je na pocetku on bio jedini jezik koji je na raspolaganju). Program
napisan u nekom visem programskom jeziku (prije prevodenja) naziva se izvorni program (iii
izvomi kod), dok se masinskl program nastao kao rezultat prevodenja naziva obJektni program (iii
objektni kDd), Prevodiocl koji prevode asemblerski u masinski jezik obicno se nazivaju asembJeri
a ne kompajleri (sto je donekle konfuzno, jer se i sam asemblerski jezik nerijetko naziva asembler).
Nekada je programer bio mnogo svjesniji postojanja kompaj!era, jer su se programi'prvo pisali u
nekom od editora teksta, zatim snimali kao tekstua!ni dokument (odnosno tekstualna datoteka),
nakon eega se kompajler pozivao kao poseban program sa ciljem formiranja objektnog programa
koji se mogao izvrsavati. Danasnji kompajleri su najeesce tako dobra integrirani u razvojni sistem da
programer najeesce nije ni svjestan njihovog postojanja, nego stice iluziju da ra(:unar neposredno
izvrsava program pisan u nekom visem programskom jeziku.

Pored kampajlera, postoj! i drugl tip programa prevodioca: to su tzv. interpreteri. Za razliku od
kompajiera, kod kojih se prvo eitav izvorni program prevodi u masinski jezlk pa tek tada zapocinje nie-
govo izvrsavanje, interpreteri uzimaju jednu naredbu izvbrnog programa, prevode je, izvrsavaju je,
"zaborav!jaju" njen prijevad, uzimaju sljedeeu naredbu, prevode je, izvrSavaju, itd. Stoga, interpreteri
podsjeeaju na eovjeka-prevodioca koji obavlja simultano prevodenje nekog govora sa jednog jezika
ria drugi, uporedo dok govorn!k govor!. S druge strane, kompajleri podsjecaju na covjekaprevodioca
- k-oji dobije pisani tekst na jednom jeziku, a predaje kao rezultat svoga rada pisani tekst na drugom
jeziku. Kompajlirani programi izvrsavaju se mnogo brie u odnosu na interpretirane programe. Nairne,
". , u slucaju interpretera, naredbe koje se ponavljaju (recimo, u nekom ciklusu), prevode se svaki put
"i,spoc-e"tka' (nakon eega interpreter svaki put "zaboravlja" njihov prijevod), sto nesumnjivolrosi vrijeme.
Mettut!,rn, interpreteri imaju i svojih prednostL Interpretirani program je lako prekinuti u bilo kojem
.-" trenutku, n,akon"eega mozema obaviti neke izmjene u programu j nastaviti izvodenje od mjesta prekj~
da, sto .nije lako i~vodivo (ponekad i nemoguce) u kompajliranlm pragramima. 8toga su razvoj i
_ispravka interpretiranih programa znatno jednostavnlji nego u slucaju kompajJiran!h programa. Dalje,
neRi: ad jezika po svojoj prirodi nisu pogodni za kompajliranje, nego samo za interpretiranje. Tu se
prvenstveno mis!i na neproceduralne jezike, koji se uglavnom interpretiraju (kompajleri za neproce-
252 253
Pitanjai zadaci 3.2 METODOLOGIJA PROGRAMiRANJA
1. Kako se naziva najprimitivniji programski jezik koji se sastaji sarno ad niza nula i jedinica?
2. Sta je simbolicki (asemblerskl) jezik? 3.2.1 Proceduralno i neproceduralno komuniciranje sa racunarom
3. U koju kategoriju programskih jezika spadaju sljedeCi jezici:
a) Pascal b) LISP c) Java d) SOL Vidjeli smo da se veGina programskih jezika moze podijelitl na proceduralne j neproceduralne
4. U cemu je razlika izmedu proceduralnih i neproceduralnih programskih jezika? jezike. 8toga se 'j metodologija programiranja moie podijeliti na proceduralno i neproceduralno
komuniciranje sa racunarom. Kod proceduralnog komuniciranja, neophodno je racunaru opisati pre
5. Izbacite uljeza iz sljedece liste:
cizan postupak rjesavanja nekog problema. Na primjer, pri upotrebi ma kojeg proceduralnog jezika,
a) BASIC b) COBOL c) SOL d) FORTRAN e) C nije dovoljno same reci "Nadi 'najveci i najmanji element u popisu od 1000 brojeva i ispisi nadene
6. Koje SU osnovne karakteristike jezika BASIC, FORTRAN, Pascal i C? elemente.','. Umjesto toga, racunaru je potrebno saopCiti detaljan postupak poput sljedeceg:
7. Koje su glavne primjene programskih jezika Java i SOL?
8. Sta su atributi j metodi? =? Preipustavi (za sada) da je prvi element ujedno i najveei i IUUnwllii;
9. Sta su razvojni sistemi za vizualno programiranje i koj] su najpoznatiji? ~ Za sve elemente od-drugog do posljednjeg (hlljaditog), radi sljedece akcije:
10. Sta je programiranje upravljano tokom dogadaja? -=> Uporedi tekucH dement sa do tada utvrdenim najver-'im clemen!om; ukoliko je tekuci
element wei, proglasi go najvecim elemenfom (za sada);
11. Sta su funkcionalni programski jezici?
=? Uporedi tekuCi element sa do lada uji'rdenim najllwliim elemclI{OIl1: ukoli/w je
12. Da Ii je programiranje u neprocedurainim programskim jezlcima uvijek jednostavno? Obrazloiite
tekuci element lIIanji, proglasi ga najmanjim elemcll!orli (za .\'ada);
odgovor.
"'* Prikaii najveCi i lIujmallji element.
13. Kakva js razlika lzmedu interpretera i kompajlera?
14. Zasto su prvi kompajlerl morali biti pisani u masinskom jeziku? Mada postaj! plilicna razlika izmedu konkretnih zapisa ovog algoritma u razlicitim proceduralnim pro
15'. Kakvim se prevodiocima abiena prevode neproceduralni jezici? gramsk!m jezicima, svi zapisi prate logiku koja je opisana u navedenom algoritmu, iskazanom struk
tuiranim govornim jezikom, na natin sa kojim smo se upoznali u prvom dijelu ovog udibenika.
Prikazimo, radi ilustraclje, kako bi ovaj algoritam konkretno izgJedao u programskim jezicima BASIC
(klasicni), FORTRAN 77, Pascal i C:

ilASIC
100 najveci niz (1): najmanji = niz (1)
110 FOR elem 2 '1'0 1000
120 IF nil. (elern) > najveci 'l'HE:N najveci = niz (810m)
130 IF niz (e18m) < najrnanji 'l'HEN najrnanji = niz (elern)
140 NEXT elern
150 PRINT najveci;" ";najrnanji

FORTRAN 77

NAJVECI '" NIZ (1)


NA.JMANJI co NIZ (1.)
DO 100 ELEM = :;:, 1000
IF (NIZ .G'1'. ELEM) NAJVECI =NIZ (EI,EM)
IF (NIZ .vr. El,E:tf) NAJl>iANJI '" NIZ (F..LEf1)
..' -: 100 C.oNTTIllJE
~ITE (*,") NAJIJECI, ' " NAJMAUn

254 255
Neproceduralno komuniciranje cemo ilustrirati na jos jednom jednostavnom primjeru.
Pascal c Pretpostavimo da je Safet Damirov otac, a da je Hasan Safetov otac. Ove Ginjenice se u jeziku
PROLOG (neproceduralnom) mogu zapisati na sljedeCi nacin:
Najveei :~ Niz [1]; Najrnanji := Niz [1J; Najveci ~ Najmanji ~ Niz [lJ;
for Elem : '" 2 to 1000 do for (Elem =
2; El~1U <~ 1000; Elem++) otac (safet, damir).
begin
otae (hasan, safee).
i f Niz [Elem] > Najveci then i f (Niz' [Elan] > Najveei)
Najveci : co Niz l'ElernJ; Najveci '" Niz {Elent];
i f Niz [Elem] < Najmanji then i f (Niz [Elelllj < Najmanji)
Kako bismo mogli uz pomoc racunara odrediti ko je Damirov deda, a da ne unesemo direktno infor-
Najrnallji :'" Niz [Eleml Najmanji '" Niz [Elem]; maciju da je to Hasan? U jezlku PROLOG mozemo racunar "nauCiti" sta je to deda, pomoGu
end, s!jedeceg pravila:
writeln(Najveci,' ',Najmanji); printf (" %d %d\n", N'GJ-jveci, Na.jmauji} ,
deda (X, Y) :- otae (X, Z), atae (Z, Y).

Ukoliko pazljivo razmotrimo ove programe, primijeti6emo da je u svakom ad njih osnovna ideja algo- Ovim smo definirali sta je to deda: osoba X je deda osobe Y ukoliko postoji asoba Z takva da je X
ritma jasno vidljiva. otac ad Z, a Z otac ad Y (ovdje sma radi.jednostavnosti zanemarill 6lnjenicu da deda maze biti i
majcin -olae). Ukoliko sada pitamo racunar ko je Damirov deda pomoc:u naredbe
Za razliku od proceduralnog komuniciranja, kod neproceduralnog komuniciranja racunaru treba
?. clem (X, damir)
da saop6imo sta zelimo da uradimo a ne kako to treba da se uradi. Razliku izmeciu proceduralnog
i nepraceduralnag komuniciranja najbolje cemo objasniti na konkretnom primjeru, Neka, na primjer,
zelimo da ispisemo spisak imena i prezirnena svih ucenika iz nekog razreda koji imaju pros]ecnu dobi6emo ocekivanl odgovor "Hasan". Obratite paznju da u ovom "programu" nigdje nismo racunaru
ocjenu ve6u od 4 i ko]i zive u Sarajevu. U jeziku SOL (sa kOjim smo se vee susreli u drugom dijelu objasnili kako da nade ko je Damirov deda, nego smo samo naveli neke elementarne cinjenice (0
ovog udzbenika, i ko]i je tipican primjer neproceduralnih programskih jezika), dovoljno bi bilo zadati tome ko je ciji otac), a zatim opisali sta je to deda. Ratunar je sam na osnovu ove definicije
sljedecu naredbu: "zakljucio" da ce Damirov deda zapravo biti otac njegovog oca. Veoma je bitno da uoeite da program
nije bio zasnovan na formulaciji tipa "objasni6u ti kako ces odrediti ko je neeili deda", nego na for~
SELECT IIDe, Prez.ime FHOM Razred mu\aciji "objasnicu tl sta je to deda, a dalje S8 snalazi sam". Naravno, racunar ne posjeduje inteligen-
WHEHE ProsjecnaOcjena > 4 AND Grad "Sarajevo" ciju na osnovu koje bi se mogao "snalaziti sam", vee je ta prividna "inteligencija" u ovom slucaju
ugradena (u vidu preciznih pravila) u interpreter za jezik PROLOG.
Vidimo da je ova naredba samo formalni zapis onaga sta felima da uradimo. Meduiim, u rna kojem
proceduralnom jeziku, mi bismo morali racunaru da objasnimo kako da pronade popis ucenika, j
kako da u tom popisu pronade ucenike sa zeljenim svojstvima. Pri proceduralnom komuniciranju,
neaphodno bi bilo sastaviti algoritam, koj! bi mogao izgledati poput sljedeceg: 3.2.2 Melodologija razvoja proceduralnog komuniciranja

"* Otvori popis u(~enika i kreni sa Citm(jcm od poc:etka; Mada je neprocedura]no komuniciranje lakse za covjeka, procedural no komuniciranje je mnogo
""*'Sve dok se ne dostigne kraj popisa, mdi sljedece akdje: univerzalnije, i stoga cemo se u nastavku baviti uglavnom sarno njime. Vee sma rekli da je kod pro-
"* proataj podalkr: 0 sljcdccclfl uceniku- iz popi.w; eeduralnog komuniciranja potrebno racunaru precizno objasniti kako se rjesava neki problem. Ova
"* Ukoliko je prosjdna ocjena uc:enika veea od 4 i ukoliko je mjesto bO!'aJlka moze biti prilicno kompliciran postupak cak i za relativno jednostavne probleme, jer covjek nije
u(\eniki1 Sarajevo, onda: navikao da u detalje objasnjava svaki svoj postupak u svakodnevnom komuniciranju, sto je u komu-
"* [spisi ime i prcz.ime za proCitarlOg uc:cnika; niciranju sa racunarom neophodno. Da bismo jasna ilustrirali ovu problematiku, krenimo ad jednog
=>. Zalvori popis ut:rmika. konkretnog problema, koj! za covjeka djeluje posve bezazleno, a kojl sa druge strane zahtijeva
prilican trud za realizaciju u vecini procedural nih programskih jezika. Formulacija problema glasi:
Ovakav opis a!goritma nekome maze izgledati jako sitnicavo. Medutim, ukoliko kortstimo procedu-
Jalno komuniciranje, sa racunarom se jednostavno mora ovako komunicirati, neovisno 0 konkret- Potrelmo je uCitati fJorlatke q svill( ucenicima u razretIu, a zatim i:}istaii spisak ucenika sortiran
non} pr_ogramskom jeziku. Na primjer, konkretan zapis prikazanog algoritma u jeziku Pascal izgledao po pro,ljeku, taka tIa ,~e uCi}iiik sa najbolj{m prosiekom nalazi ntt vrhu spi~ka.
bi ov?ko "(nemojte se plasiti sto ne znate tacno znacenje naredbi koje su ovdje prikazane - proba-
.jts ~amo da '''u~vatite'' osnovni smisao na osnovu poredenja sa gornjim algoritmom): PlYi probl~m '$a kojim sers'usrecemo pri p'okusaju rjesavanja ovog problema u bilo kojem pro-
assign (Popis, 'Uceniei'); reset (Popis);
gramskom j'ezi,ku (bHo proc-eauralnom:i!i neproceduralnom) je cinjenica da racunar nema pajma 0
while. not eof (Popis) do tome sta je "ucenik!~m ;'-r8.2feif':."$toga je "prva etapa: u procesu programiranja dizajniranje odgo-
begin varajucih struktura pOdqftika "k9j'e:-modetiraju objekte iz stvarnog svijeta na nacin ko]i se moze lako
. read (Popis, Ucenik); obradlvati u pragramu ..Prilikcin:rdizajniranja struktura podataka, potrebno je izvrsiii njihovo rascla~
i f (Ueenik ProsjeenaOcjena > 4) and (Deenik Mjesto , sarajevo') then njivanje na elemen!arne. pO.datke, popUt brojeva iii nizova znakova, sa kojima racunar zna da
writeln (Ueenik Ime,", Ucenik Prezirue) neposredno rukuje ... y na-sem-pfirnjerO, ucenika matemo modelirati kao skupinu podataka koja se
end;
sastoji od,nj~govog imeoa_ j:prezimena, zatim datuma roelenja, spiska oejena i prosjecne oejene. Ime
close (Popis),
i prezlme su samJ za sebe Qizovi znakova, datum rodenja je sastavljen od tri broja: dana, mjeseca i
.256 257
godine rodenja, dok je spisak oejena skupina brojeva. Konacna, razred mazema modelirati kao Podaci za jednog ucenika takoder predstavljaju skupinu padataka koja se sastoji ad imena, prezi-
skupinu u6enika, Ovakav dizajn prikazan je na sljedecoj sliei: mena i datuma rodenja, kao i skupine ocjena (za svaki predmet posebno), tako da ovaj korak moie-
mo dodatno ras6laniti, i dobiti sljede6i opis algoritma za unosenje podataka 0 svim ucenicima:
RAZRED:
"'* Za sve ucenike od pl1lOg do posljednjeg, radi sljedde:
Ime Ime Ime =t> Unesi podatke 0 imcnu, prezimeltll i datumu rodcnja za tekuceg [!(Yenika;
Prezime Prezime Prezime "'* Za sve predmete od prvog do posljednjeg, rad! sljedeee:
Dan Mjesec Godina Dan Mjesec ' Godina Dan Mjesf'..c Godina
"* Unesi podatke 0 tekuG'em predmefu za tekudeg ucenika.
rodenja rodenja rodenja rodenja rodenja i rodenja rodenja rodenja rodenja
U ovom trenutku sma postigli dovoljan stepen rasclanjenja koj! omogucava prevodenje ovog koraka
Ocjena Ocjena i [ Ocjena Ocjcna jOcjcna 1 ~Ocjena Ocjena: Ocjena ~ :Ocjena algoritrna u vecinu raspolozivih procedur~.Inih programskih jezika, jer svi navedani koraei vee pos-
j 2 N j 2 N j 2 N toje kao naredbe (naravno, sa drugaCijom sintaksom) praktlcno u svim proceduralnim jezicima.
Prosjek . Prosjek Prosjek
~
Razmotrimo sada SljedetLkor~k, ko]i zahtije\l.a racunanje prosjeka za sve ucenike. Jasno je da
UCENIK 1 UCENIK 2 UCENIK3 ovo racunanje mozemo svesti na niz racunanja prosjeka za svakog ucenika pojedinacno:
Vee na ovom mjestu javlja se ovisnost dizajna ad konkretnog pragramskog jezika koji cemo upotri-
jebiti. Ovaj dizajn prilagoaen je modernim jezicima kao 8tO su Pascal i C. Stariji jezici, poput "* Za slle ucenike od prvog do posljedllJeg, radi sljedde:
klasicnog BAS1C-a i FORTRAtJ.:-a 77, ne dozvoljavaju pakovanje raznorodnih podataka u jednu "* IzmGTunaj pmsjek za tekuieg ucenika.
cjelinu, tako da bismo npr. u klasicnom BASIC-u morali posebno cuvati skupinu imena, skupinu
prezimena, skupinu godina roaenja, skupinu oejena itd. Ova] opis je moguce prevesti u konkretan programski jezik jedino ukotiko jezik kojim raspolazemo
posjeduje naredbu za racunanje prosjeka niza brojeva. Mada pastoje i takvi programski jezici, u
Nakan sto smo osmislili neophodne strukture podataka, neophodno je osmisliti algoritam kajim veeini jezika je neophodno prosjek racunati sabiranjem svih brojeva i dijeljenjem nadene sume sa
6emo ostvariti zadani cilj. Pokusajmo prvo ugrubo sklcirati sta je sve neophodno da uradimo. Na brojem sabiraka (tj. brojeva). Sabiranje svih brojeva u nizu je opet u veeini jezika neophodno rea-
osnovu postavke problema, vidimo da je neophodno prvo unijeti podatke, zatim ih sortirati i prikaza- lizirati dodavanjem jednog po jednog broja na tekucu sumu (koju na pocetku postavljamo na nu!u).
ti sortirani spisak. Sortiranje je potrebno izvrslti po prosjeku, Mada u opisu pmblema to nije poseb- Medutim, ne smijemo zaboravitl na cinjenicu da se u obrazovnom sistemu prosjek ucenika koji ima
no naglaseno, pretpostavlja se da podatke 0 prosjeku za svakog ucenika kor'lsnik nece unositi rucno, makar jednu s!abu ocjenu Uedinicu) ne racuna, nego se u tom slucaju uzima da je prosjek takoder
nego se od racunara ocekuje da te podatke izracuna na osnovu podataka 0 ocjenama svakog od jednak jedlnici. Ovu elnjenicu takoder treba ukljuCiti u algoritam. Nakon ovog razmatranja, mozerno
ucenika. Na osnovu ovog razmatranja, mazemo predloziti grubu skieu algoritma: prikazati razradenu verziju koraka "Izracunaj prosjek za sve ucenike"~

~ Unesi podalke 0 .I'vim Ilcenicima; ~ Za sve ucenike od pnl(!g do posljednjeg, radi sljedece:
"* Izracunaj prosjek za sve u(cnike; "* Posta vi tekucu sumu na rllllu;
"* Sortiraj spisak po pro~jcku; "* Pretpostavi da ucenik Itema slahilt- o('jena;
"'* PrikatJ sortirani .izvjdtqj. =.:> Za ,I've predmete od pnJog do posljednjeg, radi sljedde:
"'* Ulwliko je ocjefla iz tekuceg predmeta jeduaka jedillici, onda:
Problem u predlozenoj skici algoritma je u tome sto se ona ne sastajl ad naredbi koje razumije ijedan "* Zapamti da ucenik ima slubih ocjena;
raspolozivi programski jezik. 8toga je neophodno korake iz algorltma dalje rasclanjivati sve dok
=t> U suproinom:
algoritam ne svedemo na _korake koji se direkino mogu prevesti u programski jezik koji ielimo da
koristimo. Mada stepen detaljnosti do kojeg se mora vrsiti ovo raSt:lanjivanje zavisi od konkretnog
"* Dodaj o('jenu iz tekuceg predmeia na tekucu sumu;
programskog jezika, vecina_ proceduralnih programskih jezika zahtijeva rasclanjivanje na prilicno "* Ukoliko ucenik ima slubili ocjena"onda:
eiementarne operacije (napomenimo,da bi se u neproceduralnom jeziku prilagodenom ovom tipu =t> Proglasi jediniclI za pro.ljek;
problema, poput SQL -a, -qUaY probJe'm- rljesio pomocu jedne jedine naredbe, ako zanemarirno =t> U suprotnom: ".,-
naredbe neopho~rie ta
ul)Oi? 'p,odataka). "* lzracunaj prosjek kao-~olicnjk t2!{U,r!e);[lme -1 broja predmeta.
" "

Kreni~o prvo ad kor~ka 5}r)esr p-odatke _0 svirn _\Jc,enicima". Gotovo ni jedan programski jezik ne Ovaj opis je, kao sto cerna kasnije vidjeti, neposredno-prevod!v~u v:ecinu proc.eduralnihjezika.
"--., .-'. " '

dozvoljava da se.-lJtava-sK.WRlna podataka,unese jednom naredborn (osim mozda FORTRAN-a, (:jja


naredba READ dopusta_ne~tc~ sllcno). Stoga se ovaj korak mora rasCianiti na niz koraka kojima se S!jedeCi korak, koji glasi "Sortiraj listu po prosjeku", 'PriJi(i~;1'e ~elikata~. Ukoliko radimo sa pro-
unose podaci_ 0 syaKo,m ,'uC'eni~u pojedinacno: gramskim jezikom koji posjeduje naredbu za sortir~l!je'-Ijst~' p'o:pt~jzvoljnom kriteriju, mozemo reci da-
imama srece (takva je, na primjer, naredba 'qso:rt'. \J jezik.u C). ~rE?tpostavimo, medutim, da jezik
'9 Za ,,"Tie lI(cnik( od prv.og do posljednjeg, radi s/jedeee: koji zelimo da koristimo ne posjeduje takv~ naredbu (sto 'i.~ prHicn_o vjerovatno). Razmislimo kako
~ Ull'e~-i pudutke 0 tekuG'em lIceniku. blsmo mogJi rasclaniti ovaj korak na prostije korake. Prvo};toireba da pokusamo je da anaHziramo
kako bismo mi rucno sortirali Jistu ucenika. Mozemo, na pr~mjer, predloiiti sljeded postupak:
259
258
:::::> No.di ucel1ika so. najhoUim prosjekmn i prebaci go. no. prvo mjesto u listi; Na svu srecu, dalja razradivanja nisu potrebna: apisani a!goritam se lako neposredno prevodi u
:::::> Meritt preostalim uccnicima nodi ucenika so najhoUim prosjekom i prebaci ga no. drugo veeinu programskih jezika, jer se svi njegovi koracl mogu realizirati kao -naredbe u konkretnim pro-
mJesto u listi; ceduralnim programskim jezicima, bez potrebe za daljim rasclanjivanjem.
"'* Medu preostalim I/cenicima nadi U(l'f1ikn so. najholjim pr(njekom i prcbaci go. no. treee
mjesto u listi; Preostao nam je jos jedino korak "Prikazi sortirani izvjestaj" iz pocetnog algorltma, Gija je razra-
da, nakon svega sto sma prosli, sasvim jednostavna:

Nazalost, ovaj opis je nedovoljna precizan. U apisu sma upotrijebHi tri tackice eije je znaeenje "'* Za sve ucenike od prvog do posljednjeg (iz sortiranc liste), rodi sljcdcee:
covjeku pasve jasno. Medutim, algoritmi S6 ne mogu ovako opisivati. Algoritam se mora sastojati ad "'* !spW jJodatke 0 imcnu, pre;:il11cl1ll, datulI1u rodenja i prosjeku za t'eku(eg IIcenika.
jasnog i precizno odredenog niza koraka, u kojem ne postoje nikakve nedoumice. Probajmo stoga
malo formalizirati ovaj opis. Ukollko uvedemo indeks i koji oznacava redni braj razmatranog ucenika Ovim smo zavrsili razvoj naseg "pragrama", koji mazemo nazvati apstraktni program (iii pseudo
(i je broj u opsegu ad 1 do N, gdje je N ukupan broj ucenika), gore predlazeni opis se maze pre" kod), jer se nismo vezali ni za kakav konkretan programski jezjk. Razvijeni apstraktni program posve
ciznije zapisati na sljedeci nacin: je Jako prevesti u konkretne programske jezike (primjer ovakvog prevodenja dat je u poglavlju 3.11).
Najtezi dio programerskog posla je upravo kreiranje apstraktnog programa, dok je njegovo prevodenje
~ Za Sl'e !f(~cnike
odpn:og do prctposljcdnjeg, radi .\'ljedde (i =: rcdni braj ra:matmnog u!:enikn): u konkretan programski jezik najeesce rutinski posao, pogotovo za iskusnijeg pragramera.
:::::> Medu u.cenicima od i"tog do posljednjeg narii ucenfka sa najholjim prosJekom;
"* Prehaci /1([(tcnog ucenika no. i-to mjesto u listi. Prilikom razvoja ovog apstraktnog programa, koristili smo metodolagiju koja se zasnivala na tome
da prvo grubo skiciramo kostur algoritma, ada zatim svaki od upotrijebljenjh koraka dalje rasclanju-
Ovaj opis vee ima formu algoritma. Medutim, i u njemu se javljaju izvjesne nedoum!ce, odnosno jemo i razradujemo sve dok ne prepoznamo da S9 rasclanjeni koraci mogu direktno prevesti u
nedorecenostL Naime, kada nademo ucenika kojeg treba dovesti na Ha mjesto u listi, sta uraditi sa naredbe pragramskag jezika koji zelima da koristima. Ovakva metodologija naziva S8 razvoj pro-
ucenikom koji je vee bio na tom mjestu? Mi bismo vjerovatno podrazumijevali (bez potrebe da nam grama sa vrha nanfze (eng1. top-down), 1predstavlja jednu ad najvise koristenih metodologija pro"
to il<o posebno naglasi) da tog u6enika treba pomjeriti na neko drugo mjesto, npr. na mjesto gdje je gramiranja uopce (mada postoje i druge metodalogije, npr. razvoj sa dna navisfJ, engl. bottom-up).
bio ucenik kojeg sma doveli na njegavo mjesto. Medutim, vee sma rekli da racunar ne podrazumi"
jeva nista, taka da je neaphodna gomji algaritam uCiniti preciznijim, na primjer na sljedeci nacln: Nekome, ko se nije nikada susretao sa programiranjem, moglo bi se uciniti da Je rezultiraju6i
apstraktni program prilicno dugacak. I zaista, ovaj apstraktni program preveden u bilo koji kankre-
:::::> Za sve rtccnike od pl1'og do prrtpos/j('dnjt'g. mdf sljedeee (i =: rcdni broj razmatmnog urrnika): tan proceduralni jezik (npr. Pascal) bio bl dugaeak oko tridesetak redova, mada je postavljeni prob"
"* Medu I{ccnidma od i-tog do poslj('dl~j('g rUldi ucenika sa najho/jim pro,sjdwm; lem djelovao gotova trivijalno. Mec1utim, neophodno j8 shvatiti da je raeunar obicna rnasina kojoj nije
"'* Prebaci nadenog ucenika na i-to mjesto u listi, ana njegovo mjeslo prebaci lako "objasniti" odredene cinjenice. Zbog toga, programiranje nije posve jednostavan proces i trati
ucenika koji je do tada bio na i-tom mjestu. dosta znanja i razvijenu logiku za apstraktno razmiSljanje. U skladu sa tim, i sam pojam sta su "mali"
a sta "veljki" programi donekle odudara od onoga sto Ijudi mogu pomisliti na prvi pagled. Nemojte
Da nisma preclzirali 8ta treba raditi sa ucenikom koji se vee nalazio na i"tom mjestu, racunar bi podatke a pomisliti da je apstraktni program koji sma upravo razvili "velik"; danas sa svi programi Gija je duzi"
njemu najvjerovatnije izgubia (jer bi na njegovo mjesto dovea nove podatke, a stare podatke nije saeuvao na kraea ad nekoliko hlljada redova smatraju "malim", dok se "velikim" programima nazivaju pro-
nlgdje). Upravo ova cinjenica potetnicima stvam prilicne teskoCe prllikom programiranja: Ijudi jednostavno graml eija se duzina izrazava u stotinama hiljada pa eak i milionima redova (takvi programi nisu
nisu naviklf da u svakodnevnom komuniciranju naglasavaju sve pOjedinosti postupaka koje obavljaju. nikakva rijetkost: Wincbws operativni sistemi i svi programi iz Microsoft Office paketa, poput
Microsoft Warda, spadaju u kategoriju "velikih" programa).
Mada je ova) algoritam mnogo precizniji i razradenlji nego ptvobitni, on jos uvijek nije neposred-
no prevadiv nit! u jedan programski jezik. Naime, fraza "nadi ucenika sa najboijim prosjekom" ne
maze se neposredno iskazati u proceduralnim jezicima. Neophodno je racunt;lru objasniti kako da
nade takvog u6enika. Ideju za nalazenje takvog u6enika u prln~cipu sma iz!ozili na samom poeetku 3.2.3 Struktuiranl pristup razvoju programa
ovog poglavlja, prilikam ilustracije a!goritma za nalazenje najveee_g i najmanjeg proja u nlzu brojeva.
Ovu ideju mazema ugraditi u prethodni algaritam, eime. do.bijarno novl:_'razradeniji algaritam: Prilikom razvoja apstraktnog programa u- prethodnom odjeljku, mogli sma primijetiti da hi jedari
ad koraka algoritma nije bio numeriran. Medutim, sve do kasnih osamdesetih godlna' bilci-le
~ Za Sl'C uccnike (ld prvog do prctposljcdnjeg, nidi slfc4c;e(i =: rNlili.b;'o/~(t:;l11atranogll(tenika): uobicajeno da se algaritmi iskazuju u vidu numeriranih karaka, a da se sva grananja u algq~itmu
=:> Pretpo.I'lavi da upravo i-ti ucenik imn nnjbq1ji p.ro..\jek-i zap/,mlti nfegov prosjek; iskazuju u vidu iskaza oblika "idi na korak n", gdje je n braj koraka. Na prlmjer, pri takyom' stilu pj$a~
"'* Za sve ucenike od i+ 1.. 1'og do posljednjcg;-radDljedet.0) ... . - nja algoritma, nas algaritam za raeunanje prosjeka mogao bi izgledati ovako: -
~ Ako tekuCi lu\enik ima bolji prosjek oct d.o,~aifa.v;1jeg izajboljeg p;Qsjeka.
(Jnda:
"* Zapamti njegol' prosjekJ_-(edni"broj;
"* Prehaci ;:apmnccllog uccnilw 114 i-.to mjalo u li!>1i;-a na njt~((Olio mjesto prcbaci
ucenika kojije do ta4a bio na i"tom rnj;;.I'tu.
260 .261.
1. Kreni od prvog uceniku; tura ponavljanja, uvjet pod kojim se skupina iskaza ponavlja provjerava se na samom pocetku, taka
2. Postavi tekueu sumu na nll[u; da ukoliko uvjet Dije u startu ispunjen, navedena skupina iskaza neee se izvrSiti niti jedanput.
3. Kreni od prvog predme/u;
4. Ukoliko je ocjena jedllakajedinici, idi na korak 8; Metodologija programiranja u kojaj se pisanje programa svodi na upotrebu opisanih karakte-
5. Doda} oc}enu iz tekuceg predmeta na tekuet! sumu; risticnih struktura naziva se metodologija struktuiranog programiranja, i na njoi se zasniva pro-
gramiranje u veeini modernih programskih jezika. Svi moderni proceduralni jezici, paput Pascala i
6. Vkoliko nema vi.\:e ucellika idi na korak 10;
G-a, kao i modernije verzije BASIC-a i FORTRAN-a, posjeduju naredbe kojima S6 ovakve karakte-
7. Fredi fla sUedcCi predmet, zatim idi flU korak 4;
risticne strukture mogu neposredno izraziti.
8. Proglasi jedinicu za prvsjek;
9. Jdi na!wrak 11; 8truktuirani pristup programiranju olaksava i razvoj modularnog dizajna programa. Osnovna
10. /zracunaj pro5jek kao kohen-ik tekuee sume i broja predmeta; ideja ovakvog dizajna je da S8 program podijeli u vise manjih cjelina (potprograma), koji su, U 5tO js
11. Ukoliko I1cnw vi.{e ucenika, idi na korak 13; god moguee vecoj mjeri, neovisni jedan od drugog, Kod ovako dizajniranih programa, kontrola
12. Predi fla sljede(eg ucenika, zatim idi na korak 2; ispravnosti programa je znatno olaksana i, Sto je jos bitnije! program moze da radi tim Ijudi skora
13. Kraj. nezavisno jedan od drugog, U danasnje vrijeme, od programa se zahtijeva ne samo tacan i korek-
tan rad, vee i efikasnost, razumljlvost i modularan dizajn. Kako se ovi ciljevi posHzu, razmotrieemo
Ovakvi opis! algoritama obicno su bili praeeni dijagramima taka, i bili su prilagodeni starijim pro- kroz poglavlja kOja slijede.
gramskim jezicima (poput ALGOL-a) kao i starijlm verzijama programskih jezika BASIG i FORTRAN,
koji za realizaciju grananja koriste naredbu GOTO (najeesce u kombinaciji sa naredbom IF).
Medutim, prilikom razvoja slozenijih programa, avakav pristup pokazao se veoma nepraktican, jer le,
dovodio do programa koje je teska pratiti i jOs teze odrzavati. Zbog toga, u danasnje vrijerne, kod
svih savremenih teoreticara programiranja vlada misljenje da su algoritmi sa numeriranim koracima
kao i dijagrami toka izuzetno stetni za razvoj dobrog programerskog razmisljanja. 8toga je
neophodno algoritme preformulirati na takav naCin da se u potpunosti ellminira potreba za numeri-
ranjem koraka. To je moguee postiei svodenjem algoritama na karakteristicne algoritamske struk-
ture. Dvije forme prisutne u svim tipovima algoritama su sekvenca iskaza, u kojoj se iskazi izvode
onim redom kako su napisani, i iskazi grananja, kod kojih se izvrsavanje algoritma nastavlja ad
nekog drugog mjesta. 8ekvenca iskaza ocigledno ne zahtijeva numeraciju iskaza. 8 druge strane,
da bismo kod iskaza grananja izbjegli potrebu za numeracijom, moramo -ograniciti primjanu ovih
iskaza na odredene tipicne forme, U savremenim algoritmima to su:

Strukture grananja sa jednostrukim iii visestrukim izborom, u kojima se jedna grupa iskaza
izvfsava u s!ucaju da je neki uvjet ispunjen, a druga grupa iskaza u slucaju da isti uvjet nije
ispunjen. U opisu algoritama, ovakvi iskazi se rnogu opisati upotrebom karakteristicnih rijed i
fraza "ako", "ondEi' i "inace" (iii "u suprotnoni').
Strukture ponavljanja, u kojima se grupa iskaza ponavlja vise puta. Ove strukture se opet
mogu podijeliti u tri kategorije, U prvoj kategoriji je broj ponavljanja unaprijed poznat, i ovi iskazi
se mogu opisati upotrebom fraza peput "za sve vrijednosti od pocetne do krajnje, radi sljedece
iskazfl' (ovakve fraze smQ cesto imali U opisu algoritma koji smo razvili u prethodnem odjeljku).
U drugoj kategoriji, javlja $e potreba da se odredena skupina iskaza ponavlja sve dok je zado~
voljen odredeni uvjet; stomoiemo opisati-frazama poput"sve dokje uvjet fspunjen, radi slj'ede6e
iska.ze" (na primjer; _~'sve dok_ima ucenika u popisu, prikati podatke za teku6eg ucenika"). U
treeoj kategoriji! :odredeiJa.sklipina' iskaza-se ponavlja sve dok se odredeni uvjet ne zadovolji,
sto mozemo opisatl fraZ:Cim popuf"P9navljaj sljede6e iskaze sve dok se-uvjel ne ispun!' (na prim-
jer, "ponavljaj (f~~s:koma!l.de site ciok -korisnik ne,unese ispravnu komandU').

Strukture ponavija~;~ m~te;riQ~16g-;tki -pod;jelit1 na konacne, kod kojih se grupa iskaza ponavlja
konaean broj puta t J ,be~k(jfftic.ne, -kod kojlh se grupa iskaza ponavlja unedogled (tj. dok ne
iskljuCimo raeUn'af UJ d"ok_:ne-pre:kin~mo'program nasilno, sto se u veeini kompajlera postiie kombi-
nacijom tipkJ Gtrl +.- Break iii Glr! + ._C), ,Takoder, strukture ponavljanja mozemo podijeliti i na bez~
uvjetne j' uvjetne. Kod- beiuvtetnih strukfura- ponavljanja, skupina iskaza se izrsava barem jedan~
-. put, a tek nakon-toga dola~,do provjere da Ii treba istu skupinu iskaza ponoviti. Kod uvjetnih struk~
262 263
Pitanja i zadaci 3.3 ELEMENTI PROGRAMSKOG JEZIKA PASCAL
1. U camu js sustlnska razlika izmedu proceduralnog i neproceduralnog komunidranja sa
racunarom? 3.3.1 Zasto Pascal?!
2. Koja su ogranicenja neproceduralnog komuniciranja?
3. U cemu S9 sastojl metodologija proceduralnog komuniciranja? Izlaganje 0 programskom jeziku Pascal zapotet cemo odgovorom na pltanje koje uteniei testo
4. Zbog cega programiranje nile jednostavan proces? postavljaju prilikom prvog susreta sa ovim jezikom: Zasto, bas Pascal?! Nairne, utenlei' se veoma
5. Sta predstavlja dizajniranje struktura podataka? cesto susreeu sa misljenjem samozvanih "informatickih strucnjaka" koji zastupaju stay da Pascal ama
bas nicemu ne sluzi, da je zastario programski jezik, da je u potpunosti istlsnut u korist modernijih pro-
6. OpiMe razvoj programa sa vrha nanize.
gramskih jezika kao 8tO su C++, Java itd. Mada ovakvi stavovi nisu u potpunostl bez osnova, oni su u
7. Sta je struktuirano programiranje?
najmanju ruku pretjerani. Na prvom mjestu, treba napomenuti da su moderni programski jezid znat-
8. Sta je modularni dizajn programa? no tazi od Pascala, i da veGina literature koja obraduje ove jezike polazi ad pretpostavke da citaoei vee
9. Koje se karakteristicne algorltamske strukture javljaju pri struktuiranom programiranju? poznaju naki proeeduralni jezlk, obicno upravo Pascal. Dakle, poznavanje Pascafa je cesto preduvjet
10. Kako mazema padijeliti strukture ponavljanja? za savladavanje drugih proceduralnih i objektno-orijentiranih programskih jezika. Zbog svoje strogosti,
11. Sta 6e se desiti ukoliko u strukturama ponavljanja nek] uvjet ~ije ispunjen nikada, asia ukoHko Pascafje idealan programski jezik za savladavanje metodologije proceduralnog programiranja, i dobar
je ispunjen uvijel<? Na koji nacin ponasanje u ovim situacijama ovisi od konkretne kategorije je preduvjet za kasnije ueenje modernijih programskih jezika. Na primjer, ucenje jezika C++ bez
strukture ponavljanja? prethodnog poznavanja Pascala dovodi do velikih tesko6a. Jezik C++ je mnogo manje strog od
Pascala, zbog toga sto se pretpostavlja da je programer iskusan, i da dobro zna sta radL Kao poslje-
12. Sastavite apstraktni program za rjesavanje kvadratne jednaCine. Pri tome pokusajte da pred-
diea tog nedostatka strogost1, mnoge greske koje bi kompajler za Pascal automatski detektirao, kod
vidite sve slutajeve koji mogu nastupiti (ukljuGujuCi i sluGaj kada je koeficijent uz kvadratni 61an
jednak nuli, tako da se jednacina svodi na linearnu). C++-8 mogu ostati neprimijecene (zbog toga sto C++ kompajler pretpostavlja da je programer bas hUo
da obav! neku prividnu nelogicnost, da bi postigao neki tr1k kojim ce optimizirati program).
13. Sastavite apstraktni program koji predlaze spisak ut8nika za skolsko takmicenjc iz matematlke,
pri cemu je kriterij izbora oejena iz matematike.
Mozda b1 se razlika izmedu programiranja u Pascalu i C++-u mogla uporedlti sa razlikom izmedu
voznje nekog automobila ogranieenih mogucnosti (npr. Fi6e) i nekog supermocnog automobila (npr.
Fom?ule 1). Sa Ffcomvozac ne moze postiCi velike brzine, nltl razviti veliku snagu, ali vjerovatnoca udesa
nije velika, a i ako dode do njega, posljedice obicno nisu preveJike. S druge strane, Formula 1 postite
ogromne brzine i razvija veliku snagu, medutim neiskusan vozae maze veoma lako lzazvati udes, cesto
sa fatalnim posljed1cama. Ucenje jezika kao sIa su C++ (pa 1clava) bez prethodnog poznavanja Pascala,
donekle podsjeea na utenje voznje na Formu/i 1 bez prethodne obuke na slab1jim automobilima.

Na kraju ovog uvodnog izlaganja, vrijedi reCi da su tvrdnje da je Pascaf "zastario f neupotrebljiv
programski jezik" takoder dlskutabilne. Ukoliko se misli na standardni (lzvorni) Pascal, on zaista nije
prikladan za pisanje ozbiljnijih programa, vee prvenstveno za ucenje progmmiranja. Medutim, danas
postoje i mnogo naprednije verz1je Pascala. Na prvom mjestu, postoji Extended Pascal, koji pred-
stavlja noviju "standardnu" verziju Pascala. Narocito je upotreb!jiva verzija nazvana Turbo Pascal
kOja je, mada s!uzbeno ne predstav!ja standard! toliko rasirena na PC racunarima da se izborila za
nezvanicni status "nesluzbenog standarda za jezik Pascal na PC racunarima". f',!e 'smijemo zabo-
raviti ni na Object Pesca! (cesto pogresno nazvan Delphi - sam jezik so zove Object Pascal, a De/phi
Je integrirano razvojno okruzenje za vizua!no programiranje koje koristi ovaj jezik). Danas se sve
,I
veei broj komercijalnih programa razvija uz pomo6 Delphi razvojnog sistema, za sta je potrebnopoz-
navanje Object Pascala, koji nije nista drugo nego znatno dopunjeni Pascal. Kao dokaz u prilog pvoj
tvrdnji, napomenimo da se- svi programi iz ovog udzbenika, mada posve jednostavni i 'pjs~rii -u ~
izvornom Pascalu, mogu uspjesno kompajlirati u Delphi razvojnom sistemu! "

.,'- "
3.3.2 Sintaksa, gramatika i semantika

Prije iz!aganja konkretnih elemenata programskog jezika Pascal, podsjetimo se daj.:va,kt jezik., .
bilo govorni iIi programski, posjeduje svoju sintaksu, gramatiku, i semantiku (treba.napomerjuti-da
neki autori ne razdvajaju s1ntaksu od gramatike, taka da oboje svrstavaju u simak-su). Sinlaksa.
definira pravila pisanja rijeCi nel<og jezika. Na primjer, napisemo Ii "Idem kuc{ tranvajem.", napravilf .
264 265 -
sma sintaksnu gresku, jer r(jec "tranvajem' ntje ispravna napisana (treba "tramvajem"), Gramatika o
definira pravita fspravnog povezfvanja rijecf u recenice. Na primjer, recenica "Sulra sam i6f u kino." 173
ne sadrzi sintaksne greske, jer su sve rijeei ispravno napisane, ali sadrii gramaticku gresku, jer -1.'312
pomocni glagol "sam' ne ide uz budu6e nego' uz proslo vrijeme (naravno, trebalo bi napisati "6u' +27
umjesto "sam'. Konacno, semantika definira znacenje recenice, Maguce je form irati sasvim sintak- 0023
sno j gramaticki ispravne recenice, ali semanti6ki neispravne, jer nemaju smisla (npr. "KiSa cita
pap!r.", iii jos drasticniji primjer iz knjige D. CvetkoiJica, "Praskozorje ceslja slak/o umiljatim nogavi Konstanta 0023 u posljednjem primjeru identicnaje konstanti 23, jer se nule na pocetku ignoriraju.
cama, a narocito ad mrkve."). .
Realne konstante obavezno sadrze cijeli i decimalni dio, koji se razdvajaju decimalnom tackom
I sintaksa i gramatika nekog jezika mogu se precizno opisati formalnim matematickim pravlllma (a na zarezom, kao 5tO je uobicajeno u matematici). Cijeli i decimalni dio moraju sadriavati barem
(najpoznatiji takav opis je tzv. Backus-Nauerova forma), sto omogucava kompajleru da izvrsi jednu cifru: Za pisanje veoma velikih iii veoma malih brojeva, moguce je koristiti sintaksu mEe koja
detaljnu provjeru sintakse i gramatike napisanog programa, i da nam ukaze na ucinjene greske. Sa predstav!ja m iDe, odnosno "m puta 10 na i'. Pri tome je m eijeli iii realni bro) (sa iii bez predzna-
semantikom ie situadja znatno teza. Semantiku je prakticno nemoguce u potpunosti forma!izirati, ka) nazvan mantisa, dok je e cijeli brai (sa iii bez predznaka) nazvan eksponent. Simbol "E" koji
tako da nam na veCinu semantickih gresaka kompajler ne maze ukazati, nego se one otkrivaju tek oznacava "puta 10 na" moze se pisati i kao malo s!ovo "e" (inate, Pascal ne pray! razliku izmedu
u fazi izvrsavanja i testiranja programa, sto ie cesto veoma naporan i dosadan posao. malih i velikih slova). Zapis broja u obliku mEe nazivamo eksponencijalna notacija ill zapis u formi
pokretnog zareza, SHjedi nekoliko primjera ispravno napisanih realnih konstantl:
Sustinska razlika izmec1u programskih i govornih jezika ie u tome sto programski jezici posjeduju
mnogo manji broj rijed, ne posjeduju sinonime, i imaju znatno strotu i precizniju gramatiku, time se izb 23.5
jegava mogucnost dvosmislenog tumacenja. U govomim jezicima, prisustvo redudancije 0 kojoj sma 173.0
govorili u prvam poglavlju, eesto omogucava korektnu interpretaciju recenice cak i ukoliko ]e ona +174.2
pravapisno iii gramati6ki (pa ponekad cak isemanti6ki) nekorektna. Kod programskih jezika, koji ne pos -0.01234
jeduju redudaneiju, iii ]e ona svedena na minimum, sintaksa i gramatika jezika moraju se strogo 55E6 (Ovo mati 5510")
postovati. U suprotnom, prevodilac (kompajler) nece biti u stanju da zakljuCi sta smo ze!jeli da kazema. -3 8E+03 (Ovoznaci -3.8lO J )
12.0e-5 (01'0 maGi 1210")

3.3.3 Ailabel jezika Pascal Primijetimo da, mada 173 i 173. 0 predstavljaju isH broj, 173 je cjeJobrojna a 173. 0 realna
konstanta.
Opis svakog jezika neophodno je zapoeeti navodenjem skupa simbola (iii alfabeta) od kojih se
grade fijeei i iskazi tog jezika. Alfabet programskog jezika Pascal sastoji se od svih velikih i malih Znakovne konstante (poznate jos pod imenom stringovne iii alfanumeri6ke konsianle), sasto
slova engleskog alfabeta, cifara 0 - 9, i sljedecih specijalnih znakova: je se ad proizvoljnog niza znakova (bez obzira da Ii pripadaju alfabetu jezika Pascal iii ne), koji su
na pocetku i kraju omedeni znakom "apostrof" ('), koji se ne smatra sastavnirn dijelom znakovne
+ - + < > '" konstante. Ukoliko telimo da unutar niza znakova koji tine znakovnu konstantu upotrijebimo bas
znak apostrof, on se tada mora pisali udvojeno (ti. uduplano). Slijede primjeri ispravno napisanih
Mada standard Pascala predvida upotrebu znaka (t), danas je umjesto njega cesee u upotrebi znak znakovnih konstanti (sa pojedinim propratnim objasnjenjima):
(A). Alfabet verzije Turbo Pascal ukljucuje jos i sljede6e znakove:
'A' (Ova kOflslanla sadrzi .1'01110 jedno slol'o)
@ $ - 'DohaI' dan'
'Dzevad' (Na,fa slova su dozvo(jena UI/ular znakovnih fwnstanti)
Pored toga, alfabet jezlka Pascal ukljucuje i prazninu (iii blanko znak). Mada se praznina ne vidi na 'DZEVAD'
ekranu, i ona predstavlja znak (i to cesto veoma vazan), jer racunar mora na neki naCin zapamtiti u , Razrnaci (Razmaci se Ire/ira)u kau i svaki drugi znak)
memoriji Cinjenicu da na nekom mjestu zelimo prazan prostor! ' , d87 33 654-321'
'j!s%&cXX!-a?' (Ova koltslulltaje valjana, iako sadrzi znakol'c izvan alfabela)
(Ovoje tzv.prazna kOllsfanta, koja ne sadrii uiSla)
3.3.4 Kons!anle kao element; jezika Pascal c 'That' '8 good!' (Ova iWllstanta sadri) rdenicu "That's good!")
(Ova kOnl'lultla sadrii sumo jedan apustmj!)
Od skupa simbola nekog jezika tvore se konstante, fijec! i iskazi (iii izjave). Konstante'-mogtl
biti brojcane i znakovne. Brojcane konstante mogu bit] cjelobrojne i rsalne. Cjelobrojne kons'tante, . Bitno je navesti da se znakovne konstante 'A' i 'a' (kao i ',Dzevad' j 'DZ,EVAD') razlikuju.
sastoje se sarno od cifara 0 '" g,'pri cemu ispred prve cifre moze eventualno stajati predzoa~_1: n(:-:, Znakovne konstante su jedini izuzetak u kojem Pascal pravi razliku izmedu malih i velikih sloval
Slijede primjeri ispravno napisanih cjelobrojnih konstanti: " , '

266 267
3.3.5 Rijeci jezika Pascal 3.3.6 Iskazi i komenlari

Sve rljed koje poznaje jezik Pascal dijele se na kljucne (iii r:ezervirane) rijeci, predefinirane rijeci {skazi (izjave) jezika Pascal sastoje se od konstanti, rijeei i drugih znakova Pascal alfabeta
i karisnicki definifane njeei (iii identifikaton). Sve rijeel jezika Pascal sastoje se iskljucivo od slova (operatora i separatora), na nacin ko]! je propisan gramatiekirn pravilima jezika. Iskazi sluze za opis
engleskog alfabeta (dakle, nasa slova nisu dozvoljena) i clfara, pri cemu cifra ne smije bit! na prvoj struktura podataka.koje de se koristiti u programu (tzv. dekfarativni iskaz~, kao i za opis postupa-
poztelji. Rijed moraju biti razdvojene jedna od druge barem jednomvrazninom, iii nekim znakom kojl ka koji 6e se obavljati nad tim podacima (tzv. izvrsni iskazn. Operator; su znakovi (ponekad i
ne tvori r!jee (na primjer, zarezom, znakom +, ltd,). skupine znalmva) kojr predstavljaju neku operaciju (npr. znak + predstavlja operaciju sabiranja),
dok su separator; znakovi koji razdvajaju jednu cjelinu od druge, poput znakova zarez (, ), dvotacka
Kfjucne rjjee; su one rijed koje predstavljaju srt svakog- Pascal-programa. One imaju tacna (:), tacka-zarez (i), itd. NaroCito bitan separator u jeziku Pascal je iatka-zarez (;) kofi razdvaja
odredena unaprijed definirana znacenja, i njihova znacenje je nemogu6e promijenit1. Dakle, ove jedan iskaz od drugog. 0 ovome 6e biti vise govora u narednim poglavljima.
rijed u programu se mogu koristiti samo za tacno odredenu namjenu, i nizasta drugo. Na primjer,
kljucne rijea jezika BASIC su PRIN'r, INPUT, GOTO, IF, FOR, SQR, ADS, itd. Standardni Pascal Sintaksa jezika Pascal predvida da bilo koji dio Pascal programa koji je omeden vltieastim
posjeduje 35 kljuenih rijeei, koje su prikazane u sljedecaj tablici: zagradama predstavlja komentar, i raeunar se na njega uopce ne obazire prilikom izvrsavanja pro-
grama. Jedlna svrha komentara je da olaksa razumijevanje programa onom ko cita program. Drugim
=d array begin case canst rijecima, uloga vitlcastih zagrada je slicna ulozi REH naredbe u BASIC-u. Kornentar moze sadrza-
div do downto else end vati rna kakve znakove, ukljucujuci j znakove izvan alfabeta Pasea/a (npr. nasa slova),
file for forward function gato
if in label mod nil
not or packed procedure program
record repeat oet then to
type until ver while with

Varijanta Turbo Pascal jezika Pascal (koja S8 danas pretezno koristi) posjeduje i sljedece kljucne
rijeci (preuzeto iz verzije Turbo Pascal 6.0 ):

absolute asro assembler constructor destructor


'\,;
external implementation inline interface interrupt .;1
.,j
object shl shr string unit
uses virtual xor 'I
1
Predefinkane rijeci su one rijed koje posjeduju unaprijed definirano znacenje, mada je njihovo
znaeenje mogu6e promijeniti. Na primjer, rijee write podrazumfjevano predstavlja naredbu za
ispis podataka na ekran, dok rijee sqrt podrazumijevano predstavlja funkciju za racunanje
kvadratnog korijena. Za razliku od kljucnih rijeci, predefiniranim rijecima programer mote promije-
nit! znacenje, taka da je principijelno mogude definirati da rilec write nalazi, recima, rjesenja
kvadratne jednaeine (mada se takva praksa zaista ne preporucuje). Programski jezik BASIC ne pos-
jeduje predefinirane djeci: njemu su sve rijed iii kljucne iii korisnicki definirane rijeeL Pascal posje-
duje manji braj kljucnlh rijeb, ali zato posjeduje prilican broj predeflniranih rijecL Tako, standardni
Pascal posjeduje nekoHko desetina predefiniranih riieei, dok je broj predefiniranih djeCi u moderniJim
verzijama Pascala daleko vedi (u verziji Turbo Pascal njihov brai prelazi 1000).

Korisn;r3ki definirane rijeci (ldentfffkatorn su one rijeci koje nemaju nikakvo unaprijed pred-
videnp znacenje, nego njihovo znaeenje definira programer. U jeziku BASIC, korisnicki definirane
rijeei su uglavnom imena promjenljivih, dok u Pascafu korisnicki definirane-rijeci imaju znatno siru
-primjenu, Za razliku ad BASIC"a, sve korisnicki definirane rijeel u Pascalu rnoraju biti prethodno
najavljene (dek/arirane) u posebnom dijelu programa koji se naziva deklarativni dio programa. 0
ovama 6e detaljno biti govora u sljede6em poglavlju.

Radi jasno6e, u svim primjerima u ovom udzbeniku, kljucne rijeei jezika Pascal bi6e pisane
. masnim slovima, ostali ugradeni elernenti Pascala (predefinirane rljeel) biGe pisani obicnim
slovima, dok ce se imena koja definira korisnik (korisnicke rijec!) pisati nakosenim slovima.

268 269
Pitanja i zadaci 3.4 STRUKTURA PASCAL PROGRAMA

1. Sta su sintaksa, gramatika i semantika nekog jezika?


2. Zbog 68ga mazema razumjeti covjeka koji grijesi u sintaksi i gramatici, a racunar ne moze. 3.4.1 Uporedivanje BASIC i Pascal programa
razumjetl sintaksn-o i gramaticki neispravan program?
3. Od 6aga se sastoji alfabet jezika Pascaf? Pascal je pragramski jezik ko]! korisnika primorava da se pridrtava strogo propisane strukturs
prilikom pisanja programa. Ovu strukturu najbolje je ilustrirati na konkretnom primjeru. Neka je
4. Zaokruzite neispravne realne konstante u sljedecem popisu:
patrebna napisati program koji prvo brise ekran, zatim trazi ad korisnika da unese neki broj sa tas-
a) 274,23 b) 37.121 c) 3E4 d) 3c4 e) 123 f) -12e-12 g) +123.321 tature- i, na kraju, ispisuje na ekran uneseni broj uvecan za 1. U programskom jeziku BASIC, taj pro-
5. Zaokrutite neispravne znakovne konstante u sljedecem popisu: gram bi, na primjer, mogaa izgledati ovako:
a) '#$%&/(' b) 'Sirnica c) zeljanica d) 'Jogurt' e) 'I'm king'
f) 'U?:::) (/)// g) 'I am "king'" h) '" i) 'I"m king'j) , 10 REM OVAJ PROGRAM ISPISUJE UNESENI BROJ UVECAN ZA 1
20 CLS
6. Sta su klju6ne, a sta predefinirane rljed? Navedite bar po dva primjera za svaku od njih. 30 INPU'l' broj
7. Zbog 6ega nije dobra promijen1ti znacenje neke predefinirane rijed? 40 PRINT' broj + 1
8. Sta SlJ identifikatori?
U Pascalu (verzlja Turbo Pasca~, isti program lzgledao bi ovako:
9. Koja su pravila za pisanje identifikatora?
10. Koje od sljedecih rijeei ne predstavljaju ispravne identifikatore: program pX'imjer (input, output);
a) haftudaftu b) U2 c) 2Pac d) Cevapi e) Burek { ovaj proqram .isp:isuje uneseni broj uvecan za 1 }
f) obim kruga g) DanArmije h) Paja Patak i) brzina j) duZina uses Crt;
11. Sta su iskazi, i kakve vrste lskaza postoje? var Braj : integer;
12. Sta su operatori, a sta separator1?
begin
13. Kako mazema ubaciti komentare u Pascal program (koje racunar ne treba da uzme u obzir)? eLmer;
readln (Rcaj) i
writeln (Emj + 1)
end.

Ovdje sma se oslonili na Turbo Pascal iskljucivo zbog clnjenice da standardni Pascal ne predvida
naredbu za brisanje ekrana (poput naredbe CLS u BASIC-u). Ovo ne predstavlja osabit problem,
s obzirom da je Turbo Pascal najrasprostranjenija verzija Pascala za PC raeunare.

Razlike izmedu programa u BAS/C-u i ovog programa su 06igledne, Stoga, razmotrimo pazljivi-
je ovaj program. Na prvom mjestu, BASIC programi se pisu pretezno velikim slovima, dok je
uobicajeno (ali ne i obavezno) da se Pascal program! pisu malim slovima mada, kao sta je vee
reeeno, Pascal (za raz!iku od jezlka C, C++ i Java) ne pravi nikal<vu razliku izmedu malih i velikih
slova, osim unutar znakovnih konstanti. Bitnije je uoeiti da se u Pascalu, <za razliku ad klasicnog
BASlc.a, ne koriste Nmjski brojevi (napomenimo da se oni ne moraju koristiti ni u nekim madernijim
verzijama BASIC-a, kao sto je npr. QBASIC). U nastavku cerno detaljnije analizirati prikazani Pascal
program, koji je ocigledno slozeniji od odgovaraju6eg BASIC prog,rama.

3.4.2 Zaglavlje programs

Na pocetku svakog Pascal programa mora se nalaziti zagJavlje programa. Ona zapoCinje kljutnom
rijed program, iza koje s!ijedi ime programa (Primjer U nasem primjeru), Ova kljucna rijee gavari
kompajleru da je rljee 0 programu, a ns 0 neC8mu drugom, npr. pt'Ogramskom- modulu, koji zapoCinje
kljucnom rijeei uni t (programski modul je skupina potprograma koji se mogu koristiti unutar drugih pra-
grama, ali koja sama za sebe ne predstavija kompletan program). Nakon nje slijede rije6i input. uko-
liko program cita podatke sa standardnog ulaznog uredaja (tipicno tastature), odnosno output uko-
liko program prikazuje izlazne podatke korisniku preka standardnog izlaznog uredaja (tipicno ekrana).

270 271
Ove rljeel se obavezno pisu u zagradama, i predstavljaju tzv, parametre programa. Na kraju zaglavlja prihvate. 0 ovome cemo kasnije govoriti detaljnije, U prethodnom primjeru, deklaracija
(kao i na kraju vecine naredbi jezika Pasca~ n?lazi se tacka-zarez. Vrijedi napomenuti da ve!iki braj
danasnjih kompajlera za Pascal dozvoljava da se zaglavlje programa izostavi, tako da bi program radio var Broj : integer;
j ukoliko bismo potpuno jzostavili prvi red programa (tj. njegovo zaglavlje),
deklarira (najav!juje) promjenljivu nazvanu Broj koja moze sadrzavati sarno cjelobrojne vrijednos~
U narednom redu programa primjecujemo tekst "Ovaj program ispisuje uneseni broj uvecan ti, sfo je najavljeno pomocu oznake integer (rijee integer na engleskom jeziku znaci "eijell bra)").
za 1" napisan unutar viticastih zagrada { i}. Kao 8tO je vee ranije objasnjena, ovaj tekst predstavija
komentar, i racunar se na njega ne obazire prilikom izvrsavanja programa. Pored deklaracija promjenljivih, program moze sadrzavati i deklaracile drugih elemenata jezika
Pascal kao sto su npr, imenovane konstante, zatim definicije tipova, procedura, funkcija, ltd. 0 eemu
3.4.3 Deklaracijski dioprograma 6e kasnije bit! vise govora. Sve deklaracije zaJedno Cine dekfaracijskf dio programa, koji prethodi
;zvrsnom dijelu programa. Dok deklaracijski dio samo najavljuje strukture podataka koje ce se koris-
U primjeru ko)i sma razmatrali u prethodnom odjeljku, odmah nakon zaglavlja programa nalazi titi u programu, izvrsni dio sadrzi opis postupaka koji 6e se obavljati nad tim podacima (radi usporedbe,
se izjava (iskaz) mozemo smatrati da svi BASIC programi uglavnom posleduju samo izvrsni dio). !zvrsni dio programa
uvijek zapoeinje kljuenom rljeei begin, a zavrsava kljucnom riieel end, nakon koje obavezno sHjedi
uses crt; latka, koja oznaeava kraj programa. lzvrsni dio progral11a predsiavlja specijalni slucaj tzv. bloka, koji
predstavlja bilo koju skupinu naredbi koje su omedene sa begin i end. Svrhu blokova upoznacemo
Mada ova izjava nije sastavni dio izvornog Pascala, podrzana je u gotovo svim danasnjim ver- kasnije. Za sada je dovolino da znamo da iZVrSni dio programa takoder predstavlja jedan blok.
zijarna jezika Pascal, i upotrebljava se veoma eesto. Kljucna rilee uses govori kompajleru da 6e
program koristit1 neke naredbe koje nisu sastavni dio standardnog Pascala, pri eemu ime navedeno
iza uses (u nasem primjeru crt) predstavlja ime programskog modula u kojem su definlrane nes-
tandardne naredbe koje koristimo. U nasem primjeru koristena je nestandardna naredba clrscr 3.4.4 Izvfsni dlo programa
za brisanje ekrana (ad eng!. Qear cxeen), kOja je definirana u modulu nazvanom crt (od engl.
Qathode Bay lube). Svaki program koji teli da koristi naredbu za brisanje ekrana (i druge nes- Pogledajmo sada jos jedanput razmotreni primjer programa, i uocimo karakteristicne cjeline
tandardne naredbe definirane u modulu crt) mora sadrtavati ovu izjavu. kOje se javljaju u njemu:

Kao i BASIC, Pascal takoder poznaje pojam promjenlj;vih. Promjenljive (iii varijable) su slava program PrimJ'er (input, output); ---~- ............... zaglllF(ic plVgmma

II! rijeei koje sluze kao zamjena za neku vrijednost (ne nuzno brojeanu). Na primjer, promjenljiva { ovaj program ispisuje une13eni braj llvecan za 1 )
Braj maze sadrzavati vrijednost 10, dok promjenljiva Ime maze sadrtavati vrijednost 'Mirsad', uses crt;
deklamtijski dio
Preciznije reeeno, promjenljive su zaprava mjesta u memoriji u kojima se euvaju odredene vrijed- var Bro.1 : integer;
nosH, pri cemu programer pristupa sadrtaju promjenljivlh preko njihovih imena:

~
begin
cJrscr;
~ [~~~ readln(E1"O j) ;
writeln (Broj + 1)
izv,.fnidio
Braj Ime end.

Medutlm, za razliku od BASIC-a, u Pascalu se svaka ad promjenljivlh koje 6e se koristiti (kao i Ostaje jos da prokomentiramo izvrsnl dio ovog programa. Na ovom mjestu 6emo samo letimieno
mnogi drugi elementi jezika koji se opisuju- preko korisnieki definiranih rijeci) mora prethodno razjasniti smisao upotrilebljenih naredbi. Naredba clrscr, kao sto je vee reeeno, brise ekran (poput
deklarirati (najaviti), Na taj naein se smanjuje mogu6nost greske koja moie nastati ukoliko negdje naredbe CLS u BASIC-u). Naredba readln eeka da korisnik unese neku vrljednost pomocu stan-
u programu slucajno pogrijeSimo u imenu promjenljive, Na primjer, pretpostavimo da smo u BASIC-u
dardnog- ,Lilaznog ured,aja (tipieno tastature), a zatim smjesta unesenu vrijednost u promjenliivu eije ie
napisali sljede6i program, u kojem je greskom u redu 20 naplsano BRJ umjesto BROJ:
ime navedeno unutar- zagra9a (u nasem slueaju promjenljivu Broj), sHeno naredb! INPUT u
10 BROJ '" 5 BASIC-u. Kazem'o da if) prQmjehljiva Broj argument (iii parametafj naredbe readln. Argumenti
20 PRINT BRJ su, za,pr~v0, dopunske in-fonTlacije -koja treba pros!ijediti nekoj naredbi da bi efekat njenog izvrsava~
nj? bio.precizno~tf.efinirall.: I;J jeziku Pascal, argumenti svih naredbi, za razliku od BASIC-a, pisu se
Nakon pokretanja ovog programa, na ekranu bi umjesto ocekivane vrijednosti 5 bio ispisan braj 0, unutar zagrada. -Nare9ba. -wri t.?ln ispiiuje vrijednost svog argumenta na standardni izlazni uredaj
je-~ BROJ i BRO' nisu ista promjenljiva, au BASIC-u sve promJenljive imaju vrijednost 0 dok im se (tipicno-'ekr~n), n-a~o~'~tega._slijedi pr~lazak u novi red, s!icno naredbi PRIm' u BASIC-u.
l1e dodijeli neka druga vrijednost. U Pascalu bi ovakav tip greske bio odmah detektiran, Jer (neposw
tojeca) promjenljiva B&1 nije propisno najavljena, odnosno deklarirana. Mo;?emo, prim'ljetlti da se prakticno svaka naredba u Pascalu zavrsava znakom tacka~zarez.
Ovaj 2:n~k "tapravo,slut1 za razdvajanje naredbi (poput znaka dvotacka u BASIC-u), mada, za raz-
Deklaracija promjenljivih zapoeinje navodenjem kljucne rijeei var, Nakon toga sllledi popis 1iku od BASIG-a-; kraj raCla 'neoznaeava i kraj naredbe, tako da se jedna naredba moze protezati I u
promjenljivih koje deklariramo zajedna sa dozvoljenim skupom vrijednosti kole promjenljive mogu da vise redova, Upascafu,. kraj naredbe oznaeava iskljuCivo znak tacka~zarez. prj tome se taeka~zarez
272 273
mote (ali ne mora) izostaviti nakon naredbe koja se nalazi neposredno fspred oznake kraja bloka Pitanja i zadacl
end, Pored toga, suvisn! razmaci u programu se ignoriraju, osirn unutar znakovnih konstantL Stoga
bi patpuno Ist1 efekat kao prethodni program proizveo i sljedeci program: 1, Bta je zaglavlje programa?
program
2. Cernu slute promjenljlve?
Primje.r(input, 3. Bta je deklaracija promjenljivih?
output); uses 4. Sta Je deklaracijski, a sta izvrsni dio programa?
crt
5. Bta su argumenti naredbi u jeziku Pascan
var B.roj
6. Sta oznacavaju kljucne rijeei begin i end?
integer; 7. U sljedecem kratkom programu napravljeno je cak 6 gresaka. Pokusajte ih pronaci.
begin clJ:'scr; read (Broj
); program prva pomoc (output)
v"rite begin
(Bmj + writeln Broj
1 ) end. end

Naravno, ovakav program je posve necitljiv, tako da radi citljivosti programa treba paziti na sti! pisa- 8. U kojem slucaju separator tacka-zarez nije neophodan?
nja. Narocito Je pozeljno naredbe unutar blokova (t]. izmedu begin i end) pisati uvuceno, Jer se tako 9. Zbog eega je potrebno paziti na stil pisanja programa?
lakse uocava gdje pocinje a gdje zavrSava blok. To narocito dolazi do izrazaja kod duzih programa.

274 275
brze i efikasnije radi sa cjelobrojnim nego sa necjelobrojnim podacima, Takoder, cjelobrojne prom-
3.5 ELEMENTARNE STRUKTURE PODATAKA jenljive zauzimaju znatno manje memorije (dva do pet puta) nego realne promjenljive. Stoga, uko-
!iko znamo da neki podatak (ns primjer, broj ucenika u razredu) moze biti samo cijeli broj, tada bi
deklaracija promjenljive Broj Ucenika kao promjenljive realnog tipa bila cisto rasipanje, kako
3.5.1 Cjelobrojni tip memorije, tako i procesorskog vremena.

U jeziku Pascal, svaka promjenljiva mora imati svoj tip, koji ~dreduje skup vrijednosti koje ta Ukoliko zeHmo da deklariramo vh':>e promjenljivih raz/icitog tipa, kljucnu rijee var ne treba po-
promjenljiva moie uzimati. Svi tipovi podataka se mogu podijeliti na proste tipove i sloiene tipove. navljati, nego je, treba navesti sarno prllikom pIVe deklaracije. Na primjer, deklaracija
Na ovom mjestu cemo govoriti 0 prostim,tipovima, dok cerna slozene tipove razmatrati u poglavlju
3.9. U proste tipave podataka spadaju cetiri Dsnovna tips podataka: cjelobrojni tip, realni tip, . var prvi I Dxvgi : integer;
znakovni tip j log/cki (Buloy) tip, kao i dva Izvedena tips: pobrojani tip i intervalni tip. Treci real;

Izlaganje 0 elementamim strukturama podataka zapacet cemo opisom cjelobrojnog tips, koji deklarira promjenljive Prvi i Drugi kao cjelobrojne, a Treci kao realnu promjenljivu.
je najjednostavniji prosti tip. Uzmimo kao primjer deklaraciju

var Braj : integer;


3.5.3 Znakovni tip
Ova deklaracija oznacava da je tip promjenljive Broj tip integer, odnosno cjelobrajni tip (vee Promjenljive znakovnog tipa, odnosno tipa char, mogu kao svoju vrijednost sadrzavati
sma rekU da rijee "integer" na engleskom jeziku oznacava djeli braD. Tip promjenljive odreduje vrstu proizvoljan znak (karakter), to jest S{OVO, citru iii znak interpunkcije. Na primjer, ukoliko imamo
vrijednosti koje se mogu smjestiti u nju, kao i vrstu operacija koje se na nju mogu primjenjivati. Za deklaraciju
promjenljivu Broj iz gornjeg primjera, to znael da se u nju rnogu smjestati iskljuCivo djeli brojevi,
i da se na nju mogu primjenjivati iskljueivo aritmeticke operacije definirane za cijele brojeve. var Znc1k char;

Zbog nekih tehnickih ogranieenja, opseg vrijednosti koje se mogu smjestati U cjelobrojne prom- tada promjenljiva Znak maze sadrzavati reeimo slovo 'A', clfru ' 7' iii znak '?'. Treba obrati~
jenljive uvijek je ogranieen. U vecini verzija Pascafa (ukljucujuci Turbo Pascao, vrijednosti cjelobrojnih ti paznju da promjenljive Upa char mogu sadrzavati sarno jednu znakovnu vrijednost u jednam
promjenljivih ogranicene su na opseg od -32768 do 32767. Ovaj opseg cesto nije dovoljan, pa trenutku, tako da nije moguce u promjenljivu znak smjestiti npr. rijee 'Bicikl '. Ova se pokazalo kao
mnoge verzije Pascala (ukljucujuCi Turbo Pasca~ uvode i tip longint, koji je identiCan tipu veliko ogranicenje, pa mnoge verzije Pascala (ukljueuju6i Turbo Pasca~ uvode i tip string.
integer, osim sto dopusta znatno siri opseg vrijednosti (tipicno od -214'7483648 do Promjenljive ovog tipa (zvacemo ih promjenljive stringovnog tipS) mogu sadrzavati Citave rijeCi iii
2147483647), sto je dovoljno za vecinu primjena. Tako, ukoliko zelimo da povecamo opseg vrijed~ reeenice (duzine do 255 znakova). Tako, nakon deklaracije
nosti koje promjenljiva Broj moze da primi, pisat cemo deklaradju
var Recenica string;
var Broj longint;
promjenljiva Recenica maze sadrzavati recenicu 'Jute j e pada.la kiSa.', lnteresantno je
Ukoliko ze!imo da deklariramo vise promjenljivih koje su istog tipa, tada prilikom deklaracije uoClti da je string k!jucna rijec (dakle, znacenje joj se ne moze izmijeniti), mada integer, real
navodimo popis promjenljivih koje deklariramo, medusobno razdvojenih zarezima. Na primjer, i char nisu kljucne nego samo predefinirane rijeel, sto znaci da se njihova imena mogu upotrijebitl
i za druge namjene (time im se mijenja znatenje). Posmatrajmo, na primjer, sljedecu deklaraciju:
var prvi I Drugi, Treci integer i
var integer :real;

Ovom deklaracijom smo dektarirali promjenljivu nazvanu integer, eiii je tip real. o.vakvo-
3.5.2 Realni tip deklararlranje je vrlo losa praksa, jer sma na taj nacin izgubili tip integer, tako da nakon-.takve
deklaracije ne mozemo viSe definirati ni jednu promjenljivu cjelobrojnog tipa! .
Tip sliean cjelobrojnom tipu je rea/Vi tip, koji 'se ozriaeav8. sa reaL Promjenljive realnog tipa
mogu sadrzavati proizvoljne vrijednosti iz skupa realnih brotvaXpreciznije, ne bas sve, jer je i n]i- Bitno je napomenuti da, mada je strlngovni tip veoma srodan znakovnom tipu, on ipak ne:spada
hav opseg kao i brej decimala koje se pamte u promlenJjlvofogranice"n). Primjer dek!aracije prom-
jenljive realnog -tipa je: . - ". - u proste, nego u slozene tipove podataka (mada posjeduje lzvjesna svojstva pros_~~n ti~o~i3)._" ~

var Temperatura : real;


3.5.4 Logicki (Bulov) tip
Pazljiviji utenik ce primijetiti da standardni BASIC; riije 'razdVajao.brojcane promjenljive na cjelobrojne
j realne, nego su sve brojeane promjenijive mogle pamtJt(fealne vdjednostL_ 8toga razdvajanje koje
JOB jedan prosti tip koji je ugraden u programski jezik Pascal je log(ckl tip (ili 8uJov..tip, 9_-cast--
zahtijeva Pascal djeJuje kao_neophodno komp!iciranje. lpak, treba napomenuti da raeunar mnogo osnivaca matematicke !ogik0 George 800Iea), Promjenljive logickog tipa m-ogu imati sarno jednu o?
277
276
dvije moguce vrijednosti: true (taeno) i false (neta6no). Na primjer, ukoliko imamo deklaraciju type Sat'" 0 .. 23;
DanfJGodini = 1 366;
MaxInt;
var Punoljetan Boolean;

tada promjenljiva Punoljetan moze da ima samo vrijednost true Hi false (zaista, covjek Hk, Ovdje su deklarirani tipovi Sat, DanTJGodini i Nenegati.van, kao podskupovi tipa integer,
jeste iii nije purioljetan - trece mogucnostl nema). Rijee Boolean obi6no se pise veJikim s!ovom,- U posljednjoj deklaraciji upotrijebljena je predefiriirana konstanta Maxlnt k~ja pre~stavlja najvec,u
u znak postovanja licnosti G, Boolea, mada to nije obavezno. vrijednost kOja se moze upisati u promjenljivu tipa integer (ova konstanta Ima vrljednost 32767
u veCini verzija Pascafa). Ako sada deklariramo promjenljive

3.5.5 Pobrojani tip var Dan : DanUGodini;


Plata, Porez Nenegativan;

Jezik Pascal dozvoljava korisniku i definiranje vlastitih, odnosno korisnicki definiranih (ipava. Ovi
tada su vrijednosti tih promjenljivih ogranieene na definirane opsege: taka se promjenljivoj Dan ne
tipovi definiraju se uz pomoc kljucne rijeei type. Definicija tipova mora se nalaziti u programu prije
deklaracije promjenijivfh, Jedan od korisnieki definiranih tipova je pobrojani tip. Ovaj tip predstav- maze na primjer pridruziti vrijednost 400, dok promjenljive PJ.ata i Porez ne mog u sadrzavati
lja skup vrijednosti kOje je imenovao i uredio (tj. definirao im poredak) programer. Pobrojani tip S6 negativne vrijednostt. Dobra je praksa koristiti poddomenske promjenljive g~je 9?d ie to n:oguce .. Na
definira tako 5tO se ptvO definira ime tipa, zatim znak jednakosti, nakon eaga se unutar zagrada taj naein omogucavamo kompajleru detektiranje gresaka kOje mogu nastatl usljed slu6ajne dodjele
navodi popis vrijednosti (mec1usobno razdvojenlh zarezima) koje mogu uzimatl promjenljive tog tipa. vrijednosti izvan dozvoljenog opsega nekoj promjenljivoj.
Sve moguce vrijednosti moraju biti identifikatori, pisani u skladu sa pravilima pisanja rijeci u jeziku
Pascal. Na primjer, deklaracije Promjenljive intervalnog tipa moguce je deklariratl i bez posebnog uvodenja imenovanog inter~
valnog tipa. Na primjer, deklaracijom
type Boje C~ (Crvena, Zelena, P.Iava, Zuta, C=a, Bijela);
Dan'" (Ponedje.ljak, Utorak, Srijeda, Cetvrtak, Petak, Suoota, Nedjelja);
vax Dan 1 .. 366;
Rezultat "" (Poraz, Nerijeseno, FObjeda);

neposredno deklariramo promjenljivu Dan eiji je opseg ogranicen na opseg brojeva od 1 do 366,
definiraju tri nova tipa Baja, Dan i Rezultat. Promjenljive tipa Baja mogu imati samo vri-
bez prethodnog definiranja iniervalnog tipa ko]i predstavlja taj opseg.
jednosti Crvena, Ze1.ena, PlaYa, zuta, erna iii Bije.la (ali ne i Smedja iii
Ljubicasta, jer nigdje nismo definirali da su i to boje). Slieno vrijedi i za promjenljive tipa Dan i
Cjelobrojni, znakovni, logi6ki, pobrojani i intervalni tipovi zajedni6kin: ilTleno~ nazi~aju .se ordi
M

Rezul tat. Primijetimo da nije dozvoljeno da boju nazovemo zuta, jer isprav,ni Pascal identifika- nalni tipovi. Intervalni tip se moze definirati kao podskup. ma kakvog ordl~alnog tlpa (ail ne ! realnog
tori ne smiju sadrzavati znakove izvan engleskog alfabeta,
tipa, koji nije ordinalni tip). Tako su sasvim dozvoljene sljsde6e deklaraclJe:
Vazno je napomenuti da deklaracija tipa samo definira novi pojam (kao neku vrstu apstraktnog type DanUSedm.ici. "" (Pon, Uta, Sri, Cet, Pet, Sub, Ned) i
objekta), ali ne i konkretne primjerke novouvedenog pojma sa kojima mozemo zaista i obavljati neke RadniDan '" Pon .. Pet;
operacije. Tek kada deklariramo promjenljive koje su novouvedenog tipa, dobijamo konkretne objek~ VelikoS.lovo '" 'A' .. 'Z';
te sa kojima mozemo nesto raditi. Promjenljive pobrojanog tipa mazemo deklarirati na ist! nacin kao
i promjenljive eijl je tip neki od ugradenih tipova. Na primjer, neka imamo deklaraciju var' PlaceniDarl RadniDan;
Inicijal VelikoSlavo;
var BojaZj,da, BojaAutomobila : Baja;
Nakon ovih deklaracija, promjenljiva P1.aceniDan moze sadrzavati samo vrijednosti Pan, Uta,
Ova deklaracija uvodi konkretne promjenljive BojaZida i BojaAutomobila kOje su tipa Boja, Br.i, Cet i Pet (ali ne i Sub iii Ned), dok promjenljiva Inic.ija,l moze sadrzavati sarno veli-
i njima se moze dodijeliti bilo koja od vrijednosti koje su definlrane u tipu Baja. ka slova engleske abecede.

Na kraju treba naglasiti da lako upotreba pobrojanih tipova nekada mOle udnit! program citljivijim i pre-
gednlpm, civi ttyxM u jeziku P!,scaJ posjecluju brojna ogranlcenja. Na primjer, promjenljive pobrojanog tipa
nije mog~ce eltati ~ !a~lature niti ispisivati na ekran, sto u velikaj mjen suzava mogucnost njihove pnmjene.

3.5.6 Inlervalni lip


Inte~~alnt(po7id~m~~sk~ -tip-je JDS jedan korisnicki definlrani tip, koj! omogucava pragrameru
da -deff-h~a 'pOdskup ,nek~g vee postojeceg tipa, odnosno da ograni(;i skup vrijednosti predstavljen
tipom. lntervaini-tip se d~finira tako s10 se prvo definira ime tipa, zatim znak jednakosti, nakon cega
se navode poce:tnai krajnja vrijednost koju promjenljive tog tipa mogu uzimati, razdvojene sa dvije
tacke.(ne znakom dvotacka). Na primjer, neka su date sljedece deklaracije:
279
278
Pilanja i zadaci 3.6 KONSTANTE, PROMJENLJIVE IIZRAZI U PASCALU
1. Kakva je razlika jzmedu cjelobrojnog i real nag tipa?
2. Koje su prednosti a kole mane realnog tlpa u odnosu na cjelobrojnf tip? 3.6.1 Imenovane konslante
3. Sta je znakovni, a sta stringovni tip?
4. Gemu sluzi logi6ki tip i kako se ovaj tip drugaCije naziva? Pored uobicajenih brojcanih i znakovnih konstanti, koje smo upoznali u poglavlju 3.3, program-
5. Kako se definira pobrojani tip? ski jezik Pascal dozvo!java i deflniranje imenovanih konstanti, koje se koriste za imenovanje nekih
6. Pretpostavimo da u Pascafu ne postoji tip Boolean. Kako bismo ga mogli sami definirati podataka koj! se nikada ne mijenjaju tokom rada programa. Imenovane kons1ante se definiraju u
deklara~ivnom dijelu programa, pomo6u kljucne rijed const, iza koje slijedi popis definicija kon-
karisteCi pobrojani tip?
stanti. Svaka definicija se sastoji od imena konstante, znaka jednakosti i vrijednosti konstante
7. Gemu sluze intervalni tfpav! i kako se definiraju?
(nakon 6ega slljedi obavezni tacka-zarez). Imenovane konstante mogu biti bilo kojeg tipa koji smo
8. U cernu je razlika izmedu deklaracije tipa j deklaracije promjenljive? do sada objasnili. Na primjer,
9. Sta su ordinalni tipovi? Da Ii je realni tip ordlnalni tip?
canst pi ~ 3.141592654;
Broj[lcenika '" 36;
BrojSedmicaU(,,odini '" 52;
OdnosEuyoMarka ~ 1. 947.-
PrvoSlovo '" 'A';
Grad ~ 'Sarajevo'

!menovane konstante pove6avaju citljivost programa. Na primjer, lakse je u programu karistiti rijee
pi ne90 stalno navoditi vrijednost kbnstante (koja je u gornjem primjeru definirana na nesto vise
decimala nego 5to u6enici obicno I<orlste). Takoder, ukoliko se u nekom programu javlja potreba re-
eimo za brojem sedmica u godinj, dobra je praksa taj broj definirati kao posebnu imenovanu kon-
stantu (npr. BrojSedmicaUGodini). Pril!kom analize programa, mazemo se mnogo lakse snaei
ukaliko ugledarno neku konkretnu rijet (poput BrojSedmicaUGodini) nego bezliean broj 52, za
koji ne mozema na PlY! pogled uoeiti njegovu ulogu u programu. Dobro je znat! da modeme verzije
Pascala poznaju konstantu pi bez potrebe da je mi posebno definiramo (fj. ona je predefinirana a
ne kOlisnf6ki deffnirana rijec).

Imenovane konstante znatno o!aksavaju izmjenu i odrzavanje programa. Na primjer, ukoliko je


nek! program pisan za potrebe evidencije ucenika u razredu kc]! ima 36 ucenika, .j ukoliko je broj
ucenika definiran kao imenovana konstanta B.roj Ucqnika, njega je sasvim lako prilagoditi razredu
od 32 ucenika, tako sto ee se izmjena napraviti same na jednom mjestu (u definielji konstante
BrojUcenika). Da nismo definirali imenovanu konstantu, izmjene bismo morali izvrs!ti na svim
mjestima u programu u Kojima se javlja braj 36 (l to sarno na onim mjestima gdje 36 zaista pred-
stavlja braj ueenika, a ne slucajno nesta drugo)! Slieno, u trenutku pisanja ovog udzbenika, jedan
eura vrijedio je 1.947 KM, sto je definirano konstantom OdnosEuroMarka. Ukoliko se ovaj odnos
promijeni, izmjenu je dovoljno napraviti sarno u definiciji konstante. Napomenimo da se imenovane
konstante mogu koristiti na bilo kojem mjestu gdje se mogu koristiti i obiene konst~n!e. Na primjer:

canst prvi ~ 1;
Posljednj.i =' 36;
type OpsegRazreda '" Prvi .. Posljednji;

Ovdje smo imenovane 'konstante Prvi i Poslj ednj i iskoristili za gefirjjranj~)ntervatnog 'tipa .
OpsegRazreda.

280 281
3.6.2 Promjenljive promjenljivih (zapravo, prije deklaracija konstanti smiju se nalaziti deklaracije tzv. lab~/a, 0 koj~~a
cema govoriti u poglavlju 3.8). Modernije verzije Pascala (ukljucujuci Turbo Pasca~ ne postavlJaJu
Za razliku od imenovanih konstanti, vrijednosti promjenljivih se mogu mijenjatj u toku rada. ovakva ogranicenja, i kod njih se deklaracije mogu redati u proizvoljnom redoslijedu (uz uvjet da s~
Deklaracija promjenljivih (koja se obavlja pomo6u kljucne rijeel var) sarno najavljuje postojanje nj u jednoj deklaraciji ne spominje neki pojam ko]i ce tek kasnije biti deklariran). Na primjer, sljedec!
odgovarajucih promjenljivih, ali 1m ne pridruzuje nikakvu konkretnu vrijednost. Ovo je cest uzrok niz deklaracija je ispravan u modernim verzijama Pasca/a, mada ne i u izvornom Pascalu:
gresaka u programima. Pretpostavimo, na primjer, da sma napis~1i sljedeCi program: .
var Temperatura, Duzina real;
program OpasnaGreska (output); const BrojDana '" 10;
var Braj : integer; var, Vrijeme : integeri
begin Plata : real;
wri teln (Braj) type ci.fra "" 0 9;
end.
var NekaCifra Citra;

Prilikom pokusaja da pokrenemo ovaj program, kompajler neee prijaviti njkakvu gresku. Program 68
Jedino ogranicenje pO pitanju redosfijeda deklaracija kOje postavlja Turbo Pascal Jeste da deklaraci-
se zaista i pokrenuti, ali 68 vrijednost koja 6e bit! ispisana biti potpuno nepredvidiva, odnosno
ja uses (ako je lma) mora biti na samom pocetku deklarativnog dijela programa.
manje-vise slucajna (najcesce nula, ali ne uvijek). Nairne, mi smo sarno najavili postojanje prom~
jenljive Broj u programu, ali joj nismo pridruzHi nlkakvu vrijednost. Ovo je tipican primjer Pascal pro-
grama koji ne sadr.zi nitl sintaksne nm gramaticke greske, ali koji sadrzi ozbiljnu semanticku gresku
(ovaj tip greske dosta se cesto susrece u programiranju, naroCito kod pocetnika). Pridruiivanje vri.
3.6.3 Cjelobrojni izrazi
jednostl promjenljivim mora se obaviti u izvrsnom dijefu programa, bilo unosom sa tastature (kao u
Pad izrazom smatramo svaku kambinaciju konstanti i promjenljivih koje su- povezane u smis-
primjeru koji sma razmatrali u poglavlju 3.4), bila pomocu iskaza pridruiivanja. Ovaj iskaz cemo
fenu formulu koja ima neku vrijednost (sta se podrazumijeva pod smislenam formulom, propisano je
detalJnlje upoznati nesto kasnije. Za sada reeirno sarno da se on sastoj! od imena promjenlj'ive, zatim
gramatikom jezika). Na ovom mjestu nedema ulaziti u formalni opis gramatickih pravila za formi.ra-
znaka dodjeJe (znak : =, 6ita se "postaje", npr. a : '" 5 citamo kao "a postaje 5") i, konacno, vri~
nie izraza, ko]i bi zahtijevao uvbdenje dosta apstraktnih pojmova kao sto su term, f~ktor. It?
jednostikoja se pridruzuje promjenljivoj {uskoro cemo vidjeti zasto se koristi bas znak :::= a ne obicni
Umjesto toga, formiranje izraza objasnidemo na primjerima koji na dovoljna jasan nacin IlustnraJu
znak jednakosti}. Tako bi korektna verzija gornjeg programa mogla izgledati ovako:
kako se tvore ispravni izrazi u jeziku Pascal. Inaee, pravila za formiranja izraza sli6na su.pravillma
program IspravnaVerzija (output); formiranja izraza (formula) u matematici, uz manje izuzetke koji ce biti posebno naglasenl.
var Braj : integer;
Cje!obrojni izrazi mogu se sastojati od cjefobrojnih konstanti (npr. 5, 999, +999 iii -(2), cjelo-
begin brojnih promjenljivih, cjelobrojnifl operatora, cjelobrojnih predefiniranih funkcija i, eventualno, zagra-
Broj := 5;
da za promjenu prioriteta izvodenja racunskih operacija. Dozvoljeni cjelobrojni operatori su:
writeln (B.roj)
end.
+ sabiranje
oduzimallje
Oval program ispisat ce braj 5 na ekranu. Naravno, od ovakvih programa nemamo bas pretjerane
koristi, ali ne zaboravimo da pravimo tek prve korake u Pascalu! * IUnoienje
di v cjelobrojno dijeljenje
Bilno ie napomenuti da su imena konstanti, promjenljivih, tipova itd. identiiikatori, tako da njiho- mod uslafak pri cjelobrojnom dijeljenju
va imena moraju sHjedi!i pravila za pisanje Pascal identifikatora kOja smo ranije objasnili. Taka, na
Primijetimo da se znak mnotenja pise kao zvjezdica. Vrijedi napomenuti d.a .se mnozenje ~ ~ascalu
primjer, imena promjenljivih se mogu saslojati sarno od slova engleske abecede i, cifara, pri cemu-
uvijek mora ekspllcitno naznaCJti (fj. ne podrazumijeva se, kao u matematlcl). Tako, na pnmJer, ab
pocetni znak mora biti SIOVD. Razmaci u imenu nisu dozvoljeni Oer je identitikator jedf}a rijeC), 1<a6 ni nije a puta b, ved promjenljiva koja se zove ab (ispravno bi bilo pisati a*b). Iz istih razloga, nije
nasa slova (c, c itd.). Tako je Burek sasvim legalno ime promjenljive, ali Ce"vapi "niLe 'cne2ab- ispravno pisati 2 (a+b) nego 2* (a+b). Dalje, biino je napomenuti da cjelobrojni izrazi ne smiju
oravimo da"ista pravila vrijede i za ime programa, koje je takoder identifikalbrry1noge'_'vertjje_ sadrzavati operaclju dijeijenja Ger rezultat dljeljenja dva cijela broja ne mora biti eijeli broj!. U~jesto
Pascala dopusfaju da identifikatori sadrze znak za podvlacenje ( _ ), kaj! se korfsri umjesto-razrha-.. _'_- toga, koriste se operatori div koji daje rezultat cjelobrojnog dijeljenja (tj. eijeli dio kolicntka) I ~~d
ka u irnenu identifikatora. Tako, npr. u Turbo Pascalu, broj ocj ena nije ispraval}id entlfikatot,'"8il koji daje ostatak pri cjelobrojnom dijeljenju (sto se, u slucaju kada je djelilac pozitivan, svodi na dlJe-
broj_ocjena jeste.ldentifikator BrojOcjena ispravan ie u svim verzijama Pascala:-U imenima' !Jenik umanjen za proizvod djelioca i cjelobrojnog kolicnika).
pramjenljivih i u astalim Pascafidentifikatorima, mozema karistiti i mala i velika sJova.-Mada:p~scal-
ne pravi razliku izmedu njih, na tai nacin se povecava Citljivost programa. _ r - Slicno kao u matematici, operacije mnozenja i dijeijenja (zapravo operacije div i mod) imaju visi
prioritet U odnosu na operacije sabiranja i oduzimanja. Prioritet operacija moze S8 izmijeniti zagradam~.
Standardni Pascal zahtijeva da 58 u deklarativnom dijelu prvo mo(a]u navestr sve o_sklqracije- Medutirn, za razliku od matematike, u Pascafu se za tu svrhu koriste iskljuCivo male zagrade, bez obz!-
Imnstanti (ako ih ima), zatim slijede deklaracije bpava (ako ih ima), a tek nakon toga -~klaracije ra na dubinu gnjezdenja zagrada. Na primjer, izraz koj! bi se u matematici zapisao kao _
282
283
7 - 2 {[3 + 2 (6 - 13 . 2) - 4J 3 + 1} Prilikom upotrebe cjelobrojnih izraza, moramo voditi ra6una da je opseg cjelobrojnih vrijednosti
ograni6en, sto maze dovesti do pojave prekoracenja _opsega kaja za posljedicu moze imati besmjs~
u Pascalu bi se ispravno zapisao kao lene rezultate. Na primjer, u veeini verzija Pascala, najveci braj koji moze stati u tip integer je
7 - 2 * ((3 + 2 * (6 - 13 ~ 2) - 4) * 3 + 1)
32767. Stoga sljedeci program daje besmislen rezultat (-28754 u Turbo Pascalu):

Spomenuli sma da cjelabrojni izrazi mogu sadrtavati i cjeJobrojne funkcije. Argumenti svih program Primjerp.rekoraeenja (input, output) i

funkcija u Pascalu obavezno se navode unutar zagrada, Najvaznije cjelobrojne funkcije koje poz- var a, b, c : integer;
naje standardni Pascal su: begin
a ::= 1230;
abs (X) aps'olutna vrijednost od_ X
b := 2321;
sqr (X) X na kvadrat c := a * ,b;
writeln (e)
Slijedi nekoliko primjera ispravno napisanih cjelobrojnih izraza: ~d.

2 '" 2 Zapravo, dovoljno je da makar jedan od medurezultata pri racunanju slozenijeg izraza prekoraci
33 * -6 dozvoJjeni opseg, pa da eijeH rezultat bude pogresan, cak i u slu6aju kada kona6an rezultat moze
7 + (-12) da stane u dozvoljeni opseg!
48 div ~i (vrijednost ovog izrazaje 9, jer je 48/5 = 9.6)
7 mod 3 (vrijednost ovog izrazaje 1,jer je 7 - 32 = 1)
(5 + 2) 7 + sqr (4) (vrijednost ovog izraza je (5 + 2) , 7 + 4" = 65) 3.6.4 Realni izrazi
7 sqr (4 '" 3 'k (2 + sqr (3)) (vrijcdnost ovog izraza je 7 . (4 + 3 . (2 + 3~)? = 9583)
5 ,- abs HI (vrijednost ovog izrazaje 5 + I "-3 1==8) Realni izrazi se formiraju po slienim pravilima kao i cjelobrojni izrazi, jedino sto oni po potrebi mogu
pored cjelobrojnih sadrzavati i realne konstante, reafne promjenljive, realne operatore i realne predefinj~
Vee je receno da cjelobrojni izrazi mogu sadrt8vati j cjelobrojne promjenljive, ali same one koji rane funkcije. Svi cjelobrojni Clanev! (konstante iii promjenljive) u realnom izrazu automatski se tretiraju
ma je prethodno dodijeljena vrijednost. U suprotnom, vrijednost izraza je nepredvidiva (nepridrza~ kao realni (tj. vrSi se automatska pretvorba tipa). Uzmimo, na primjer, da imamo sljedece deklaracije:
vanje ovog pravUa nije sintaksna, nego semanticka greska, sto znaei da naee bit! automatski detek-
coast Pi "- 3,141592654;
tirana od strane kompajlera).
var B1:ojac, Dodatak integer;
Po.l!1preeJ]ik, Plata real;
Naredba wri teln, koju smo vee koristili za ispis na ekran, prihvatiee bilo koji izraz kao svoj
argument. Isto vrijedi i za iskaz dodjele, tj. sa desne strane znaka dodjele (: =) moze se na!aziti bilo
Tada su sljedeel izrazi potpuno korektni:
koj! izraz (pod uvjetom da se tip izraza slaze sa tipom promjenljive eija se vrijednost dodjeljuje). Sve
ovo 0 6ernu smo gavorili ilustrirano je u sljedeeern programu: 2 * pi * Po.I uprecnik
Dodatak + P.Iata
program PrimjerIzraza (output);
var a, b, c integer; U prvom primjeru, ejelobrojna konstanta 2 se automatski pretvara u realnu konstantu 2. O. U dru~
begin gom primjeru, ejelobrojna promjenljiva Dodatak automatski se privremeno pretvara u rea!nu pri-
a :'" 5; likom sablranja sa reafnom promjenljivom Plata. Stoga je sljedeca dodjela sasvlm legalna:
b := 3;
e :'" (b + 2) * 2; ~luprecnik :~ 3;
b :;;:0 (e + 3) diva;
writeln (a); Dakle, smije _se dodijelitj cjelobrojna vrljednost realnoj promjenljivoj. Ovdje se ponovo desava
writeln (b); . a[1tomat$.ka: pretvorba (korwerzija) tipa. Medutim, ne smije se koristiti realna vrijednost u ejelobrojnim
wX'iteln (e) izrazima;" mdQdiJeliti. realni:l vrijednost cjelobrojnoj promjenljivoj,
~d.

'."~ -H?alnr-:izraz'i_"~~gU se formirati'na sliean nacin kao i cjelobrojni izrazi, koristeci aritmeticke ope-
Ukoliko ste razumjeli sve e 6emu je do sada bilo govora, lake eete zakljuCiti da ee ova] program -ratore i -Ita-grime. Dozvoljeni operatori nad realnim operandima su:
ispisati brojeve 5, 2 j 10. Primijetimo da je promjenljivoj b- prvo dodijeljena vrijednost 3, nakon " .- ..
toga je promjenljivoj c dodijeljena vrijednost izraza (b + 2) * 2 (odnosno 10, jer b sada ima '+-. '. sabirm~je
vrijednost 3), a nakon toga se promjenljivoj b dodjeljuje vrijednost izraza (c '" 3) diva (odnos- oril.lzimanje
no 2, jer c sada ima vrijednost 10, dok alma vrijednost 5). Bitno je u06iti da nova vrijednost mnqzenje
upisana u promjenljivu b brise prethodnu vrijednost koja je bila u njoj zapamcena. dijeljenje
284 285
Primijetimo da je kod realnih izraza dozvoljeno klasicno dijeljenje (pomo6u operatora I). Treba manja, tako da je cesto potrebno ubaciti dotatne zagrade. Na primjer, neka je potrebno pretvoriti
naglasiti da je rezultat primjene operatora dijeljenja realan cak i Uslucaju kada su aba operanda Gijeli sljedeCi izraz iz matematskog zapisa u Pascal zapis:
brojevi (oni se tada konvertiraju u realne brojeve) i kada rezultat ne sadrzi decimale! Taka, na prim" x
jer, u s!ucaju da je a cjelobrojna promjenljiva, sljedeea naredba nije ispravna: -+z
y
a := 12 I 4;
~-~+l
Objasnjenje leii u Cinjenici da je I realni operator, tako da se izraz 12 I 4 (koji sadrzi dva cjelo-
Y x+y
brajna operanda) pretvara u izraz 12.0 I 4,0, ko)i kao rezultat daje rea{an broj 3.0 (koji S8 ne Navescemo ispravan i neispravan prljevod ovog izraza u Pascal:
moze dadijeliti cjelobrojnoj promjenljivoj). Stoga, za' cjelobrojno dijeljenje treba koristiti operator
div. S druge shane, operatori div i mod ne mogu se primijeniti na realne operande, npr. izraz f:..pravno: (x I y + z) I (x I y - z I (x + y) + 1)

3.71 mod 2.3 nije dozvoljen. Ovi operator! mogu se javljati i u realnim izrazima, ali pod uvjetom Neispravno: x I y + z ! x I y - z / x + y + 1
da su oba njihova operanda ejelobrojnog tipa" Tako je, npr. legalan sljedeci izraz:
Posljednj) Pascal izraz, koji bi neko mogao brzop!eto napisati, odgovarao bi matematickom izrazu
1.12 + 2.25 .. (7.12 332 mod 5) I 3
z
jer su oba operanda operatora mod (332 i 5) cjelobrojni. x x z
-+-'--+y+1
Y Y x
Realni lzrazi mogu sadrzavati i realne funkclje. Pored funkcija sqr i abs, koje se mogu prim"
jenjivatl i na realne argumente, Pascal poznaje i druge realne funkeije, od kojih su najvaznije a ne izrazu koji smo zeljeli da napisemo.
s!jedece (obratlte paznju na dvije razliCite funkclje veoma sllcnog imena, sqr i sqrt):
Da bismo bolje uvjezbali pravlla prevodenja izraza iz matematickog zapisa u jezik Pascal,
sqrt (X) kvadrutni korijen od X navescemo tablicu sa nekoliko prlmjera malematickih i odgovarajuCih Pascal izraza:
In (X) prirodni logaritam (logaritam po bazi e 2.71828) od X
exp (X) eksponencijalnaJunkcija, njen rezultat je e na X (t). eX) Matemati6ki zapl.;, Pascal zapis:
sin (X) sinus ad X, pri cemuje X izrazen u radl}anima
kosinus od X, pri cemuje X izraien u rudijanima a ~3
2
cos (Xl Isqr la) - 3) I (sqr Ix) +sqr (y))
atan (X) arkus tangens od x, pri cemu se rezultat dobija If radljanilllil x2 +y2
ab
Bitno je napomenuli da sve ave funkcije vracaju kao rezultat realan broj, cak i ukoliko se rezultat (a 1, b) I c iii sarno a *b I c
moze napisati kao eijeli broj. Tako je, na primjer, rezultat izraeunavanja funkGije sqrt (9) realan c
broj 3.0, a ne cije!i broj 3. Nekome ova napomena moze izgledati kao "trazenje dlake u jajetu", ali a
a I (b" c)
ne smijemo zaboraviti da Pascal neee dozvoliti da rezultat izracunavanja funkcije sqrt dodijelite bc
cjelobrojnoj promjenljivoj, cak i ako je rezultat prividno eijell broj! a
_c (n I b) * c ifi sarno aI b k C
b
Mozemo primijet"lti da Pascal ne poznaje funkciju tangens, koja se, srecom, lako moze simulirati
dijeljenjem sinusa sa kosinusom (interesantno ie da, s druge strane, Pascal poznaje arkus tangens, 3.{4+ X . [(2x - 3): (x- 4)]l 3;' (4 +xl 12 + 1/ (x+ 1)) k 112.*x-3) I (x- 4)))
a ne poznaje arkus sinus i arkus kosin us). Mnogo je veei problem sto Pascaf ne poznaje stepeno" 2+
x+l
vanje proizvoljnim eksponentom. Za slueai malih cjelobrojnih eksponenata stepenovanje je ,Iako
realizirati kao ponovljeno mnozenje (npr. x" = x . x . x . x . x), ali postavlja se problem kako reaJizirati I+Jx +1 +sqrt ((x+ 1) I (x-I))
npr. step"enovanje poput 2.351.7,. Srecom, lz matematike ie poznato da vrljedi rel,aGija x-I
1+ Jx+1 l+sqrt (x+ 1) I (x- I)
x-I
odakls sHjedi da stepenovanje poput XV u Pascalu mozemo realizirati kao eXp {y * lI~:Jx},j'.: ~
Doduse, ovaj izraz vrijedi samo za nenegalivno x, ali se situacija za negativno x'~lak"o'nf9te: rije_sitf. 2+~
vY;:fj +L
2 + sqrt. (3" sqrt (xl (x + 1)) + 2)
uz pomoc jednost(ivnih dosjetki. Islo taka, ako malo pozovemo matematiku"u pomoe, .iaJs9."-eemo
zakljuciti da se logaritam po praizvoljnoj bazi, reeimo ~ogy x, moz~ u Pas9?lu _re?Hzlrafi. kao 2
2/ (] + abs (x + abs (y - 1))
In (x) lIn (y). l+Ix+ly-lll
Prilikom pretvaranja izraza IZ matematickog zapisa u Pascalzapis,' treba maio pripazJti na izraze Prirnijetimo da u izrazirna poput a * b / c zagrade oko produkta nisu neophodne (ali nete ni smetati),
koji sadrie razlomke, zbog cinjeniee da operacija dijeljenja lma veGi prioriiet' od sabiranja i odu-zi- jer 58 operacije koje su istog prioriteta (npr. mnozenje i dijeljenje) izvode redom slijeva nadesno.

286 287
Realni tipovi lmaju sasvim dovoljan opseg vrijednosti da 0 prekoracenju opsega ne moramo cijelibroj 3 (jerje 3,17 + 2.5 / 8 3.7825), koji se smije dodijeliti cjelobrojnoj promjenljivoj.
voditi racuna. Medutim, kod realnih tipova, javlja se drugi problem, poznat kao problem gubltka Iz istih razloga, izraz
tai5nosti. Na primjer, posmatrajmo sljedeei program:
round (2.15 * 3) mod trunc (sqrt (9))
program pri.mjerGubi.tkaTacnosti (output);
var a, b real;
sasVirn je legalan (i predstavlja ejelobrojni izraz), jer su oba operanda operatora mod ejelobrojni.
begin U slueaju da je decima!ni dio broja tacno na granici izmedu dvije cjelobrojne vrijednosti (tj. uko w

a :'" 1.23.0; liko je decimalni dio broja jednak 0.5), funkcija round vrsi zaokruzivanje pozitivnih brojeva navise,
b :'" 321.0;
writeln (a * b i b :- a I b * b)
a negativnih brojeva naniie. Tako ie, na primjer, round (3.5 l '" 4 a Tounp (-3.5) '" -4.
end.
Pored funkcija trunc i round, Pascal posjeduje i druge funkeije za pretvaranje (konverziju)
Mada bi po svim zakonima matematike ovaj program trebao izbaciti nulu kao rezultat, nula se neee tipova. Takva je svaka funkeija koja zahtijeva argument jednog tipa, a daje rezultat drugog tipa, Dvije
pojaviti kao rezultat nit! sa jednim prevodiocem za Pascafkoji je u upotrebi. Na primjer, Turbo Pascal izuzetno vazne funkcije takve vrste su chr i ord koje vrse pretvaranje iz cjelobrojnog tipa u
ce ispisati -6.93 889390390723E-0018 iii 1.1641532183E-10, Qvisno da Ii je ukljucena opeija za znakovni i obrnuto. Da bismo razumjell ove funkcije, trebamo znati da se svaki znak u racunarskoj
racunanje sa povecanom tacnoscu iii ne, Ova zaistajesu veoma mali brajevi (oka 10~18 odnosno 10.10), memoriji pamti zapravo kao broi (jer se u memoriji mogu pamtiti sam~ brojevi). 'Broj pod kojim se
ali nisu nule. U Gemu je problem? Izrazi a * b i b i a / b * b nakon uvrstavanja vrijednosti pamti neki znak zove se sifra (iii k6d) tog znaka. Na primjer, velika slovo lA' u memoriji se pamti
promjenljivih a i b postaju 123,0 * 321.0 I 321.0 i 123.0 I 321.0 * 321. O. U prvom kao broj 65. Ove sitre propisuje standard poznat pod imenom ASCII, ko]i smo ukratko spominjali j u
slucaju, prvo se racuna produkt 123.0 * 321.0 ka]i daje rezultat 39483,0, a koji se zatim dije!! sa prvom dije!u ovog udzbenika (postoje i drugi standard!, ali su znatno manje rasireni nego ASCII stan
321.0 sto na kraju daje taean rezultat 123,0. Medutim, u drugom slueaju, prvo se raeuna kolicnik dard). Vrijedi napomenuti da nema nikakvog posebnog razloga zasto se velika slovo 'A' pamti bas
123.0 I 321.0 koji ima beskona6no decimala (0.38317757009, .. ). Kako racunar maze da kao broj 65, a ne kao nek! drugi broj. To je bila iskljucivo stvar dogovora. Sada mazema reei sta
zapamti same konacno mnogo decimala, On ce ovaj rezultat zaokrutiti na odredeni broj decimala. tacno rade funkcije chr i ord:
Nakon mnozenja zaokruzenog rezultata sa 321,0, neee se dobiti tacno 123.0 kao rezultat, 6tO na
kraju dovodi do greske u konaenom rezu!tatu. Mozda je jos drasticniji primjer naredba chr {Xl prctvara vrijednost cjelobrojnog izraza x u znak c{ia)e sift'a X
ord (Xl pretvara znak x u cijeli bra) koji predstarlja .~ifru tog znaka
1tiTitelrl (0.5 * 0.5 - 0.4 * 0.4 - 0.3 * 0.3);

za kaju se ocekuje da bi trebala da ispise broj 0. Medutim, nula se kao rezultat nije pojavila niti na jed Na prim/er, rezultat izracunavanja funkcije chr (65) je znak ' A' , dok je rezultat izracunavanja
noj verziji kompajlera za Pascal poznatoj autoru (sliena stvar se desava u gotovo svim drugim program- funkcije ord (' A') eijeli broj 65. Mozda nekome maze izgledati neobicno 8to funkcija chr kao
skim jezieima, taka da nije problem u samam Pasea/u)! Mada SV) razmatrani brojevi u ovom izrazu imaju rezultat daje znak, a ne broj. Medutim, ni matematika ne zahtijeva da vrijednosti funkcija moraju biti
konacno mnogo decimala tako da bi racunar po svakoj logici zaista morao da izracuna ovaj izraz tacno, uvijek brajevL Matematicki reeeno, kodomen funkcije chx je skup svih znakova.
to se ne desava (racunarska "Iogika" ne poklapa se uvijek sa Ijudskom). Ovo je posljedica nekih
ogranieenja u naclnu kako ra6unar pamti realne brojeve u memoriji (naime, navedeni brojevi dobijaju Funkcija ord moze se primijeniti j na argumente logi6kog i pobrojanog tipa. Za argumente
beskonacno mnogo declmala kada se prevedu iz dekadnog u binami brajni sistem). Prim/eri poput nave- logickog tipa, stvar je posve jednostavna: ord (false) daje rezultat 0, dok ord (true) daje
denih, cest su uzrok veoma ozbiljnih i frustrirajuCih problema u programima koj! rade sa realnim tipovima. rezultat 1. Za argumente pobrojanog tipa, funkcija ord vraca kao rezultat redni braj pod kojim je
odgovarajuCi argument bio definiran prilikom deklaracije pobrojanog tipa (pri camu brajanje pocinle
ad nule, a ne od jedinice). Na primjer, ukoliko smo imali sljedecu dek!araciju
3.6.5 Pretvaranje tipova u izrazima
type Boje '" -(Crvena, Zelena, Playa, Zuta, Crud, Bijela);

Vidjeli sma da nije moguee dodijeliti rezultat nekog realnog izraza nekoj cjelobrojnoj prom~
tadaje o.-rd (C.-rvena) jednako 0, ord (Zelena) jednako 1, ord (Plava) jednako 2, itd.
jenljivoj, niti je moguce realne izraze karistiti kao operande u operatorima div i mod. Da bi se
ublazio ovaj nedostatak, Pascafposjeduje funkeije trunc i round kale pretvaraju realne podatke
u cjelobrojne (pretvaranje lz cjelobrojnog u realni tip, kao Sto sma vee rekli, obavlja se automatski u
slueaju potrebe). Obje funkcije imaju jedan parametar koji je realan izraz, a kao rezultat vraeaju cijeli
3.6.6 Znakovni izrazi
broj, koji se moze npr. pridruziti ejelobrojnoj promjenljivoj:
~~~~da-rdhi'_:P;~sca/ je izuzetno ogranicen po pitanju formiranja znakovnih izraza, Tako, u stan-
trunc (Xl pretvara X u cijeli bra) prostim odhacimn}em df'cimala dardn6m 'Pasca'!.!! znakovni izraz maze biti jedino znakovna konstanta, znakovna promjenljiva, iii neka
round (X) pretvara X u cUdi bra) zaokruf,ivan)em no najbltii cijeJi bro} ftmkdja:-':(popu{ chr} koja' yraca znak kao rezultat. Modernije verzije Pascala, poput Turbo Pascala,
- -.do.zvo]avaju upotrebu operatora + sa znacenjem "nadovezivanje". Taka, na primjer, ukoliko prom~
Tako je, na primjer, rezultat izraza jenljiva- IIT}e 'sadrzi niz znakova Pero ',a promjenljiva Prezime niz znakova 'Peric', tadaje
1

rez;ultat izraza:'- 1me +. Prezime niz znakova 'Pero Perie'. Operandi mogu biti bilo znakovnog
trunc (3.17 + 2.5 I 8) tipa "(jedan znak), bilo stringovnog tipa (niz znakova), aU je rezultat uvijek stringovnog tipa.
288 289
Funkcije pred i succ (prethodnik i sljedbenik) ne spadaju u funkcije za pretvaranje tipova, niti UDugovima :'" StanjeKase < Oi
u znakovne funkcije, ali ih spominjemo ovdje jer su bHsko povezane sa do sada obradenim funkcija-
rna. One se mogu primijeniti na bilo koji ordinafnitip (tj. cjeJobrojni, znakovni, logicki, pobrojani iii inter~ Ova naredba ce promjenljivoj UDugovima dodijeliti vrijednost true ukoHko je vrijednost prom-
valni tip). Funkcija pred vraca neposrednog prethodnlka, a funkcija Slice neposrednog sljedbeni- jenljive- StanjeKase manja ad 0, a vrijednost false U suprotnom slucaju. Dobro obratite paz-
kasvog argumenta. Za slucaj cjelobrojnog tipa, situacija je sasvim jednostavna. Tako je pred (Xl nju na razliku izmedu operatora = sa znaeenjem "da Ii je jednako" (koji daje rezultat tipa "jeste" iii
isto sto i X - 1, dok je suce (X) isto sto i X + 1. Za slueaj logickog tipa, situacija je jos prostija: "nije") i znaka dodjele : = sa znacenjem "postaje". Vrijedi napomenuti da svi logicki operatori imaju
pred (true) je false, a suce (false) je true. Kod pobrojanih tipova, pojmovi prethodnik i
nizi prioritet od sabiranja i oduzimanja, tako da se izraz P.lata + Porez < 1000 tumaCi onako
sljedbenik definirani su prilikom same dek!aracije tlpa. Na primjer, uz deklaraciju jz prethodnog odjelj-
kako se i ocekuje.
ka, pred (Bijela) je Zuta, a Slice (Crvena) je Zelena. Prividno najsloienija situacija je
ked znakovnog tipa, jer je za tacno objasnjenje potrebno poznavati AsciI Mre. Na primjer, Relacioni operatori <, >, <= i >= primijenjeni na znakovne tipove, oznacavaju poredenje ne
suce (' A') Je 'B t (sto djeluje posve logicno), medutim pred (' A') je '@' (sto je prilicno po velieini nego po leksikografskom (a.becednom) poretku (kada S8 u igru uk!juce i znakovi ko]i nisu
zbunjujuce). Situacija postaje mnogo jasnija ako znamo da znakovi '@' I 'A' i 'B' imaju redom slova, u poredenju kljuenu uJogu igraju ASCIf sifre, ali u te detalje se ovdje necemo upustati). U
ASCI! sifre 64, 65 i 66. Naime, za slueaj kada jEi x znakovnog tipa, izrazi pred (X) i succ (Xl standardnom Pa.scalu ova tvrdnja vrijedi sarno za tip char, dok se kod modernijih verzija Pascafa
ekvivalentni su redom sa izrazima ehr (ord(X) -1) i chr (ord(X) +1). Na ovom mjestu ne moze- ovi operatori mogu primijeniti i na tip string. Konacno, svi relacioni operatori primjenljivi su i na
mo se upu8tati u dublju teoriju:-Vrijedi ipak znati da ASCII siffe svih velikih i svih malih slova Cine niz promjenljive pobrojanog tipa, pri cemu se smatra da su prilikom deklaracije pobrojanog tipa e.lementi
susjednih cijelih brojeva (65 - 90 za velika slova, 97 - 122 za mala slova), tako da funkcije pred uredeni redom od najmanjeg ka najvecem. Tako, uz deklaracije IZ prethodnog odjeljka, vrijedi
succ rade sasvim logieno za slueaj kada im se kao argument ponudi znak ko)i predstav!ja slovo. Crvena < Ze],ena i erna > Bijela.

Ukoliko argument funkcije pred nema svog prethodnika, vrijednost funkcije pred je nedefini- Siozeniji logicki izrazi mogu se formirati od prostih logickih izraza i logiekih promjenljivih, uz
rana, i to se smatra semantiekom greskom. Na primjer, pred (false) predstavlja semanticku upotrebu sljedecih operatora:
gresku. Slicno vrijedi za funkciJu suce ukoliko argument nema svog sljedbenika.
and kOl1jukcija (logiL~ko "i")
or di,\junkcija (lugicko "ili")
not negacija
3.6.7 Logicki izrazi
Tako, uz pretpostavku da je promjenljiva Starost propisno deklarirana, sljedeci logicki izrazi
Logi6ki izrazi su izrazi (:jja vrijednost maze bitl sarno true ("taeno") iii false ("neta(:no"). imaju smisla:
Najjednostavnija vrsta logiekih izraza su prosti !ogf6ki lzrazi iii poreaenja koja se formiraju ad dva (Starost >;;;; 16) and (Starost <= 65)
cjelobrojna, fealna iii znakovna izraza medusobno povezana jednim ad sljedecih 6 refacionih (Starost < 16) or (Starost > 65)
operatora: not (Starost > 65)
< manje Prvi ad navedenih izraza je tacan ukoliko je vrijednost promjenljive Starost veea iii jednaka od
> vede 16 i manja iii Jednaka ad 65. Drugi izraz je taean ukoliko je vrijednost promjenljive Starost manja
jednako od 16 ili veca od 65. TraGi izraz je taean ukoliko vrijednost promjenljive Starost nije veca ad 65.
<;;;; manje iii jedrwko Visestruka poredenja koja su uobicajena u matematici poput 16 <= Staxost < 65 nisu dozvol-
>= veee ill jednako jena u jeziku Pascal i moraju se pisati kao 8tO je gore objasnjeno, Takoder treba napomenuti da
<> razliCito operator or lma prioritet poput sabiranja, operator and poput mnoienja, dok operator not ima
priar!tet veGi i od sabiranja ! od mriozenja, Upravo'iz tog razloga, u gore napisanim izrazima
Taka, LIZ pretpostavku da su deklarirane brojcane promjenljive Stanj eKase, Plata, Porez i Broj, neophodne su zagrade. Da smo izostavili zagrade, prvi izraz bi, zbog visokog prioriteta operatora
kao i znakovna promjenljiva Inicijal, mazema navesti sljedece prlmjere ispravnih logi(:kih izraza: and, bio shvaeen kao

,Stanje~8e 100 Starost >= (16 aild-


. _ Plat$ + Porez < 1000
~Brcd . >"::' 5.2 8tO ocigJedno nem~ S~iSI~,-i_ k~mpajl,~!'.bf p'rijaVio;gresku.-
-. - - . Rekli smo da se u I09iCkim,jzra~ma:~~riu k6~i-S~'iti i'logi6ke promjenljive. Taka, uz pretpostavku da su
- u_:fi~;ljednjem ~rlmieru, izraz ima vrijednost true ako promjenljiva Inicijal sadrzi, slovo UDugov.ima, Maloljetan i' peQzisnl,r~,t09iGkE;l promjen.ljive, mozemo pisati izraze poput sljedecih:
~.P'l' a- :fa.1se- u suprotnotn slueaju,
UDugovima and, (Porez .<"-'1800)-
Mal.'oljetan _or P("..1;z~oller- -,-'
~oglcki izrazi se najvise korjste unutar naredbi if, while i until, koje cemo upoznati kas-
-nij'~~ Takoder; vrijednost Jogiekog izraza moze se dodijeUti logl(;ko] promjenljivoj. Na primjer, ukoliko Logieki izrazi se, po potrebi, !ako' mQgu pretvoriti u 'Cjelobrojne, upotrebom funkcije ord koju smo
je- _UDugovima logicka promjenJjiva, sljedeca naredba je sasvim valjana: vee objasnHi.
290" 291
Pitanja i zadaci 3.7 ULAZ i IZLAZ PODATAKA
1. Sta su imenovane konstante I cemu slute?
2, Koliku vrijednost ima neka promjenljiva neposredno nakon deklaracije? 3.7.1 Naredbe ulaza i izlaza
3, Kako se nekoj promjenJjivoj moze dodijelltl vrijednost?
4. Kako S8 Ivore cjelobrojni, a kako realni izrazi? U primjeru u poglavlju 3.4, vee sma se pavrsno upoznall sa naredbom readln za unos podata~
ka sa tastature, i naredbom wri teln za ispis na ekran. Pored ave dvije naredbe, za unos podata-
5. Sta je prekoracenje opsega, a sta gubitak tacnosti?
ka i za ispis na ekran koriste se i naredbe read i wri teo Objasnimo prvo razllku izmedu nared-
6. Neki od navedenih izraza ne predstavljaju ispravne izraze u jeziku Pascal. Nadite sve neis~ bi read i readln. Ove dvije naredbe SU veoma sli6ne, 1ponekad je izmedu njih tesko uo6iti raz-
pravne izraze: liku. Ukoliko podatke u program unosimo jedan po jedan (tj: ukoliko iza svakog unesenog podatka
a) x+4/sqrt(x-2) b) x*-2 c) x*/2 d) 2*-+/13))2 e) sqrt 3 pritisnemo tipku ENTER), tada se ave dvije naredbe ponasaju identi6no. Razlika nastaje u slueaju
n
2+(3+(4*5 g) 2*[3*{4*5}) h) sqr(sqrt(3)) i) 2*(3*(4*5)) j) Illx+y))) da prHikom unosa prije nego sto pritisnemo tipku ENTER unesema nekoliko podataka u istom redu
7. Izracunati koliko je: razdvojenth razmacima. Da bismo objasnill ovu razliku, pretpostavimo da su u nekom programu
deklarirane cjelobrojne promjen!jive a, ,b, c i d, i da je program sadrzavao sljedece naredbe:
a) 372 div 5 b) 372 mod 5 c) 372 I 5
8. Izracunati vrijednost Pascal izraza 2. 38e2+abs (2 -sqrt (sqr (3) +sqr (4.) ) ) . read (a); read1n (b); read (e); read (d);
9. Kako biste na najkraci moguci nacin zapisali matematicki izraz (x + y - 3) U u jeziku Pascan
Uputa: vrijedi jednakost x~ = [(x~rJ. Pretpostavimo dalje da smo nakon pokretanja programa unijeli podatke na sljedeci natin:
10. Prevedite s!jedece izraze lz Pascafa u standardnu matematsku notaciju: 16 12 19 (ENTER)
a) sqrt{x} /y b) 2/ (x+abs (1-x c) sqr(sqrt (al +sqrt (b d) a+b/a-b 9 22 16 31 (ENTER)
e) x+3/x-3 f) sqrt(sqr(a)+sqr(bl) g) (x+3)/(2+x/(.1+x) h) 3.32e3*x
i) 4.12e3*a j) (a+2)/(3+b/(1+b k) 2/sqrt(1+sqrt{1+x)/2) Tada de promjenljive a, b, c i d poprimiti redom vrijednosti 16, 12, 9 i 22. Da sma umjesto
11. Prevedite sljedece izraze iz standardne matematske notacije u Pascal: naredbe readln (b) upotrijebHi naredbu read (b), iste promjenljive poprimile bi redom vri-
a) x'~ b) 9,2(3104-4,4410-~) c) (a~+3a'b+3ab2+b3) d) log2 (x+l) jednosti 16, 12, 19 i 9. Drugim rijecima, prilikom upotrebe naredbe read, sljedece citanje se
e) tg Ix+y) I) Vii + vX+! + 1 g) 2,13-5 islnlx')--x]}+1 h) Ix+ 1x'-111 nastavlja od mjesta gdje se prethodno citanje zavrsilo, dok nakon upotrebe naredbe rea.dln, tita-
12. Kako se obavlja pretvaranje tipova u Pascalu? nja novih podataka (pomoeu naredbi titanja koje do!aze iza nje) uvijek zapotine iz novog reda
(nakon prltiska tipke ENTER), eak i u slucaju da je u prethodnom redu ostalo jos podataka. Kako se
13. Kako se moze vrijednost cjelobrojnog izraza dodijeliti realnoj promjenljivoj, a kako vrijednost u veCini slucajeva podaci sa tastature unasa jedan po jedan, najtesce je nebitno da Ii cemo koristi-
realnog izraza cjelobrojnoj promjenljivoj? ti naredbu read iii readln. Izvjestan oprez potreban je kod unosa znakovnih promjenljivih.
14. Sta mozete reci a znakovnim izrazima u Pascalu? Pretpostavimo da su cl, c2 i c3 promjenljive tipa char, i da u programu imamo naredbe
15. temu sluze funkcije pred i succ?
read (el.); read (c2); read (e3);
16. Ukoliko cjelobrojne promjenljive x j y imaju redom vrijednosti 3 i 8, koje vrijednosti imaju sljedeci
izrazi:
Ako nakon pokretanja programa unesemo niz znakova ABCDE i pritisnemo tipku ENTER, prom-
a) x > 5 b) (x > 5) and (y < 7) c) (x > 5) or (y < 7) d) not (x > 5) jenljive cl, c2 i c3 poprimice redom vrijednosti 'A', 'B' i 'C', kao sto je 1 ocekivano.
17. Kako se ponasa funkcija ord primijenjena na logitke izraze? Medutim, uko!iko sve read naredbe zamijenimo sa readln, samo ce promjenljiva c1 poprimiti
vrijednost 'A', dok ce program traziti da vrijednosti za c2 i c3 unesemo u dva naredna reda (uz
pritisak tipke ENTER nakon svakag unosa).

Argumenti naredbi read i readln mogu biU isklju61vo promje~~iite cjelobrojnog, -rea.lrtog iii
znakovnog tipa, i nista drugo. Oakle, izrazi kao argumenti nislj dOZVOljenf,.. kao -nipr?!'f.1je'nljive pobro-
janog iii logitkog tipa. Obje naredbe mogu Se upotrljebiti s~ vise. argunienata. raidvo!enih zarezom.
Prjtomeje.nare~~~ r~ad (vl, v2, :;3, : .. vn) identitnanizuna~edbr - -"
."- -.
read (vI); read (v2); read (v3); read (vn);

dok je naredba readln (v1, v2, v3, ... vn) identicna nizu:n}i:redbi -

read (vl); read (v2) i read (v3) i , readln (vn);

292 293
RazHku izmedu naredbi writeln i write mnogo je lakse objasnitL Jedina razlika izmedu Na kraju programa, upotrijebljena je naredba readIn bez parametara, Ova naredba, upotre-
ovih naredbi je u tome sto se nakon naredbe wri teln s!jedeci ispis nastavlja u novom redu bljena na ovakav naGin, zaustavlja program sve dok korisnik ne pritisne tipku ENTER (prec1znije, ona
ekrana, dok se nakon naredbe write sljede6i ispis nastavlja taeno od mjesta gdje se tekuci ispis zahtijeva unos od korisnika, ali ignorira sadrzaj unosa), Naime, kako neki razvojni sistemi za pro-
zavrsio. Obje naredbe prihvataju kao argument bilo koji cjelobrojni, realni, znakovni i logicki izraz gramiranje u jeziku Pascal (poput Turbo Pascala) uklanjaju rezultate izvrsavanja programa sa ekrana
(pobrojani tipovl se ne mogu ispisivati ovom naredbom). Takocter, i jedna i druga naredba mogu se eim program prestane sa radom, smisao ave naredbe je da zadrii rezu!tate izvrsavanja programa na
upotrijebiti sa vise argumenata razdvojenih zarezom, kojl se tada ispisuju onim redom kojim su ekranu -sve dok korisnik ne pritisne tipku ENTER (napomenimo da u Turbo Pascalu matema uklo
navedeni. U slucaju naredbe writeln prelazak u novi red vrsi se tek nakon ispisa posljednjeg njene rezultate izvrsavanja programa panovo vratiti na ekran priliskom na kombinaciju tipki Aft + FfJj.
argumenta. Naredba wri teln moze se upotrijebiti i bez argumenata. U tom slucaju Ona zakljueuje
tekuci red, i obezbjeduje da eventualni sljede6i ispis poene u novom redu. Naredba writeln bez Ispis znakovnih konstanti nam omagu6ava da program ucinimo ljubaznim prema korisniku (engl. user-
argumenata cesto se koristi kada zelimo da ispisemo jedan ill vise praznih redova na ekranu. friendly). Naime, prethadni program je "ruian" u smislu da korisniku ne nudi nikakve informacije sta se ad
njega ocekuje, i cemu program sluti. Nakan pokretanja programa, korisnik vidi samo prazan ekran, i uko~
Obratimo paznju na razliku izmedu sljedece dvije na prvi pogled sliene naredbe: liko ne zoa sta program radi, ne maze da zna sta se od njega ocekuje. cak i ukoliko korisnik zakljuci da se
od njega ocekuje da unese neke podatke, nakon dva unesena broja program ispisuje druga dva broja, za
writeln ('2 + 3'); koje korisnik nema apsolutno nikakvu lnformaciju 0 tome sta ani predstavljaju. Ove nedostatke mozemo
writeln (2 + 3); lako ispraviti ispisom na ekran znakovnih konstanti (eiji se sadrZaj priJikom ispisa samo doslovno prenosi
na ekran) koje obavjestavaju korisnika sta se od njega ocekuje, i sta predstavljaju ispisani rezultati. SHjed!
U prvoj naredbi, '2 + 3' je znakovna konstanta koju raeunar doslovno ispisuje na ekran, taka da pobaljsana verzija prethodnog programa, koja ilustrira kako bi dobro napisan program trebao da izgleda:
ce na ekranu bitl ispisano samo 2 + 3. U drugoj naredbi, 2 + 3 je cje/obrojni izraz ciju vrijed-
nost racunar izracunava, tako da 6e.na ekranu bitl ispisan braj 5. Naredba program Pravougaoni k (input, output);
uses crt; { sawo za Turbo Pascal }
writeln ('2 + 3 =', :;) + 3}i
var Strdnical, Stranica2, obim, Povrsina i.nteger;
ispisa6e na ekranu 2 + 3 == 5. begin
clrscr; { sarno za Turbo Pascal }
writeln ('Obim i povrsina pravougaonika');
Demonstrirajmo do sada izloieno gradivo na jednostavnom programu koji trail od korisnika da write ('Unesite prvu stranicu: '); readln (StranicaJ.);
unese duiinu stranica pravougaonika, a koji zatim ratuna i ispisuje obim i povrsinu tog pravougaonika: write ('Unesite drugu stranicu: '); readln (Stranica2);
Obim :'" 2 * (Stranical + Stranica2);
program Pravougaoni,k (input, output) i
PovrKina :"' Stranical * Stranica2;
uses crt; ( samo za Turbo Pascal ) w,t'iteln ('Obim pravo'Ugaonika je " Obim, '.');
writeln (' Povrsina pt'avougaonika je " Povrsina, '.');
var Stranical, Stranica.2, ObJ:rn, Povrsina integer; readln
begin end.
clrscr; ( sarno za Turbo Pascal. )
readln (StraniCal, Stranica2); Ueenicima se savjetuje da unesu i pokrenu ovaj kao i prethodni program i da !zvrse uporedivanje.
Obim := 2 * (Str"!Ilical + Stranica2);
Povrsina : '" Stranical * Stranica2; Da ne bismo prikaze programa nepotrebno opterecivali detaljima koji nisu preljerano bitni za rad
writeln (Obim, Povrsina); samog programa, kao i radi ustede u prostoru, u svim primjerima koji slijede u ovom udzbeniku
readln izostavljaeemo naredbu cIrscr za brlsanje ekrana (zajedno sa neophodnom deklaracijom
ond. uses crt), kao i posljednju readln naredbu za ostvarivanje zadrske. Ucenicima se savjetuje da
prilikom unosa i testiranja programa sami ubace ove miredbe tame gdje smatraju da je to potrebno
Ako pokren~m~ ovaj program i unesemo kao ulazne podatke brojeve 6 i 9, na ekranu 6e se (pod uvjetom da koriste Turbo. Pascal, sto'ie najvjerovatnija varijanta) .
.jspJsaij ~054 .. Jasno je da je obim pravougaonika sa duiinom stranica 6 i 9 jednak 30, a povrsina
54<-~edytirTl, moze s'e .postaviti pitanje zbog 6ega je ispis ova dva broja sastavljen? Odgovor je
vOOmapro$~Jbog toga sto nigdje u programu nismo navell da ne treba da bude sastavljen! Vee lJ'.2 Formatirani"izlaz
". ~~o.'n_ag!asilJ tia racunar nista ne podrazumy'eva dok mu se to eksplicitno ne naredi. Sreom,.ovaj
-prOb!ef!f.s~-ve~malako rjesava, Vee smo vidjel1 da naredba wri teln (ili wri tel ispisuje doslovno
~a ~~gl.ll SV? z:nakove u'nytar znakovnih konstantL 8toga je dovoljno u naredbi za ispis izmedu ispisa
Naredbe za ispis d~pus'i~Ju da:s~';~P@ _~d~tno.pr;lagOdi (formatira) prema potrebama korisni-
ka. Na primjer, moguee je priiikom iSpig'::podes-avati sirinu polja predvidenog za ispis, na taj naCin
-.:pro-:njenljivih 9bim i Povrsina ispisati jednu znakovnu konstantu kOja se sastoji od jednog (iii 8to se iza argumenta kojj s.e)sPI$uj~ dod~ znak .: .nakon-6ega slljedl cijeli broJ (iii cjelobrojni izraz)
,vise) razmaka. Drugim rijecima, naredba za ispis treba da glasi: koji odrectuje zelje~u srrinu polTa. Na -primjer, ukoliko napisemo naredbu
. writeln TObim, ' " Povrsina); wri teln (' Obiru: " Olitm' 8)-;

295
i ukoliko je vrijednost promjenljive Obim jednaka 240, na ekranu ce se ispisati: begin
write ('Unesite poluprecnik: ');
Obim: 240 read In (R);
writeln {'Obim kruga iznosi: ' , 2 R * pi 0 4};
Zeljena sirina se postize ispisom razmaka ispred podatka koji se ispisuje. Treba naglasiti da 8 nije writeln {'Povrsina kruga iznosi: flqr (J~) * pi_ : 0 4}
bro] razmaka koji se ispisuju ispred podatka, nego bro] m]esta na ekranu koje ce zauzeti podatak. end.
Kako u nasem slueaju broj 240 ima tri cifre, on 56 dopunjuje sa 5 dodatnih razmaka ispred, sto
zajedna Clni 8 mjesta. Podesavanje skine ispisa koristi se obicno u slucajevima kada zelimo da Primijetimo da u ovom programu, za razliku od prethodnog programa, nismo definirali posebne
pastignemo da brojcani padaci koje ispisujemo u vise_redova budu poravnati udesno, tj. taka da promjenljive u koje smjestamo izracunat! obim i povrsinu. OVO smo uradili namjerno, radi iiustracije
odgovarajuce dfre svih podataka budu potpisane jedna ispod-druge, 51icno kao kada potpisujemo da se rjesavanju istog problema moze pristupiti na vise nacina.
brojeve kOje zelimo rutno sabirati iii oduzimati. Na primjer, ukoliko izvrsimo sljedeee naredbe:

writeln ('Obim: Obim 8); 3.7.3 Koristenje lekslualnih datoteka za ulaz i izlaz
w:riteln ('Povrsina:' Povrflina 8);
Programski jezik Pascalomogucava da se podaci umjesto sa tastature unose lz proizvoljne tek-
tada ce, UZ pretpostavku da su vrijednosti promjenijivih Obim i Povrs.ina redom 520 i 16875, stualne datoteke, kao i da se umjesto na ekran ispisuju u projzvolj~u tekstualnu datoteku. Posto
na ekranu biti ispisano: cerna 0 datotekama detaljnije govoriti u poglavlju koje je posveceno slozenim strukturama podata~
ka, na ovom mjestu necema ulaziti u detalje, vee cemo na6in koristenja datoteka za ulaz i izlaz
obim: 520 podataka objasnitl na konl<retnom primjeru, koj! cerna detaljno objasniti. Pretpostavimo da zelimo da
Povrsina: 16875 prepravimo program za racunanje obima i povrSine kruga taka da se poluprecnik ne clta sa tastature
nego iz neke ulazne datoteke (recimo UIJ,A.Z. TXT), a da se rezultati raeunanja umjesto na ekran
Ukoliko je zadana sirina polja za ispis manja ad broja znakova koji se trebaju ispisati, zadana sirina ispisuju u neku izlaznu datoteku (reGimo IZLAZ. Tx'r). Prepravljeni program mogao bi izgledati
polja se ignorira. ovako:

Kada S9 pomocu naredbi wri te i wri teln ispisuju realne vrijednosti, ra6unar vrsi ispis u program KTUg (U12Z112, Izlazna);
eksponencijalnoj notaciji (tj. u obliku mEe) ukol!ko mu ne naredimo drugaeije. Na primjer, ukoliko const Pi '" 3.141592651;
izvrsimo naredbu var U}azna, Izlazna text;
R real;
writeln (4218 I 7);
begin
aflsign (U1azna, 'Ul,AZ.'I'X1"); assign {Izlazna, 'IZLAZ.TX1"};
na ekranu ce bitl ispisan rezultat 6.02 57142857E+02 (ovaj rezultat, podsjetimo se, zapravo pred-
reset (U1az112) i rewrite {lz.Iazna};
stavlja 6.0257142857 . 10 2). Pri tome, bra) decimala koji ce se prikazati ovisi od konkretne verzije readln (Ulazna, R);
kompaj!era za Pascal koji se koristi (primjer je testiran na Turbo Pascalu 6,0). Mada je ovaj rezultat writeln {Iz.Iazna, 'Obim kruga izn08i: 2 " R " pi : 0 : 4);
nesumnjivo tacan, on je ispisan na naein koji mazda jeste prikladan za inzinjere i tehnicki obrazovane writeln (lzlazn2, 'Povrsin2 kruga izn08i: sqr (R) * P.i 0 : 4);
korfsnike, aU ne i za ostale korisnike kojl ne pasjeduju visoko tehnicko obrazovanje. Naime, rezultat close (U.Iazna); close (Iz.Iazna)
ispisan u obliku 602.5"7142857 svakako bi bio mnoga shvat!jiviji vecini prosjecnih korisnika. Stoga, end.
jezik Pascal omogucava da se ispis u eksponencijalnoj notaciji izb]egne, na taj naein sto 6e se iza
ze!jene sirine ispisa navesti jas jedan znak : a zatim zeljeni broj decimala koje ce bit! ispisane (eime Analizirajmo ovaj program. Prvo sto mozemo primijetiti je da su predefinirane rijeci input i
se ujedno i sprecava ispis u eksponencijalnoj notaciji). ,Na primjer, ukofiko izvrsimo naredbu output Uzaglavlju programa zamijenjene sa korisnicki definiranim rijecima Ulazna i Izlazna,
time programu stavljamo do znanja da umjesto standardnog ulaznog uredaja Unput:) i standard-
writeln (4218 I 7 : 10 : 41'; nog izlaznog uredaja (output), za ulaz i izlaz podataka koristimo tekstualne clat6teke, koje smo
nazvali prosto Ulazna i Izlazna. Vrijedi napomenuti da vecina-moderr=!i~ k:ort)p_f:\j1era:za Pascal
na ekranu 6e se ispisati braj 602.5,714 "dapunjen,' sa dva razmaka ispred (da se postigne zadana . u potpunosti ignarira zaglavlje programa, tako da ovu izmjenu nismo Jt,orali nFvrsiti ,'(mada je stan-
a
sirina od 10 polja). Ako zelimo da' ~.adamo samo brQI,cJ.ecimala ne i sirinu polja, za sirinu polja dardni Pascal zahtijeva). Dalje, primijetimo da smo u deklarativnom -dije-Iu progtaf!1a deklarirali dvlje
mozemo staviti nulu (ova yarijanta cJ9~du~e)1.ij.&'predv-i~eria standardom; ali je podrzana u gotovo promjenljive nazvane upravo Ulazna i Izlazna koje su tipa text. Q ovorn1[pu-ee.biti govora
svim izvedbama Pascala). Sve o~o 6,cemu- SmQ',g9'!orili ilus-trira.sljedeCi program koji od korisnika kasnije, a u ovom trenutku cemo reci sarno da on predstavlja teks~ualn~ daioteke. '.'.~ _ - -
trati da unese polupreenik kruga, a zati~'~C!c0?~.-j isptsLlje njegov.obim i povrsinu na 3 decimale:
Na pocetku izvrsnog dijela programa, nalaze se dvije as_sigp .naredbe~ SvrYla ovlh naredbi je"
program Krug {input,-'~utp~'tL -: .
da povezu promjenljive Ulazna i Iz1.azna sa datotekama ria dis~u bija s!-ilme:na. ULAZ. 'l'XT i
14~592654;
const pi '" 3 . IZLAZ, 'l'XT. Pomocu naredbi reset i rewri te ove dvije datotel<e otva~amoJtr pripremamo za
var R real; upotrebu), pri cemu naredba reset govori racunaru da je -dato~eka koja j~ predstFtvljena pr-am-
296 297
jen!jivom prOS!jede~om kao a~gu~ent ove naredbe (tj. Ulazna) namijenjena za citanje podataka,
Pitanja i zadaci
dok naredb~ rewrl te gavar! da Je datateka koja je predstav!jena pramjenljivom pros!ijedenom kao
argument (tJ. Iz.1azna) namijenjena za upis podataka. Po zavrsetku programa, koristene datoteke
freba zatvoritl; sto se posHze naredbom close. Pos!jednje fzmjene ucinjene su u naredbama 1. Sta su naredbe ulaza, a sta naredbe izlaza?
re~dln. j wri tel~: U~~llko se u ovim naredbama (i8to vrijedi i za naredbe' read i 1flrite) kao 2. Kakvaje razlika izmedu naredbi read i readln, a kakva izmedu write i write1n?
prvl argument u~ot:'Jebl Ime neke promjenljive koja predstavljatekstualnu datoteku, tada ce se 3. 8ta' ce se tacno ispisati na ekranu ukoliko se izvrsi sljedeCi niz naredbi:
(unutar odgavaraJuce n~redbe) ta datoteka koristiti za ulaz odnosno izlaz podataka umjesto stan~
dardnog ulaznog odnosno iz!aznog uredaja. write{2); writeln{'5 'l; write{' 3'}; writeln{12};

Vee smo rekli da na ovommjestu nismo imali namjeru ulaziti u pojedinasti -vee sarno ilustrirati Odgovor provjerite na r1.:\cunaru,
mo~ucnosti .kari~tenja tekstualnih datoteka za ulaz i izlaz podataka. Recimo ids sarno kako mot8M 4. Uz pretpostavku da su a i aa cjelobrojne promjenljive, sta ce se fspisati na ekranu uko!iko se
rna Isprobatl ovaJ program. Pomocu nekog tekstualnog editora (npr, EDITMa u DO$-u ill NotePada u izvrsi sljedeei niz naredbi:
Windowsu) kr~irajmo datoteku koja sadrti samo jedan braj (npr. 5) i snimimo ]e pod imenom
a:=3; aa_:=a*a;
ULAZ. TXT u IS~i folder (direktorij) u kojem se nalazi i ovaj program. Nakon toga, pokrenimo pro-
write ('a' aa , 'aa' 'a*a' ,a,a*aa, a*a, 'aa*aa');
gram. Mada ovaJ progr.am ne ostavlja ~a ekranu nikakav vidljiv trag svog izvrsavanja, primijeticemo
I I

da se nakon pokretanja programa u Istam folderu pojavila nova datoteka nazvana IZL,i\Z TXT Odgovor provjerite na ra6unaru.
(koje ranije nije bilo). Otvorimo Ii ovu datoteku tekstualnim editoram (EDIT-om iii NotePadom) ~rjm-
ijeticemo da je njen sadrtaj sljede6i: ' 5. Sta je formatirani izlaz (ispis) i kako se takav ispis postiie u Pascalu?
6. Kako se zadaje teljeni broj decimala prilikom Ispisa real nih vrijednosti?
Obim kruga iznosi: 31.4159 7. Kako se Citaju ulazni podaci iz tekstualnih datoteka, a kako se upisuju izlazni podaci u tekstu~
Povrsina kruga iznosi: '78.5398 alne datoteke?
8. Napisite program koji ee na ekranu ispisat! prvo vase ime i prezime podvu6eno nizom ertica
ToHko zaista iznose (na 4 decimale) obim i povrsina kruga ciji je po!uprecnik 5. (znakovima "minus"), zatim jedan prazan red, a zatim vas datum rodenja, skotu, odjeljenje i
grad. Svaki podatak treba da bude ispisan u posebnom redu.
9. Napisite program kojl traii da se sa tastature unesu dva cijela broja, a nakon toga ispisuje na
ekran recenicu "Zbir brojeva __ i ~ je , a njihov proizvod je ~... ", pri cemu crtice treba zami~
jenitl sa unesenim i izracunatim podac1ma. Na primjer, ukollko S8 unesLi brojevi 5 j 8, recenica
treba da glasi: "Zbir brojeva 5 i 8 je 13, a njihov proizvod je 40."
10. Napisite program koji traii da sa tastature unesemo brej sekundi, a program treba da uneseni
broj razloti na sate, minute i sekunde, te da ispise-rezultat. Na primjer, ukoliko unesemo broj
3725, program treba da ispise 1 h, 2 min, 5 s. Uputa: koristite aperatore div i mod.
11. Napisite program koji traii da se sa tastature unesu dvije katete pravoug!og trougla a, j b, a koji
zatim racuna i ispisuje duzinu hipotenuze c na tri decimale. Uputa: koristite Pitagorinu teoremu.
12. Napisite program koji trati da se sa tastature unesu dva prirodna broja x i nr a koji zatim ispisu-
je koliko iznosi 1/x na n decimala.
13. Sve napisane programe prilagoditi za ulaz i izlaz PQmocu tekstualnih datoteka.

296
299
3.8 EI..EMENTARNE PROGRAMSKE STRUKTURE 3.8.2 Siozeni iskazi (blok iskaza)

U programiranju testo posto)l potreba da grupu iskaza objedinimo u jednu cjelinu koju nazivamo
blok ;skaza. Blok lskaza, kao i lzvrsni dio programa, zapocinje navadenjem kljucne rijetl begin, a
3.8.1 Prosli iskazi i sekvenca iskaza
zavrsava navodenjem kljucne rijed end, iza koje se ne navodl ta6ka (kao na kraju programa) ne90
taekazarez (kojl se moze izastaviti u slueaju kada iza nje slijedi ponavo rijee end, 510 se ponekad
U do sada razmatranim primjerima, koristili smo uglavnom tfi 'tipa iSkaza: iskaz eitanja (pasHie
maze dogoditi). Naredbe unutar bloka obicno se pisu 'uvuceno, da vizuelno lstaknu pocetak i kraj
se pomocu naredbi read iii readln), iskaz pisanja (postiie se pomo6u naredbi write iii
b!oka. Mogu6e je grupirati naredbe unutar programa u blokove. Taka je sljede6i program za raeuna-
w.dteln), i iskaz prJdruiivanja (postize se pomoGu operatora dodjele : ;;:). Svi ovi iskazi spadaju u nje obima i povrsine pravougaanika, U kojem se javljaju blokovi iskaza, posve ispravan:
tzv. proste iskaze, jer je sve sto iskaz nalate iskazano jednom naredbom. Posto su iskazl Gitanja i
pisanja detaljno razmotreni u prethodnom poglavlju, recimo ios nekoliko rijeci 0 iskazu pr"idrui:iva- program Pravougaonik (input, output);
nja. Kao sto sma vee vidjeli, ovaj iskaz ima sljedeCi oblik: integer;
var StTanical, Stranica2, ObiIn, Pavrsina
begin
promjcnljiva : '" izraz
writeln (' Obim 1. povrsina pravougaonika');
begin
Izraz sa desne strane znaka dodjele mora biti saglasan sa tipom promjenljive sa lijeve strane. Na write ('Unesite prvu .stranieu: ') i readln (Stranica:l);
primjer, nije mogu6e dodijeUti cjelobrojni izraz znakovnoj promjenljivoj. Dalje, vee smo rekU da sv! write ('Unesite dru(N stranicu: '); readln (Stran.ica2)
elementi u izrazu sa desne strane moraju prethodno imati definiiane vrijednosti, inace iskaz sadri] end;
semantieku gresku, koju kompajler ne6e detektirati. Ob.im : '" (Stranical + Stranica2);
Povrs.ina ._ Strani.ca1 * Stranica2;
begin
Bitno je naglasiti da se kod iskaza dodjeljivanja prvo citav izraz sa desne strane izracunava, pa writeln ('Ohim pravougaonika je " Ob:im, '.') i
se tek nakon toga izracunata vrijednost smjesta u promjenljivu. Ovo je narocito bitno ukoliko izraz wdteln (' Povrsina pravougaonika je " Povrsina, ')
sa desne strane sadri! Istu promjenljivu koja je navedena Iljevo od znaka dodjele. Posmatrajmo na end
primjer sljedeCi na prvi pogled cudan iskaz: end.

a !"" a + 5 U sustini, ovaj program je potpuna ekvivalentan programu za racunanje obima i povrsine
pravougaonika iz prethodnog poglavlja, tako da se moze postaviti pitanje kakva je uopce svrha formi-
U ovom iskazu se trenutna vrijednost promjenljlve a sabira sa 5, pa se nakon toga izracunata ranja blokova. U upravo razmotrenom primjeru, upotreba b!okova nije ni imala nikakvu svrhu (osim
vrljednost smjesta ponovo u istu promjenljivu. Dak!e, navedeni iskaz treba shvatitl kao "nova vrijed- elste Hustracije kako se definiraju blokavi), tako da je nisma marali ni koristit1. Razlog za primjenu
nost promjenijive a postaje siara vrijednost promjenljive a sabrana sa brojem 5'. Drugim rijeeima, blokova let! u cinjenici da se, u izvjesnim okolnostima, svi iskazi koji se nalaze unutar jednog bloka
ovaj iskaz uve6ava promjenljivu a za 5. Iskazi ovog tipa veoma se cesto susre6u u programlranju. tretiraju kao jedan jedini iskaz. Iz tog razloga, b!ok iskaza se naziva i sloten! iskaz. Sa konkretnlm
razlozima kada treba koristiti slozene iskaze, upazna6emo se u nastavku ovog pogJavlja,
Upravo radi ovakvih iskaza, za dodjeljivanje je uveden znak : '" umjesto obi6ne jednakosti. Mora
se priznati da bi iskaz poput a a + 5 mogao izazvati zbrku, s abzirom da je matematieki
::0

nekonzistentan (podsjeUmo se da se upravo iskazi poput ovog susre6u u BASIC-u, -sto potetnicima
nerljetko stvara probleme). 3.8.3 Iskazi grananja sa jednostrukim izborom

Svi programi kOje smo dosad koristili, ima!i su Hnijsku strukturu, tj. naredbe su se izvodile strjk- Veoma se rijetko desava da se neki problem maze rijesitl samo prostom sekvencom iskaza.
tno jedna za drugom, onim redom kako su navedene u programu. Ovakva algoritamska struktura S!atenij! algoritmi tipieno sadrze mjesta (grananja) na kojima se razlicite akcije izvrsavaju u zavls-
naziva se sekvenca iskaza, i predstavlja najprostiju algoritamsku strukturu. Pogledajmo, na prim- nosti da Ii je nekl uvjet ispunjen ill ne. U bosanskom jeziku, ovakve situacije prepoznajemo po pr!s~
jer, kako je izgledao algorltam za raeunanje i prikaz obima I povrsine kruga: ustvu karakteristicnih rijeel "akd' i "anda" (III "tadci'). Najjednostavniji slucaj grananja nastaje u
s,lu6ajevir.n8 kada trebamo vrsiti neku akdju iii niz akcija samo ukoliko je uvjet tacan, a u suprotnom
..'ne trebamo r~diti nista -specijalno. U ovom slucaju se radi '0 jednostrukom izboru. Na primjer:
:::::> Wiest vr(;ednost.poluprdnika r;
""* izracunaJ obim po formuti 2 ' .1t r; ==> alw pad(j ki.~a onda:
:::::> izra(unaj p()rr,~inu po fimnuli .1t ' r; ':::::> uzmi ki.fn/;ran;
""* ispisi vrijednost obima i povdinc.
",*" flko je danas radni dan onda:
U nastavku ovog paglavlja vidjetemo kako se u jeziku Pascal realiziraju sloienije algoritamsl<e :::::> usrani;
strul<ture. Za tu svrhu prvo je potrebno da se upoznamo sa pojmom slozenog iskaza (blaka fskaza). :::::> obuci se;
;:;;::(> idi u skolu;

300 301
U jeziku Pascal, jednostruki izbor se realizira pomocu kljuenih rijeei if i then, koje se koriste 3.8.4 Iskazi grananja sa dvostrukim izborom
na sJjedeci naein:
lskazi grananja sa dvostrukim izborom javljaju se u slueaju kada je predviden aftemativni tok '
if Ovjet then Naredba akcija u slucaju kada uviel nije ispunjen. Ovakve situacije oblcno nastaju kada u opisu algoritina na
bosanskom jeziku imamo potrebu da upotrjjebimo rijee "inace' (Hi frazu "u suprotnoni'). Na primjer:
Ovdje je Uvjet proizvoJjan logiaki izraz (tj. lzraz eija vrijednost mozebiti sarno true iii false), dok
je Naredba profzvaljan iskaz (prosti iii sloteni). Jednostruko grananje cemo flustrirati programom koji "'*" ako je danas radni dan onda:
od korisnika trazl da unese jedan eijeli brej. Ukoliko je broj veei iii jednak ad nule a manji od 10, pro- ::::} us/ani, obuci se i idi u skala;
gram ispisuje kamentar "Broj je jednocifren!", a u suprotnom ne ispisuje nlsta. Nakon toga se ispisu- :::::;> inace:
]e pozdravna poruka "Dovidenja ... ", bez obzira da Ii je broj bio jednocifren iii nije: :=:> i!>'kljtiL"i ZVOllO na budilniku i nt/stavi spm-'ati;
program cTednocifreni (input, output); U Pascafu, dvostruki izbor se realizira na slican naCin kao i jednostruki izbor, uz dodatak kljuene
var Broj integer; rUeei else:
begin
if Uvjet then Naredbai else Naredba2
...'rite {'Unesite bro}: ') i readln (Brnj) i
if (Broj >'" 0) and (Bro]' < 10) then
writeln ('Broj je jednocifr'en! '); Ovdje su Naredbaf i Naredba2 dva iskaza (prosta iii slozena) od kojih se prvi izvrsava ukoliko je uvjet
writeln (' Dovidenj a ... ' ) tacan, a drugi ukoliko uvjet nije tacan. Dvostruko grananje cemo ilustrirati programom za rjesavan-
end. je kvadratne jednaeine. Program prvo trati od korisnika da unese koeficijente kvadratne jednaeine
(A, B i c), a zatim raeuna diskriminantu D prema dobro poznatoj formuli D "" Jj - 4 A C.
Naredbu koja slijedi lza kl]uene rijeei then dobro]e pisati u novom redu, i to malo uvuceno, da se Ukoliko je diskriminanta veGa iii jednaka nuli, program raeuna i ispisuje rjesenja jednaeine po for~
vizualno ista~~e.da je ta naredba sastavni dio iskaza grananja. Naravno, ovakav stil pisanja nije mulama poznatlm iz matematike (obratite paznju na neophodne zagrade), a ukoliko je diskriminanta
obavezan, all Je Jako preporuCljiv. Takoder, obratite paznju da iza then ne stojl tacka zafez (zbog manja od nule, program ispisuje da jednacina nema realnih rjesenja. U oba slucaja, program na
toga sto tu nije kraj iskaza). kraJu ispisuje kratku pozdravnu poruku:

Ako je potrebno da S8 izvrsi vise iskaza u slueaju kada je neki uvjet ispunjen, tada je potrebno program KvadratnaJednacina (input, output);
te iskaze objediniti u slatenl iskaz (blok iskaza), sto je jedan od najbitnijih razloga zbog cega su var A, B, C, V f Xl, x2 real;
slozeni iskazi uopce i uvedeni. Ova situacija ilustrirana je u sljedecem programu, koii prvo trazi od begin
korisnika da unese neki broi: Ukoliko je broj negativan, ispisuje se poruka da je broj negativan, i nje- writeln ('Unesite koericijente A, B i C kvadrat.ne jednacine: ');
gova vrijednost se mnoti sa 2. Zatim se vrijednost broja uvecava za 5 (bez obzlra da Ii je broj bic readln (A, B, C);
negativan iii ne). Na kraju programa, isplsuje se novodobijeni broj: V :;;: sqr (B) 4 * A * C;
i f V >"" 0 then
program Trans.Eonl1ac.ijaBroja. (input, output) i begin
var Broj
begin
integer;
xl , - (-B - sqrt (D) ) I (2
X2 [-B
writeJ.n ( 'Xl Xl
,
sqrt (D) } I [2
0
A) ;
A) ;
5) i
.,
write ('Unesitebroj: '); readln (Em.1); writeln ( 'X2 c X2 0 5)
if Broj < 0 then end
begin "
else
writeln (' Un.ijeli ste negativan broj, ' ) i writ.el.n ('J'ednacina nema realnih rjesenja!');
Braj :'" Broj * 2 vn::iteln ('Program je zavrsen, zelim yam sreLan dan!')
end; end,
Broj :'" Broj + 5;
writeln ('Novodobijeni broj je Broj) Obratimo paznju na slozeni iskaz koji je upotrijebJjen iza kljucne rijeci then, a prije kljucne rijeei
~d, else. Naravno, istl program se mogao napisati i na sljedeCl nacin:

Unesite ~vaj program i isprobajte njegov rad na barem dva ulazna pOd~tka~j~~rifrO '~~gati~nim i jed:. program KvadratllaJcdnacina (input I output);
nim. pozitivnim. Da smo Uovom programu izostavlll par kljuenih rljeei begi"i"L j ~;;'nd koje sr"ijeae var A,' B, C, D, Xl, X2 real;
nakon kljucne rijeel then, tada bi se smatralo da samo prvi iskaz' li&_ then: ~tJ..iskaz \6ji sadrzi
begin
naredbu wr i teln) pripada iskazu jednostrukog grananja, dok pi se sljade61 -iskaz (tj-. I$k.az pridruzl-
writ.eln ('Unesit.e koeficijente A, B 1. C kvadrat,ne jednacine: ');
vanja EX'oj : "" Broj * 2) izvrsio bez obzira da Ii je uvjet ispunjen iii ne. r,ia"ovu Cinjenicu treba :readln (A, B, C);
narocito obratiti paznju prilikom pisanja programa-kojl koriste iskazE:"grananj8:-" - V :"-' Sql- (B) - 4 * A * Ci

302 303
ifv< 0 then Ovdje je vrlo nejasno da Ii je ova iskaz jednostrukog izbora (if UvjetA then Naredba) u kajem je
writeln ('Jednacina nema realnih rjesenja!') kao Naredba up0trebljen iskaz dvostrukog izbora (if UvjetB then NaredbaA else NaredbaB), ill
else se mozda radi 0 iskazu dvostrukag izbora (if UvjetA then Naredhal else Narcdba2) u kojem
begin
Xl :'" (-B - sqrt (V)) J (2;' Al; je kaaNaredhal upotrebljen iskazjednostrukog izbora (if UvjetB then NarcdbaA), a kaoNaredba2
X2: (-B + sqrt (D)) J (2 ;, A)i iskaz NaredhaB. Ove dvije interpretacije shematski su prikazane na sljedecaj sliei:
writeln ('Xl xl 0 5);
writeln ('X2 ',X2 0 5) lnterprefacija 1 lrlterpretacija 2
end;
writeln (' Program je zavrsen, ~elim Yam sretan dan!') if UvjetA then if UvjetA then
end. if UvjetB t h e n } if Uvjet$ then
Naredhal
Naredba A NOl'cdbrr Naredba A
U ovom slueaju, slozeni iskaz upotrijebljen je iza kljuene rijeci else. Nekada se maze dogoditi da else else
su i naredba kOja sHjedi iza then i naredba koja slijedi iza else slozeni iskazL Meciutim, vazno NaredhaB NaredhaB - - l',lrm!dba2
je naglasiti da se iza naredbe koja se natazi izmedu then i_else, bila ana prosti iii slazeni iskaz, .

niposto ne smije pisati znak -taeka-zarez. U suprotnom, kompaj!er ne bi prepoznao da se rad! 0


iskazu dvostrukog grananja, i gotovo sigurno bi doslo do prijavljivanja greske. Jasno je da su abje interpretadje moguee, iako imaju pasve drugaciji smisao. Ovo je jedna od
semantlckih nedosljednosti jezlka Pascal (ista nedosljednost javlja se i u modernijim jezicima kao
Naredbe kOje se nalaze unutar iskaza grananja, tj. iza kljuenih rijeei then odnasno else, 5tO su C, C++, Java ltd.). Po konvenciji je usvojena da se prihvata prva interpretacija, po kojaj se
mogu i same bit! panavo iskazl grananja. U tom slueaju se ,radi 0 ugnijetdenim iskazima grana R
rijet else odnosl na bHiu ad dvije rijeCi then. Ukoliko je neaphodno da isprogramiramo drugu
nja. 8ituacija kada se iskaz grananja nalazi iza rijeei else mnogo je jasnija i ne stvara nikakve interpretaciju, tada je neophodna iskaz jednastrukog izbora uklopiti u sloteni iskaz pomo6u para
nedoumice. Ovakva si1uacija javlja se u sljedeeem programu, koji traii braj sa tastature, a nakon rijeti begin i end, 61me on postaje neodvojiva cjellna. Drugim rijeCima, potrebno je napisati kon-
toga ispisuje na ekran da Ii je broj pozitivan, negatlvan iii nula: strukciju poput sljedece:

program IspitivaIljeZnaka (input, output); if UvjetA then


var Dr:oj integer; begin
begin i f UvjetB then
write ('Unesite jedan broj: '); readln (Broi) i NaredhaA
if Broj > 0 then end
writeln ('Bra] je pozitivan!') else
else NaredbaB
if Bra] 0 then
writeln ('Br'Oj je negativan!') Situacija se maze dodatno zakompliciratl einjenicom da se i u ovakYim konstrukcijama kao
else
svaka od upotrijebljenih naredbi (NaredbaA i NaredhaB) mogu upotrijebifi ponova iskazi grananja, itd.
writeln ('Broj je nula!')
Na ovaj naCin dobijamo konstrukcije sa gemilom rijet! if, then i else, za koje je tesko adgonet-
end.
nuti kaja je sa kojom povezana. Mada postoje pravlla kako se ovakve konstrukcije razrjesavaju, nji
hovo pisanje nije dobra programerska praksa, i njima se ne6emo detaljnije baviti.
U ovakvim slueajevima se eesto kljuena rijee i f kaja s!ijedi rza else pise u istom redu iza else,
tvoreci karakteristicnu else if strukturu (naravno, ovo je sarno stvar st1la pisanja):

if Broj > 0 then


3.8.5 Iskazi grananja sa visestrukim izborom
writeln {' Broj je pozitivall! '
else i f Broj <: 0 then . Uprethadnom adjeljku, vee sma se upoznali sa jednom od mogucnosti za formiranje vi5estrukog
writeln (' Broj je neg-ativanl') ~izbora.
To je upotreba ugnijezdenih iskaza grananja. Na primjer, sljedeci.program trazi od korisnika
else da Uf)ese oejanu, a program ispisuje tu ocjenu rijetima ("odlican", "vrlo dobar", "dobar", "dovoljan" iii
writeln ('Broj je nula!') ~.n~d6volja~"):

Situacija u kojaj naredba kaja slijedi lza then predstavlja iskaz grananja moze biti veoma ken- program IspisOcjene (input, output);
fuzna, pogotovo ukaliko se radi 0 iskazu sa dvostrukim izbarom. Na primjer, pogledajmo sljede6u var Ocjena : integ'er;
konstrukciju: begin
write ('Unesite ocjenu: '); madIn (Ocjena)i
if UvjetA then if UvjetB then NaredbaA else NarcdbaB ,if Ocjena 5 then
writeJ.n ('Odlican!')

304 305
else writeln ('Nedovoljan!');
if Ocjena '" 4 then else,
wri teln (' Vr10 dobar! ' ) writeln ('NeispravDa ocjena!')
else end
i f Ocjena '" 3 then end.
writeln ('Dobar!')
else Nekada zelimo da izvrsimo istu akeiju za vise razli6itih vrijednosti izbornog izraza. To se postite
i f ocjena "" 2 then pisanjem niza konstanti razdvojenih zarezom umjesto jedne konstante (njihov poredak nije bitan), iii
writeln ('Dovoljan!') pisanjem opsega vrfjednosti (sHeno kao pri!ikom deklarlranja intervalnog tipa). Na primjer, na faku!~
else
tetima su predvidene oejene ad 1 do 10, stirn sto Delene od 1 do 5 nisu prolazne (napomenimo da
if Ocjena '" 1 then
fakultetski profesori prilicno rijetko navode oejene koje su U opsegu od 1 do 5, tako da se svaka
writeln (' Nedovoljan! ' )
else nepro!azna oejena najcesce pise kao "-petiea", lako postoje i nite oejene). Tako bismo iskaz grana~
writeln ('Neispravna, ocjena! ') nja sa visestrukim izborom, u slucaju fakultetskih oejena, mogli pisati na primjer ovako:
end.
case Ocjcna of
1 5: writeln ('Veoma slabo!');
Mada ovaj program radi korekino, ne moze se reci da je previse e!'egantan. !skazi grananja u ovom
6 : writeln ('Slaba!');
programu "gnijezde" se previse duboko, zbog cega program dobija karakteristican "stepenast" 7,8 : writeln ('Prosjecna!');
izgled. To se maze izbjeCi pisanjem else i f konstrukcija u istom redu, ali problem neelegancije 9 : writeln ('Dobro!');
ostaje. Kako se ovakve situacije u programiranju javljaju veoma cesto, u jeziku Pascal uveden je 10: writ.eIn ('OdJicno!')
poseban iskaz za ostvarivanje grananja sa visestrukim jzborom. Ovaj iskaz ima sljedeei oblik: end;

case lzbomiIzraz of Vrijedi napomenuti da u izvornom PascaJu kljuena rijee else nije bila predvidena za koristenje
Vr{icdnostl Naredbal; unutar case iskaza, nego je to jedan ad nestandardnih dodataka uveden u novijim verzijama
Vrijedllost2 Naredba2; Pasca/a. U izvornom Pascafu, izborni izraz mora biti jednak jednaj od konstanti pomenutoj u case
iskazu, inaee se javlja greska. Standard Extended Pascalumjesto kljucne rijeci else unutar case
VrijedrwstN Naredba,1\l iskaza koristi kljucnu rijee otherwise.
else
NaredbaE
end 3.B.6 Iskaz bezuvjelnog skoka

Iskaz grananja sa visestrukim izborom omogucava izbor izvrsavanjajedne od nekoliko mogucih Ueenicima je vjerovatno 06tala u sjeeanju naredba GO'l'O iz programskog jezika BASIC, koja
alternativa. Izbor je zasnovan na vrijednosti jednog izraza koji se naziva izborni izraz. Taj izraz omogucava da se jzvrsavanje programa nastavi od proizvoljnog mjesta unutar programa. SHean
mote biti bilo kojeg ordinalnog tipa (dakle, realni tip nlje dozvoljen), dok Vrijednostl, Frijednost2 itd. efekat moguee je postici i u Pascalu, pomocu iskaza bezuvjetnog skoka. Ovaj iskaz treba po svaku
moraju biti konstante (neimenovane iii imenovane) istog tipa kao i tip izbornog izraza. Vrijednosti cijenu izbjegavati, jer Pascal posjeduje znatno pogodnije iskaze kojima se moze postlei isti efekat,
svih ovih konstanti moraju biti medusobno razlicite. Naredbe Naredbal, Naredba2, ltd, mogu bit! a koje cemo uskoro upoznatL
proizvoljni iskazi (prosti, slozeni, pa eak 1 iskazi grananja), lskaz grananja sa visestrukim izborom
prvo izraeunava vrijednost izbornog izraza, a zatim izvrsava onu naredbu kOja sHjedi iza konstante Slicno kao u BASIC~u, iskaz bezuvjetnog skoka sastoji se od kljucne rijeei goto, iza koje slije-
Cija je vrijednost jednaka vrijednosti izbornog izraza. Ukoliko takve konstante nema, izvrsava se di eijel! broj koji predstavlja-oznaku mjesta od kojeg zelimo da se program nastavi. Medutim, za raz-
iskaz NaredbaE koji slijedi iza djeei else. Ova rijee, kao i pripadna naredba, mogu se iZQstaviti. U liku ad BASIC-a, u Pascafu ne postoje linijski brojevi, tako da se mjesta u programu na koja ielimo
torn slueaju, ukoliko ne postoji konstanta cija je vrijednost jednaka vrijednosti izbornog iskaza, ne vrsiti skokoye moraju posebno qznaCiti pomocu specijalnih oznaka koje nazivamo /abeJe. Labela se
desav~ se niSta. sastaji od djelog broja iza k6jeg-sHj~di _znak dvotacka. Svaku labelu koju ielimo koristiti u programu
moramo prethodno- riaJav.iti (deklarirati)' u deklarativnom dijelu programa pom06u kljuene rijeci
pToqram Jsp.isOcjene (input, output); label: Por"ed toga:.. stand-*9nj Pascal zahtijev~ da labele budu deklarirane prije deklaraeija imeno-
var Ocjena : integer; vanih konstanti i promjenijivih.
-begin
-.'- --
write ('Unesite ocjenu: '); Iskaz bezuyje1(iog~skoka.1J,0striraeerno na primjeru programa koji neprestano ra6una i ispisuje
. readln (Ocjena); kvadratni korijen brojJ3._ 'yn-e?'$.D,()g s~ tastatur.e sve dok korisnik ne unese nulu, nakon cega program
case Ocjena of prestaje sa radom.P.rogramie pisan u_$tilu kako"se pisu BASIC programi, tako da bi ovakav progr'am
5 writeln ('Odlican!'); 'vjerovatoo napis~o neki tvrdokorni BASIC programer ko]i S6 prvi put susrece sa Pascafom. Kasnije
4 writeln ('Vrlo dobax-!'); cemo v.idjeti da se'isti_pr,ogratn 'moZee ml)ogo elegantnije napravlti bez naredbe bezuvjetnog skoka.
writeln ('Dobar!');
2 : wr.i teln (' Dovoljan! 'J ;

. 306 307
program RacunanjeKorijena (input, output); program ProsjekOcjena (input, output);
label 10, 20, 3D; var 01,' 02, 03, 04, 05, 06, 07, 0/1, 09, 010 : integer;
var Broj : real i
Prosjek real;

begin begin
writeln 'unesite 10 ocjena: ');
writeln ('Racunanje korijena');
readln (01, 02, 03, 04, 05, 06, 07, oB, 09, o'](i);
10: writeln ('Unesite broj: '); readin (Broj);
Prosjek :'" \01 + 02 -I- 03 -I- 04 -I- 05 -I- 06 -I- 07 -I- oB ~ 09 -1- 010) I 10,.
if Eraj '" 0 then goto 30;
w.riteln ('Prosjecna ocjena je: ',Prosjek 0: 2)
if Broj < 0 then gate 20;
wr:iteln ('Njegov karijen je; sqrt (Broj) o 5) ; end.
gato 10;
20: wrhein ('Greski'l: Korijen iz negativnog broja nije rea1an broj!');
Mada ovaj program nesumnjivo radi korektno, -zamislimo kako bj lzgledao isti program da smo
goto 10; umjesto 10 trebali obradit11 00 oejena! Stoga razmislimo kako bismo magli unaprijediti ovaj program.
30: writeln ('Dovidenja!') Kako je Pascal proeeduralni Jezik, pokusajmo racunaru objasniti sta mi zapravo radimo kada
end. racunamo prosjek oejena "ru6no" (tj. bez pomo6i ra6unara). Na prvom mjestu, treba primijetiti da pri"
likom racunanja prosjeka oejena, mi nikada ne pamtimo sve ocjene odjedanput (tako da nam nije
U ovom primjeru labele su oznacene u rastucem poretku (10, 20, 30), mada taka ne mora bitL potrebna gomila promjenljivlh za pamcenje svih ocjena), vee sarno pamtimo sumu do tada obradenih
Modernije verzije Pascala (npr. Turbo Pasca~ dozvoljavaju da labele budu ne samo eijeli brajevi ocjena. Svaki put kada obradujemo novu oejenu, nju saberemo na dotadasnju sumu, nakon 6ega
nego i rijeei (preeiznije, proizvoljni identifikatari). staru sumu "zaboravljamo" i pamtimo samo novu sumu. Ovo nas dovodi do sljedeceg algoritma:

Za razliku od BASIC-a, Pasca/postavlja izvjesna ogranicenja gdje se maze a gdje ne moze vrsiti '* Posfavi pocef11.u sumu ocjena na n.ulu;
bezuvjetni skak. Taka, na primjer, nije moguce izvrsiti skok sa proizvoljnog mjesta na mjesto koje se '* Za sve ocjene od pn1e do krajnje, radi sljedece akcije:
nalazi negdje unutar slozen09 iskaza (tj. izmedu begin i end). Postoje i druga ogranicenja pri '* Unesi o(jenu sa tasta/ure;
upotrebi gote naredbe, ali 0 njima necemo govoriti s obzirom da ovu naredbu ionako treba izbje- =::> Doda) tlncsenu ocjenu 11.a SUnJU ocjen.a i zapamti nova sumu;
gavati po svaku eijenu. Jezik Pascal posjeduje mnostvo drugih naredbi kojim se isti efekat moze '* Pndijeli sumu oejena sa brojem oejena;
postiCi na mnogo pregledniji nacln. Mada postoje situacije kada se naredba gote moze karisno '* lspi/H rezultat.
upotrijebiti, nju je mogu6e izbjeci u prakticno svim situacijama. Osnovni razlog za njeno izbjegava-
nje je Cinjenica da ona omogucava potpuno nekontrolirane skokove sa kraja na kraj programa, sto U prikazanom algorltmu primjecujemo pojavu rijeci "xli', "od' i "dd', koje su karakteristicne za
dovodi do programa 6ijl je tok gotovo nemoguce pratitL Stoga je, na jednoj od medunarodnih kon- ovakvu vrstu algoritama. U jeziku Pascal, algoritmi popu! ovog izvode se pomocu naredbe for,
fereneija posve6enih metodologiji programiranja, izrecen stay da "naredba goto steti program!- koja ima sljedeCi ob!ik:
ranju barem onollko koliko pusenje stet] Ijudskom zdravlju".
for Promjcnfjiva : '" Poc:etnaVrijednost to KrajnjaVrijednost do Naredha

3.8.7 Iskazi ponavljanja Ova naredba govori da se iskaz Naredba, koj! nazivamo tijefo petlje (a kojl moze bit! proizvoljan
:'j
iskaz, ukljucujuci i slozene iskaze, i f iskaz, case iskaz, pa cak i panovo for iskaz), treba
:.:.:1
PonavlJanje (odnosno petlja iii ciklus) je algoritamska .struktura koja nam omogucava da izvrsiti za sve vrijednosti promjenljive Promjenljiva od vrijednosti Poc-eff1aVr{jednost do vrijednosti
kreiramo algoritme koji ukljucuju ponavljanje -neke akcije (iii skupine akcija). Mada se algoritmi sa
!
Krajt(jaVrijcdnost. Preeiznije, ova naredba (koju cemo najcesee zvati prosto for petlja) prvo
ponav!janjem mogu realizirati pom06u iskaza bezuvjetnog skoka, kao sto smo vidjeli u prethodnom postavlja vrijednost promjenljive Promjrnljiva na vrilednost PocefnaVrijednosf. Nakon toga se prov-
primjeru, takva rjesenja nisu dobra i treba ih izbjegavati. U nastavku cemo vidjetl kako se algoritmi jerava da Ii je krajnja vrijednost veca iii jednaka od pocetne vrijednosti. Ukoliko to nije slucaj, petlja
sa ponavljanjem realiziraju u _Pascalu bez upotrebe naredbe goto. se ignorira (dakle, tijelo patlje se u tom slueaju neee lzvrsiti niH jedanput, sto for petlju svrstava u
se
kategoriju uvjetnih petlj!). U suprotnom, izvrsava se iskaz Naredba, a zatim prelazi na sljedecu vri-
jednost promjenljive Promjenljiva (pozivom funkcije succ"st~ sa. u slutaju cjelobrejnih promjenljivih
3.8.7.1Iskaz for svodi na povecanje sadrzaja promjenljive za 1). Ukoliko je nova vri)ednast p"romjenljive manja iii jed-
. .- . - -
naka od vrijednostl KrajnjaVrijcdnost, iskaz Naredba s~ izvrsava ponovQ,' Po-stupak se ponavlja sve
Najjednostavniji alg~ritmi ~oji korlste PQnavljanje su algoritmi u kojima se neka akcija ili skupina dok vrijednost promjenljive Promjenfjiva ne postane veca od vrljednostrK?qjnjdVri}edno.~t Uz pom?c
akcija ponavlja tacna odredenF biot pula koj"i je poznat unapnjed. Na primjer, pretpostavimo da naredbe fer, predlozeni algoritam bi se u jeziku Pascal mQao D.apl~h Oy~.ko: '
zeHmo da izracunamo prosjecn_u ocj~ntj" (n?' dvije decimale) nekog ucenika iz nekog predmeta.
06igledno je potrebno da saberemo SVe,'oejene" i da nadenu sumu podijelimo sa brojem oejena. Na program PTosjekOc.jena (input, output) i
prv! pogled moglo b-i- se: pomislm ,da n'am -je- potrebno onoliko promjenljivih koliko ima aejena.
const BrojOcjena "" 10;
Pretpostavimo, na primjeT,'-_da ucenik [ina 10 oejena. Jedno, veoma lose rjesenje ovog problema,
moglo bi, na primjer, izgledati ovako: var Ocjena, BrojacOcjena, SumaOcjeI}a
PT'osjek real;

308 309
begin Prosjek : = SunlaOcjena I BrojOcjena;
SumaOcjena :'" 0; writyln ('Prosjecna ocjena je: ',Prasjek 0 2.)
writeln ('Unesite BrojOcjena,' ocjena: ' ) ; end.
for BrojacOcjena : = 1 to BrojOcjena do
begin U nekim slucajevim~ se brojacka promjenljiva mora upotrijebiti unutar petlje, jer sadrz1 informa
readIn (Ocjena) i dju kOja je neophodna za dio algoritma koji se nalazi unutar petlje, Analizirajte sami kako radi
sumaOcjeno. :=- sumaOcjo1Jo. + Ocjena sljedeCi program koji raeuna i ispisuje sumu kvadrata svih brojeva od 1 do 100:
end;
P:msjek : '" SumaOcjena I B.rojOcjena;
program SumaKvadrata (input, output);
writeln ('Prosjecna ocjena je: ',prosjek: 0: 2)
end. const Max:::: 100;
var Braj, Sumo. integer;
U ovom primjeru, tijelo petlje saeinjava slazeni iskaz, kaji se sastaji od dva prosta iskaza (naredbe
begin
reo.dln i iskaza pridruzivanja), Da sma slucajno zaboravili da omedimo ova dva prosta iskaza sa
Sumo.: 0;
p_arom begin i end, tada bi racunar smatrao da samo naredba readIn cini tijelo peUje. U tom for Braj : '" 1. to Max do
slucaju, iskaz pridruzivanja bi se izvrsio tek nakon $to se citava petlja izvrsi, tako da bi rezultat bio SWfld :'" Suma + sqr (Broj);
pogresan (uracunala bi se sarno posljednja oejena). Ovaj-tip greaka je veoma eest kod poeetnika. writ.eIn ('Sumo. kvadrata brojeva od 1 do Max, ' je 8l1ma)
Druga eesta greska prilikom koristenja naredbe for (ista primjedba vrijedi i za naredbu while end.
koju cemo uskoro upoznati) je stavljanje tacka-zareza iza rijeei do. U tom slueaju ee raeunar sma~
tratl da je tijeJo petlje prazno (t]. da se unutar petlje ne izvr5ava nI51a), tako da ee se naredbe koje Upravljacka promjenijiva ne mora blti sarno cjelobrojnog tipa, vee maze biti bilo kojeg ordinalnog
smo zeljeJi da budu unutar petlje izvrsiti izvan nje. Najgore je sto ni u jednom ni u drugom slucaju tipa (dakle, realni tip nije dozvoljen), pri cemu se prelazak na sljedeeu vrijednost promjenljive uvijek
prevodilae neee prijaviti nikakvu gresku, nego ee program jednostavno raditl pogresno (ovo je jos ostvaruje pozivom funkelje suce. Na primjer, u sljedecem programu, koji ispisuje slijed slova ad
jedan primjer semantickih gresaka)! 'A' do 'z' koristi se upravljacka promjenljiva znakovnog tipa:

Promjenljiva koja se javlja u naredbi for i koja upravlja radom petlje, naziva se upravfjacka program Sl.ijedSlova (input, output);
promjenljiva (iii ponekad i brojacka promjenljiva). ces1i su slueajevi kada se brojacka promjenlji- var Znak char;
va ne koristi nigdje unutar tijela,petlje, nego samo sluti radi vodenja evideneije koliko puta je peUja
begin
izvrsena. Na primjer, ukoliko zelimo da ispisemo poruku "Pozdrav svimal" 10 puta, to mozemo ura-
for Znak := 'A' to 'Z' do
diti pomoeu sljedeceg iskaza (uz pretpostavku da je deklarirana cjelobrojna promjenljiva Brojac): write (Znak)
end.
for Brojac ::::: 1 to 10 do
writeln (' Pozdrav svima! ');
Ukoliko zelimo da se uprav!jacka promjenljiva ne poveeava nego umanjuje za 1 pri svakom pro-
!azu kroz pet!ju (odnosno, umanjuje pozivom funkelje pred), tada umjesto kljucne rijeei to treba
U primjeru za raeunanje prosjecne oejene, upravljacka promjenljiva BrojacOcjena takoder sarno
pisati kljucnu rljee downto. Na primjer, sJjedeci program ispisuje niz brojeva od 1 do 10 u obrnu~
vodi evidenciju do koje smo oejene dosli pri unosenju, pri cemu se njena vrijednost ne koristi nigdje
unutar petlje, Medutim, informacija koju sadrti ova promjenljiva maze se veoma korisno upotrijebiti tom poretku (poeev od najveceg ka najmanjem), pri cemu se svaki broj ispisuje u novom redu:
unutar petlje da obavijesti korisnika kOja je oejena na redu. Na primjer, prethodni program samo
program ObrrlUtiPoredak (input, output);
ispisuje "Unesite 10 oejena:", nakon cega korisnik treba da unese 10 brojeva. Pri dugackim unosi
rna, korisnik moze zaboraviti koliko je oejena unio. Sljedeci program predstav!ja poboljsanu verziju var Braj : integer;
prethodnog programa, koji koristi informaciju sadrzanu u promjenljivoj BroJ'acOcjena za ispis begin
poruka poput "Unesite 1. oejenu:", "Unesite 2. ocjenu: ", itd. for Braj := 10.downto 1 do
w.riteln (Braj)
program ProsjekOejena (input, output); ~d.

const BrojOcjena :::: 10;


Ukoliko smo korlstm klju"G:fl~- fijec - d.9wnto, tada pocetna vrijednost mora biti veea Hi jednaka' od
var Oejena, BrojacOcjena, SumaOcje.l1a integer;
krajnje, inaee Sfp~tija ignor[ra.
PTosjek : real; . ~

begin Razmotrimo j6sieda'~_!~_rere:~ant-an primjer u kojem se jav!ja iskaz for. U matematici je paz-
$tlmaOcjena : = 0;
nato da su Fibof1.acije~i br6j?vi niz brojeva od kojih su prva dva jednaka jedinici, a svaki sljedeci
for BrojacDcjena : '" 1 to Bro)Ocjena do
begin jednak je zbiru'tlva prethodh<;l. (n? primjer, prvih nekoliko Fibonaeijevih brojeva su 1, 1, 2, 3, 5, 8, 13,
wd_te ('Unesite " 13rojacOcjena, 1 . ocjcnu: '); readln (Ocjena); 21,34, "5S itd.). Sljede~iJ?rogram_ ispisuje prvih 20 FibonaCijevih brojeva:
SumaOcjena : '" SumaOcjena Oc]'ena
end; .

310 311
program Fibcmaci (input, output); Primijetimo da se U opisu ovog algoritma javlja karakteristicna fraza "sve dok ie'. U PascaJu, algo>
var i, Fl, F2, F3 : integer, ritmi poput ovog ,realizlraju se
pomo6u iskaza while, koji 1ma sljedeei oblik:
begin
whi le Uvjet do Naredba
Fl :'" 1, F2 :"" 1;
for :i :"" 1. to 20 do
begin Ovaj iskaz govori da ee se iskaz Narcdba (koji je najeesce slozeni iskaz) ponavljati sve dok je
w:dteln (Pl); uvjet Uvjet ispunjen. Tako bi se, ,uz pomoe iskaza while, gore prikazani algoritam u jeziku Pascal
F3 :'" PI + F2; F'l := F2; F2 :'" F3 mogao napisati na sljedeCi nacin:
end
end. program ,sumaBrojeva {input, output};
var Broj ( Suma integer;
Mada je ovaj program sasvim kratak, on nije posve jednostavan za razumijevanje. U nJemu -Je
Koristena interesantna tehnika programiranja nazvana presipanje promjenfjivih unutar petlje sa ci~ begin
Ijem da se omogu6i generiranje citavog niza FibonaCijevlh brojeva sa samo tri promjenljive Fl, F2 S111na :oc 0;
write ('Unesite broj (negativdn \Jnos oznacava kraj): ');
i F3. Na p06etku se F'l i F2 postavljaju na jedinicu. Nakon sto se izracuna F3 kao Fl + F2
readIn (Bro j) ;
(dakle, F'3 6e dobit! vrijednost 2), F'2 se "presipa" U Fl, a F3 U F2, tako da de Fl sadrtavati while Broj >= 0 do
vrijednost 1, a F2 6e sadrzavati vrijednost 2. Postupak se dalje ponavlja, taka da u svakom prolazu begin
kroz petlju Fl sadrzi teku6i Fibona6ijev broj, a F2 i F3 sadrze dva naredna Fibonacijeva broja, Suma : = Suma + Broj;
Preporucljivo je da sa papirom i olovkom prodete kroz svih 20 ciklusa i da analizirate kakve su vrl- write ('Unesite broj (negi:l.tivan unos oznacava kraj): ,);
jednosti pramjenljivih Fl, F2 i ,F3 U pojedinim ciklusima. Trud koji treba uloziti za razumijevanje readIn (Broj)
ovog programa je isplativ, jer se na sliean naeln mogu rjesavati mnogi srodni problem!. end;
writeJ.n ('Suma- unes0uih brojeva je: Sl1ma) ,

Vazno je napomenuti da Pascal strogo zabranjuje bilo kakvo dodjeljivanje vrijednosti uprav~ end.
Ijackoj promjen!jivoj unutar Ujela peUje. Ova zabrana nije uvedena u Turbo Pascalu, mada takva dod~
jeljivanja mogu dovesti do potpuno neocekivanog ponasanja. Na primier, sljedeea petlja Primijetimo da SOlO istu naredbu za unos morali pisati dva puta, jedanput ispred peUje, a drugl put unutar
petlje. Razlog je u cinjenici da se uvjet kod iskaza while ispiluje na pocetku petlje, tako da vee na
for i, := 1. to 5 do pocetku moramo znati kakav je uneseni brej da bismo znan da Ii petlja treba uop6e da se izvl'Si iii ne.
begin Tal' problem mozemo rijesiti sljedeCim, funkcionalno ekvivalentnim, ali logicki eiegantnijim programom:
writeln (i);
i := i + 1 program sumaBrojeva (input, output);
end;
var Broj, Suma integer;
nije dozvoljena pO standardima Pascala. Turbo Pascal ee prihvatlti ovu petlju, ali ee se ona, pasve begin
neocekivano, izvrsavati beskonacan bro) puta! Suma := 0, Braj ._ 0;
while Bra j >= 0 do
begin
write ('Unesite broj (negativan unos oznacava kraj): '};
3.8.7.2 Iskaz while
readln (Broj)
if Bro] >:.0 0 then
U mnogim slueajevima ne znamo unaRrijed koliko se puta neka akcija treba ponovitL Na prim- 8uma := 8Ulna + Bro];
jer, pretpostavlmo da zelimb izracunati.zbir svih brojeva koje korisnik unosi sa tastature. Prj tome, end;
brojevi se unose sve dok Se ne uneSe negativan broi, nakon cega treba prekinuti unas i ispisati zbir I"riteln ('Suma unesenih brojeva je; s~ma)
(ne racunaju6i uneseni' negativi:!i proD. -9 ovom
--slucaju ne mozemo koristiti naredbu for, jer ne end.
znamo unaprijed k6liko deorojevapnijetf KQrisnik, Algoritam za rj'esavanje ovog problema mogao bi
izgledati ovako: .:.: - U ovom programu smo, na prvl pogled nepotrebno, inicija~~zirali l pibmjenljlv~ _.Broj ns. vrijednost
O. Ovo je, medutim, neophodno IZ sljedeceg ra?!oga: akq_~pe-Jz~r.sirn.o -nLentf infcijaHzaciju"njena
=? Posravi.p6:2erm~,~imiu-br.ojeva na nulu; potetna vrijednost ee biti slucajna, (nepredvidiva). Ka~o. se- pfOmjenljiv~_.~~Brot p6javljuje u uvjetu
=-> Unesi broj; -. iskaza while prije nego 5tO se njena vrijednost prvi put Une$~'9a't$.mture~ u sl~caiu d9- se dogo-
:=> Sve-gokk Ul\csfni ttpj veei iii jednak od nule, radi sijedeec akcije: dl da ie slucajna potetna vrijednost ove promjenljive .negativna;-~petrla. se neee.i'zvrsiti niti jedanput,
=> p'oridj lmescnj-~roj fia SUnlU brojeva i zapamti novu swnu; jer 6e uvjet odmah na pocetku biti netaean. Ako se ovo dqgodi, kao P?s!jeclicu cemo imati potpuno
"* U~csi.novt1Jr;;j; neispravan rad programa: program nas neee pltat! ni za jedari broj, j ispisace kao .krajnji rezultat
'* [spisi S(lmu. nulu! Da stvar bude jos gora, zavisno od slueaja, progr~m ee nek~da radit[, a n~kada neee!

312 313
U prethodnom programu koristenaje i naredba if eiji je smisao jasan: ona spreeava da, kada Tako, uko!iko pretpostavimo da je deklarirana znakovna promjenljiva Opcija, gornji algoritam bi se
unesemo negativan broj, on bude uraeunat u sumu. Pokusajte da razmislite kako bi se naredba if u Pascalu reallzlrao sljedeClm iskazom:
mogla izbjeei (uputa: zamijenite redosJijed sabiranja i unosa sa tastature - promjenljiva Broj je
na pocetku postavljena na nulu, a nula sabrana sa bilo kojim brojem daje taj lsti broil. repeat
wdteln (o'E - Editor');
writeln (' s - snimanje');
Radi bolje ifustracije koncepta while iskaza, naveseemo jos jedan karakteristican primjer.
writeln (' B - Brisanje');
S!jedeci program racuna sumu cifara broja unesenog sa tastature:
writeln ('K - Kraj');
writeln;
program SumaCi,[ara (input, output);
write~n ('Unesite opciju: !);
var Broj, Surna integer; readln (Opcija)
begin
until (Opcija '" 'E') or (Opcija '" 'S') or (Opcija = 'B') or (Opcija '" 'K');
write {' unesite broj: '};
readln (Broj); Sa aspekta strukture, iskaz repeat - until tretira $e kao slozeni iskaz, pri eemu kljucne rijeei
Stmla :'" 0; repeat i until imaju slienu ulogu kao kljucne riieei begin i end.
while Broj > 0 do
begin Mnogi algoritmi koji se mogu izvesti pomoeu while iskaza, mogu se izvesti i pomoeu iskaza
Suma := SUma + Braj lIIOd 10; repeat _ untiL Na primjer, sljedeCt program demonstrira raeunanje sume unesenih brojeva do
Braj :'" Braj div 1.0
unosa prvog negativnog broja pomoeu iskaza repeat until (ova] problem smo vee rijesil!
end;
writeln (Surna) pomoeu iskaza while):
end.
program SumaBroj(,va (input, output);
Rad ovog programa zasnovan je na sljedeeoj ideji: ostatak dijeljenja bilo kojeg broja sa 10 jednak je var Broj, Suma integer;
njegovoj posljednjoj cifrl, dok odgovarajuei cje!obrojni kO!ienik sadrii sve njegove cifre osim posljed- begin
nje. Dakle, ukoliko sve dok je broj veei od nule vrsimo njegovo uzastopno dijeljenje sa 10 i pri tome Surna: 0; .Broj := 0;
na neku promjenljivu (u nasem primjeru promjenljivu Burna) cija je pocetna vrijednost nul a stalno repeat
dodajemo ostatak tog dijeljenja, dobieemo upravo trazeni rezultat. SWlIa : '" Suma + Broj;
write {'Unesi!=-e broj (negativan unos oznacilva kraj): ');
readJn (Emj)
until Broj < 0;
3.8.7.3 Iskaz repeat - until writeln ('Swna unesenih brojeva je: Surna)
end.
Jos jedna karakteristiena vrsta ponavljanja Javlja se u slueajevima kada znamo da zelimo da pre~
duzmemo neku skupinu akcija barem jedanput, i da ih zelimo ponavljati sve do ispunjenja nekog Vidimo da se isti problem moze rijesiti na vise razliCitih nacina. Strogo uzevsi, svi ponavljajuei
uvjeta. Ovo se tipieno desava u situacijama kada trazimo neki unos od korisnika, i ponavljamo zaht- algoritmi mogu se izvesti koristed sarno iskaz while. Ipak, koristeCi iskaze for i repeat -
jev sve dok unos ne bude ispravan. Na primjer, ovdje je dat algoritam koji prlkazu}e na ekranu izbor until, program se cesto mote jednostavnije napisati i uciniti dtljivijim. Na primj~H, iskaz for je
opcija (men]) sa 4 opcije, i trazi unos od korisnika sve dok korisnik ne da korektan odgovor: pogodniji od iskaza while ako unaprijed znamo broj ponavljanja, dokje repeat - until petl-
ja pogodna u slueajevima kada znamo da ee se petlja izvrsiti barem jedanput, a pagatovo u slucaju
POllavljaj sljede(e akcije:
:::=:> kada uvjet sadrzi neku vrijednost koja 6e tek biti unesena Hi izracunata unutar tljela petlje.
"'* IspiSi ;;pisa1c opcija (E - Editor, S - Snimanje, B, -_Brlsmije, K - Kraj);
==> Ucitaj znak; U odjeljku 3.8.6 smo rekli da se iskaz gato u Pascalu uvijek moze izbjeci karlsteel Pascalove_
==> PonavljaJ sve dok ne bude znakJednak E, S, B tlt K iskaze za grananje ! ponavljanja. Kao ilustraciju, prikazimo kako bi mogao izgledati_ pro-gram
Ra.cunanjeKorijena koji smo prikazali u odjeljku 3.8.6, ali ova] put bez upotrebfJ gota- nafedb-e:
U opisu ovog algoritma javljaju se karqkteristiene fraze "ponavljaj' L~_~ok na btJqe". U Pascalu, ovaj
tip ponavljanja realizira se pomoeu iskaza repeat - un~~:,-koji _i~a:SljedBc'i 'oblik:. program RacunanjeKorijena (input, output.);

repeat var Bra j : real;

Naredbal; begin
Naredba2; writeln ('Rac;unaflje korijena');
repeat
writeln ('Unes.Lte broj; '); readln (Broj);
Naredbal-l
until Uvjet

314 3~5 .~
if Broj < 0 then
Pitanja i zadaci
writeln ('Greska: Korijen iz negativnog broja nije real an broj!');
else i f Broj > 0 then
writeln ('Njegov korijen je: r, sqrt (Broj) : 0 : 5) 1. Sta su prosti a sta slozeni iskazi? Sta je sekvenca iskaza?
until Broj '" 0;
writeln ('Dovidenja!')
2. Kako bisma u Pascalu razmijenili sadriaj dvije promjenljive x i y? Uputa: potrebno je uvesti
end. treGu (pomoenu) promjenljivu, jer iskaz x :;;;; y; y : "" x neee raditi ispravno (za8to?).
3. Kakve vrste iskaza grananja pastoje u jeziku Pascan
Izlaganje 0 iskazima ponavljanja zavrsicemo primjerom minijaturne igrice "Pogadanje broja". 4. Kakvi iskazi pastoje u Pascalu za realizaciju struktura panavljanja, I kada treba koristiti svaki ad
R~cunar ce da zamisli jedan broj od 1 do 1000, a vi treba da ga pogodite. Prj svakom pokusaju tih.iskaza?
racunar nam govorl_da Ii je zamisljeni broi veel iii manji od unijetog broJ,,L Nakan otkrivanja broja, 5. Za svaki od sljede6ih isjecaka IZ Pascal programa odredite bez pomoci racunara rezultat koj! ce
racunar lspisuje u koliko ste pbkusaja otkrili zamisljen] braj. U ovom programu je interesantno ana- biti prikazan na ekranu, uz pretpostavku da su sve koristene promjenljive prethodno propisno
liziratl kako racunar "zamislja" bra). Za tu svrhu iskoristena je predefinirana funkcija random, koja dek!arirane kao cjelobrojne promjenljive:
kao rezultat vraca s!ucajni broi U opsegu od a do x - 1, gdje je x argument funkcije random, a) x:",3; b) s:",o; i:=l; .1:"'1; c) s:=l; d) p:",l; n:",,100;
Da bi se UOpee omogu6ilo generiranje slucajnih brojeva, potrebno je prethodno naredbom randomize y:;-;:5; repeat for i =3 downto 1 do while n> 1 do
aktivirati generator slucajnih brojeva: if x<2 then s:=s+i*.1; for .1: ",2 to 4 do begin
x:o::x*2; i:=i+l; .1:=j*2 s:=-s*i+j; n:=n-p; p:=p~-2
program PogadjanjeBroja (input, output); y:"'y+3; until i*.1>"'100; 8:"'1 div 2; ~..nd;
writeln{x+y); w.t'iteln{s) i writeln(s) ; writeln{n);
var ZamisljeniBroj, Broj, Brojpokusaja integer;
begin Odgovore pravjerite na ra6unaru. Oprez: u primjeru a) odgovor nije one sto eete vjerovatno
randomize; pomisHti u plVom trenutku!
ZamisljeniBl"oj :'" 1 + random (1000); 6. Napisite program koji za broj unesen sa tastature ispituje da Ii je prirodan broj ill nije, a ukoliko
BrojPokusaja :'" 0; jeste prirodan, da Ii je paran iii nije. Uputa: braj je prirodan ukoliko je veei od nu!e i ukoliko je jed-
write]n ('Zami,sllo sam broj od 1 do 1000. Pokusaj ga pogoditi.. .. '); nak svom djelom dijelu. Za odredivanje ciialog dijela moze se koristiti funkcija trune. Braj je
repeat paran ukoliko je ostatak dijeljenja sa 2 jednak nu!i.
readln (Broj);
BrojPokusaja : = BrojPokusa.ia + 1;
7, Dvije firme nude usluge priklju6enja na Internet, pri 6emu prva firma traii fiksnu pretplatu od 10
i f ZamisljenJ:Broj < Braj then KM plus 50 teninga po svakom potrosenom satu, dak druga firma ne traii fiksnu pretp!atu, ali
writeln ('l1oj broj je manj].,.') trazi 80 feninga po svakom potrosenom satu. Napisite program koji ad korisnika trazi da unese
else if ZamisljeniBroj > Broj then zeljenl broj sati a nakon toga da mu preporuci koja je firma isplatnija za njegove potrebe.
writeln (' Mo:j broj j e veCi. ') 8. Naplsite program koji ispisuje sve brojeve od 300 do 60 unazad u koraku po 3, Pri ispisu, bro-
until Zamis]jeniBroj '" Broj! jeve treba razdvojiti jednim razmakom. Uputa: koristite iskaz while.
write.Ln ('Bravo, pogodio si iz BrojPokusaja, ' pokusajal ')
end. 9. Napisite program koji trail da se sa tastature unese deset brojeva, a nakon toga ispisuje najveei
i najmanji ad unesenih brojeva. Uputa: koristite for iskaz i ideje iz poglavlja 3.2.
Naredba randomize i funkcija random doduse ne postoje u izvornom Pascalu, ali su zastupljene 10. NapiSite program koji trazi da se sa tastature unesu cijeli brojevi min, a zatim iscrtava na
u svim modernijim verzijama Pascala kaje se danas ko'riste, ekranu pravougaonik sastavljen od zvjezdica cija je sirina m a vislna n zvjezdica. Upula: koris-
tite jedan for- iskaz koji iscrtava jedan red zvjezdica unutar drugog for iskaza.
11. Napisite program koji na ekranu ispisuje tablicu mnotenja za brojeve od 1 do 10 u vidu tablice
brojeva farmata 10 10. Uputa: koristite dvostruku for petlju (kao u prethodnom zadatku) i 10r-
matirani izlaz za podesavanje zeljene sirine ispisa svakog polja.
12. Napisite program koji trazi da se sa tastature unese 10 brojeva, a koji zatim ispisuje da Ii su svi
uneseni brojevi bili pozitivni iii nisu. Uputa: postavite na pocetku neku logicku promjenljivu na
truer. a zatim unutar for petlje uci1avajte brojeve. Ukoliko se ucita negativan broj iii 0, odmah
.r . postavite tu logicku promjenljivu na false. Ukoliko je njena vrijednost ostala true nakon
izvrsene petlje, to je siguran znak da ni jedan od unesenih brojeva nije bio negatlvan nit! nula.
13. Napis"ite program koji za broj unesen sa tastature ispituje da Ii je prost iii nije. Uputa: aznacimo
posmatrani broj sa N. Ako je N djeljiv makar sa jednim brojem iz opsega od 2 do N-1 (zapravo,
dovoljno je ispitivati samo do kvadratnog korijena iz N - razmislite zasto), tada on nije prost
broj. Dalje koristite ideju lZ prethodnog zadatka.

316 317
3.9 SLOZENE STRUKTURE PODATAKA
Perinepcjene

SafetoveOcje.ne
3.9.1 Jednodimenzionalni nizovi 1 2 3 4 5 6 7 8 9 101112

Tipoyl podataka poput integer, real i char dozvoljavaju nam predstavljanje pojedinacnih Pojedinim clanovima ovih nizova pristupamo preko odgovarajucih indeksa (na primjer,
vrijednosti. Na primjer, u jednu promjenljivu tlpa integer mazema zapamtiti jednu ocjenu za jednog PerineDcjene [3J, SafetoveOcje.ne [7), itd.).
ucenika. Medutim pri rjesavanju stvarnih problema, cesto trebamo zapamtiti cijelu skupinu vrijednos~
ti koje su sve i$tog tipa, na primjer Dejene Jz svih predmeta za jednog ucenika, iii Dejene iz jednog Promjenljive nizovnog tipa mogu se deklarirati j neposredno, bez prethodnog uvodenja nizovneg
predmeta za sve ucenike u razredu (problem pamcenja oejena iz 8vih predmeta za sve ucenike u tipa, kao u sljedecem primjeru:
razredu razmotricemo malo kasnije). U jeziku Pascal, takve skupine vrijednosti mazema predstavlti
pomo6u jednodimenzionalnih nizova. Promjenljive koje su nizovnog tipa imaju osobinu da je svaki va!.' Pel"ineOcjene, SafetoveOcjene : array [1 1.2 J of integer;
element niza kojeg predstavljaju takoder sam za sebe promjen!jiva, odredena svojim indeksom.
lndeksi elemenata niza zadaju se u uglastim zagradama. Tako, na primjer, ukoliko imamo prom- Ipak, ovakve deklaraCije se, zbog smanjene preglednosti, ne preporucuju.
jenljivu Ocj ene koja je lipa "niz ejelobrojnih vrijednosti", tada se pojedinacni elementi tog niza nazi-
vaju Dcj ene [11, Ocjene [2], itd. Ovi pojedinacni elementi ponasaju se kao zasebne prom- Vaino je napomenuti da, prilikom upotrebe nizovnih promjenljivih, indeks ne mora biti konstan-
jenljive cjelobrojnog tipa, jer promjenljiva Dcjene predstav!ja niz cjelobrojnih vrijednosti. ta, n6go moze biti bile koji cjelobrajni izraz. Upravo ova osoblna daje nizovnim promjenljivim veliku
upotrebnu vrijednost, jer se na taj nacin moze iskoristlti for iskaz da obavimo neku operaciju nad
Jednodimenzionalni nizovi spadaju u korisnicki definirane tipove. 8toga se ani deklariraju svim elementlma niza. Na primjer, ukolike zelimo da svih 12 elemenata nizovne promjenljive
pomocu naredbe type, ito na sljedeCi !latin: perineOc.'iene postavimo na vrijednost 4, to mozemo uciniti sljedecim iskazom (uz pretpostavku
da je prethodno promjenljiva i ispravno deklarirana kao ejelobrojna promjenljiva):
type ImeTipa "" array [Opseglndek.w] of TipElemenala
for i :'" 1. to 12 do
Ovdje je ImeTipa ime koje dajerno novom tipu, Opseglndcksa je opseg u kojem se mogu kretati PerineOcjene [il :'" 4;
indeksi i zadaje se kao pri definiranju intervalnag tipa, dok je TipElemcnata tip pojedinacnih sleme~
nata niza. Na primjer, sljedeca deklaracija definira novi tip nazvan NizOcjena, koji opisuje tip niza Moguce je jednu nizovnu promjenljivu dodijsHti drugoj, pod uvjetom da su istog tipa. Taka je, na
koji moze prihvatiti 12 oejena (odnosno, 12 eijeHh brojeva): primjer, pridruzivanje

type NizOcjena '" array [1 12] of integer; safetoveOcjene ::= PerineOCjene;

Opseg indeksa 1 .. 12 govori da su granice u kojima ~e maze kretati indeks niza u opsegu od sasvim korei<tno, i njime se svi elementi (oejene) iz niza PerineOcjene prenose U odgovaraju-6e
1 do 12. Donia granica je najeesce 1, all ne mora uvijek da bude. Alternativno, opseg indeksa moie elemente niza SafetoveOcjene. 8ve druge aperacije sa nizovima moraju se obavljati iskljuCivo
biti i ime nekog intervalnog tipa, taka da smo mogli pisati i sljede6u deklaraciju: nad pojedinacnim elementima, tako da iskazi poput

type Opseg =- 1 .. 12; readln (SafetoveOcjene);


NizOcjena = array [Opseg] of integer; write (PerincOc.jene);
PerincOcjene :'" 3;
Vazno je naglasiti da deklaracija nizova samo uvodi novi tip, ne kreirajuCi pri tome ni jedan primje M

rak promjenljive tog tipa sa kojom mazemo obavljati neke konkretne operaeije. Da bismo zaista nemaju nikakvog smisla u Pascalu, za razliku ad korektnih iskaza
deklarirali neku konkretnu promjenljivu (npr. Ocj ene) koja i.e tipa "niz ad 12 oejena", moramo dodati
deklaraciju: . . readln (SafetoveOcjene [3J) i
write (PerineOcjene [i + 2J);
PerineOcjene [7J : '" 3;
var OcjeJIe NizOcjena;

Upotrebu nizova ilustrira sljedeCi program, koji trazl ad korisnika da unese.1 0 brojeva,-..Cf zatim--' . ,'-
ih ispisuje u obrnutom redoslijedu: .- ,-
var perineOcjene, Safetoveocjene : lfizOCjena;.
program ObrnutiN.iz (input, output);
Ova deklaracija definira dvije promjenijiv8, Pel.:illeOcjEme i. ~afetoveOciene,od kojih svaka canst Nco 1.0;
predstavlja niz od 12 elemenata kojima se mote lndividualno" prlstupati: type NizBrojeva array [1 .. N] of integer;

318 319 .
var BroJevi : NizBrojeva; Za definiranje opsega indeksa u nizovima, mogu se koristiti ne samo cjelobrojne vrijednosti, ne90
i : integer; i bilo kOje vrijednosti ordinalnog tjpa (npr. znakovne, pobrojane ltd.). cak se i eile!] pobrojani tip moze
begin iskoristiti za definiranje opsega lndeksa. Na primjer, pretpostavimo da imamo s!jedece deklaracije:
write1n (' Trebate unijeti N,' brojeva.');
for i :"" 1 to N do type RadniDan '" (P011edjeljak, Utorak, Srijeda, Cetvrtak, Petak);
begin Niz ~ array [RadniDan] of real;
write (i, broj:'); Val:' Dohodak Niz;
readln (Brojevi [.i]);
end,
Ovim je kreirana promjenljiva Dohodak nizavnog tipa kOja je sastavl)ena ad 5 realnih elemenata:
write1n ('Uneseni hrojevi U obrnutom poretlcu glase: ');
for i ::= N-downto ]. do Dohodak [Ponedjeljakl, Dohodak [Utorakj, Dohodak [SdjedaJ, Dohodak [CetvrtakJ
write1n (Brojevi [i]) i Dohodak [Petak]. Ova promjenljiva moze, na primjer, pamtiti dohodak po danima ~oji je neko pre-
end. duze6e ostvaril0 u taku jedne sedmiee, Ako pretpostavimo da je deklarirana promjenljiva Dan tipa
RadniDan, tada se iskazom poput
U ovom programu smo upotrijebili imenovanu konstantu N za definiranje broja elemenata niza, tako
da je, ukoliko zelimo da proniijenimo broj elemenata, izmjenu dovoljno izvrsiti na jednom mjestu. for Dan :'" Ponedjeljak to Petak do
Ovdje se, medutim, postavlja pitanje sta raditi ukoHko ne znamo unaprijed braj elemenata. Za raz- nohodak [Dan] := 0;
liku od BASIC-a, ovaj problem u veCini izvedbi Pascala nije najbolje rijesen, posta gornja j danja
graniea u opsegu indeksa moraju biti konstante, a ne promjenljive. Jedino rjesenje koje predvida svi clanovi niza Dohodak postavljaju na nulu. Upotreba pobrojanih tipova za indeksiranje 61anova
standardni Pascal ie da za niz predvidimo prostor koj! moze primiti barem onalike elemenata koHke niza cin! program laksim za razumijevanje, jer se na taj nacin uspostavlja mnogo prirodniji model za
iznosi bra) elemenata u najgorem slucaju, a zatim da koristlmo same onolike elemenata koliko nam predstavljanje pojmova iz stvarnog zivota,
treba, pri cemu ostale elemente estavljamo neiskoristene. Ova ideja je upotrijebljena u sljedecem
programu, ko)i je sli6an prethodnom, osim sto se ieljeni bra) elemenata niza unosi sa tastature: Moderne verzije Pascala koje posjeduju stringovni tip, stringovne promjenljive tretiraju slleno
kao nizove Giji su elementl znakovi (tj. kao array... of char). Reeimo, ukoliko je Ime neka
program Obrnut.iNiz (input, output); stringovna promjenljiva, tada je pojedinim znakovlma unutar tog imena mogude pristupati pomodu
canst MaxN = 1000; uglastih zagrada, na primjer Ime [11, Ime [2 J , itd. Ipak, za razliku od obicnih nlzova znakova,
sa stringovnim promjenljivim su dopustene mnoge operacije kaje se ne mogu primjenjivati na
type NizBrojeva = array [1 Maxw1 of integer;
obiCnim nizQvima. Taka je, na primjer, moguce eljeli niz znakova sa tastature procitati jednom
var Brojev.i : NizBr-ojeva; readln naredbom u stringovnu promjenljtvu, sto nije mogu6e sa obicnim nizovnim promjenljivim.
N,.i integer j Ovo ilustrira sljedeGi program koji prva ucitava korisnikovo ime sa tastature, a zatim ga ispisuje
begin naopako (znak po znak):
write ('Koliko ::'.elite unijeti brojeva? '); readln (N);
for i : "- 1 to N do program IzvrtanjeImen3 (input, output);
begin
var Ime string i
write (i, broj:');
integer;
readln (Brojevi [ill;
end; begin
writeln ('Uneseni brojevi \l obrnutom poretku glase:'); write ('Unesite svoje ime: ') j readln (Ime) i
for .i :'" N downto 1 do write ('Vase irne izgovoreno naopako gla5i; ');
writeln (Brojevi til) for i :'" length (Tme) do..mto 1. do
end. write (lme UJ)
end.
U ovom programu smo predvidjeli da se moze unijeti najvise 1000 brojeva (sto je lako izmijEmiti -
promjenom vrijednosti imerlOvane konstante MaxN), Mana ovakvog rjesenja~je sto se .nepotrebno.-. U ovom programu iskoristena je predefinlrana funkeija length, koja postojl u modernijim verzijama
zauzima vise memorije nego sto nam zaista treba Ger se rezervira prostor i za elemente koji se De PCjscala, a koja vra6a stvarni broj znakova u stringovnom izrazu koji je proslijeden kao parametar.
koriste). Naialost, u ve6in! izvedbi Pascala, ovaj problem ne moze se jednostavno otkloniti. .

Nizove treba koristiti samo u slucajevima kada neki problem ne mot.ema rijesiti bez potrebe ZEt 3.9.2 Visedimenzionalni nizovi
memoriranjem eijelog mnostva.vrijednosti. Na primjer, ukoliko je potrebno sabrati 100 brojeva koji
se unose sa tastature, nUe neophodno smjestati te elemente u niz, jer, kao sio sma vee vidje!i, 'ova:j" Jednodimenzionalni nlzovi pogodni su za predstavljanje podataka koji se mogu urediti u neki s1i~
problem maze se rijesiti prostim nadodavanjem svakog unesenog elementa na teku6u sumu, bet jed, poput troskova neke fabrike po mjeseeima za jednu godinu. Medutim, postoje situacije kada
potrebe za pam6enjem svih unesenih elemenata. . . jednodimenzionalnr nizovi nisu pogadnL Na primjer, vee smo rek!! da je pomocu jednodimenzional-
nih oejena lako zapamtiti oejene iz svih predmeta za jednog ucenika, iii oejene iz jednog predmeta
320 321
za sve ucenike urazredu. Ovi podaci mogu se zamisliti kaa jedan red iii jedna kalona tabele, eiji Prvi opseg indeksa odnosi se na dozvoljeni opseg indeksa redova, a drugi opseg indeksa na dozvo.
redovi predstavljaju ucenike, a kalone predmete (slicnu tabelu predstavlja skalski dnevnik). Sta uko- Ijen! opseg indeksa kolona. Treba napomenuti da se svaki red dvodimenzionalnog niza sam za sebe
liko je, medutim, potrebno zapamtlti podatke 0 ocjenama iz svih predmeta za sve ucenike (tj. uko- ponasa kao jednodimenzionalni niz. Taka, na primjer, mozemo izvrsiti naredbu
liko je potrebno zapamtitl citavu tabelu)? Srecom, Pascal dozvoljava da elementi nizova budu bilo
kojeg tipa, ukiju6ujuc; j same nizove. To nam omogucava da kreiranio visedimenzionalne nizove Tab [2J :'-' l'ab [5];
kao nizove nizova. Posebno uobieajeni su dvodimenzjonalni nizovi (koji se jos nazivaju i matrice),
koji se cesto koriste za predstavljanje tabela podataka sa vise redova i vise kolona. Na primjer, pret- da iskopiramo citav peti red promjenljive Tab U drugi red.
postavimo da imamo sljedece deklaracije:
Rad sa dvodimenzionalnim nizovima Hustriraeemo programom ko]i Irazi da se unesu ocjene za
type ,Red ~ array [1 5) of integl':)r i grupu u6enika iz nekoliko predmeta, a ko]i zatim ra6una i ispisuje prosjecnu ocjenu za svakog
Tabela =; array [1 4J of Roo; ueenika posebno. Za tu svrhu definirali smo tip Tabela i promjenljivu Dnevnik tipa Tabela, eiF
redov! predstavljaju ucenike, a kolone predmete. Program demonstrira tipican nacin manipulacije sa
U ovom primjeru smo prvo definirali tip Red koji opisuje niz koji moze prihvatiti 5 cijelih brojeva (re- dvodimenzionalnim nizovima, u kojem se kariste ugnjezdene for petrie (ti. jedna for petlja
eimo, jedan red tabele), a zatim tip Tabela koji oplsuje niz koji moze prihvatiti 4 reda (odnosno, unutar druge). Unutrasnja petlja brojl kolone niza, a vanjska petlja broji redove.
tabelu koja maze prihvatiti 4 reda i 5 kolona). Napomenimo da sma ovim samo definirali novi tip, ali
ne i konkretan primjerak promjenljive tog tipa sa kojom mozemo obavljatl neke operacije. Meautim, program P.rosjeci (input, output);
ukaliko nakon ovih deklaracija deklariramo i neku promjenljivu (npr. Tab) tipa Tabela pomocu const BrojUcenika = 3 i [}zmite maLi broj ucen __ika i predmeta da skJ:"aLite
deklaraclje Broj PredmetGl '" 4; { lmos podataka pri, testiranju programiJ }
type opsegOcjena = 1 5,
var Tab : Tabela;
l'abela = array [1 BrojUcenika, 1 BrojPredmetaJ of OpsegOcjenai

tada promjenljiva Tab predstavlja jednu konkretnu tabelu sa 4 re,da i 5 kolona. Redovi ove tabele var Dnevnik : J"abeJ.ai
[Jcenik, Predmet, SumaOcjena integer;
nazivajuse Tab [1J, Tab [2], Tab [3J i Tab [4].Kakosu,poredtoga,redoviovetabe!e
sami po sebi jednodimenzionalni nlzov] (tipa Red), to pojedninacnim elementima svakog reda mote- begin
mo pristupiti navodenjem jos iednog indeksa. Na primjer, pojedinaeni elementi treceg reda tabele for Uceuik : '" 1 to BrojUcenika do
Tab glase Tab [3J [1], Tab [3) [2], Tab [3J [31 i Tab [3] [41. Ovo je ilustrirano for Predmet : = 1 to BrojPredmeta do
begin
sljedeeom sHkor)l, na kojaj je red Ta.b [3J osjencen, a pojedinaeni element Tab [3J [2J
wLite ('Unesit,e ocjenu i2 predmeta PredInet, '. za
dvostruko osjeneen: Ucenik, '. ueenika: ');
readln (Dnevnik [Ucenik, Preamet])
Tab end,
2 for Ucenik := 1. to .BrojUcenika do
begin
3 write (' Pt'Osjek " Ucenik, ucenika: ');
SwnaOcjena ! '" 0;
4 . 'I for Predmet : '" 1 to Broj Predmel~a do
<",1
indcks SumaOcjena : = SumaOcjena + DnevIl.ik [Ucenik, P.redmetJ i
1 2 3 4 5 ""--koione ".J

t I writeln (SlllnaOcjena / .B.cojPredmeta : 0 2)


end
end.
indeks
reda Analogno dvodimenzionalnim nizovima, postoje i trodimenzionalni, cetverodimenzionalni i
opeenifo visedimenzionalni nizovi, prj cemu se rijetko kariste vise od 3 dimenzije. Na primjer, uko-
Umjesto navodenja indeksa u dva odvojena para uglastih zagrada (sto ie, na primjer, u jezieima
liko,imamo"skolu sa 1Q,odjeljenja, u kojoj u svakam adjeljenju ima po 36 ucenika, a svakl ucenik ima
C, c++ j Java obavezna), Pascal doputa i navodenje oba indeksa unutar istog para uglastih zagrada.
12 -pr~dmeta, i}1o}.~mo definiratLsljedeei tip, koji predstavlja trodimenzionalni niz:
Na primjer, umjesto Tab {3] [2J, dozvoljeno je pisati -Tab [3! 2], ~ jeziku Pascal, ovakav nacin
obilje,zavanja se mnogo cesce susrece ad prethodnog. Tako, generalno, eiementima dvodimenzional- type "kkp~ :::-,_-a.r:ray: [1... 10, ~ ,. 36, 1 .. 12] of int.ege:r;
_nih nizava pristupamo preko dva indeksa razdvojena zarezima - indeksa reda i indeksa kolone.
Promj~n!jijr~.6'v,"(;g~-ii~_a_-rJ(jstu-pa st;J sa tri indeksa. Prvi indeks predstavlja broj odjeljenja, drugi broj
Pascal takoder omogueava da se dvodimenzionalni nlzovi definiraju navodenjem dva opsega predstav!ja rednt:Oroj ueenika' unuta-r izabranog odjeljenja, a treei indeks predstavlja redni broj pred-
indeksa, bez prethodnog definiranja posebnog tipa ko]i predstavlja pojedinacne redove tabele. Tako meta ?:a -iiab~iDo9 !Jcenik-a.
sma, na primjer, tip 'I'abela mogli deklarirati i pom06u samo jedne deklaracije poput:

type Tabela '" array [1 4, 1 5] of real;

322 323
3.9.3 Slogovi druge operacije, ukljucujuCi Citanje sa tastature i ispis na ekran, moraju se obavljati iskljucivo nad
individualnim poljima unut8r sfogova, Na primjer, nije mogu6e jednim iskazom postaviti sva polja u
Nizavi se u Pascalu koriste za smjestanje skupine podataka od kojih su svi J'stag tjpa (na primjer, promjenljivoj Sekretar, vee Je to potrebno uciniti nizom iskaza poput:
popis Dejena za nekog ucenika iii grupu ucenika). U prakticnim problemima se cesto pojavljuje i situaclJa
kada treba Guvatt skupinu povezanih podataka razli6itog t{pa, na primjer, lme (sa prezimenom), odjelje- Sekretar nne: '" 'Ahmed HodZic' i
nje, platn] bra] i Iznos plate nekog radnik8. Struktura podataka koja moze Guvati takvu skupinu raznovrsnih Sekretar Odjeljenje .~. 'Harketing';
podataka naziva se slog ill zapis. Kada zelimo da kotistimo slogove u Pascal programu, prvo je potreb- Sekretar P.tatniBroj:O'O 34;
. no da deklariramo odgovaraju6i slogovni tip pomo6u kljucne rijed record. Iza ave kljucne rijeei sHjedi Sekretar Plata:O'O 530;
popis- dekJaracija promjenljivih koje saeinjavaju slog. Deklaraciju slogovnog lipa zavrsav8 kljucna rijee
Neprestano-navodenje imena slogovne promjenljive moze biti zamorno. Stoga je u Pasca/u uVe"
end. Na primjer, sljede6a deklaracfja uvodi slogovni tip Radnfk koji opisuje radnika u preduze6u:
den iskaz_ with, koji omogucava da S6 ime slogovne promjenljive navade samo jedanput, a da se
type Radnik '" record nakon toga navode samo imena polja unutar sloga. Ovaj iskaz ima obllk
lme, Odjeljenje string [50J i
PiatniEroj : integer; wi th SlogovnaPromjl'n(jiva do Narcdba
plata real
end; Iskaz Nnredba je gotovo uvijek slozen] iskaz, j predstavlja iskaz unutar kojeg se podrazumijeva prist"
up poljima naznacene slogovne promjenljive bez navodenja njenog imena. Taka je prethodni prim-
Promjenljive lme, Odjeljenje, P.IatniBroj i Plata deklarirane unutar deklaracije sloga, jer moguce preglednije napisati na sljedeci naCin:
nazivaju se polja sloga (iii atributi sloga). U ovoj deklaraciji, za deklariranje polja Ime i
Odjeljenje upotrijebljen je tip string koji, doduse, ne posto)i u standardnom Pascalu, ali ga with 8ekretar do
prakticno sve moderne verzije jezika Pasca/prihvataju. !za kljuene rijeei string moze se u uglas" begin
Ime :~ 'Ahmed Hodzic';
toj zagradi navesti maksimalni bro] znakova koje odgovarajuca promjenljiva maze prihvatiti (u Odjeljenje := 'Marketing';
nasem slucaju 50, 5tO je sasvim dovoljno). Na taj nacin se stedi memorija, jer racunar ne zauzima PlatniBroj ;= 34;
vise prostora nego sto je zalsta neophodno za pamcenje odgovarajuce promjenljive. Plata 530
end;
Slicno kao pri deklaraciji nlzovnih tipova, deklaracija slogovnog tipa samo opisuje odgovarajucl
tip, ne definlrajuCi prj tome konkretne primjerke tog tipa. Tako, na primjer, tip Radnik samo opisu U prakticnim problemima, najcesce S8 javlja potreba za obradom ne 8amo jednog 810ga, nego
je koja karakteristicna svojstva (atribute) posjeduje bilo koji radnik. Tek nakon sio deklariramo odgo- Citave skupine slogova (npr. svih radnika u preduzecu, svih ucenika u razredu, itd.). Za opisivanje
varaju6e promjenljive slogovnog tipa, na primjer, takvih podataka, mozemo koristlti nizove s/ogova, odnosno nizove ciji je svakf element t/pa slog. Na
primjer, sljedece deklaracije nam omogucavaju da na prfrodan nacin predstavimo fedno preduzece:
var Sekretar, Sluzbe.nik, Monter, Portir Radnik;
const BrojRadnika '" 30;
imamo konkretne promjenljive Sekretar, Sluzbenik, Monter i Portir tipa Radnik sa type Radnik '" record
kojima motemo manipulirati u programu. lme, Odjeijenje string [50];
PlatniBroj : integer;
Pojedinacna polja unutar slogovnih promjenljivih ponasaju se kao samostalne promjenljive odga- Plata : real
varaju6eg tipa. Njima se prlstupa tako sto prvo navedemo lme slogovne promjenljive, zatim znak tacka end;
(.) i, konaeno, ime polja unutar slagovne promJenljive. Na primjer, sljedeCi iskazi su korektni: Preduzecc ~ array [1 BrojRadnika] of -Radnik;
vax Radnici : Predllzece;
Sekretar Ime;,~' Ahmed Hodzic' i
8ekretax Plata ~ 530 i Elementima nlzavne promjenljive Radnici pris1upa S9 na uoblc'ajen naein preko indeksa. Kako je
Sluzbenik 1me: '" '.Qnigan Kovacevic' svaki element ovog niza slogovnog tipa, za pristup' indlvldualnim poljima elemenata niza potrebno je
writeln. {~gekr.fi:tar. '. plaLa) i pored indeksa koristiti i ime polja. Tako, na p'rimLer,:'uko!~o.te!imonavestj da se jedanaesti radnik
r'eadln. "( Portir. .Ime); zove Petar Andric, mozemo koristiti sljedecu 'dbdjetu:
Portir . ".Pl at)( Sekr?tar P.lata - 100;

Bilo k~ja s!~o;m(ijt6rnj~n,i'tva :mot-e ~e_ citava dadijeliti drugoj slogovnoj promjenljivoj istog tipa. Radrdd [11] . Ime ; = 'Petclr Andri,c!;

Na primjer; dazvoljeno je_p'.i,s~li~ Polja unutar slogova mogu i sama biti sloz~nog o'ninibgi~ biti ni;~vn-og, pa cak i ponovo s!o~
tip-a:-
govnog tipa. Tako, kombinirajuCi nlzove i slogove, m()z!rry~:sa:gra_ditl vr16 stozene strukture podataka
- Monte-r~ ":0.> Slu!illenik; koje susrecemo u problemima.lz realnog ii-voia. Na-prlnijer,-za-misllmo-da zelimo opisati jedan razred
u skolL Razred se sastaji od ucenika-, a sva~l-,ueenlkopiSan je-imenom, prezimenom, datumom
Na ovaj."naein ~-e sV.a po~ajz-pr6mjenljive sluzbenik prepisuju u odgovarajuca polja promjenljive rodenja, spiskom ocjena, prosjekom i informacijom _-da JJ--je ucenik prosao iii nije. Spisak oejena pred~
Monter. OV9je ujednQ ijedina. operacija koja se moze obavljati nad slogovima kao cjelinama. Sve stav!ja niz cijelih brojeva u ~psegu od 1 do 5, 90k se datUrri rodenja sastoji ad tri cje!ine: dana, mjese-
324 325
ca i godine rodenja, koji su eijeli brojevi (u odgovarajucem opsegu). 8toga je najprirodnije definirati tip Ucenik Janko Jankol'ic, roden 22.5.1989. mora poU(U'ljati razred
Razred kao niz od nekoliko (reeimo 30) slogova tipa Ucenik, koji opisuju jednog ucenika. 8vaki slog
ucenik sastoji se ad palja Ime, Prezime, DatumRodjenja, Oejene, Prosjek i Prolaz. za one u6enike koji ~isu prosli. Program je nesto slozeniji od programa koje smo dosada razmatrali,
Palja 1me i Prezime SU ocigledno tipa string, polje prosjek je realnog tipa, a polje Prolaz medutim rad sa iDle slozenijim strukturama podataka nije mogu6e adekvatno ilustrirati kratkim i
logickog tipa. Polje Ocj ene cemo definirati da bude tipa NizOcjena, ko]] opisuje niz koj] moze pri- suvise jednos.tavnim programima:
hvatiti nekoliko (reeimo, 12) cijeJih brojeva U opsegu od 1 do 5, dok cemo polje DatUmRodjenja program Oln-adaUcenika (input, output);
definirati da bude tipa Datum, pri 6emu'je Datum ponova slogovni tip koji se sastoji od tri polja: Dan,
const BrojUcenika '" 3 i Uzmite maH broj ucenika .i predllieta da skratite
Mj esee i Godina. Na osnovu provedene analize mozemo napisati sljedece deklaracije:
Broj Predmeta '" 4.; ( unos podataka p:d testiranju proqra,ma }

const BrojUcenika ~ 3D, type OpsegOcjena '" 1 5,


BrojPredmeta '" 12; NizQcjena '" array [1 BrojPredmeta] of OpsegOcjena,
Datum eo record
type Opsegocjena '" 1 .. 5; Dan 1 31;
NizOcjena =array [1 .. BrojPredmetal of OpsegOcjenai Mjesec 12,
Datum '" record Godina integer
Dan 1 .. 31; end;
Mjesec 1 12, r}cenik '" record
Godina : integer lme, Prezime string [20J;
end, DatumRodjenja Datum;
Ueenik '" record Ocjene NizOcjena;
Tille, Prezillie : string [20]; Prosjek : rcal;
DatumRodjenja Datulll; Pro]az Boolean
Dejene NizOcjena; end;
prosjek : n:al, Razred '" array [1 .. BrojUcenikaJ of ucenik;
Prolaz Boolean vaT ucenici Razred;
end; integer;
RedniBroj, Predme!:, SumaOcjena
Razred '" array [1 BrojUcenika] of Ucen.ik;
var [Tcenici Razred; begin
for RedniBroj : '" :1 to BrojUcenika do
Primijetimo da smo PIVO definirali tipove NizOcjena i Datum, a tek onda tip Ucenik kaji koristi begin
writeln ('Une8ite podatke za " RedniBroj, ucenika: ' ) ;
ove tipove. Pascal, osim u rijetkim izuzeeima (koje necemo navoditi), ne dozvoljava koristenJe bilo
with Ucen.lc.i lRedniBroj] do
kojeg pojma ko]i nUe bio prethodna definiran. begin
write ('Ime: '); readln (lme);
POjedinim- dijeJovima ovakve slozene strukture pristupamo kombinacijom indeksa i imena po!ja h'rite ('PrBzime: '); readln (Prezime);
na sasvim logi6an nacin. Na primjer, ukoliko treba postaviti godinu rodenja treceg u6enika na 1988, with DatwlIRodjenja do
i devetu ocjenu istog ucenika na 4, mazema pisa!]: begin
write ('Dan rodenja: '); readln (08n);
with Ucenici [3J do
write ('MJ'csec rodenJ'a: '); readln (/1jesec);
begin write ('Godina rodenja: '); n:adln (God.ina)
end;
DatumRodjenja Godina::o. 1.988;
for Predrnet. 1 to BrojPrcameta do
OcjefJe [9J := 4
end; . begin
write ('Ocjena iz ',Predmet, predmeta: 'J;
readln (Ocjene [PredInetJ)
iii, alternativno, neposredno bez iskaza wi th: "end"
end
Ueeniei [3J DatumRodjenja Godina:'" 1988; ehd~ . _
ueen.iei [31 Ocjene [9) := 4; for"f?edrliB;t:Qj :'" 1 to BrojUcenika do
_-~iJ:;-l:t- uce~licr [Redn_lBroj) do
Rad sa slogovima ilustriracemo programom ko]! PIVO zahtijeva unos osnovnih podataka 0 svim begj.n-
:~uma08jena :'" 0;Prola~: :'" true;
-uc"enieima u razredu, zatim racuna prosjek i utvrduje prolaznost za svakog ucenika, i na kraju,
for' Predmet : = 1 to BrojPl"cdlneta do
prikazuje na ekranu izvjestaj 0 svim ucenicima u razredu. Izvjestaj se sastoji od recenica poput begin
. if Oc j ene [Predmet J '" 1 then
Ucenik Marko Mal'kol-'u, roden 17.3.1989. ima pro~;ek 3.89 Ero]az ._ false;
SumdOcjeIJa := SwnaOcjena + Ocjene [Predmetl
za one uenike koji su prosli, iii recenica poput -end;

326 327
pJ:'Osjek .- SumaOcjena / BrojPredmeta Kako je rezultat koji vraca operator in logickog tipa (true ukoliko navedeni element pripada nave~
end; denom skupu a false u suprotnom), on se maze koristiti unutar i f Hi while iskaza. Na primjer:
vnitelni
'for Redn.iBroj := 1 to BrojUcenika do if Znak in '['A','E','I','O','U'l then
with Ucenici [RedniBro.i] do writeln ('Razmatrani znak je samoglasnik ... ');
begin
write ('lJcenik " 1me, Prezime, ,'rodeo ')i
Ovakav iskaz je mnogo kraci i pregledniji od ekvivalentnog iskaza koji ne koristi skupove:
with DatumRodjenja do
write (Dan, '.', Mjesec, '.', Godina, , '); if (?,nak '" 'A') or {Zrlak'" 'E'} or: (Znak '" 'I') or (Znak '" '0') or (Znak ",' 'U') then
if Pro1a2 then
writeln ('Razmatrani znak je samoglasnik ... ');
writeln ('ima prosjek Prosjek 0: 2)
else
writeln ('mo:ra ponavljat'i razred')
Ako se isti skup koristi vise nego jedanput, iii aka nam je potreban skup Ciji se ClanDvi mogu
end miJenjati, tada je potrebno definirati skupovni tip, zajedno sa skupovnim promjenlji'vim tog tipa.
end. Skupovni tip se definira ad baznog tipa (to je tip elemenata skupa), koji maze biti pobrojani tip,
znakovni tip, logickl tip, intervaln\ tip manjeg opsega izveden iz cjelobrojnog tipa, iii bilo koji intervalni
Mada je ova] program oSjetno duzi od do sada razmotrenih programa, trud koji je neophodno ulozi- tip izveden iz gore navedenih tipova. Primjeri ispravnih baznih tipova (pored ugradenih tipova char
ti za njegovu analizu visestruko se lsplati, jer je kroz njega ilustriran nacin na koji se trebaju pisati i Boolean) su:
dobri program] koji obraduju slozene strukture podataka.
type Mjeseci "'- (Januar, Febmar, Mart, April, Maj, Juni, Juli, August,
Septembar, Qktabar, NovembaJ:, Decembar);
3.9.4 Skupovi OpsegBodova :00 0 100;
VelikaSlova '" 'A' , Z' ;
Za razliku od nizova, koji predstavljaju skupine elemenata koji su okarakterizlrani svojom pozi- MalaSlova '" 'a' 'Z'i
cijom (jndeksom), Pascal dopusta i definiranje skupova, koji predstavljaju skuplnu elemenata kod
kojih poredak ne igra nika/(vu uJogu. Skupovl se mogu sastojatl od proizvoljnog broja elemenata Iz baznih tipova izvode S8 skupovni tipov! pom06u kljucne rijeci set, nakon koje slijedi kllu6na rijec
istog tipa. Skupovi sa konstantnim clanovima, nazvani skupovne konstante, mogu se formirati of i Ime baznog tipa IZ kojeg se izvodi skupovni tip. Slljedi primjer nekoliko ispravnih definicija
pomocu spiska elemenata iii opsega elemenata, koji su medusobno razdvojeni zarezom, i uokvireni skupovnog tipa (koje su ispravne pod uvjetom da su prethodno deklarirani i gore navedeni tipovi):
unutar uglastih zagrada. Elementi mogu bitl konstate bilo kojeg ordinalnog tipa. Slijedi primjer neko-
liko ispravnih skupovnih konstanti: type SkupMjesec,i .'" set of Mjesed;
SJ...'l1pBodova '" set of OpsegBodova;
SkllpZnakova = set of char;
['1\', 'E', 'I', '0', 'U'] Skllpsmnoglasnika SkupVelikihSlova ~ set of VelikaSJO'Ja;
[0 9J Skup cifara SkupMalihSlova set of MalaSlova;
[' 0' '9' J Skup znakova koji predst01'fjoju cifre
['A' 'Z', 'a' 'z' ] Skup velikfh i mafih slova Kada smo definirali skupovne tipove, mozemo deklatirati i promjenljive odgovarajuCih tipova, na primjer:
[April, ,YUIJi, septemb8:r, Novemba[j Skiff m/cscci koji imaju 30 dana
[0 100] S~:up l110gudh beN/ova no ispitu
var SviMjeseci, MjeseciSa30DaIJa : SkupMjeseci;
GranicniBodovi : SkupBodova;
[I Skup bez elcmenata (prazan. skup) SvaMa.laSlova SkupMalihSlova;
Slovo., Cifre ; SkupZno.kova;
Nazalost, standardni Pascal ne dozvoljava imenovane /(onstante skupovnog tipa, taka da nije
moguce napisati nesto poput s!]edeceg: Ovim promjenljivim mogu se dodijeliti skupovne konstante cHi e_lement! imaju tip koj! je saglasan sa
baznim t!pom iz kojeg je izveden pripadni skupc.iVni tip, na pyimjer:
const.:8kupsamogla"snj,ka_", ['A' 'E', 'I', '0', 'U'];

8viMjeseci :'" [Januar .. Decembar-l;


Takoder; za- razliku -OQ.-s~upova u -matematici, svi elementi nekog skupa u Pascalu moraju obavezno MjeseciSa30Dana :'" [Apx.il, Junii _s~ptemh3j,. l\~011el1'barJ;
bitUstog lipa.Taka, ~'p~imer,-slj~deca skupovna konstanta nije ispravna: G:ranicn.iBodov.i :'" [50, 60,_ 70, 80,_ 90J;
Cifre ,.,." ['0' '9'],.
[3,:>';' , Slova :'" [];
SvaMalaS1.ova :'" ['a' .. 'z'];
Ubjedljivo najce~a~~-~eraciJa\oja se obavlja sa skupovima u Pascal programima ie tesi'iranje
,prfpadnostl,koje.s~ _obavija pom0cu kljucne rljeCi (operatora) in. Ovaj operator spada u loglcke Nazalost, zbog nacina kako ,se skupovi intemq reaffziralt,i.u veCini kompaJlera za Pascal, obi6no pas-
ope~atore, aJ<orisfi se u oblik9__ ~ toji ogranicenje na maksimalan broi razliCiti~Y.rijednostrk6e sniije poprimiti bazni tip. Na primjer, u
Turbo Pascalu (a i u veCini drugih verzija Pascala): paznLtip izkojeg se .lzvodi skupovnl tip ne smije
Element in Skitp imati vise od 255 razliCihh vrijednosti. Zbog -toga, defi[licija poput
326 329
type SkupCijelihBrojeva '" set 0:1: integer; for Bodovi : '" a to 100 do
if BOf1vi in GranicniBodovi then
neee bitl prihvacena. <?va cinjenica znatno ogranicava primjenu skupova u Pascafu. write(Bodovi);

Skupovi u jeziku Pascal posjeduju vecinu svojstava I operacija koje posjeduju skupovi u mate" U ovom primjeru pretposiavljena je da postaji i promjenljiva Bodovi tipa OpsegBodova.
matiei. Vee sma se upaznali sa operatorom pripadnosti in, a pored njega postoje jos neki opera" Jednos!avniji nacin od prikazanog nacina u Pascalu ne postolL Zapravo, da obavrmobilo koju
tori koji su primjenljivi na skupove. Na pNom mjestu, to su cetiri relaeiona operatora eiji su operan" operaciju nad svim clanavima skupa, potrebna je sliena kombinaeija for i if iskaza, pri cemu
di skupovi, a rezultat- true ili false, i koji se mogu koristiti za formiranje logickih izraza: se u uvjetu i f iskaza javlja operator pripadnostl in. Na primjer, sljeded isjetak programa broji
koliko ima elemenata u skupu MjeseciSa31Danom:
jednakost skl/pora
<> nejerinakost skupm'a Brojac :'" 0;
podskufJ for Mjesec := Januar to Decembar do
i f Mjesec in MjeseciSa31Danom then
nadskufJ Byojac :~ Brojae + 1;

Takoder, postoje tri operatora eiji su operandi skupovi, a rezultat takoder skup: Nakon sto se izvrse ove naredbe, promjenljiva Brojae (naravno, pod uvjetom da je deklarirana kao
cjelobrojna promjenljiva) sadrzavace trazeni broj elemenata skupa. Takoder, za ispravno funkcioni-
unija s!rupova
., presjek skupova
ranje gornjeg primjera neophodno je da imamo deklariranu i promjenljlvu Mjesec tipa Mjeseci.
razlika skujJova Posljednji primjer kojim cemo ilustrirati rad sa skupovlma je kompletan Pascal program za
nalazenje svih prostih brojeva u zadanom opsegu brojeva pomoGu algoritma ko]i je poznat pod
Skupovnim promjenljivim se mogu dodijeliti skupovni Izrazi, korlstenjem gore navedenih
nazivom "Erastotenovo sito". Na paeetku se PNO formira skup (tzv. "sito") ciji su elementi svi broje-
skupovnih operatora. Na prlmjer, ako prethodnim deklaracijama dodarno i deklaraciju
vi pacey od broja 2 do najveceg broja koji pripada zadanom apsegu. Zatim se broj 2 prebacuje iz
var MjeseciSa31Danom : SkupMjeseci; sita u drugi skup, a svi njegovi umnosei se uklanjaju iz slta. Nakon toga se uzima sljedeci braj Iz 5ita
i prebaeuje u drugi skup, a Bvi njegovi umnosci se uk!anjaju, Postupak se ponavlja sve dok se sito
mazemo pisati sljedeGi iskaz: ne isprazni. Na kraju se stampa skup svih brojeva koji su izdvojeni iz sita i prebaceni u drugi skup.
Nije tesko dokazati da su uprava ti brajevi trat:eni prosti brojevi:
MjeseciSa31Danom :'" SviMjesec.i ~ MjeseciSa30Dal1a - {Februarl;
program ErastotenovoSito (input, output);
Nazalost, skupovi se u Pascalu ne mogu cltati sa tastature pomoeu naredbi read iii readln. canst Maksimllm '" 255; { Maksima.lna velie,ina s,kupa u TUri:xJ Pasca.lu i
Zapravo, Pascal uopce nlje predvidio nikakvu naredbu za unos skupova sa tastature. Stoga, za unos type BazniOpseg = 0 ,. Maksimllm;
vrijednosti sa ulaza I njihovo smjestanje u skup, moramo prvo inicijaliziratl skup na vrijednost "prazan SkupBrojeva '" set of BazniOpseg;
skup", a nakon toga kOfistiti operaciju uniJe za pojedinacno dodavanje svake procitane vrijednosti. Na var Sito, ProsUBrojevi SkupBrojeva;
primjer, sljedeGi isjeeak programa ilustrira kako mazemo procitati 10 znakova sa tastature i smjestiti Braj, Umnozak integer;
svaki znak posebno u skupovnu promjenljivu Slova (koja je ranije deklarirana kao skup znakova): begin
Sito : '" [2 Maksimum.l;
Slova := [1; ProstiBrojev,i : '" [J;
for i:'" 1 to 10 do Broj :"' 2;
begin repeat
if Broj in Sito then
read (Znak);
begin
BloVd ;= Slova + [Znak)
p.mstiBrojevi := ProstiBYoj0vi + [Brojl;
end, Umnozak :'" B.raj;
while Umnozak <::0 Maksimum do
Naravno, u ovom isjecku se podrazumijeva da Su,-deklanran~ cj~lobrojnRpromjenljiya i i znakovna begin
promjenljiva Znak. Iz ovog isje6ka je takacter Yidljivo,da-e za. formiranje skupova pomocu uglastih Sito :;;c: Sito [Umnozak];
Umnozak : '" Umnozak + Broj
zagrada mogu karistiti ne samo konstante, ~~fP i p~ornjenljive; :ZapraW), unutar .uglastih zagrada
end
dozvoljenaje upotreba bilo kojeg izraza 6iji Ie tfp'sagla~an- _s.~.b~i:nim tipom.od kojeg je formiran skup. end, ..... "

Broj :'" Broj + 1


U PascaJu, natalost, nije predvictena .ni[<akvcl'i-lgradena naredba' niti za'ispis skupova (naredbe until s:ito '" lJ;
Maksimum, .,_' su:~"' .) ;-,
wri te i writeln nlsu primjen!jiv~ naskupove). Da l)ismo odstampal1 sve elemanfe nekog skupa, writeln ('Nad~mi prosti brojevi ad 2 do
for Braj : = 2 to Granica do
morama koristiti for petlju koja e. proe! kro cijeH-b<iwl tip-, pd _cem~ unutar peUje treba koristiti ope- i f Braj in ProstiBr-ojevi then
rator in za ispitivanje da Ii upravljacka promjenijiVa. petlje pripada skupu iii ne. Na primjer, sljedeei write (Braj, ' ' ) '
lsjecak programa ispisuje sve elemente skupa Granj:cniBodov:/" razdvojene po jednim razmakom: end.

330 331
Prikazani program ilustrira vecinu operacija sa skupovima koje se u prakticnom radu sa skupovima Ovdje je DatotdnaPromjenljiva ime datoteene promjen\jive, dok je Stl'nrnofmcDatotekc znakovna
susrecu, konstanta (iii znakovni izraz, npr. neka promjenljiva tipa string) koja sadrzi stvarno ime datoteke
na vanjskoj memoriji. Ovo ime moze sadrzavati i cijelu putanju do zeljene datoteke. Na primjer,
3.9.5 Datoleke naredba

assign (Brojevi, 'A:\RADNI\BROJEVI.DAT');


Svi do sada napisani programi imali su susti/!ski nedostatak da 'se sv! uneseni pod?ci gube on09
trenutka kada se program zavrsi. Datoteke su struktura podataka koja nam omogucava trajan
smjeslaj informaclja na nekom od uredaja vanjske memorije (obicno disku), Sve primjene racunara povezuje datotecnu promjen!jivu Broj evi sa konkretnom datotekom koja se zove BROJEVI. DAT,
gdje podaei moraju biti sa6uvani izmedu dva pokretanja programa zahtijevaju upotrebu datoteka. Na a nalazi se u direktoriju (folderu) sa imenom RADNI na flopi disku (A:), U nekim verzijama i?ascala
primjer, od programa za obradu teksta maze se zahtijevati da sacuva na disk dokument sa kojim umjesto naredbe assign javlja se naredba ,open, Pored toga, vecina.verzija Pascala posjeduje
radimo, tako da u buducnosti bilo kada mozemo ponovo pokrenuti program, otvoriti taj dokument i naredbu close koja zatvara datoteku kada ona vise nije potrebna. Ova naredba zahtijeva samo
(koji je bio saeuvan kao datoteka), i naslaviti raditi sa njim, U jeziku Pascal, za kreiranje i pristup jedan parametar - ime datoteene promjenljive. Sve datoteke se automatski zat\(araju po zavrsetku
datotekama koriste se datotecne promjenljive. programa, ali je veoma dobra praksa da se one zatl/0re eksplicitno.

Da10teke predstavljaju organiziranu skupinu podataka koja se moze sastojati od proizvoljnog Prije upisa podataka u bHo kakvu datoteku, ona prethodno mora biti pripremijena za upis
broja komponenti istog tipa. Vrijednosti pojedinacnih komponenti mogu bin bilo kojeg tlpa, s koristenjem naredbe rewrite. Na primjer, naredba
izuzetkom da komponenta nake datoteke ne moze biti ponovo datoteka. Tip datoteke se deklarira
rewri.te (Brojevi.);
veoma sl1cno kao skupovni tip, oSim sto se umjesto kljucne rijeei set koristi kljucna rijec file (uz
napomenu da skupovi postavljaju mnogo stroza ogranicenja sta moze biti bazni tip, koji kod datote-
ka moze biti bilo koji tip osim panava datoteenag tipa). Na primjer, sljedece deklaracije krejra praznu datoteku (koja 6e sadrzavati cijele brojeve) i priprema je za upis. Ako takva datoteka
vee postoji, 5vi podaci koji su se u njoj nalazili biee unisteni, i kreirace se nova prazna datoteka!
type Datoteka '" file of integer;
Za upis u datoteku koristi Se naredba write (mada se ista naredba korlsti i za ispis na ekran,
var Brojev.i Datoteka;
ovdje je njena upotreba drugaciJa). Kao prvi parametar naredbe write zadaje se datotecna prom
definiraju tip Datoteka koji opjsuje datoteku clje su komponente tipa eijeli brojevi, i promjenljivu jen/jive, a kao drug] parametar promjenljiva koja sadri! komponentu koja de biti smjestena u
Brojevi koja predstavlja konkretnu datoteku eijelih brojeva, Datateke koje se deklariraju porTlOCU datoteku, Nova komponenta se uvijek dopisuje na kraj datoteke, Taka ce, na primjer, naredba
kljucne rijeei file nazivaju se binarne datoteke. Uskoro cemo vldjeti da postaji i druga vrsta write (Bm]'evi, X) i
datoteka (tzv. tekstualne datoteke), kao i u cemu je razlika izmedu ave dvije vrste.
doplsati sadrzaj promjenljive X (koja bi trebala biti cje!obrojnog tipa) na kraj datoteke opisane
Standardni Pascal zahtijeva da se sve datoteene promjenljive kOje predstavljaju trajne datoteke
datotecnom promjenljivom Brojevi. 8itno je naglas!ti da kod upotrebe binarnih datoteka, drugi para~
(tj. datoteke koje nece bit! automatski izbrisane nakon zavrsetka programa) pobroje u zaglavrju pro-
metar u naredbi w:ri te obavezno mora biti promjenljiva, a ne konstanta fIi izraz, Tako, ako telimo da
grama, kao tzv. datotecni parametri (verzija Turbo Pascal avo ne zahtijeva, ali je dobra praksa
dopisemo broj 5 na kraj datoteke povezane sa datoteenom promjenljivom Brojevi, ne smijemo pisati
pridrzavati se ovog pravila, radi saglasnosti sa drugim izvedbama Pascala), Poredak datoteenih
parametara nije bitan. Na primjer, zaglavlje programa koji koristi gore deklariranu datoteenu prom- write (Brojevi, 5);
jenljivu Brajev,i" moglo bi izgledati ovako:
vee
program ObradaBrojeva (input, output, Brojevi);
X :'" 5;
Predefinirane rijeci input i output su takoder datotecni parametri kojt predstavljaju stan~ w:rite (Brojevi, Xl;
dardne ulazne i izlazne tokove za program (danas uglavnom povezane sa tastaturom i m6nitorom).-
podrazumijevajuCi da postoji cjelobrojna promjenljiva x,
Imena datotecnih promjenljivih predstavljaju samo fogicka imena, koja nemaju nikakvo:-zna6Emle
izvan programa u kojem su deklarirani. Da bismo zaista koristili datoteke, mi jos moramo'"povezatf''' . Naredba reset. koristi se za pripremu datoteke za dtanje. Njen parametar je Ime datotecne
te promjenJjive sa stvamim vanjskim datotekama e]ja stvarna imena (fizicka imena) odgovaraju prav~,~ ,pl'Omjenljive, na primjer:
ilima za davanje imena datoteka na odgovarajucem operativnom sistemu. Zacudo, standard6i Pasca'l ,-,-
nije precizno propisao nika~av konkretan naCin da se to uradi, tako da razne fzvedbe jezika pasa.L~ ,.- " reset (Brojevi) i

imaju svoje nacine za ostvarivanje tog povezivanja. U vecini verzija Pascala (uklJueuju6i i najras.rro9-~::' .
tranjenlju verziju Turbo Pasca~, za tu svrhu koristi se naredba assign koja ima sljeded.oblik ' Da bismo bolje shvatili prlncip upisivanja i citanja iz datoteke, korisno je da zamislimo da uvijek
imamo "pokazivae" pridruzen datoteci, koji oznaeava mjesto u datoteci gdje de 5e izvrsiti sljedeca
assign (DntotccnaPrmnjenljiva, StrarnofmeDatotcke) i operacy'a upfsivanja iii cftanja. Naredba ,reset postavlja pokazivac na pocetak datoteke, kao 6tO
je prikazano na sljedecoj slieL Pri tome, datoteka mora da postojl, inace ce biti prijavljena greska.
332 333
program KreiranjeDatoteke (Brojevi);
Datotcka
, ,,, type Datoteka '" file of integer;
var Brojevi Datoteka;

t
Komponcntc datoteke .
Braj, Kvadrat

begin
integer;

assign (Brojevi, 'BROJEIJI.DA'1')i rewrite (Brojevi);


reset postavlja pokazivac for Broj := 1 to 100 do
na po(clak dalolde begin
Kvadrat !'" sqr (Broj);
wri.te (Brojevi, Kvadrat)
Citanje podataka iz datoteke vrsi se pomoGu naredbe read, koja eila jednu komponentu end;
datoteke jz datoteke, i pomjera pokazivac datoteke na sljedecu komponentu. Prvi parametar close (Brojevi 1
naredbe read mora biti ime datotecne promjenljlve, dok Ie drugi parametar ime prornjenljive u koju end.
se smjesta procitana komponenta. Tako, na prirnjer, naredba
Drugi program cita sve vrijednosti iz tako kreirane datoteke i ispisuje ih na ekran, razdvojene jednim
read (Brojevi ,. Xl; razmakom:

cita sljedetu komponentu iz datoteke povezane sa datotecnom promjenljivom Brojevi, smjesta je program CitanjeDatoteke (output, Brojev.O;
u promjenljivu x, i pomjera pokazivac datoteke za jedno mjesto unaprijed. type Datoteka ~ file of integer;
LLllr '-,-,-,-,-,-,-,- var Brojevi Datoteka;

f Broj

begin
i.nteger;

Pozicija poka::.ivaca nakull


assign (Brojevi, 'BROJ'E:I.iT.DAT'l; reset (Brojev,i);
nekofiko operacija tilanja while not eof (.Brojevil do
begin
Kod upisivanja i Citanja iz binarnih datoteka, vrijedi pravi!o da se same jedna komponenta u jed- read (Brojevi, Broj);
nom trenutku smije zadati u naredbama write iii read. Na primjer, nije dozvoljeno pisati: wdte (Broj, ')
end;
write (Brojevi, X, y); close (Brojevi)
~d.

Umjesto toga, treba pisati:


Da bi ovaj program radio ispravno, prethodno je prvo morae biti pokrenut ptvl program, jer u suprot-
write (Brojevi, X); nom datoteka BROJEVI. DAT neee biti ,kreirana!
write (BrojelTi, Y);

U mnogim primjenama potrebno je koristiti datoteke cije su komponente slogovi. Na primjer, ako
Naredbe readln i writeln ne koriste se (i ne mogu se koristiti) pri radu sa binarnim datotekama. ze!imo da cuvamo podatke 0 svlm ucenicima u razredu u datoteci, tada bismo trebali definirati slog
koji opisuje jednog ucenika, j formirati datoteku dje su komponente takv! slogovL U sljede6em prlm-
Prllikom citanja iz datoteka cesto ne znamo unaprijed koliko elemenata ima datoteka. U takvim jeru, koji ilustrira ovakav pristup, definiran je slog ucenik koji sadrii polja lme, Frezime,
slucajevima, potrebno je koristiti ugradenu funl<ciju eof. ,Ov~ funkcija ima kao parametar ime Godina.Rodjenja. i Prosjek (broj polja je namjerno smanjen da program ne bude preduga(:a~).
datotecne promjenljive. Ona vraea rezultat logikog tipa"i to true ukoliko je pokazivac datoteke Program cita podatke 0 ucenicima sa tastature i smjesta ih u datoteku UCENICI -. DAT:
na samom kraju datoteke, a false u suprotnom slucaju. Ova, fUf)kcija se veoma cesto koristi za
upravljanje petljom koja neprekidno (:ita podat~e i.i~da1b-teke-}3ve 90k"Se kraj datoteke ne dostigne. program Kre.i.ranje.DatotekeUcenika (input, output,
U ovakvim situacijama koristi se konstnikcija' p6p_ut slj~~ce: .
type Ucenik '" record
while not eaf (DlltuieCflaPromje;lljiv"a) _ g~"' 1m2, Prez.ime string [20J;
Naredbe(:ilunja; - '- -- God,inaRodjenja : integer;
, Prosjek : real
!
end;
Kao primjer rada sa datotekama, dacemo dvo?progrnma.kOji\Qrjste datofeku cijelih brojeva. Ptvi Datoteka = file of uceni.k;
program kreira datoteku BRO,TEVLDAT' koJ~.sadrzi kVadrate.cijelih brojeva ad 1 do 100:
var Uce.n.ici Datoteka;
NekiUcenik Uceniki
Redn.iBroj, lirojUceni.ka integer;

334 335
begin grama NotePad), Za razliku od njih, postoje i datoteke ciji je sadrzaj zapisan iskljucivo pomocu
write (' KoUko imo. ucenika? ') readln (BrojUcenikaJ;
i znakova. Takve, datoteke nazivaju se tekstualne datoteke (ponekad i ASCII datoteke). One se
assign (Ucenici, 'UCENICI.DA'l")i rewrite (Ueenici); obicno kreiraju i pregledaju uz pomoc tekstualnih editora (u principu, cak i proizvoljan program pisan
for RedniBro.] : = 1. to Broj(Jcenika do u Pascalu ne predstavlja nista drugo nego jednu tekstualnu datoteku).
!,""
begin
with NekiUeenik do Datotecne promjenljive kOje predstavljaju tekstualne datoteke ne deklariraju se pomocu kljucne
begin rijeCi fils, nego pomo6u predefinirane r]jeci text (u jzvornom PascaJu tip text je bio sinonim
writeln ('Unesite podatke za " RedniBroj, ucenika: ' ) ;
za konstrukciju file of char, medutim u modernim verzijama Pascala izmedu ova dva tipa pos~
write ('lrue: 'J; readln (Tme);
write ('Prezime: '); readln (Prezime); toje znacajne razlike). Na primjer, sljedeca deklaracija definira datotecnu promjenljivu Datoteka,
write ('Godina rodenJ'a: '),. readln (Godi-naRodjenja); koja predstavlja tekstualnu datoteku:
write ('pYosjek: 'j; readln (Prosjek)
end; vax: Datoteka ; text;
write (Ueenici, NekiUcenik)
end; Naredbe assign, reset, rewrite i close kao i funkcija eof koriste se na isti naCin i
close (Ueeniei) sa binarnim i sa tekstualnim datotekama. S druge strane, upis i citanje podataka obavljaju se na
end. posve drugaclji nacin u odnosu na rad sa binarnim datotekama. Za upis u tekstualne datoteke
koriste se naredbe wri te j wri teln, a za citanje lz tekstualnih datoteka naredbe read i
l\Iakon sto smo sa prethodnim programom kreirali datoteku ucenika, sljedeCi program se moze iskow readln. Pri tome je sintaksa ovih naredbi potpuno ista kao prilikom ispisa na ekran iii citanja sa tas~
ristitl za citanje kreirane datoteke i ispisivanje izvjestaja na ekranu 0 svim ucenicima: tature, osim Sto se kao plVi parametar zadaje ime odgovaraju6e datotecne promjenljive. Tako, uko-
liko je, na primjer, Brojac cjelobrojna promjenljiva, R realna promjenljiva, a Datoteka prom~
program C.itanjeDatotekeueenika (output, [J'cenici);
jenljiva koja predstavlja tekstualnu datoteku, mozemo pisati naredbe peput:
type ucenik 00' record
I1ne, Prezime string [20],. writdn (Datotf::',ka, 'Qbim:', 2 * .Pi * R 3, Povr,sina: pi * R * R 0: 3);
Godi,naRodjenja : integer; write (Datoteka, Brojac, Brojac + 1, sqr (Brojac) + -1);
Prosjek real
end; Pri tome se podrazumijeva da je datoteka predstavljena promjenljivom Datoteka prethodno bila
Datoteka '" file of Ueonik; otvorena za upisivanje (pomocu naredbe rewri te). SHeno, ukoliko je datoteka otvorena za citanje,
vaT [leonici : Datoteka; i ukoliko su A, E, C, DiE neke promjenljive (npr. cjelobrojne), sljedece naredbe su smislene:
NekiUeenik Ucem:k;
read (Datoteka, A, B);
begin readln (Datoteka, C, D, I);
assign (Ueen.i_c.l, 'UCENICI.DAT') i reset (Ucenici);
while not eof (Ueeniei) do U tekstualnu datoteku se moze upisati vrijednost bilo kakvog cjelobrojnog, realnog, znakovnog iii
begin
read (Ueeni.ci, NekiUcenik);
logickog tipa (uk!jucujuci i poddomenske tipove izvedene iz njih), dok se iz tekstualne datoteke mogu
with NekiUcenik do citati sarno vrijednostl promjenljivih cjelobrojneg, rea!nog iii znakovnog tipa. Treba obratiti patnju da
writeln ('Ucenik ',.Ime, ',Prozime, roden', se, za razliku od binarnih datoteka, slozeni tipovi (poput slogova) ne mogu upisivati u tekstua!nu
GodinaRodjenja, '. godinG, ima prosjek ',p.ro.sjek 0: 2) datoteku nit! Citati iz nje kao jedna cjelina. Umjesto toga, podatke je neophodno upisivati i citati polje
end; po polje. Na primjer, umjesto naredbe
C10gB (Ueen:iei)
end. write (Ueenici, NekiUeen.ik)

Primijetimo da se za upis i Citanje iz datoteka koriste iste naredbe (w:r:i te i read) kao i za ispis koju smo koristili u programu KreiranjeDatotekeUcenika, pri radu sa tekstualnim datotekama
na ekran i Citanje sa tastature, mada se, u ovom slu6aju, one kOriste na sasvim drugaeiji na.c!n (npr. morali bismo koristiti niz naredbi
kod datoteka secitav slog upisuje u datoteku odjedanput, dok tako nesto nije mogu6e prillkom ISpJS':i'
na ekran). Ova moze djelovati pomalo konfuzno. Izvorni Pascal je za upis u dat,oteku koristio na red - writeln (Ueenici, NekiUeenik Ime);
bu put, a za citanje iz datoteke naredbu get (koje su se koristile na nesto drugacijf naqin negef writeln (Ueenici, NekiUcenik Prezime) ;
write i read). Medutim, ovakav pristup je u tnodernitn iJerzijama Pascala napusten,'--"' ""- writeln (Ueeniei" NekiUeenik GodinaRodj enj a) ;
writeln (Ueenici , NekiUeenik Prosjek) ;
Opisane datoteke predstavljale sLi binarne datoteke. Njihov sadrzaj je zapisan na isti nac~n"-~~(f""
sto su podaci sadrzani u njima zapisani u racunarskoj memoriji, odakle i potite naziv "bin!:l"rne Analogna primjedba vrijedi i za citanje iz tekstualnih ciatoteka.
datoteke. Bitno je naglasiti da podaci u njima nisu zapisani u vidu znakova" (npr. broj, 23712" nlj~-
zapisan kao niz od pet znakova '2', '3', 7', '1' i '2'). Stoga se takve datoteke ne mogu niti kreiratrnitl Vazno je napomenuti da se svi podaci u tekstualnim datotekama cuvaju iskljucivo kao slijed znako~
pregledati pom06u tekstualnih editora (npr. pom06u DOS-ovog programa ED/Till WilJdowsovog.pro va, bez obzlra na stvarnu vrstu upisanih podataka. Tako se, prilikom upisa u tekstualne datoteke, u njih

336 337
upisuje tacna onaj niz znakova koji bi se pajavio na ekranu prilikom ispisa istih podataka, SHena, pri- Surna :'" 0;
likom eitanja podataka iz tekstualne datoteke, racunar 6e se ponasati isto kao da je niz znakova od repeat
kojih se datoteka sastoji unesen putem tastature. 8toga je moguce, uz izvjesnu dozu opreza, u tek- read (Bmj);
Suma : '" Sllma + Bmj
stualnu datoteku upisatl podatak jednog tipa (npr. cijeli broD, a zatim ga i56itati iz iste datO,teke kao until ealc;
podatak drugog tipa (npr, kao niz znakavnih promjenljivih). writeln (Burna);

Mozema reCi da za razliku od binarnih datoteka, tekstualne datoteke nemaju precizno utvrdenu Moze se primljetiti da je rad sa tekstua!nim datotekama veoma s!iean radu sa tastaturom i ekra-
strukturu, vee je njihova struklura, kao i nacin interpretacije vee kreiranih tekstualnih datoteka, iskljucivo nom. To nije slucajnost: Pascal posmatra standardni ulazni i izlazni uredaj (npr. tastaturu i ekran)
pod kontro!om programa koji ih obraduje. Ova cinjenfca omogueava veliku fleksfbilnost pri radu sa tek- kao dvije fiktivne tekstualne datoteke, nazvane -input i output. Tako naredbe poput
stualnim datotekama, ali predstavlja i cest-uzrok gresaka, pogotovo ukoliko se njihov sadrzaj ne inter- read (Broj) i i wri te1n (, Surna j e Suma) i ne predstavljaju nista drugo nego skraeeni
pretira na pravi nadn prilikom citanja. Na primjer, ukoliko u tekstualnu datoteku upisemo-zaredom prvo zapiszanaredbe read (-input, Broj) i write1n (output, 'Burna je " Buma).
broj 2, a zatim broj 5, u istom redu i bez lkakvog razmaka izmedu njih, prilikom Gitanja ce isH podaci
biti interpretirani kao jedan broj - broj 25!

Pri radu sa tekstualnim datotekama, pored funkcije eaf moze se koristiti i funkcija eo1n, koja
vraea true kao rezultat uko!iko smo prilikom citanja lz tekstualne datoteke kOja je navedena kao
parametar dosli do kraja reda u datoteci, inace vraea false. Treba obratiti paznju da i sam Pascal
program nije nista drugo nego jedna tekstualna datoteka. Tu Cinjenicu cemo iskoristiti u s!jedecem
programu, koji ce analizirati sam sebe, i ispisati informaciju 0 tome koliko se u njemu nalazi znako-
va, a koliko linija teksta (ne zaboravite da se i svaki razmak broji kao znak).

program Brojanje (output, Datotekal;


var Datoteka text;
Zllak : char ;
BrojacZnakova, Brojacl.inija integer;
begin
assign (Datoteka., 'BROJANJE. PAS 1 ) ; reset (Datoteka);
BrojacZnakova := 0; Bro]'aCIJinija := OJ
while not Gof (Datoteka) do
begin
while not Goln (Datoteka) do
begin
read (Datoteka, znak);
BrojacZVakova :'" BrojacZVakova + 1
enrl;
BrojacI,.inija :'" BrojacLin _ ija + 1;
readln (Datoteka)
end;
writeln ('Bra] znakova: " BrojacZnakova);
writeln (' Broj linija: " BrojacLinija);
close (Datote.ka)
enrl.

Prije nego sto pokrenete i isprobate ovaj_ program, obavezno ga morate snimiti na disk pod imenom
BROJANJE. PA8. Ime mazete i promijeniti, ali u tom slucaju moraie promijeniti i drugi parametar u nared- !-
bi assign. Obratite paznju i'na naredbu read1n, kojom vrsimo prelaz na Citanje novog reda datoteke.

Funkcija eo1n moze se koristiti i bez parametara. U tom slu6aju ana vraea true ukollko je
dostignut kraj reda prilikom citanja sa tastature, Na primjer, sljedeci isjecak programa trazi da se sa
tastature unese niz brojeva razdvojenih razmacima u jedn"om redu, i ispisuje njihov zbir (naravno,
pretpostav!ja se da su deklarirane odgovarajuce promjenljive). Napomenlmo da smo u ovom slucaju
morali upotrijebiti naredbu read, a ne readln (razmisiite za5to).

338
339
Pitanja i zadaci 3.10 PROCEDURE, FUNKCIJE I REKURZIJA
1. Sta s~ jednodimenzionalni, a sta visedimenzionalni nlzovi?
2. U camu su bitne razlike' izmedu nizova i skupova? 3.10.1 Pojam procedure
3. Kada treba koristiti nizove, a kada slogove?
4. Sta su datoteke i kada sa koriste? Procedura je samostalan dio programa kojl izvrsava odredeni zadatak, Svrha procedura je da
5. Kakva je razlika izmedu binarnih i tekstualnih datoteka? poboljsaju strukturu programa taka da oni budu modu!arni, tj. da budu nacinjeni od manjih jedinica
kOje su neovisne jedna od druge kollko god je to mogu6e, Modularni program! su jednostavniji kako
6. Opisite razlike u radu sa binarnim j tekstua!nim datotekama.
za pisanje, tako i za citanje, razumijevanje i vrsenje naknadnih izmjena. Veoma cesto se dobro
7. NapiSlte program koji tratl da sa sa tastature unesa 10 brojeva, a zatim ispisuje koUka fma bro~ napisana procedura koja je definirana i koristena u jednom programu moze upotrijebfti bez ikakve
java u nizu koji su vaGi od aritmeticke sredine svih unesenih brojeva. Uputa: koristite trf for lzmjene u drugom programu, sto stedi vrijeme i trud programera, Razvoj programa po etapama,
iskaza: prvi za unos brojeva, drug! za ra6unanje aritmeticke sredine, a treei za brojanje eleme- koristenjem metadologije razvoja sa vrha nanize, najlakse se obavlja upravo pomocu procedura. Pri
nata koji su veei od aritmeti6ke sredine. tome, raz!icite procedure obavll'aju razlicite etape u procesu razradivanja programa.
8. Napisite program koji traii da se sa tastature unese 10 brojeva, a zatim ispisuje koliko puta se
u nizu unesenih brojeva ponavlja najveci broj. Uputa: osnovna ideja je ista kao u prethodnom Svakoj proceduri se daje ime, koje bi trebalo da bude vezano za zadatak koji ona izvrsava. Kako
zadatku. Za nalazenje najveceg broja iskoristite ideju iz poglavlja 3.2. su imena procedura idenHfikatori, pravila za imenovanje procedura su potpuno ista kao za imeno-
9. Napisite program koji traii da se sa tastature unese 10 brojeva, a zatim ispisul'e u jednom redu vanje promjenljivih, tipova, ltd. Pozivanje procedure po njenom imenu daje na!og procedurl da obavi
unesene brojeve koji su pami, a u drugom redu bral'eve koji su neparni. Brojev! trebaju bit] svoj zadatak. Na primjer, ovdje je data jednostavna procedura kOja Cita dva broja sa tastature i
medusobno razdvojeni jednim praznim mjestom. ispisuje na ekranu njihov zbir:
10. Napisite program koji traii da se unese recenica sa tastature, a koji zatim ispisuje koliko u tOj
procedure SaberiUlaze;
recenici ima razmaka, velikih slova, malih slova, samoglasnika i suglasnika. Uputa: koristite
skupove za definiranje pojedlnih kategorqa znakova. Za detekciju kraja recenice motete koristi- var Prvi, Drugi integer;
tl funkciju length (uko!1ko ste citali recenicu kao string tip) Hi funkciju eoln (ukoliko ste begin
citali recenicu znak pO znak read naredbom). readln (,p.rvi, Drugi);
w:ri teln (Prvi + Drugj.)
11. Definirajte slogovni tip koji predstavlja nogometni tim. Potrebno je voditi informacije 0 imenu
end;
tima, broju odigranih utakmica, brol'u datih i primljenih golova, broju bodova, itd.
12. Definirajte slogovni tip koji opisuje robu u skladistu za potrebe inventure. Potrebno je cuvatl Da bismo pozvali ovu proceduru, I~oristimo naredbu koja se sastoji samo od imena procedure:
naziv robe, braj skladista, kolicinu u skladistu, minimalnu kolicinu (ako ie kolicina robe jednaka
iJi manja od minimalne kolicine, to znael da treba pozvati dobavljaca da se obezbijede efikasne Saber.iUlaze;
za!ihe robe), jedinicnu cijenu robe, i Ime dobavljaca.
13. Prepravite programe KreiranjeDatotekeUcenika i CitanjeDatotekeUcenika taka Ova naredba 6e uzrokovati da se naredbe sadrzane u tijelu procedure SaberiUlaze izvrse.
da koriste tekstualne umjesto binarnih datoteka. Provjerite sadrzaj kreirane tekstualne datoteke
Procedura se moze smatrati kao mal! potpragram unutar drugog programa. 8toga je njena struk-
uz pomo6 tekst editora (npr. NotePada).
tura veoma sliena kao i struktura programa. Ona obavezno mora imati svoje zaglavlje (koje poeinje
sa kljucnom rijeci procedure umjesto program). Procedura, poput programa, maze imati svoje
parametre (0 temu cemo detaljnije govoriti malo kasnije), moze imati svoje vlastite imenovane kon-
stante, tipove, promjenljive, pa cak i vlastite pod-procedure, Tijelo procedure, kao i tljelo programa,
sadrii skupinu naredbi omedenih sa begin i end. Za razliku od programa, tijelo procedure
zavrsava se tacka~zarezom, a ne tacKom.

Moze se postavitl pltanje kakva je'-korist Qd-procectura. Na prvom mjestu, one nam omogu6avaju
da sloienije progmme iscjepkamo n~ rrianje,neovisne oij"elove koje je lakse pratiti i odrzavati. Dall'e,
procedura se moze u programu pozv-?ti proli~o.!ja:n broj puta. -Pr~tpostavimo, na primjer, da ielimo
da nam program ispise tekst neke 'pj,esme-ko-ja irna-tri strofe, i refren nakon svake strafe. Bez pomaci
procedura, mi bismo tekst. reffena mora1[ ispislv.at! ttl puta,-nakon sVake-strofe. Uz pomo6 procedu-
ra, mag Ii bismo napisati prograrrl. kOlt 'b~prlnclpY-t?JnQ'izqledao ovako:
program pj esma !ou t:pu t} j
procedure
begin
writ(,.~ln (iTekst prve strofe' ... ')
eno,;
~ ~
procedure DrugaStrofa;
Razlika izmedu lokalnih i globalnih promjenljivih, kao i pojam vldokruga identifikatora, ilustrirani
begin su na sljede60j slici, kOja prikazuje jedan program (koji, u sustini, ne radi nista korisno) i vidokruge
writeln (''l'ekst druge strofe ... ' j upotrijebljenfh promjenljivih. U prikazanom primjeru, promjenljive a, b i c su globalne prom~
end;
jenljive, i mogu se u nacelu koristiti u citavom programu. Medutlm, procedura Proc2 sadrti lokalnu
procedure 'I'recaStrofa; promjenljivu b eije se lme poklapa sa imenom globalne promjenljive b. Lokalne promjenljive imaju
begin prioritet u odnosu na globa!ne, tako da S9 globalna promjenljiva b ne mote koristiti unutar ove pro~
write ('Tekst trece strafe ... ' j cedure. Kate se da je globalna promjenljiva ,b skrivena lokalnom promjenljivom b unutar ave pro~
end; cedure. Globalna promjetiljiva b i lokalna promjenljiva b u ovom slueaju predstavljaju dva pot~
procedure Refren; puna razlicita objekta (u smislu da bilo kakva izmjena lokalne promjenljive -b ne utjece na vrijed-
nost istoimene globalne promjenljive). Promjenljiva d je lokalna promjenljiva koja se moze koristi
begin
wri te. (' 'l'ekst refrena ... ') ti same unutar procedure Proc1., dok postoje dvije lokalne promjenljive nazvane e, od kojih se
end; jedna moze koristiti samo unutar procedure Frocl, dok se druga moze koristit! sarno unutar pro
cedure Proc2 (mada su im imena ista, to su dvije razliCite promjenljive).
begin { Ovdje zapraVQ po6inje glav:ni p:r:ogram }
PrvaStrofa;
Refren;
DrllgaStro[a;
Refren; program DemonstX'acijaVidokruga (input, output);
TrecaSt.rofa;
RefTen vat: a, b, c : integer;
end. procedure FTocl;

U ovom primjeru, umjesto da tri puta pisemo tekst refrena pjesme, mi smo tri puta pozvali procedu
ru Retren, 3to dovodi do kra6eg i jasnijeg programa (naroCito ukoliko ie tekst refrena dugacak). :;:":; wteger,} Vldokrug

e;""' 10; oddle


Sve procedure moraju biti definirane prije p06etka izvrsnog dijela programa (tj. glavnog progra 1t.cr-iteln (d),
rna). Standardni Pascalzahtijeva da procedure budu definirane nakon deklaracija promjenljivih, dok -)l>- Vidokrug
wnteln {ej
modernije verzije Pascala dozvoljavaju mijesanje redoslijeda definicija procedura i ostalih dek!araci end;
od (gluballlc) b
ja. Unutar tijela procedure mogu se pozivati i druge procedure, ali sarno one kOje su prethodno
procedure Proc2;
definirane u programu, tj. nije dozvoljeno pozivati proceduru cija se definicija u programu nalazi
nakon mjesta poziva (ovai' nedostatak se doduse moze otkloniti upotrebom kljucne rijeci forward, var b, e : integer; - } Na Ol'OIll mjcstu Vidokrug
ali 0 tome necerno govoriti). U svim drugim aspektima, poredak u kojem se procedure definiraju nije begin lokalna pronyenljiva b od a i c
bitan, jer rezultat izvrsavanJa programa zavisi od redoslijeda kojim se procedure pozivaju, a ne od b '" a , c; Vidokrug skriva globalllu prom
poretka u kojem su definirane, kao sto je uostalom vidljivo i iz prethodnog primjera. e :'" 20; jellljivlt bprekidlYliCi
w.dteln (b); _ od e i (lokalnc) b
njen vidokrug
writeln (e)
end;
3.10.2 Lokalne i globalne promjenljive
be.gin { Glavni program }
Promjenljive deklarirane unutar procedure (tj. izmedu zaglavlja procedure i tijela procedure) a ;= 1;
predstavljaju Iqkaine promjenljive: one se mogu koristiti sarno unutar procedure u kojoj su dektari- b ;= 2;
fane (lsto pravilo vr~'edi i za ostale fdentifikatore, tj. za deklaracije imenovanih konstanti, tipova i pro C 3;
;=

cedura). Lokalne promjen!jive se automatski krefraju kada procedura zapocne izvrsavanje, a nesta Proe2;
Procl
ju odmah po zavrsetku procedure u kojoj su koristene. S druge strane, promjenljive koje nisu deklari-
eruk"
rane unutar neke od procedura predstavljaju globaJne promjenljive.

Globalne promjenljive vrijede od mjesta na kojem su -deklarirane, va sve do kraja programa. U


.:lJ.kotik9 $te isprayno razumjeli izlozene principe, neee yam biti tesko odrediti koje ee brojeve
{sFitsa.fi prikazani program (odgovor: 4, 20, 2, 10).
standardnom Pascalu, globalne promjenljive moraju se definirati na samom po6etku programa, tako
da one vrijede u citavom programu. U modernijim verzijama Pasca/a, opseg u kOjem vrljede glo~
ba!ne promjenljive moze da bude i manji,- posto S8 deklaracije promjenljivih i deflniclje procedura
mogu mijesati). Dio programa u kojem se ime nekog identifikatora (npr. promjenljive) moze legalno
koristit! naziva se vidokrug (iii doseg) identifikatora.

342 343
3.10.3 Prenos parametara u procedure Forma~ni parametri (iii forma/nf argumentf) SU, zapravo, vrsta lokalnih promjenljivih clju je
poc:t~u ~~iJe?nos.~ mogu6e zad~t! prilikom poziva procedure (za razliku od obicnih lokalnih prom
Pretpostavimo da zelimo da napravimo program u kojem cerno definirati proceduru koja raGuna JenlJlvlh GIJa Je vriJednost nedeflnlrana sve dok im se eksplicitno ne dodijell vrijednost). Prilikom
obim i povrsinu kruga. Sa dosada stecenim znanjem to mazerna uraditi kao u sljedecem programu: deklaracije procedure, njeni forma/ni parametri se navade u popisu parametara keji se nalazi unutar
zaglavlja procedure:
program ProracunKruga (input, output);
var Poluprecn.i.k real; ~amm"tam
procedure Krug i
const pi = 3.1.41:;92654; procedure, Krug (r : real) i

begin
writeln ('Obim: r, 2 p:i PoJupr.ecnik} ;
+
lonna/nl pammctar
writeln ('Povrina: pi sqr (Poluprecnik))
end; Vrijednosti koje se navode priltkom poziva procedure i koje se prenose u formalne parametre sa
svrhom njihove inicijalizacije, nazivaju se stvami parametri (iii stvarni argumentl).
begin Glavn.i. program }
readln (Poluprecn.i.k);
Krug (Poluprecnik) ;
Krug
end. t
stvarni pa/"mllctar
Ovaj program nesumnjivo radi, ali se moze napisati i mnogo bolje. Osnovni problem lezi u
cinjenici da je procedura Krug previse ovisna od ostatka programa, jer se oslanja na globalnu U ovom prirnjeru vrijednost stvarnog parametra Poluprecnik se prenosi u formalni parametar r,
promjenljivu Poluprecnik. Aka se Ime ave promjenljive U ostatku programa promijeni, procedura taka da r dobija vrijednost promjenljive Poluprecnik. Zbog toga, svaki stvarni parametar mora
vise neee raditi. Stoga ovu proceduru nije moguce bez izmjene upotrijebiti u nekom drugom pro- odgovarati po tipu odgovaraju6em formalnomparametnJ. U nasem primjeru, formalni parametar r
gramu u kojem se promjenljiva koja cuva vrijednost poluprecnika zove drugacije. To nije ono s10 i stvarni parametar Poluprecnik su tipa real.
zelimo - procedura bi trebala bitl neovisna ad ostatka programa koliko god je to mogu6e. Rjesenje
ovih problema je da dozvolimo proceduri Krug da koristi svoje vlastito fokafno fme za poluprecnik Broj stvarnih parametara koji se prenose u proceduru mora biti jednak broju formalnih para-
kruga, kojem na neki nacin trebamo prenijeti vrijednost poluprecnika iz glavnog programa. Ovo se metara (u nasem primjeru imamo jedan formalni i jedan stvarni parametar). Formalni i stvarni para-
moze ostvariti upotrebom procedura sa parametrima. Ovu tehniku cemo Hustrirati na sljedecem metar u principu mogu Imatl Ista imena, ali treba vodl!i racuna da se cak i u tom slucaju radi ,0 posve
primjeru, koji prestavlja poboljsanu verziju prethodnog programa: razlicitim objektima. Drugim rije6ima, cak 1ako formalni i stvarni parametar imaju isto lme (npr. x),
formalni parametar x je potpuno neovisan od stvarnog parametra x, mada se pri pozivu proce-
program proracunKruga (input, output); dUre vrljednost stvarnog parametra x kopira u formalni parametar x.
var Poluprecnik real;
Stvarni parametar ne mora biti samo lme promjenljive, nego bilo koji izraz odgovarajuc':eg tipa.
procedure Krug (r real) ; Tako SU, na prlmjer, sv! sljede6i pozlvi procedure Krllg dozvo!jeni (uz pretpostavku da postoji i
const Pi = 3.141592654; propisno deklarirana promjenljiva precnik):
begin
write1n_ ('Obim: 2 pi r) i Knlg (Poluprecnik);
writeln ('Povdina: pi sqr (r)) Kmg (3.5);
Kmg (Precnik / 2);
end;
begin Gla vni program S druge strane, sasvim je ocigledno' da formalni "parametar moze biti sarno lme promjenljive, a ne
to"?adln (-Poluprecnik); konstanta iii izraz. . . -
l\.rug -"( poJuprecT!j.k)
811d".-
U slucaju kada procedura ima v'ise 'pararfwta;a;'o"ni s,e deklariraju na isti nacin kao sto se deklari
ra i bilo kOja druga promjen1fiva, osim sto se, d~l!araCija pararnetara Qbavlja unutar zag!av!ja proce-
u .Gvo~.pl'ill}i~u," p~~6~d~ra Krug kodsti svoje vlastito lokalno ime, r, za imenovanje poluprecnika dure (1 to unutar zagrada). Na priiiiJer, :slje'q8.6a'.proc.edura, nqzvana PisiZnakove, ispisuje na
-kruga._To im_~ p_~e~stavJja ojen parametar (preciznije, formalni parametar). Prilikom poziva procedure
ekran odredeni broj odredenih zriakova, pri t~rD-(J-56 broj znakova zadaje preko prvog parametra, a
Krug ..iz glft~fiog pr-ogrania, "U zagradama se navodi vfijednost koju je potrebno prenijeti u formalni -
sam znak preko drugog parametra~ _ . -
'parametar.~r,D navedenom primjeru, prenosl se vrijednost promjen!jive Poluprecnik. Na taj
I')ain p'rocedura .he mora znati niSta 0 tome kako se zove promjenljiva koja cuva vrijednost procedure Pisi2'J'J.aJ::0ve f.BrojZnakova i?_~eger; Znak char};
poluprecnTka -u glavnom programu, jer se njeno ime navodl prilikom poziva procedure (dakle, u
var i : .integer;
_glavnom prcigramu), a ne unutar same procedure.
344 345
he;Jin U ovom primjeru je global.na promjenljiva Pol uprecnik deklarirana nepasredna prije pa6etka
for i :~ 1 to BrojZnakova do
~Iavn?g programa. Kako nJen.vidokru9 zapocinje od mjesta na kojem je deklarirana, na ovaj nacin
write (Znak)
end;
Je spnJeceno da se ona nehotlce upotrijebi bilo gdje osim unutar glavnog programa.

Tako 6e, na primjer, pozlv procedure


3.10.4 Vrijednosni i promjenljivi parametri
PisiZnakove (5, '*');
For~alni parametri koje sma do sada koristlli biB su vrijednosni parametri. Oni su prenosHi

ispisati na ekranu pet zvjezdica, neku vrlJedn~st u proceduru. Promjenljivi (iii vart7abiln~ parametri dozvoljavaju da se podaci pre~
nesu nazad IZ procedure u .blok koji je pozvao prdceduru. Nairne, dok se vrijednosni formalni para
Pisanjem procedura sa parametrima mi zapravo prosirujemo jezik Pascal, jer se svaka napisana metri "gube" nakon zavrsetka procedure ne osfavljaju6i nikakav '1rag" na odgovaraju6im stvarnim
procedura prilikom poziva ponasa kao nova naredba. Taka sma, na primjer, u prethodnom primjeru para:n~.trima, pr?mjenljivi formalni parametri dozvoljavaju proceduri da promijeni vrijednost odgo
jeziku Pascaf"dodali" novu naredbu PisiZnakove. U sustini, mnoge od naredbi koje sma do sada varajuclh stvarnih parametara. Zbog toga, u tom slueaju, odgovarajuCi stvarni parametri moraju bltl
koristill, poput read, write, reset, assign, clrscr itd, nisu nista drugo ne90 predefinirane prof~jenljive. Drugim rijecima, kod promjenljivih formal nih parametara, odgovarajuCi stvarni para
procedure kOje su vee implementirane kao sastavni dio jezika Pascal. metn ne smiju biti konstanle iii izrazi (za raziiku od vrijednosnih formalnih parametara).

Prenos parametara u procedure nam omogueava metodologiju programiranja koja se naziva D.a bismo. naznacili da je ~eki for~aln! parametar promjenljivi parametar, stavljamo kljucnu rijee
sakrivanje informacija, i ana predstavlja jedan od osnovnih princlpa dobrog modularnog pro" vaT, Ispred nJ:9?Ve deklaraclj8. U slJedecem programu upotrijebljena je procedura Krug kOja pri"
gramiranja. Sakrivanje informacija znati da nl jedan dio programa ne bi trebao da ima pristup onim hvaca poluprecnlk kruga kroz prvi parametar (koji je vrijednosni parametar), a vraea izracunatu vri~
promjenljivim koje ne trebaju da se koriste u tom dijelu programa. Procedure sa gledista glavnog jednost obima i povrsine kruga kroz drugi i tred parametar (ko]i su promjenljivi parametri):
programa treba da djeluju kao "crna kutija": glavni program 1m sarno predaje ispravne parametr8 i
prepusta 1m da odrade svoj posao, ne ulazeCi u to kako ce one to uraditi. Procedure s druge strane program ProracunKruga .(input, output);
sarno primaju parametre od glavnog programa, i ne treba da brlnu a tome sta radi ostatak progra- var PolupTecnik, Obim, Povrsina real;
rna; one se brinu sarno kako da obave zadatak koji im je povjeren. procedure Krug (r : real; var 0, P real);
const Pi 3 . .141592654;
Konkretno, u Pascalu sakrivanje informacija zapravo znad da bi svaka promjenljiva trebala imati
sio je god moguce manji vidokrug. Kako je vldokrug globalnih promjenljlvih prakticki cljeli program, begin
upotrebu globalnih promjenljlvih treba svest! na minimum. Umjesto upotrebe globalnih promjenljivill o : '" 2 Pi'k Y;

treba intenzivno koristiti prenos informacija preko parametara. Takoder, u dobro napisanom modu" [' . ~ Pi * sqr (T)
end;
larnom programu, nl jedna procedura ne treba da radi vise razlicitih poslova (odnosno, svakom poslu
treba dodijeliti posebnu proceduru). begin { G1av'ni program )
readln (Poluprecn.ik),-
Jedna od poteskoca vezana za sakrivanje informacija u jeziku Pasca/lezi u einjenici da programi Krug (Polupn?cnik, obi.m, Povrsina),-
ipak moraju imati i poneku globalnu promjenljivu, jer se u glavnom programu mogu korlstlti samo glob writeln ('Obim: Obim);
writeln ('Povrsina: " Povrs.ina)
alne promjenljive. Ovim je otvorena rnoguenost da, slucajno iii namjerno, upotrijebimo neku od global
nih promjenljivih i unutar neke od procedura, time narusavamo dobar dizajn i neovisnost procedura od end.
glavnog progr;3.ma. Modernije verzije Pascafa dopustaju da se promjenljive deklariraju i nakon deflni
cija procedura, eime ,.efektivno suzavamo njihov vidokrug. Na primjer, pogledajmo sljedecu modifikaci- ~rili~?m poz!va procedure Kr.ug prvi stvarni parametar maze biti proizvoljan realan izraz, dok drugi
ju programa za proracun obima i povrsine kruga, ~oji radi u svim modernijim verzijama Pascala: I treci stvarnl parametar moraJu bit! promjenljive koje 6e da prihvate lzracunate vrijednosti.

program ProracunKruga' (input, output); U sustini, postoje dva mehanizma na koji se parametri prenose, Uproceduru. Prvi mehanizam je
kopira~je vrjje~nosU ~ ne~~ o.d lokalnih promjenljivih procedure. OVE!i mehanizam se naziva-prenos
procedure KYug .'( r .:
po ~flJedn?sb. Dru~1 nacm J~ da se ~roceduri dostavi mjesto-'u-f!1emo!ij!'raunara gdje se odgo
const p.i '" 3.141.5-92654; varajuca vnJednost cuva. OVaj mehanlzam se naziva prenos-PQ'referencLlli.-prenos po imenu.
begin Posto'U ovom. dr~.go,:, slu~.aju pro0~dur~ "zna~' ~dje se odgovaraju'ca vri~e.dn9st 'nala~j u memoriji,
writeln ('Obim:.,.-,I,"2.:'i; -Pi' ana moze da IzmlJem tu vnjednost, sto nlJ8 slucaJ u prvom naCinu": Nairne,. Uprvom rl.ocinu pmcedu-
writeln ('Po,{!"s'i.na: .. sqr (r)) ~a ~~mo dobija vrijednost, ali "ne zna" gdje se nalazi stvami parametar, pa 9.8. iato ne.mozeni RromiM'
end; Jen~tl< Zbog toga S8. u Pas~a.lu.vnIednosni parametri prenose'po vrijednos:tl,"~'JYromienljivi parametri
var poluprecnil\ " ~o Ime.n~ (referencl). U sustlnl, kod prenosa po vrijednosti, forma~t"!i i'stv8.f!]i.'paramBtar predsta'lllja~
begin .G)avrii pTogram } JU razfl6Jt? .ob{ekte c~k i kada. imaju isto ime, dok u prenosu po:ime~Li"formalnr.i styarni parametar
read+:o"" (I'o.Tuprcnlk) ; pre.dstavl!a!u !ste objekte cak I kada !maju razficito ime. Na _ovu einjeniCii (koja .u.p06!tku moze djelo-
Krug (Po.luprecnik) . vatl zbunJuJuce) treba dobro obratiU paznju, jer je ana jedan od najeescHrfuzfOcnika. greaka u pro-
end. gramima kOje koriste procedure!
346 347
3.10.5 Funkcije bilo kojeg prostog tipa, ordinalnog iii realnog (rezultat funkcije ne mote biti niz iii slog, koji su sloien!
tipovi). Moderneyerzije Pascala dopustaju da funkcija vrati i rezultat tipa string.
Programske jedinice koje nam dozvoljavaju razvoj modularnih programa nazivaju se potpro H

gram/. Jedan tip potprograma sma vee upoznali: to su procedure, U jeziku Pascal postaji i druga Vee sma rekl! da se funkcije koriste iskljuejvo unutar izraza. Poziv funkcije je sam za sebe izraz, i
vrsta potprograma, \<oji se nazivaju funkcije, Funkcije su zapravo potprogrami koji daju kao rezultat maze se koristiti na bile' kojem mjestu gdje je dozvoljeno koristiti izraz onog tipa kojeg vraca funkcija.
neku vrijednost koja se moze koristiti unutar izraza, Pascal poznaje velik] broj predefiniranih S druge strane, poziv funkcije, za raz!iku cd poziva procedure, sam za sebe ny'e iskaz, tako da je
(ugradenih) funkcija, poput sqr, sqrt, round, sin, cos itd. od kojih sma neke vee koristill. Na naredba poput Kub (5) i sama za sebe besmislena u s!ucaju da je Kub funkcija a ne procedura.
primjer, ugradenu funkciju sqrt mazema koristiti u iskazima poput sljedeCih (naravno, uz pret-
~ostavku da su deklarirane odgovarajuce promjenljive): U sljedecem prlmjeru upotrijebljena je funkcija Minimum koja vraca kao rezu!tat najmanji od
njena tri cjelobrojna parametra. Prvo se porede prva dva parametra, i nalazi manji izmedu njih. Zatim
Korijen :'" sqrt (Broj); se nadeni rezultat poredi sa treCim parametrom da bj se odredio konaeni minimum.
Hipotenuza '" sqrt {sqr (1(atetal) + sqr (Kateta2)) i
writeln (sqrt (3) 0 5); program Na1azenjeMinirrnlmEl (input, output);
var A, B, C integer;
Odavde vidimo da funkcija sqrt ima svoju vrijednost (koja je jednaka kvadratnom korijenu njenog
argumenta), dime je omoguceno da se ona maze koristiti unutar izraza. Pokusajma sada da sami function Minimum (A, B, C ; integer) : integer;
napravima potprogram ko]i kio rezultat vraea kub broia koji je zadan kao argument. Sa dosadasnjim var NaJ'manji : integer;
znanjem, sve sta mazema da uradimo ie da napravimo proceduru kOja na ekran ispisuje kub svog begin
argumenta, na primjer na sljedeCi naCin: ifA<Bthan
Najmanji :'" A
procedure Kub (X integer) ; else
Najmanji :'" B;
begin
if C < Najmanj i then
write (X * X * X) N'ajmanji :;= C;
end;
Mininrurn :'" Najmanji
end;
lako ovaj potprogram mozemo upotrijebiti da ispisemo kub nekog broja, pozivirna poput
begin
Kub (3); writeln (' Unesi tri broja');
Kub(2*A+5};
readln (A, B, C);
writeln ('Najm.2mji od ava tri broja je broj " M.i,nimum (A, B, C)}
end.
i sHena, ovakav patprogram mazemo upotrijebiti sarno sam za sebe, a ne i unutar nekog izraza. Razlog
je u tome sto je procedura objekat bez vrijednosti, tj. ona ne vraca nikakvu vrijednost nazad na mjesto
Obratimo paznju da smo, U ovom primjeru, forma!ne parametre funkcije A, B i C Ilazvali isto
poziva koja bi mogla da bude upotrijebljena unutar nekog izraza. Zbog toga SU sljedeee konstrukcije
potpuno besmislene, i kompajler ce prijavlti gresku pri pokusaju da napisemo nesta slicno: kao i globa!ne promjenljive A, B i C, iako se radi 0 razlicitlm objektima (priHkom poziva funkcije
gfobafne promjenljive A, B i c, koje predstavljaju stvarne parametre, kopiraju se u istoimene for-
c :'" Kub (a + b); maine parametre). Kao i kod procedura, stvarni parametri se moraju slaga!i sa formalnim par~.
writeln. (Kub (5)); metrima i po broju i po tipu. Napomenimo da su parametri funkcija pretezno vrijednosni parametri.
write (Kub (a) - Kub (b) * Kub (c 2}); Principijelno je moguce i unutar funkclja korlstiti promjenljive parametre, ali je to zbunjujuce, i nije
dobra programerska praksa. Bitno je naglasiti da u funkcijama treba po svaku cijenu izbjegavati
Da bi ovi izrazl postali korektnl, odnosno da bismo omoguci!i upotrebu potprograma tlnutar upotrebu globalnih promjenljivih, jer one mogu da dovedu do nezeljenih pojava poznatih pod
;zraza, umjesto procedura morama upotrijebiti funkcije. Deklaracija funkcije vrsi sepomoeuklju9ne nazivom bocni efekti (to su situacije kada izraeunavanje nekog izraza dovodl do izmjene sadriaja
rijeei function umjesto procedure, i po formi ie sliena deklaraciji procedure, Qsim Slo. se n~ objekata koji nisu direktno spomenutl unutar izraza).
kraju"deklaracije navodi I tip vrijednostl (rezultata) kOf; funke/fa vraca. -U sljedtl,cerrfprjmJer,u'deklarj.
rana je funkcija -Kub koja vraea kao rezultat cijeli broj: _.~_ ..
3.10.6 Rekurzijll
function Kub (X integer) integer;
begin- Vee smo rekli da jadna procedura ili funkcija moie pozivafi druge procedure iii funkcije.
Kub := X * X * X Medutim, procedure iii funkcije mogu pozivati eak i same sebe. Pojava da neka procedura iii funkci-
end; ja pozlva samu sebe naziva se rekurzija.
. :. . . -
Barem jedna naredba unutar tijela funkcije (tipieno posljednja) mora "b"lti nareClDa 'd~djeijji;anja Rekurzija spada u prilicno mocne, ali i dosta komplikovane programerske tehnike. Rekurziju
kaja funkciji dodjeljuje vrijednost kOja ce bitl vra6ena kao nJen rezultaLFunkcija mo"ze'vratiti-rezultat cemo ilustrirati na jednom sasvlm jednostavnom primjeru. lz matematike ie poznata funkcija faktori~

348 349
jel (faktorijel ad /1 obiljezava se sa n1) koja je definirana kao produkt svih prlrodnih brojeva od 1 do bacimo jedan preostali (najveci) disk sa stapa x na stap Y, i na kraju da nekako prebacimo N - 1
diSkova sa stape, z na stap Y (koristeci stap x kao pomocni). Ovim problem nije rijesen, mada
n uklju(;ivo:
je ovim problem prebacivanja N diskova sveden na dva problema prebacivanja N - 1 diskova.
n! = 123 ... n Dakle, broj diskova je umanjen za 1. Slicnim rezonovanjem problemi prebacivanja N - 1 diskova
svode se na probleme prebacivanja N - 2 diskova; itd. Ocigledno problem! prestaju kada broj
Mectutim, ista funkcija moze se definirati i na drugaciji nacin, prekoformule diskova dostigne nulu, jer tada nemamo sta prebacivatL Ovo rezonovanje dovodi nas do sljedeceg
aJgoritma, koji je rekurzivan jer se poziva na samog sebe:
n,(n-I)! zan,O
n l -:
.- ( 1 zan=O :::::::> Prebacivanje N diskova sa stapa X na .*tap Y koristeCi stap Z kao pumuc,-:ni:
"* AkQ N nyc nula onda:
Ova formula definira funkciju faktorijel preko same sebe, 1predstavlja primjer rekurzivne definicije. ""*' Prebaci N 1 diskova sa stapa X na Jtap Z koristdi Jtap Y kao pOlfwcni;
Pokazimo, na primje(u, kako teee postupak izraeunavanja faktorijela broja 4 pomocu ave formule: ""*' Prebaci jedan disk sa Jtapa X no /;tap Y
:::>- Prehoci N - 1 diskova sa stopa Z na Ktap Y !wristecH stap X kao pomocnL
4! = 4 3! ~ 4, (3 2!) = 4 [3 (2 I!)] = 4 (3 [2 (I . Oil]) =
= 4.{3.[2.(1.1)]) = 4[3(21)] = 4(32) = 46 = 24 Ova] algoritam !ako ie pretoCiti u konkretan Pascal program, koji ispisuje redoslijed poteza neopho-
dan za rjesavanje problema Hanojskih kula:
Prikazanu formulu sasvim je lako prevesti u Pascal, eime dobijamo rekurzivnu verziju Pasca/funkci-
je za racunanje faktarijela: program HanojskeKule (input., output);
var]lf integer;
function faktorijel (N int.eger) integer;
procedure Prebaci (N, X, , Z integer);
begin
if N <> 0 then begin
faktorijel ,'" N * faktorijel (N' 1) if N <> 0 then
else begin
faktorijel := Prebaci (N - 1, X, Z, y);
end; writeln (' P:r.ebaci disk sa stapa " X, na st.ap Y) i
Prebaci (N 1, Z, Y, Xl
Postoje problemi koje je jako tesko rijeMi bez primjene rekurzije. Ova tehnika je naroClto efikasna end
end;
u slucajevima kada se rjesavanje nekog problema moze svesti na rjesavanje problema istog tipa samo
manje velieine. Posto smanjivanje veliCine problema ne maze iei unedogled, jednom cemo naiti na triv- begin
ijalan problem, koji znamo rijesiti. Efikasnost rekurzlvnog pristupa ilustrira6emo na primjeru rjesavanja write {'Koliko ima dlskova? 'l;
Igre pozna!e pod imenom Hanojske kule. Na jednom od tri stapa (reeimo, pIVom) nalazi se niz disko- readln (N);
Prebac.i (N, I, 2, 3)
va razli6lte velicine, poredanih po ve!iCini od najmanjeg ka najvecem, Potrebno je sve diskove prebaGiti
end,
sa plVog na drugi stap, eventualno koristeCi treei stap kao pomocni, ali tako da S8 nit] u jed nom potezu
ne smije veci disk stavlti na manji. Na sljedecoj slici prikazana ie situacija sa tri diska:
Vidimo da je rezultujuci program veoma kratak. To medutim ne znad cia je on jednostavan.
Naprotiv, izuzetno je tesko pratitl tok ovog programa, sto je tipieno za sve rekurzivne programe. Mnogo
1 2 3 je lakse razumjeti kako ovaj program radi u cjelini nego odgonetnuti kojim zapravo redoslijedom racunar
izvrsava instrukcije ovog programa. 8toga, rekurzivno rjesavanie problema leii -negdje na granici pro~

I
I
ceduralnog i neproceduralnog programiranja, jer se rekurzivna rjesenja nekada vise svode na opis prob

I u
Za slucaj tri diska-nije teskp p-rona6i"ispra,!~n.redos!ijed poteza da se diskovi prebace sa stapa
lema iskazan u formi svodenja na jednostavnije probleme, nego na konkretan postupak rjesavanja.
ReGimo jos i da rekurzije predstavljaju osnovnu metodologiju progrqmiranja_u nekim oeproceduralnim
jezidma kao sto su LISP] PROLOG, i nezamjenljive su za programiranje-_metoda_,koje_spadaju ~ domen
vjestaeke inteligencije. Razlog za to leii u einjenici da su definicije mrtogm pojmova', koji se susrecu_ u
realnom iivotu zapravo rekurzivne prirode (na primjer, definicijE! "Vas predak]e._osob,a.~f;Jja je iii vas
roditelj, iii je predak nekog od vasih roditelja." predstavlja tipican primje:reku.r:zjvn~_d~fl~iojje). .
1 na stap 2 postujuCi pravila-igre (najkra6i roo,oslijed poteza.ie' 1-.,.2, 1-3,2-3,1 ....... 2, 3-1, 3,.....2 j
1-2). Medutim, situacija-se znat~o _kompliCira sa porastom broJa diskova. Pokusajmo napisati pro- Bifno je nag!asiti da je uvjet N <> 0 koji se nalazi unutar procedure' PY.ebacl ;d izuzetne
gram za racunar koji bi rjesavao 9V8j pr~bTe'm, Na prY! pogled, ne vidimo nikakav oeigledan algori- vatnosti za rad programa, mada na prvi pog!ed ne djeluje -narocito. bitan. -rvie"dutlm, -ukoliko bismo
tam kako bi se ova] prQblem mogao riiesi!!. Ipak, ako m?llo razmislimo, lako cemo doci do zak!jucka zaboravili ovaj uvjet, racunar bi problem sa 0 diskova pokusao sV!3'sli ria problem sa :1 diskom (tj.
da ne postoji nikakav na6in da prebacimo N-- diskova sa stapa x na stap Y osim da nekako pre- na besmislicu), problem sa -1 diskom na problem sa 2 dfska, i tako unedogled. ~zostavljanje nekog
bacimo N ':.. 1 diskova sa stapa x rfa stap "z (koristeci stap y kao pomocni) zatim da pre od kljucnih uvjeta koji garantiraju da 6e se rekwzija zavrsiti u konaenom vreliJehu (tj. da SEl neee pro-
351
350
tezati unedogled) predstavlja ubjedljivo najeescu gresku koju neiskusni programeri cine prilikom
programiranja rekurzivnih algaritama. Pitanja I zadaci

Na kraju izlaganja 0 rekurzijama reeimo jos i adakle problem -Hanojskih kula potice. Prema jed- 1. Sta su procedure a sta funkcije? U Gemu je glavna razlika izmedu njih?
no] budistickoj legendi, Bog je nakon stvaranja svijeta zadao grupi sve(;enika da rjesavaju upravo 2. Sta su globalne, a sta lokalne promjenljive?
ovaj problem sa 64 zlatna diska, i rekao je da (;e smak sYijeta nastupiti onog trenutka kada zavrse 3. U Cemu ie razlika izmedu formalnih i stvarnih parametara, a u cemu izmedu vrijednosnih i prom-
sa rjesavanjem. Izracunajmo kolfka nam je vreinena ostalo do smaka svijeta po Oyoj legendi. jenljivih parametara?
Matematitkom lndukcijom se laka moze dokazati da broi poteza neophodan za slaganje N disko- 4. Sta je rekufzija, i kakva je korist od nje?
va iznosi 2N - 1, sto za N :;: 64 Iznosi 2M .- 1 = 184467440737095516.15 poteza. Ukollko bi
5. Predlozite rekurzivnu definjciju za pojam "potomak" jz svakodnevnog zivota.
- sve6enicl u svakoj sekundi obavljali po jedan potez, i pri tome ne bi ni jednom pogrijesili, za obav-
Ijanje ovog posla bilo bi im potrebno 584942417355 godina. Dakle, smak svijeta nece nastupiti tako 6. Napisite proceduru koja ispisuje na ekran N praznih linija, gdje js N formalni parametar.
brzo, bar ne sto se tice ove legende ... 7. Napisite proceduru koja razmjenjuje vrijednosti dva cjelobrojna parametra. Uputa: morate koris-
titi promjenljive parametre, i jednu pomocnu loka!nu promjenljivu.
8. Napisite funkciju kOja kao rezultat vraca faktorijel svog formalnog argumenta, bez koristenja
rekurzije.
9. Napisite funkciju koja pretvara brzinu izraienu u kilometrima na sat u brzinu lzrazenu u metrima
u sekundi.
10. Napisite rekurzivnu funkclju koja vraca kao rezultat N-ti Fibonacijev broj, gdje je [\I formalni argu-
ment.

U zadacima 6-10 obavezno napisite i kratak testni program u kojem cete testirati napisanu proce-
dUru iii funkeiju.

352
353
3.11 SAMOSTALNA IZRADA PROGRAMA var Cijf?.1le NizCijena;
Kolicdne NizKolicina;
begin
PostaviCije.ne (Cijene);
3.11.1 Primjer modularnog razvoja programa ObradiNarudzbe (eijene, Kolicine);
Prikazilzvjestaj {Kolicinel
Programiranje predstavlja jednu od naucnih disdplina koje se ute pretezno kroz praktican rad. ~d,

8toga S8 programiranje, bez obzira na stepen usvojenog teorijskog znanja, ne maze savladati bez
samostalne izrade programa. Medutim, sastavljanje iole slozenijih programa cesto predstavlja za Ovdje smo za svaki od koraka algoritma predvidjeli posebnu proceduru. Procedura
pocetnika nepremostivu prepreku, jer se nerijetko javlja pitanje adakle uopce pacetL U ovom odjeljku PostaviCijene trebala bi da inicijalizira cljene u nizu Cijene- kaji je prenesen kaa parametar.
dacoma osnovne smjernice kako bi trebalo pristupiti razvoju slozenijih programa karistedi Procedura ObradiNarudzbe trebala bi da vrsi obradu svih narudtbi na osnavu djena koje su pre-
metodologiju modularnog dizajniranja. lzlaganje cemo zapoeeti primjerom konkretnog problema iz nesene kao prvi parametar, ] da smjesti u drugi parametar infarmaciju 0 narucenim koliCinama.
prakse za koji se trail racunarski program: Procedura Prikaz.iIzvjestaj trebala bi da prikaze izvjestaj na osnovu informacija koje su
",/":,,,:" , ",":, ," ,',
proslijedene kroz njen parametar. Naravno, ovako prikazan program jos uvijek ne moze da radi, jer
Neka kompallija pradaje I'ife razliCitih vrsta hrane za zivotinje~ Poljopri~'rednici mogu tele- procedure PostaviCijene, ObradiNarudzbe i PrikaziIzvjestaj nisu ugradene u jezik
fonom izvrsiti narudibu i podiCi je sljedeCi dall:, Kompanija trenutno ima 5 proizl'oda no Pascal. Nas sljedeCi zadatak je da napisemo ove procedure.
lageru, a cijene su sljedece:
Procedura PostaviCijene je sasvim trivijalna, i za nju nema potrebe raspisivati nikakav
rl~s-~-m-p-r-o'-Z-VO-d-a~----"-------'~---r2-----3~-+i.-4 "'1. 5 . j ~pecific~nalgoritam (obratite paznju da njen formalni parametar mora da bude pramjenljivi a ne vri-
1- Co;;,'f~e-""..!a:Cp"'ro::iC:zv"ocd'a~(u-..K~"M~p-o-cto-n-i)c--+~/5~1I""'1-200 400 I 325_' 'I ,250- ~ Jednosnl parametar):
1
procedure postaviCijene (vax C.ijene NizCijena);
Kompalliji je potrehan program za raeutlar koji ce operaieru omoglldti dd iinese J10datke 0 .
begin

-;
sl'akoj nar/alibi: sifru svakog proizvodq, kojeg poljoprivrednik zeli kupili, i braj na1'llf.:enih
tOfla. Program treba na osnovu toga izracunati llkuPIIU cijcnu narudibe, tako da se ta iIlJ~r Cijene [1] 150; Cijene [2] :'" 200; Cijene [3] := 400;
Cijene 141 :'" 325; C.ijene [5] :'" 250
l1lacija moze odmah dati kupcu. No kraju dana; kada l'iSe nemanaril~Zbi"prr!gnlm..tref.Ja do
prikaie sllmami izvjei'ilaj
-"
k/~ii prlkazuJ(
"-'"
ukupan broj nll,rtlcclIih
' -:
t(Jiw zQ,sJ'(I.kiJ.'..r{h.'Zv.o. d....,
'-,:',
"--' .-',,,

" Procedura ObradiNarudzbe je znatno slozenija i predstavlja srZ cijelog programa. Razmislimo
Prlkazacemo kaka bi trebao izgledati sistematican razvoj programa koji rjesava ovaj problem. ~ta ova profedura treba da uradi. Prije prve narudzbe, sve narucene kolicine sigurno treba da budu
Na prvom mjestu, treba osmisliti kako bi program trebaa da izgleda i kako bi trebao da komunicira Jednake nul!. Proc~d~ra zatim ~re.ba da p~ihvata je~nu po jednu narudzbu, sve dok karisnik (aperater)
sa korisnikom, Radi jednostavnosti, odlucimo se za varijantu programa koji ce nakon svake ne kate da ne teli vise narudzbl. Da pOjednostavlmo unos komande, pretpostavimo da unos slova
narudtbe postavljati pitanje DNNE tipa da Ii operator tell unijeti novu narudtbu. Aka je odgovor DA, 'N' iii 'n' predstavlja odgovor NE, dok svaki drug] znak predstavlja odgovor DA. Uz ovakve pret-
program ce cekati unos sljedece narudzbe, a ako je odgovor NE, on ce prikazati sumami izvjestaj. postavke, algoritam ko]i obavlja proeedura ObradiNarudzbe maze se prikazatl ovaka:
Pri unosu narudzbe, program ee neprekidno traiiti uhos sifre narucenog proizvoda i narueenu
kalieinu (u tanama). Posto ne postoji proizvod eija je sifra 0, to se unos sifre 0 moze koristiti kao sig~ "'* Poslav! ukupne koliCine na nulu;
nal da je narudiba gotova. Na osnovu predlozenog apisa slijedi gruba skiea algoritma programa:
""'* Ponavljaj sljedeec akcije:
"'* Postavi spisak cijena na zadane vrijednosti; "'* Obradi jednu narlldt.hll;
=> Cekaj na unos korisnikove lwmWldc
""'*' Obradi narudibe; "'* Ponavljaj .I've dok ne bude korisnikova komanda 'iV' iIi 'n'.
""'* Prikaii iZlljeStaj.
~reyedena u sintaksu je.zika Pascal, ova praeedura magla bi se napisati ovako:
Dalje je potrebno osmislili strukture podataka ka]i ee se koristiti u programu. OCig!edna ce nam
trebati niz koji ce Guvati cijene za nqvedenih pet prolzvoda. Pored njega, biee nam potreban jos procedure ObradiNarudzbe (Cijene : NizC.ijena; var Koli_cine Nizl{ohcina);
jedan niz za Guvanje ukuprie narucene kolicine za svaki od proizvada, taka da na kraju mazem'o
var Komanda : char;
prikazati sumarni izvjestaj.
begin
Na osnovu provedenih razmatranja, mazemo napisati kako bi mogao da izgleda kostur naseg 'f!ostaviKol.ic.ineNaMl.1u (Kolicine);
programa: r!3peat
Ohrad.icTednuNarudzbu (C.ijene, Ko.licine);
program Narudzbe (input, output); write ('Da li zelite JOB narud2bi (DiN)? ');
const BrojProizvvda ~ S; readln (Komanda)
until Komanda in ['0', 'N'j;
type NizCijena '" array [1 BrojProizvoda] of real;
BrojProizvoda] of real; end;
NizKolicina '" array [1
355
354
Drugi tormalni parametar ove procedure treba da bude vracen izvan procedure, stoga je on deklari- repeat
ran kao promjenljivi parametar. write ('unesi sihu proizvocla (0 za kraj): '); readln (S.ifra);
if' Sifra <> 0 then
Unutar procedure ObradiNarudzbe pozvali smo se na procedure PostaviKOlicineNaNulu begin
i ObradiJednuNarudzbu koje realiziraju slozenije korake algoritma ove procedure, mada one jos write ('Unesi fteljenu kolicinu: '); readln (Kohcina);
Kolicine [Sifra] :'" Kolic.ine [Sifra] + Ko1.icina;
nisu napisane, Ovo je tipicna ilustracija metodologije programiranja "odozgo na dolje". Naravno, da bi
Cijena := KoJ.icina * C.ijene [SifraJ;
program bio funkciona!an, ove procedure se moraju napisati, '510 je nas sljedeci korak. Procedura
writeln ('Ta .stavka ce kostati I , Cijena 0 : 2, KM'l;
PostaviKolicineNaNulu fe sasvim jednostavna, j moze se opisati sljedecim algoritmom: Ukupno Ukupno + C.ijena
end;
"* Za sve proizvodc od prvog do pelog, radi sUedece stvari: until SUra '" 0;
"* Post(/\!i 1l1mpnu koliCinu za taj proizvod na nulu. writeln ('lJkupna cijena narud~be i.znosi. "
end;
Ukupno o : 2, ' KM')

Kako se postavljanje ukupne ko!icine za jedan proizvod na nulu moze obaviti jednim Pascal iska-
zom, ova procedura ne trazl dalju razradu, i mogu6e ju je direktno prevesti u Pascal: Ostaje jos da razvijemo proceduru PrikaziIzvj estaj, jedinu koju jos nismo razradili.
Sre60m, ova procedura je takoder jednostavna i moze S8 prikazati sljedeCim algoritmom:
procedure PostaviKolicineNaNulu (var KoJicine : NizKolicina);
~ [spiii zaglavlje izvjdtaja;
var pr-oizvod integer; ~ Za sve proizvode od prvog do petog, radi sljedece stvarL'
begin "* lspi,5i ukupnu koliCinu n{frui'enu za tal jJroizvod.
for Proizvod : = ), to BrojProizvoda do
KoJ.icine lPro,izvod] :'" Oi I ova procedura je neposredno prevodiva u Pascal:
end;
procedure pri,k'aziIzvjestaj (Koli,cjne NizKoJ..icina) ;
Procedura ObradiJ'ednuNarudzbu sastoji se od nesto veceg broja koraka, koji se mogu
var Proizvod integer;
opisati s!jedecim algoritmom:
begin
* Postal'i ukupnu cijenu norl.ldzbe na nulu; writeln;
"* PorwvTjaj sljedde akcije: wri teln (' Proizvod
write1n ('----- __ _
Pl'odata kolicina (tona}');
"* UCitaj .qru proizvoda; -------------------
--- );
for Proizvod 1 to BrojPr-oizvoda do
=> Ako je ,~ijl'a
proiZl'Oda razlicita od nule, (lnda: writeln (Proizvod 8, Kolicine [.t'roizvod] 28 3)
"* UCita) zahtijevanu kolii"inu.; end;
"* Dodo} zahtlJcvanu kolicinu no ukllpnu lwlif/:nu za tal proizvrd,'
"* Izracunaj cUenu stavke kao proizvod koliCine i cijene po toni; Preostalo je jos jedino da uklopimo napisane procedure u jednu cje!inu, 5tO je sasvim jednosta~
"* l.l'pW cijenu stavke; van zadatak. Nakon toga, dobijamo konacnu verziju programa:
"* Dodaj izraclIllotu cijenu no ukupnu eijelllf ilOrudthe;
=> PonavUaj sve dok ne bude ullesena 111/1a umjesto Jifre; program Na_l:l1dzbe (input, output);
~ IspUN ukupnu cijen!! !larudmc. canst Bro.iPro_izvoda 5;

type N.izCijena '" array [1 B.rojl'ro.i,zvoda] of real;


Mada je- ovaj algoritam nesto duzi nego do sada raspisani algoritmi, svi njegovi koraci direktno se NizKolicina array- [1 BrojProizvoda] of reaL
mogu iskazati kao iskazi jezika Pascal, tako da ovaj algoritam ne trazi dalju razradu i moze se direk-
var Cijene NizCijell~';
:tnq prevesWu Pascal bez potrebe za uvodenjem dodatnih procedura. Odavde neposredno slijedi pri~
Kolicine N.i.zKoli~i1Ja;
,feyod'ovog algoritma u jezik Pascal, ko]! realizira proceduru Ob!'adiJednuNa~udzbu:
prpcedure (var Cj.:i('4je : NizCijena);
.. lirocedu:r:e Obrc:dicTecllJuNarudzbu (Cijene NizCijena; begin
var __ Kolicine NizKo},i_cina); CiJ'eIle UJ [2) 20q,,. J-'ijene [3J 4-00;
.--- '.
vai' Sifra:: inte9'er; Cijene [4f [51 := 250
end;
Ko)ic~l:na', C.ijena, UkupJJO real,'
procedure Ol;irai;;J1Nai-iJdZbe '(Cijene- : -NizC.ijena,'
begin
var -KOl.J0:_1n.e' ,N;i..zKol~cJfia);
Ukupno ,_ 0;
var Komanc'la - chq":c;

.356
357
procedure postav,iKo.licineNaNulu (var Kolicine : NizKoJicina) ,i 3.11.2 Poredenje modularnih i nemodularnih rjesenja
var Proizvod integer i
Program koji smo upravo razvili dizajniran je metodologijom modularnog programiranja. Medutim,
begin bitno je naglasiti da modularno rjesenje nije i najkrace rjesenje. Poredenja radi, ovdje je dat i prim~
for p.ro_izvod : '" 1 to BrojProizvoda do
jer Istog programa, napisanog nemodularno:
Kolicine [Pro,izvod] :'" 0;
end;
program Narudzbe (input, output);
procedure ObradiJednuNarudzbu (Cijene NizCijena;
canst BrojProizvoda '" 5;
var Ko1i.cine : NizKoLie.iIla);
var Cijene, Ko.2icine array [1 BrojProi.zvoda] of real;
var si..fra : integer;
Proizvod, Sifra ,integer;
KoJ.ici.na, Cijena, Ukupno : real;
Kolicina, C.ijena, Ukupno real;
begin Komanda char;
Ukupno : = 0; begin
repeat C.ijene [.1] :'" 150; Ci.jene i2l := 200; Cijene [3J : 400;
write ('Unesi sirru proizvoda (0 za kraj): '); readln (Sifra);
C.ijene [4J ._ 325; Cijene [5] := 250i
if Sifra <> 0 then for Proizvod := 1 to BrojProiz'I1oda do Ko1.icine r,P,ro.lzvodJ ~oo. 0;
begin repeat
\~rite ('Unesi zeljenu kolicinu: '); readln (Kolicina);
Ukupno: 0;
Kolic.ine {S.ifra] :,,; Kolicine [S.ifra] + [(ohcina; repeat
Cijena ;:0 Kolicina * C.ijene [S.iiraj i write ('Unesi sifru proizvoda (0 za kraj): '); readln (S.ifl'a);
writeln ("1'a stavka ce kostati " c.ijena o : 2, ' KM'); if Sifra <> 0 then
ukupno :'" Ukupno + C.ijena begin
end; write ('unesi zeljenu kolicinu: ,); readln (KoJ..icina);
until S.iira = 0; Ko.I.ic.ine [gifraJ := Ko1.icine [S.i ira j -+ .i<o1.ic,ina;
wrj toln ('Ukupna cij ena narudzbe iznosi ukupno 2, ' KM') C.ijena := Kol.icina * Cijene [SifTa];
ener; writ.eln ("ra stavka ce kostati " Cijena : 0 2 'KM');
Ukupno : = Ukupno -+ Cijena
begin end;
postav.iKolicincNaNulu (Ko,lic.ine); until Sifra '" 0;
repeat writeln ('Ukupna cijena narudzbe iznosi [lkupno o 2, KM' )
Obn,d.iJednu.Narudzbu (Cijene, Ko.lie,inc); write ('Oa li ielite jos narudzbi (DIN)'? '); readln (Komanda)
write ('Da li zelite jail narudtbi (DIN)? '); readln (Komanda) until Komanda in l 'n', 'N'];
until Komallda in ['nt, 'N']; writeln;
end; writeln (' Proizvod Prodata koliCina (tona)');
procedure p.r.ikaz,ilzvje5taj (KoLie.tne : NizKol idna); writeln (' -----------------------'1,
for Proizvod :"' 1. to Hrojp.roizvoda do
var Proizvod int.eger; writeln (Pro.lzvod : 8, Kolicine [Proizvod] : 28 : 3)
end.
begin
"IIlriteln;
writeln, (' Proizvod Prodata koliCina (tona)'); Mada je priki3zani program krad, on je znatno teii za razumijevanje, i znatno tezi za izmjene, jer ne
writeln (' -------- ----------,,- .,,"--------, 1 , _prati prirodan tok misli.
for Proizvod : '" 1 to BrojPro.izvoda do
writeln (Proizvod 8, Ko]. i cine I Proi zvodl 28 ; 3) Bitno je naglasiti da su modularnost i kratkoca medusobno suprotstavljeni zahtjevi. Nekada,
end; k~da' su djene memorija bile presudan faktor prj razvoju programa, duzina programa je bila od
begin _izuzetne- VaznostL U danasnje vrijeme presudan faktor je zapravo cijena jednog radnog sata pro-
Postav,iCijene (Cije11e); . gramera, tako da je potrebno smanjiti vrijeme utroseno za razvoj, izradu j odrzavanje programa, cak
ObradiNarudzbe (Cijene, Kolidne); . "[- po djenu da on postane dut) i manie efikasan. Cilj modularnog dizajna je upravo olaksavanje
prj.iwzilzvjestaj (Kolicine) .razvoja, izrade, razumijevanja i odrtavanja programa. Pri tome se ponesto gubi na duzini i efikas-
end. .. :nosti.samih.programa, medutim stete koje time nastaju su daleko manje od ostvarene koristi.

Ovim je razvoj programa zavrsen. Preostaje JOS da ga testlramo i dokumentiramo, a cemu cerna
govoriti u narednom poglavlju.

358 359
Pilanja i zadaci
3.12 DOKUMENTIRANJE I TESTIRANJE PROGRAMA

1. Napisite program koji omogucava korisniku da obav!ja n(iZ ope) raelial na, b~enknOovvncOamnar~;~~~. 3.12.1 Dokumentiranje programa
Korisnik treba da ukuca jedna SIOVD, na primjer slovD 'u' unes ~a s avlJa~J ...
slovD 'P' (podizanje) za uzimanje novea sa racuna, iii slovD 'K', (kr,ap za pr,ekld,rada: Aka ,se trazi Veoma vaino je shvatiti da nijedan program nije sam sebi svrha, taka da nije dovolino samo ura-
stavljanje iii uzlmanje novea sa racuna, program uCltava zeIJ~~1 lZ,nos, ,I zatlm pnkaz~Je. nD~o dlti Imrektan program. Programi se pisu radi korisnikakoji ce koristiti program. Zbog toga, program,
stanje na racunu. Nakon izvrsene jedne operacije unos~ III uZlmanja, n?vca, konsmku, J~ kao i svaka roba, mora podUjegati izvjesnim standardima kvaliteta, te mora bit] prapisna testiran i
omogu6en izbor nove operacije, s tim da se program zavrsav~ ~ada ~O.rlSnl~ ukuc~ sloVD, K. dokumentiran. Tako, u svim velikim sistemima, prakticno ne postoji konacan program, nego se on u
Pocetno stanje na racunu je .nula. Komande se mogu za~av.atl ?liO vel.1klm bile m~hm slovlma. fazi eksploatacije neprestano dotjeruje, pre6iscava od uocenih gresaka, i prllagodava realnim zahtje-
U slueaju da korlsnik unesa nepostojecu komandu, treba Isplsat! poruku upozorenja vima korisnika. Ooradivanje i dopuna programa mogut1 su sarno ukoliko je prije toga program kvalitet-
no dokumentiran. U suprotnam, nakon veoma kratkog vremena, ni sam autor programa neee biti u
2. Napisati program koji treba da ponudi korisniku 3.opcije.: r!eksavanje linearpn~J.Jedp~~gt~:~
potpunasti siguran kaka njegavi pojedini dijelovi rade, naraCito ukoliko je program veoma slozen.
rjesavanje kvadratne jednacine i kraj pragrama. Ukohko .~on~1l! . u~es.e prvu o. ' _
treba da pita za vrljednosti koeficijenata a I b i da izra(;un~ Ilsplsa.~JesenJ~ jedn.a~me a x + b -:- 0:
Ukoliko korisnik unese drugu opciju, program treba da pita za v.nJedno.stl .koehcljenata, a, b I !.? Pisanje dakumentacije pocinje vee u fazi pripreme programa, i proteze se kroz sve faze razvo-
da izracuna i ispise rjesenja jednaCine a x~ + b x + C :::: O. U~ohko konsnlk unes: t:ec~ OPCIJU, js programa. Kao $to smo vidjeU u poglavlju 3.2, na pocetku je neophodno pazljivo sagledatl pro-
program treba da zavrsi sa radom. Ukallko korisnik unese bllo sta dr~go, tr~.ba Isp~sa~1 poruku gram koji se rjesava, i rasclaniti ga na potprobleme kaji S6 mogu nezavisna rjesavatL Nakon toga,
da je unos pogresan. Nakon sto se obavi proracun pomocu prv~ d~lle opclje, ~ons.ntku treba za svaki potprablem potrebno je sklcirati algoritam. Pasebnu paznju treba posvetiti specijalnim
panovo ponuditi izbor, pri cemu se postupak ponavlja sve dok kon~ll!k ~e }atrazi. k~aJ. pro~ra~ slucajevima. Na primjer, u poglavlju 32 imali smo cinjenlcu de se, na asnovu ustaljene prakse u
treba realizirati iskljucivo koristenjem modularnog pristupa ..D~ug.lm fljeClma, Cjellne za !Sp:~ abrazovnim sistemima, prosjek ucenika koj! lma makar jednu slabu ocjenu ra6una kao 1, bez obzi-
menija rjesavanje linearne i kvadratne jednacine treba reahZlratl kao posebne procedure 111 ra na ostale aejene. Veoma je vazno da predvidimo i ovakve s!ucajeve. Vidimo da je i za relativno
funkCij~ kaje 6e se pazivati iz glavnag programa. Funkcija za ispis menij~ .treba da kaa rezultat jednastavan problem potrebno razmotriti eitav splet okalnosti, i predvidjeti reakcije na svaku mogucu
vrati br~j koji odgovara rednom braju opcije koju je korisnik izabraa (1, 2 Ih 3). situaciju. Tek kada razradimo sve situacije kOje mogu nastupiti, mozema pristupiti razvoju kom-
pietnag algoritma. Konaeni algoritam treba da bude iskazan u takvoj formi da se njegovi iskazi mogu
Realizirati program za rjesavanje kvadratne jednaCine na mo.d~la~an natin, taka sto 6e se cj~- manje iii vise direktno prevesti u iskaze programskog jezika koji 6emo koristiti. Ovako napisan algo-
3. line za unos podataka, nalazenje rjesenja i ispis rezultata reallzlratt kao za.~ebne pr?cedure kOje ritam, koji smo nazvali apstraktni program iii pseudo kod, predstavlja obavezan sastavni dio doku-
6e se pozivati IZ glavnog pragrama. Pri tome, napisane procedure. ne smlJu da konste globaln,e mentacije svakag ozbiljnije'g programa. U dokumentaciju bi takoder trebalo uklju6iti sve skice,
promjenljive. Umjesto njih, svo kamuniciranje izmedu procedura I glavnog programa treba aa crteze, dijagrame i verbalne opise koje smo koristili prilikom razrade algorltma.
bude ostvareno putem prenosa parametara.
Kreiranje dokumentacije se nastavlja i prilikom prevodenja apstraktnog programa u kmikretan
4. Pokusajte apstraktni program razvijen u paglavlju 3.2 prevesti u konkretan program u program- programski jezik. Nairne, dobra napisan pragram u konkretnom jeziku moze sam seb! biti doku-
skom jeziku Pascal. mentacija. To se posUze na ptvom mjestu ubaclvanjem kamentara u programe. Korist od kamentara
je visestruka, jer ce se u slucaju potrebe program moci mnogo lakse prepravljati ukoliko su u pro-
gramu prisutni komentari koji opisuju sta rade pojedini dije!ovi programa. Ne smijemo zaboraviti da
eak i autori programa nakon izvjesnog vremena zaborave na koji nacin rade pojedini njegovi dijelovi.
Naravno, sa komentarima ne treba pretjerivati, ali bi se u dobrom programu morali nalaziti barem
komentari koji" opisuju kakva je svrha upotrijebljenih promjenljivih, i kakvu ulogu obavljaju pajedini
potpragrami (procedure j funkcije). Na Cltljivost programa takader utjecu i duzine upotrijebljenih pot-
programa. U dobro napisanom programu, niti jedan potprogram niti glavni program ne bi smjeli da
budu duzi od 20-30 redova, jer je dugacke potprograme jako tesko pratiti. Uko!iko je potprogram
predugaeak, to je dobar znak da ga trebamo.podijeliti na vise manjih potprograma koji abavljaju jed-
nastavnije zadat~e. Ja1<.C?der,-njtl jeden dobro napisan potprogram ne bi trebao da obavlja vise
razlititih funKcija, vee _sarno jedDu, - .

Za potrebe kaSnij~.g-Ddrt~v.anla~ prog~~ma, izuzetna 'je-vazno da svi identifikatori u programu


imaju smislena imena,"'koja'-Odrazayaju niJhovu stvarnu namjenu u programu. Zamislite kako bi
izgledao program iz pog!aYljp,.3,i:Lda-:sm'o umjestQ imena promjenljivlh Cijene, KoJ.icine,
Sifra itd. koristili imena_ X, .r; '.z itd. ada smo procedure nazvali Pi, P2 itd. Dobra odabrana
imena promjenljivih znC!inodapf(nose. titljiVosti programa, dok losa imena magu uciniti nerazumljivim
i najbolje napisan program .. Zamisunio, na primjer, da je u programu za racunanje obima i povrsine
kruga neko proinjen~ivu koja .&~va vrijednos~ poluprecnika nazvao Povrsina, a promjenljivu koja
361
360
cuva vrijednost obima nazvao poluprecnik. Tada bi se u tak~om pro,gra~u sigurno ~orala p?ja~ liko je to ikako mogu6e, obaviti i trecu fazu testlranja, poznatu pod nazivom testiranje po principu
bije/e kutije (Hi glabalno testiranje). U ovoj fazi pretpostavljamo da nam je funkcionalnost progra"
viti naredba poput Pol uprecnik ::;;: 2 * pi * Povra:ma, kOja bl, bez sumnje, zbuntla !
ma poznata u potpunosti, i eilj nem je da odaberemo takve ulazne vrijednosti koje nam garantiraju
iskusnog programera, jer se ne uklapa u logi~u ,koj~ nan: je poznata iz el~mentarne rnat~m,atike, 8
da (:e se svaki, pa i naj8itniji ogranak algoritma izvrsiti barem jedanput. Tek nakon provodenja jove
druge strane, raeunaru ovakva ~aredba ne bl. n~ naJmanje s~etal~. Ovo Je ekstreman pnmJer kako
faze testiranja, program j9 spreman za upotrebu. Nazalost, trecu fazu testiranja je, osirn u rijetkim
lose izabrana imena promjenljivitl mogu da utJecu na razumlJevanJe programa.
slucajevima, gotovo nemogu6e u potpunosti prove_sii, narocito u slucaju ako je program veoma korn-
pleksan i razgranat, iii u slucajevima kada nam nije poznato kaka funkcionira djeli program (sto
Nakon Mo je program uspjesno preveden iz apstraktne u konkretnu formu, i nakon njegovog
moze biti slutaj ukoliko je program razvijaa tim sastavljen od velikog broja Ijudi). 8toga, nikada ne
prevodenja na raeunaru uz pamoc ko~pajlera, dokumenti,ra~je programa Se dalje nastavlja kroz
postaji garaneija da je program u'potpunosti ociscen ad gresaka. 6ak i cuvene programerske firme
fazu testiranfa programa, 0 cemu govonmo u narednom odjelJku, cesto izbaeuju na trziste programe sa mnostvom gres,aka (bagova) koji se otkriju tek u fazi eksploa~
taeije programa. Pesimisti bi rekU da se najozbiljnije greske uoce tek kada 'se gotov program vee
3.12.2 Testiranje programa pojavi na trzistu, Naveseemo jedan veoma poznat primjer [z racunarske historije. Jedna ad letjelic8
iz Apolo serije, prilikom lansiranja, umjesto na Mjesecu zavrsila jeu Tihom okeanu (sreeam, bez
Posao programera ni u kom slucaju nije zavrsen onog trenutka kada se kompletan program Ijudskih zrtava). Letjetieom je upravljao program pisan u jeziku FORTRAN, dug ako 200000 Bnija
napise i prevede. Nakan te faze, ?ola.zi faz~. testiranja !,rogram,~' ,koja je ,~ozd~ ,j jos teza nego koda. Na jednom mjestu u programu, programer je napisao naredbu
sama faza izrade programa (kodlranja). Gil) ove faze Je pronael I otklonltl greske u programu.
S'mtaksne i gramaflcke greske (po put pogresne deklaracije promjenljivih, itd.) ne predslavljaju oso, DO 10 I "" 1. '3
bit problem, s obzirom da 6e njih detektirati prevodilac, taka da 6e.one biti otklonjene vee u fazi kodl"
ranja. Sustlnski problem zaprava. p~~dst~vljaju semanti6ke gresk~, k~o i g.r~ske. prjne~pijelne prirode Umjesto toga, naredba js trebala da glasl:
u samom algoritmu koji sma konstlli za Izradu programa. Otklanjanje sustlnsklh gresaka u progra~
mu moze da oduzme i preko 50% ukupnog vremena predvidenog za razvoj programa. . 001010::1,3

Kako je testiranje programa slozen i mukotrpan posao, on se obieno odvija u tri faze. U prv~j Dakle, razJika je u jed nom jedinom znaku (zarez umjesto tacke), Problem je u tome sto je i neis-
fazi, koja se naziva rucno testiranje (iii te~tiranje na stolu): al~orita~ (apstr~ktni pro~ram) ~e testl~ pravna naredba bila sintaksno ispravna u jeziku FORTRAN, tako da kompajler nije mogao da prijavi
ra rueno, sa papirom i olovkom. To znaci da se za predlozenl algontam rueno zadaJu nekl. ulaznl gres!<u. Program je testiran mjesecima, medutim greska nije uocena, jer u fazi testiranja kobna
podaci (obi6no male velicine), i izvrsi provjera dva, Ii predl,ozeni algorit,am daj~, oeeki~a~e 1~lazne naredba nije bHa nikada izvrsena. Greska je otkrivena tek naknadno, kada je formirana komisija za
rezultate. Ova faza moze otkrlti mnoge greske sustlnske pnrode u algontmu, all je nepnmjen!jlva za utvrdivanje uzroka havarijeJ
testiranje kako 58 algoritam ponasa sa veeom kolicinom ulaznih podataka.
Cilj testiranja nije samo utvrditi kako se program ponasa prj unosu ispravnih ulaznih podataka, vee
Druga faza testiranja naziva se testiranje po princ~?u erne kutl!e (iii testir~.nje na osno~~ pO~m i sta se desava kada su u!azni podaci neispravni. Naime, moze, se desiti da program radi korektno dok
natih uJaza; izlaza). U teori]i sistema S9 pod crnom kutlJom smatra slstem za kO]1 se zna funkclJa kOJu su ulazni podaci korekni, ali da se ponasa potpuno haoticno ukoliko mu se ponude pogresni podaci.
obavlja, all ne i, naGin na koji sistem obavlja tu funkciju (mnoge uredaje kOje koristimo u svak~" Pri duzem radu sa bilo kakvim ozbiljnijim programom, prije iii kasnije ee dod do zadavanja pogre,snih
dnevnom zivotu, npr. televizor, veGina korisnika posmatra upravo kao erne kutije). U ovoj fazi, testlH podataka, najcesce ustjed nenamjeme greske operatera, Dobro napisan program ne bi smlo da "potu"
ranje izvodimo na programu koji je vee napi~an i preved~,n, tako ?a je sprema~ za, izvrsenj.e n~ dl" u takvim situacijama, vee da obavijesti korisnika a tome da podaei nisu ispravni. Na primjer, pro-
racunaru. Pri tome pretpostavljamo da nam nlje poznat nacm na kO)1 program radl, vee samo sta bl gram iz poglavtja 3,11 radi posve korektno sve dok su unesenl podacJ koreictni, medutim on ne posje
on trebao da radi, Stogaje neophodno pripremltl skup pazljivo odabranih ulaznih vrijednosti koje treba duje apsotutno nikakvu zastitu ad pogresnih ulaznih podatakal Tako je, na prlmjer, moguce unijeti ne-
unijeti u program, i provjerlti da Ii su rezultati. lzvrsenja u skladu sa oeekivanjima. Pri tome je naroCito gativnu koli6inu, iii unijeti sifru proizvoda koja nije u opsegu od 1 do 5, sto se u realnosti lako moze
vazno obratiti paznju na testiranje granienih vrijednosti ulaznih podataka, jer mnogi programi "pada- dogoditi usljed omaske operatera. Ukoliko u navedenom programu unesemo recimo sifru 10, program
ju" upravo na nekom od ~ranici1ih slueaj~va. Recin:o, neki pr.ogram koji obraduje datote~u u6e~ik~ ce pokusati da pristupi nepostojecem desetom elementu niza. Zavisno od upotrijebljenog kompajlera,
moze da pravi problema. ukoliko je qatoteka ucenlka na poeetku prazna (sto predstav!Ja granlcnl ovakav nedozvoljen pristup moze da uzrokuje prekid rada programa uz prijavu greske (eime gubimo
sluca]), mada radi sC):svim k9rektno.'ukoliko. mp se ponudi datoteka kOja vee sadrzi unesene po~atk~. sve unesene podatke), a nije isk!juceno 6ak i da dode do kraha, cita\log 'sistema (ukoliko ra6unar
Smatra se da ako 3Q%.svih .greSaka. ,u. 'pmgramima nastaje upravo zbog neadekvatnog tretlranja pokusa da podatke smjesti u neki die. memorije koji mu ne: 'bi' $f!1io d~ qude qostupan). Uglavnom, U
granicnih slueajeva. f':lB primjer, Ri~po$tayimo ,da Sm? ~apl~ali program k?ji :ra~i da.se u~osj njz b.ro" svakom sll/caju, posljedice su nepredvidive. -6ak 'postoli j'prilicriO vjerovatna mogucnost'da se U
jeva sa tastature, pri c?mu nula-oznacavl!\. !<raj unosa, I kOjl oakon toga IsplsuJe antmetlcku sredmu poeetnom trenutku, odmah nakon unosa pogresnih podafaka,,~b.e oosi . nita posebno, a da se
unesenih brojeva (ne rgGunaj~Ci ('lulu koja::sanio sluzi kao grani6nik). Ukoliko pokusate da napiset~ posljedice pojave tek nakon duzeg rada (ponekad i nakor\nekollko Si;l.tQl Kate se da.ovakav, program
ovaj program, on.ce vjerovatno:-rctditr.:kore~no,osim u jednom speclficnom slueaju - kada je prY! nile stabifan na unos pogresnih podataka, ProfesionaJilo riapi~ao-'program nikada se ne bi smio
uneseni broj upravo nula (prograQ'Fs:.e vjerov'atno tada pokusati da podije!i sumu unesenih brojeva s~ ovako ponasatL Sto je najgore, greske koje nastaju usljed pOgres['~~i. (lnesenih podataka, obicno se
brojem unesenih ..broiera".od.nos~c: nu!u sa lJylom, sto dovodi do ~~eske). ~,riz.najte ~ami sebi da Ii bl otkriju tek u fazi eksploatacije programa. Najveci ~io v~em~!1a'~d~ razvoja ozbiljnih programa utrosi se
se sjeWi da ovaj granlcni slucartreba da- razmatrate possbno. NaJvjerovatnlJe ]e da Je odgovor ne ... upravo na zatitu programa od pogresnih ulaznih podala.kal, Naza!9st, pra~sa'je pokazala da u iole
. -- . veeim programima, koliko god se trudili da zastiti.te program od unosa pogresnih ulaznih podataka,
U drUg~j",faZi testiranja mogu -se d?tektir~ti greske koje su posljedica pogresno upotrijebljenih nekome ipak nehotiee "pode za rukohl" da unese pogresne poda.tke tr program.:.
elemenata programa. Medutim~ mnqge gres.ke nije moguce otkrili u ovoj fazL 8toga je poteljno, uko"
363
362
Jasno je da ie gresKe koje se otkriju u fazi eksploatacije programa mog~6e otklonit] tek u nare?: Pitanja i zadaci
noj verzljl programa. Medutim, 8vaka sljedeca verzlja nekog pr?grama ?b\6n~ sa so~om dono~\ I
nove greske. Ovaj proces se ponavlja unedogled. Zbog toga se cesto moze 6utl duhovlta.. doskot!C~ 1, Zbog 6ega je izuzetno vazno dokumentirati program?
koja kate da osnovni aksiom racunarske egzistencije gla~i lOU .~vakom prog:am~ UVI!~k postO}1 2. Napravite kompletnu dokumentaciju za program razvijen u poglavlju 3.11.
barem jedan bag." (po analogiji sa osnovnim aksiomom egzlstenclJe u matematiCkoJ teonll skupova
3. Opisite faze testiranja programa.
koji 91a8i "Postoji barem jedan skup.").
4. Razmotrite kako bi izg!edao postupak testiranja programa iz poglavlja 3.11 po principu erne, i
Na kraju je neophodno napomenuti da k6mpletan izvjestaj 0 obavlje.no~ testir~njU,.~oj~ u~lju6u!e po princlpu bijele kutije.
opis strategije testiranja, popis u\aznih podataka koji su koristeni za testlranje kao I dobljenlh Izlaznlh 5. Modificirajte program iz poglavija 3.11 tako da postane stabilan na unos pogresnih podataka.
podataka, treba neizostavno uk!ju6iti u dol<umentaCiju programa. 6. Pripremite dokumentaciju i razradite strategiju tesUranja za preostale programe iz o"og udzbeni-
ka, 'kao i za programe koje ste samostalno uradili.
7. Razmotrlte kako bi se !walitetno obavilo testiranje po principu erne kutije programa koj! ispisuje
na ekranu kalendar za godinu unesenu sa tastature. Uputa: postoli svega 14 mogu6ih tipova
kalendara za jednu godinu, jer bilo kOja godina mora po6eti sa jednim ad 7 dana u sedmici, a
pored toga godina moze da bude prestupna iii ne,

365
364
SADRZAJ

PREDGOVOR ............................................................................................................5

1 OPCA INFORMATIKA ......................................................................................7


1.1 Uvod u iniormatiku kao nauku ............................................................7
1.1.1 Staje informatika? ......................................................................7
1.1.2 Podaci i informacije .....................................................................7
1.1.3 Kol.icina informacije i entropija ..................................................... 9
1.1.4 Obrada informacija ....................................................................10
1.1.5 Analogne i digitalne velicine ...................................................... 12
1.1.() Brojni sistemi ............................................................................. 13
1.1.7 Binarna aritmetika ..................................................................... 15
1.1.8 Bulova algebra .......................................................................... 16
1.1.9 Diskretizacija i digitalizacija .......................................................20
1.1.10 Informacioni sistemi ...................................................................21
1.1.11 Utjecaj racunara na drustvo i okolinu ........................................ 23
1.2 Arhitektura racunara ...........................................................................27
1.2.1 Historijski razvoj racunara ......................................................... 27
1.2.2 Von Neumannova arhitektura racunara ....................................30
1.2.3 Pojava mikroprocesora ..............................................................34
1.2.4 Vrste racunara ...........................................................................35
1.2.5 Hardverska struktura PC racunara ............................................36
1.2.6 Organizacija softvera PC racunara ......................................... .42
1.3 Osnovni principi rada racunara .........................................................46
1.3.1 Mjere bezbjednosti pri radu sa racunarom ............................... .46
1.3.2 Instaliranje racunara ................................................................. .46
1.3.3 BIOS i proces pokretanja racunara ........................................... .49
1.3.4 Odnos hardvera, BIOS-a, operativnog sistema i aplikacija ....... 52
1.3.5 Minimalna hardverska i softverska konfiguracija PC racunara .54
1.4 Komunikacija korisnika sa racunaro l11 ......... ,.... :... :.;........................58
1.4.1 Opca struktura komunlkacion'og pmcesa.c ................................ 58
1.4.2 Metoda komunikacije covjek-racunar .:; ...... c,: ....... ,......... ,.........
59
1.4.3 Komunikacija sa racunarom'pomoclI:k<lmandnelinije .... :......... 61
1.4.4 Komunikacija sa racunarom pomocLtJ(Qmandnih Ijuski ............ 63
1.4.5 Komunikacija sa racunarorn jlomocu'grafitkog okruz'enja ........ 64
1.4.6 Napredne metode komunikaGijecO\/jek-racunar ....................... 67
1.4.7 Integracijainteraktivnog okruzenja'racunarskog sistema ......... 68

366 367
1.5 Primjena racunara .................................................. .... ................ .... 71 2.3 Raunarska grafika i graficki paketi ...............................................170

1.5.1 Klasi6ne primjene ra6unara ..................................................... 71 2.3'.1 Uvod u racunarsku grafiku ...................................................... 170
1.5.2 Programi za obradu teksta ........................................................72 2.3.2 Struktura grafi6kih sistema ........................................ ,...... ,...... 171
1.5,3 Tabela:.ni prora6uni ,i poslovna grafika ....................................... 75 2,3,3 Manipuliranje elementima slike ............................................ ,.. 177
1.5.4 F,nans'jsk, programl ..................................................................77 2,3.4 Grafi6ki paketi, ...... ,........ ,...... ,............................ ,...... ,...... ,.... ,.. 179
1.5.5 Programi za upravljanje bazama poda!aka ...............................78 2,3,5 Virtualna stvarnosL ...... ,........... ,............................ ,.... ,.. " .. ,.... 182
1.5.6 Grafi6ki programi .............. ,.........................................................80 2.4 Modeli i baze podataka. i sistemi za upravljanje bazama podataka ....185
1.5.7 Programi za stolno izdavastvo ..................................................81
2.4,1 Osnovni pojmovi 0 bazama podataka .. ,...................... ,...... ,.... 185
1,5,8 Komunikacioni programi .. "., .... " ......... ,............. ,. .. ,', .. " ....... 82
2.4,2 Centralizirane i distribuirane baze podataka .................. ,........ 186
1.5.9 Interaktivni multimedijski obrazovni programi ........................... 83
2.4.3 Organizacija baza podataka ...................... " .............. ,............. 187
1.5.10 Oslale primjene ra6unara ..........................................................84
2.4.4 Relacione baze podataka .......... ,...... ,.......................... ,........ ,.. 189
1.6 Prenos podataka i racunarske mreze ...............................................87 2.4,5 Aplikacije baze podalaka ............. ,.................................... ,.. " .. 192
2.4.6 Jezici za manipulaciju bazama podataka ............................... ,194
1.6,1 Osnovni principi prenosa podataka ...........................................87
2.4.7 Kratak uvod u SQL ........................................,.. ,.. " ...... ,...... ,.... 195
1.6.2 Prenos podataka kroz telefonsku mretu i modemi ...... " ........... 89
1.6.3 Ra6unarske i terminalske mrete .............. " ............................... 90 2.5 Integrirani program ski pake!; .... ,.....................................................209
1.6.4 Topologije racunarskih mreza i telekomunikaciona oprema ..... 93 2.5.1 Integrirani pake!i za uredsko poslovanje ................................ ,209
1.6,5 Internet kao najrasprostranjenija racunarska mreza " ............... 95 2.5.2 Integrirani paketi za elektronicku trgovinu ; elektroni6ko poslovanje ..211
1.7 Rjesavanje problema uz pomoc racunara ......................................98 2.5.3 Inlegrirani pakeli za slolno izdavastvo ....................................212
2.5.4 Integrirani paketi za dizajniranje i projektiranje ....................... 214
1.7.1 Uvod u problematiku rjesavanja problema .............. " ........ " ...... 98
2.5,5 Integrirani pake!i za brzi razvoj aplikacija ............................... 216
1.7.2 Tipovi problema ......................................................... .... " .. .... 100
1 ,7.3 Metodologija rjesavanja problema .............. " ........................ .. 101 2.6 Multimedija U otvorenim i zatvorenim sistemima ..........................220
1.7.4 Pojam algoritma ,....... " .............. " ................................... " ....... 104 2.6.1 Osnovni pojmovi 0 multimediji .................................................220
1,7,5 Konstrukcija algoritama ....... "" ...................... " ......... " .. " ........ 109 2,6.2 Neophodna hardverska podrska multimedijskim sistemima ... 221
1.7.6 Put od algoritma do programa ................................................. 113 2,6,3 Neophodna softverska podrska multimedijskim sistemima ..... 223
2 KORISNICKA INFORMATIKA ......................................................................117 2.6.4 Hipertekst i hipermedija ................ ,", .. ,.................... ,..... ,.. ,... ,..227

2.1 Sistemi za obradu teksta .............................,..................................117 2.7 Racunarske komunikacije ................................................................231

2.1.1 Razvoj sistema za obradu teksta na PC racunarima ............... 117 2.7.1 Komunikacija u lokalnim racunarskim mrezama ..................... 231
2.1.2 Kratak pregled osnovnih operacija u programu Microsoft Word ... 118 2,7.2 Osnovni koncepti global nih ra6unarskih mreza .......................232
2.1.3 Ubacivanje tablica u tekstualne dokumente ...........,... " .. " ........ 134 2.7,3 Upotreba Interneta i WWW servisa ........................................236
2.1.4 Ubacivanje ostalih netekstualnih elemenata u tekstdalne dokumente ... 137 2.7.4 Elektronicka posta ................................................................... 240
2.1.5 Provjera pravopisa i gramatike, i aulomatskoispravljanje gresaka .. " ... 142 2.7.5 Oslali Internet servisi .... ,....... "., .......... ,.................................... 243

2.2 Sistemi za tabelarne proracune .., .......... :............ ;;,;........................... 147 3 OSNOVE PROGRAMIRANJA ...............................................................:...... 247
2.2.1 Razvoj sistema za tabelarne proracyne na .f'C.raCtlnarima ... 147 . 3.1 Osnovne karakleristike programsklh jezika...................................247 .
2.2.2 Organizacija dokumena!a u programuMicrosQfIExcel ...... ,... 148 3.1.1 Nedostaci govomih jezika za potrebe komuniciranja sa racunarom ...i47
2.2:3 Unos podataka u radne stranice ........;.: .. :.~;;c.:; .... :.. :: ... ,.......:. . 151 3.1,2 Programski jezici niskog nivoa ................................................248
2,2.4 Uredivanje i oblikovanje radnih strahica,: .'.. ",.: .....:... ,.......... ,.. 152 3,1,3 Proceduralni programski jezici ..........................................,.... :249 .
2.2.5 Obavljanje proracuna u radnim stranicarrla ........ :, ....... ,........... 157 3.1,4 Karakteristike najraspros!ranjenijih proceduralnih jezikiL ...... .249
2.2,6 Kreiranje grafikona ...... ,",: ........... ,... ,.. :.. ::....... ,....:...... ,:...... ,.... ,164 3.1.5 Objektno orijen!irani programski jezici .................................... 250
.369
366
3.1.6 Neproceduralni programski jezici ............................................ 251 3.8 Elementarne programske strukture ................................................300
3.1.7 Kompajleri i interpreteri ...........................................................252 3.8.1 Prosti iskazi i sekvenca iskaza ................................................ 300
3.2 Metodologija programiranja .............................................................255 3.8.2 Siozeni iskazi (blok iskaza) .....................................................301
3.8.3 Iskazi grananja sajednostrukim izborom ................................ 301
3.2.1 Proceduralno i neproceduralno komuniciranje sa racunarom.255 3.8.4 Iskazi grananja sa dvostrukim izborom ................................... 303
3.2.2 Metodologija razvoja proceduralnog komuniciranja ................ 257 3.8.5 Iskazi grananja sa visestrukim izborom .................................. 305
3.2.3 Struktuirani pristup razvoju programa ..................................... 261 3.8.6 Iskaz bezuvjetnog skoka .........................................................307
3.3 Elemenli.programskog jezika Pascal ..............................................265 3.8.7 Iskazi ponavljanja ........................................................, ...........308
3.3.1 Zasto Pascal? ..........................................................................265 3.8.7.1 Iskaz for ............................................................ 308
3.3.2 Sintaksa, gramatika i semantika .............................................265 3.8.7.2 Iskaz while ........................................................ 312
3.3.3 Mabel jezika Pascal ...............................................................266 3.8.7.3 Iskaz repeat - until .................................... 314
3.3.4 Konstante kao elementi jezika Pascal .....................................266 3.9 Siozene struklure podataka .............................................................318
3.3.5 Rijeci jezika Pascal .................................. ...... . ............... 268
3.3.6 Iskazi i komentari ......................... .... ... .. . .....................269 3.9.1 Jednodimenzionalni nizovi ......................................................318
3.9.2 Visedimenzionalni nizovi .........................................................321
3.4 Struktura Pascal programa ..............................................................271
3.4.1
3.4.2
3.4.3
Uporedivanje BASIC i Pascal programa .................................271
Zaglavlje programa ............................................... ............. 271
Deklaracijski dio programa ...................................................... 272
i:H~~:i~~:: . : : .::: . : : :. : : :. :: . .: .: : :. . : : : :.: .:. . . : .: . .:.:J~i
3.10 Procedure, lunkcije i rekurzija .........................................................341
3.4.4 Izvrsni dio programa ................................................. .............. 273
3.10.1 Pojam procedure ...................................................................341
3.5 Elemenlarne slrukture podataka .....................................................276 3.10.2 Lokalne i globalne promjenljive .............................................342
3.5.1 Cjelobrojni tip ............................................ .. ...................... 276 3.10.3 Prenos parametara u procedure ........................................... 343
3.5.2 Realni tip .................................................................................276 3.10.4 Vrijednosni i promjenljivi parametri .......................................347

~: ~ ~:~ ~~~~~~~~:::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::~:~


3.5.3 Znakovni tip .............................................................................277
3.5.4 Logicki (Bulov) tip ....................................................................277
3.5.5 Pobrojani tip ............................................................................278 3.11 Samostalna izrada programa ...........................................................354
3.5.6 Intervalni tip .............................................................................278
3.11.1 Primjer modularnog razvoja prograrna .................................. 354
3.6 Konstanle, promjenljive i izrazi u Pascalu ..................................... 281 3.11.2 Poredenje modularnih i nemodularnih rjesenja ..................... 359
3.6.1 Imenovane konstante ..............................................................281 3.12 Dokumentiranje i lestiranje programa ............................................ 361
3.6.2 Promjenljive .............................................................................282
3.6.3 Cjelobrojni izrazi ......................................................................283 3.12.1 Dokumentiranje programa .....................................................361
3.6.4 Realni izrazi .............................................................................285 3.12.2 Testiranje pr?grama ..............................................................362
3.6.5 Pretvaranje lipova u izrazima ..................................................288
3.6.6 Znakovni izrazi ..........................................................:.... ,:...... i89
3.6.7 Logi6ki izrazi ............ ,""', .......... " ................ .................. :", ... ::.290. .",
3.7 Ulaz i izlaz podataka .......................................................................... 293 :.
3.7.1 Naredbe ulaza i izlaza .................................................. ,.... , .. ,2.93 ..
3.7.2 Formatirani izlaz .............................................................. :: ... :.. 295
3.7.3 Koristenje lekstualnih datoteka za ulaz i izlaz ................; ........ :297

371
370
SARAJEVO PUBLISHING d.d.
Sarajevo, Obala Kulina bana 4

Za izdavaca
Mustafa Alagic, dipt oec.

You might also like