You are on page 1of 25

ALGORTIMI I STRUKTURE PODATAKA

(3. POUČAVANJE)

izv. prof. dr. sc. Alen Jakupović, prof. v. š.

Preddiplomski stručni studij Telematika


GRUPNI RAD
• grupni rad (45 minuta):
– podijeliti se u grupe od 5 članova
– odgovoriti na postavljena pitanja
– rasprava o pitanjima – 15 minuta

Preddiplomski stručni studij Telematika


PITANJA
• Što je varijabla, a što tip podatka?
• Što su jednostavni, a što složeni tipovi podataka
(navesti primjere)?
• Što su statički, a što dinamički tipovi podataka?
• Koja svojstva imaju varijable?

Preddiplomski stručni studij Telematika


Što je varijabla, a što tip podatka
• računalo svoju RAM memoriju doživljava kao niz ćelija od 8 bitova (jedan
bajt). Svaka takva ćelija ima jedinstvenu adresu (cijeli broj veći ili jednak 0)
pomoću koje računalo dohvaća vrijednost koja se čuva unutar ćelije.
Maksimalan broj ćelija koje računalo može adresirati (odnosno
maksimalna veličina memorije) ovisi o broju bitova koje računalu stoji na
raspolaganju za adresiranje ćelija.
• kod 32-bitnih računala, za adresiranje memorije računalo ima na
raspolaganju 32 bita, odnosno ukupno 232 cijelih brojeva što omogućava
adresiranje 4.294.967.296 ćelija (memorijski lokacija) od jednoga bajta,
odnosno veličinu memorije od 4GB (gigabajta).

Preddiplomski stručni studij Telematika


Što je varijabla, a što tip podatka
• prikaz memorije kako je vidi računalo

Adresa memorijske lokacije

0 1 ... 4GB - 1

0 1 1 0 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0

1 bit podatka na memorijskoj Binarna vrijednost koja se čuva


lokaciji na memorijskoj lokaciji

Preddiplomski stručni studij Telematika


Što je varijabla, a što tip podatka
• pitanje koje se postavlja je kako se iz računalnoga programa pristupa
memoriji računala u svrhu upisa vrijednosti nekoga podatka, odnosno
dohvaćanja čuvanoga podataka. A prije toga, kako se uopće naređuje
računalu da u svojoj memoriji pripremi prostor za čuvanje podataka.
• jedan od načina pristupanja memoriji računala je primjena memorijskih
adresa. Programer bi trebao znati na kojoj memorijskoj adresi se nalazi
neki podatak, odnosno na koju memorijsku adresu se podatak treba
spremiti. Ovaj pristup je iz više razloga težak za programere (npr. pamćenje
brojeva tipa 13.298.765). Puno je bolji pristup da se memorijskoj lokaciji
dodijeli neko simboličko ime (npr. stranicaA) te joj se pristupa preko njega.

Preddiplomski stručni studij Telematika


Što je varijabla, a što tip podatka
• varijabla je imenovani dio memorije računala. Preko varijable se izvodi
ubacivanje vrijednosti u memoriju računala, odnosno njezino dohvaćanje.
• za čuvanje vrijednosti nekog podatka u memoriji računala nužno je znati
što ta vrijednost predstavlja (npr. radi li se o cijelom broju, decimalnom
broju, znaku itd.), te kakve vrijednosti podatak uopće može imati (npr. 0-
255). Sve ovo je definirano pojmom tip podatka. Dakle, tip podatka
definira koliko je potrebno memorijskih lokacija za čuvanje vrijednosti te
na koji način se čuvane vrijednosti interpretiraju.

Preddiplomski stručni studij Telematika


Što je varijabla, a što tip podatka
• za korištenje memorije računala nužno je računalu narediti da pripremi i
rezervira određeni dio svoje memorije (određeni skup memorijskih
lokacija) u kome će se čuvati vrijednosti podataka određenoga tipa. Ovo se
radi u postupku deklaracije varijable.
• deklaracijom varijable u računalnome programu definira se tip podatka
(opseg vrijednosti i njezinu interpretaciju) te identifikator varijable (njezin
naziv) čime se računalu naređuje da u svojoj memoriji pripremi i rezervira
dovoljan broj memorijskih lokacija za taj tip podatka, da tu skupinu
memorijskih lokacija nazove simboličkim imenom (identifikatorom
varijable) te da ono što će se u tom dijelu memorije čuvati interpretira u
skladu sa željenim tipom podatka.

Preddiplomski stručni studij Telematika


Što je varijabla, a što tip podatka
• varijable se uvijek trebaju deklarirati prije njihova prvoga korištenja u
računalnome programu.
• varijabli se u računalnome programu može dodijeliti neka vrijednost
(dodjela znači naredba računalu da vrijednost spremi u dio memorije
rezerviran za tu varijablu) ili se može dozvati vrijednost koja se čuva u
memoriji koja je dodijeljena varijabli.
• vrijednost varijabli se pridružuje primjenom operatora pridruživanja (=) na
način da se ono što se nalazi na desnoj strani operatora pridružuje varijabli
koja se nalazi na lijevoj strani.

Preddiplomski stručni studij Telematika


Koja svojstva imaju varijable?
• svaka varijabla ima sljedeća svojstva:
– ime (identifikator)
– adresa
– vrijednost
– tip (tip podatka)
– trajanje
– doseg.

Preddiplomski stručni studij Telematika


Koja svojstva imaju varijable?
• ime, odnosno identifikator varijable predstavlja simboličko ime koje će se
dodijeliti nekome dijelu memorije računala. Dozvoljeni znakovi u
sastavljanju imena (identifikatora) varijabli su:
– slova engleske abecede (A-Z, a-z)
– brojevi (0-9)
– podcrta (underscore '_').
• prvi znak u imenu varijable ne smije biti broj. Ime varijable ne može biti
isto kao neka ključna riječ u programskome jeziku (ključna riječ je riječ koja
je rezervirana za neko drugo značenje u programskome jeziku – npr.
naredbe programskoga jezika).
• u nekim programskim jezicima (npr. C, C++, Java) ime varijabli je osjetljivo
na veličinu slova (engl. Case-sensitive).

Preddiplomski stručni studij Telematika


Koja svojstva imaju varijable?

Ispravna imena varijabli Neispravna imena varijabli


imePrezime Popis Studenata (u imenu razmak)
IMEPrezime Popis-Studenata (u imenu znak -)
Popis_Studenata 1godinaPopis (početak imena s brojem)
popis1godina 51000 (ime sami brojevi)
Umnozak Umnožak (u imenu znak ž)
switch (ključna riječ u C-u)

Preddiplomski stručni studij Telematika


Koja svojstva imaju varijable?
• prilikom definiranja naziva varijabli dobro je izabrati neko informativno
ime koje će otkrivati semantiku vrijednosti koju varijabla čuva (dakle, svrhu
varijable). Nepisano je pravilo da naziv varijable počinje malim početnim
slovom.

Svrha varijable Dobro ime Loše ime


Stanje na računu stanje_na_racunu, stanje, saldo SR, S, X, X1, X2
Brzina vlaka brzina_vlaka, brzina, brzina_u_Kmh Vlak, B, BV, X, X1, X2
Tekući datum tekuci_datum Datum, Tekuci, TD, X, X1, X2
Broj linija po stranici broj_linija_po_stranici, br_lnij_po_strnc BLS, Linija, L, X1, X2, X3

Preddiplomski stručni studij Telematika


Koja svojstva imaju varijable?
• adresa varijable je adresa dijela memorije računala koji je rezerviran za
varijablu. U nekim slučajevima u računalnome programu je važno
vrijednosti varijable pristupati, odnosno zapisivati preko njezine adrese.
• jednom deklariranoj varijabli u nekome računalnom programu, njezina
vrijednost se postavlja ili se koristi. Vrijednost varijable predstavlja onu
vrijednost koju u određenome trenutku izvođenja računalnoga programa
varijabla ima, odnosno koja je zapisana u dijelu rezervirane memorije. Za
dodjeljivanje vrijednosti varijable koristi operator pridruživanja (=).
Varijabla se treba nalaziti s lijeve strane operatora pridruživanja, a
vrijednost koja se dodjeljuje s desne.

Preddiplomski stručni studij Telematika


Koja svojstva imaju varijable?
• neka su deklarirane tri varijable stranicaA, stranicaB i povrsina. U memoriji
računala su rezervirane tri memorijske lokacije (potencijalno različitih
dimenzija što ovisi o tipu podatka koji će se čuvati) za promatrane
varijable.
• sadržaj memorije računala:

100 200 300


SMEĆE SMEĆE SMEĆE
stranicaA stranicaB povrsina

Preddiplomski stručni studij Telematika


Koja svojstva imaju varijable?
1. stranicaA = 5
2. stranicaB = 2
3. povrsina = stranicaA*stranicaB
• sadržaj memorije 100 200 300
računala: 5 SMEĆE SMEĆE
stranicaA stranicaB povrsina
1. korak:
100 200 300
5 2 SMEĆE
2. korak:
stranicaA stranicaB povrsina

100 200 300


3. korak:
5 2 10
stranicaA stranicaB povrsina

Preddiplomski stručni studij Telematika


Koja svojstva imaju varijable?
• jedna posebna vrsta varijable kojoj je vrijednost moguće postaviti samo
jednom u računalnome programu naziva se konstanta.
• konstanta je varijabla s predefiniranom vrijednošću koja se u računalnome
programu ne može mijenjati.

Preddiplomski stručni studij Telematika


Koja svojstva imaju varijable?
• primjena konstante:
– oba prikazana programa ispravno računaju maloprodajnu cijenu. U drugome se
programu koristi konstanta imena PDV kojoj je vrijednost 1.25 samo jednom dodijeljena.
U slučaju da dođe do promjene iznosa PDV-a na 1.23, to bi značilo da bi se u prvome
programu trebalo svaku pojavu vrijednosti 1.25 zamijeniti s vrijednošću 1.23. Pri ovome
postupku lako je moguće pogriješiti (npr. zaboraviti zamijeniti neku vrijednost ili
zamijeniti neku pogrešnu vrijednost i sl.). U drugome programu je dovoljno samo
izmijeniti vrijednost konstante PDV (izmjena na samo jednom mjestu značajno smanjuje
mogućnost pojave pogreške).

1. maloprodajnaCijenaGoriva = 1.25 * veleprodajnaCijenaGoriva


2. maloprodajnaCijenaMaterijala = 1.25*veleprodajnaCijenaMaterijala
3. maloprodajnaCijenaUsluge = 1.25 * veleprodajnaCijenaUsluge
1. PDV = 1.25
2. maloprodajnaCijenaGoriva = PDV * veleprodajnaCijenaGoriva
3. maloprodajnaCijenaMaterijala = PDV * veleprodajnaCijenaMaterijala
4. maloprodajnaCijenaUsluge = PDV * veleprodajnaCijenaUsluge

Preddiplomski stručni studij Telematika


Koja svojstva imaju varijable?
• tip podatka varijable definira koliko će računalo rezervirati prostora u svojoj
memoriji za tu varijablu, te način na koji će se spremljena binarna vrijednost
interpretira (npr. je li to cijeli broj, decimalni broj, znak i sl.).
• podjela tipova podataka:
Cjelobrojni (npr. -2)
Znakovni (npr. $)
Jednostavni
Logički (npr. False)
Statički
Interni Realni (npr. 0.5639)
Polje (npr. {10, 2, 4})
Složeni
Slog (npr. {Marko, 10, 2.65})
Dinamički Lista, Stog, Red, Stablo
Tekstualne Niz znakova (ASCII kod)
Datoteke
Eksterni Tipizirane Niz slogova (sekvencijalne i indeksirane)
Baze podataka Niz tablica (SLQ jezik)

Preddiplomski stručni studij Telematika


Koja svojstva imaju varijable?
• jednom deklarirana varijabla u nekome računalnom programu (čime se
definira njezin tip podatka i identifikator) rezervira odgovarajući prostor u
memoriji računala. Rezerviranjem memorijskoga prostora smanjuje se
veličina slobodne memorije koja stoji na raspolaganju za rezervaciju
drugim varijablama i drugim računalnim programima.
• pitanje koje se postavlja je koliko dugo računalo treba držati neki
memorijski prostor rezerviran. Jasno je da završetkom izvođenja nekoga
računalnog programa, cjelokupan memorijski prostor koji je bio rezerviran
za varijable unutar toga računalnog programa sada mora biti oslobođen.

Preddiplomski stručni studij Telematika


Koja svojstva imaju varijable?
• postoje slučajevi u kojima, tijekom izvođenja računalnoga programa, a
prije njegova završetka, neke varijable više nisu potrebne (npr. tijekom
izvođenja procedura). Tada računalo može i prije završetka računalnoga
programa izvesti oslobađanje memorijskoga prostora od onih varijabli koje
više nisu potrebne. Trajanje varijable je vezano s mjestom i načinom
deklariranja varijable i ono pokazuje koliko dugo računalo treba rezervirati
neki memorijski prostor.

Preddiplomski stručni studij Telematika


Koja svojstva imaju varijable?
• varijabli koja je deklarirana i koristi se u jednome računalnom programu ne
može se imenom pristupiti iz drugoga računalnog programa.
• njezin doseg pristupa je računalni program u kome je deklarirana.
• doseg varijable je moguće ograničiti i u samom računalnom programu
kojemu pripada. Naime, moguće je pristup varijabli ograničiti tako da je
ona dostupna samo iz određenoga dijela računalnoga programa (npr.
samo unutar procedure). Doseg varijable se definira mjestom i načinom
njezine deklaracije i on pokazuje iz kojih je dijelova računalnoga programa
moguć pristup varijabli.

Preddiplomski stručni studij Telematika


Što su jednostavni, a što složeni
tipovi podataka (navesti primjere)?
• jednostavni tipovi podataka su tipovi podataka koji se ne mogu rastavljati
na manje dijelove (npr. char, int, float, double).
• složeni tipovi podataka su tipovi podataka sastavljeni od jednostavnih (npr.
polje, niz zakova, zapis)

Preddiplomski stručni studij Telematika


Što su statički, a što dinamički
tipovi podataka?
• statički tipovi podataka su tipovi podataka kod kojih je prilikom deklaracije
varijable veličina potrebne memorije fiksna (npr. char, int, float, double)
• dinamički tipovi podataka su tipovi podataka kod kojih prilikom deklaracije
varijable veličina potrebne memorije nije fiksna (npr. lista, red, stog ,
stablo…)

Preddiplomski stručni studij Telematika


Što su statički, a što dinamički
tipovi podataka?
Tip C jezik Interval Zauzeće memorije
znakovni tip [signed] char -127 .. 128 1 byte
unsigned char 0 .. 255 1 byte
cjelobrojni [signed] int -2147483648.. 2147483647 4 byte
tip [signed] short -32768 .. 32767 2 byte
[signed] long -2147483648.. 2147483647 4 byte
kardinalni unsigned [int] 0 .. 4294967295 4 byte
tip unsigned short 0 .. 65535 2 byte
unsigned long 0 .. 4294967295 4 byte
realni tip float min ± 1.175494351e-38 4 byte
maks ± 3.402823466e+38
realni tip double min ± 2.2250738585072014e-308 8 byte
dvostuke maks ± 1.7976931348623158e+308
preciznosti

Preddiplomski stručni studij Telematika

You might also like