Professional Documents
Culture Documents
Programske Strukture I Tipovi Podataka
Programske Strukture I Tipovi Podataka
Programske Strukture I Tipovi Podataka
podataka
Matko Devčić, 3. razred prirodoslovno-matematičko usmjerenje, 2022./2023.
Programske strukture i tipovi podataka
Tablica sadržaja
Tablica sadržaja....................................................................1
Problemski zadatak..............................................................7
Zaključak..............................................................................8
E-portfolio............................................................................8
1
Uvod u programske strukture i tipove podataka
Sigurno ste se zapitali kakve sve podatke jedan čovjek prolaze. Pogledajmo samo podatke
koje pronalazimo u e-dnevniku. Za pojedinog učenika možemo pronaći: ime, prezime,
adresu, datum rođenja, OIB, i ono svima najdraže ocjene. Iz samog primjera e-dnevnika
primjećujemo da postoje različite vrste podataka – postoje one tekstualne (ime i prezime),
zatim brojčani (datum rođenja, OIB, ocjene)
Osnovni tipovi podataka koje smo upoznali u Programskom jeziku Python su: cijeli brojevi,
realni brojevi, logički tip podataka te niz znakova
Tip podataka float omogućuje zapisivanje realnih brojeva, tj. brojeva s decimalnom
točkom
Logički tip podataka (bool) može poprimiti samo dvije vriejdnosti: True(istina) ili False
(laž). To su vrijednosti logičkih izraza
Linijska programska struktura je serijska i program se uvijek izvršava isitim slijedom naredbi.
To su programi u kojima se, obično javljaju naredbe ulaza, obrade i izlaza. Linijska
programska struktura bi bila unos dva broja, njihovo zbrajanje te ispis zbroja.
Grananje je programska struktura koa sadrži korak u koje se ispituje je li neki uslov
zadovoljen ili nije
Struktura grananja u Pythonu
Vjerojatno ste, tijekom igranja videoigrica ili čak i u stvarnom svijetu, uočili kako ste prvo
morali ispuniti neki uvjet kako biste ostvarili neki cilj. Na primjer kako biste se mogli cijelo
ljeto odmarati prvo ste morali proći razred, ako kojim slučajem nebiste prošli morali biste
cijelo ljeto ponavljati gradivo
S ovakvom situacijom susrećemo se i u svijetu programiranja. Kada u algoritmu moramo
odlučiti koji ćemo dio koda izvesti ovisno o nekom zadanom uvijetu, moramo upotrijebiti
odlučivanje. To je postupak razdvajanja izvođenja koda na dvije različite putaje ili više njih.
Kompjuteru sigurno ne možemo postaviti uvjet „Prođi razred“ već moramo u obliku
logičkog izraza čija vrijednost može biti samo istina ili laž
Osnovni oblik naredbe odlučivanja u Pythonu zapisujemo
if uvjet:
naredba
2
Programske strukture i tipovi podataka
Točnije, ako je zadani uvjet istinit, izvodi se navedena naredba. No ako uvijet nije istinit ne
izvršava se naredba a izvođenje programa izvršiti će se naredbama koje slijede. No što ako
se određeni uvjet ne ispuni, u tom slučaju osnovnom obliku naredbe odlučivanja dodajemo
funkciju else. Time naredba odlučivanja poprima svoj potpuni oblik:
If uvjet:
Naredba_1
Else:
Naredba_2
Postoji situacija, iako vrlo rijetka, da se struktura odlučivanja nalazi unutar druge strukture
odlučivanja kada je potrebno ispitati više od jednog uslova. Kada se dogodi da jedna
struktura grananja bude unutar druge strukture grananja tada to nazivamo ugnježđenom if-
else strukturom, koja ima oblik
If uvjet_1:
Naredba_1
if uvjet_2:
naredba_2
else:
naredba_3
else:
naredba_4
Pri ovakvom skupu naredbi, izvršava se samo tijelo onog uvijeta koji će prvi biti zadovoljen.
Nakon zadovoljavanja jednog uvieta i njegovo tijelo odluke se izvrši, otali uvijeti se
„zanemaruju“, to jest ostali uvjeti se više ne provjeravaju. U slučaju ne zadovoljavanja ni
jednog od uvijeta, izvršava se skup naredbi koji pripadaju else dijelu if-elif-else.
3
Programske strukture i tipovi podataka
3
Programske strukture i tipovi podataka
Range (x, z)- kreira slijed brojeva koji započinjem brojem x, a završava brojem z-1
Range (x, y, z) – Kreira slijed brjeva koji započinje brojem x, a završava brojem
z-1, s time da je svaki slijedeći broj od prethodnog veći za vrijednost y. Slijed završava
brojem koji je strogo manji od broja z
Petlja for i funkcija range () zajedno tvore funkcionalnu cijelinu. Funkcija range() na osnovi
zadanih ulaznih parametara određuje slijed brojeva, tako da svaki put kada for petlja dođe
na početak novog pnavljanja ona kontrolnoj varijbli pridruži broj iz slijeda.
For i in range (10, 20):
Print (i, end = „xx“)
>>> 10 11 12 13 14 15 16 17 18 19
Za razliku od naredbe for, koja omogućuje onavčjanje nekoga bloka naredbi unaprijed zadan
broj puta, naredba while ispunjava uvijet dokle god zadani logički uvijet istinit to jest dok
isti taj uvijet ne postane lažan.
while uvjet_izvrsenja:
blok_naredbi
3
Programske strukture i tipovi podataka
Prilikom pisanja bloka naredbi treba paziti da se u nekom trenutku zaustavi ponavljanje
while petlje, kako nebi ušli u takozvanu „Beskonačnu petlju“. To postižemo tako što uvijet
postaje lažan ili pomoću naredbe break, o kojoj ćemo malo više kasnije. Ako je sam uvijet i
na početku lažan, blok naredbi se neće izvesti ni jednom.
Broj ponavljanja same petlje while ovisi o ispunjenosti zadanog uvijeta, kada uvijet postane
lažan prekida se izvođenje petlje. Zbog toga što se uvet provjerava na samom ulasku u
petlju, postoji mogućnost da se blok naredbi ni jednom ne ispiše. Vašno je reći no svaki
progrm koji se može riješiti for naredbom može se riješiti i while naredbom. Obrat ne
vrijedi.
Kako bi mogli izači iz for ili while petlje koristiomo naredbu break. Nju naječešće
korisitomo prilikom spriječavanja beskonačnih petlji. Ako je uvijet while postavljen tako da
bude beskonačno točan, a onda unutar tijela while petlje naredbom if provjeravamo ako
je neki uvjet zadovoljen. U slučaju u kojem je uvjet zadovoljen, naredbom break izlazimo iz
petlje. Za bolje shvaćanje kako radi naredba break na primjeru pogledajte ponuđeni video:
Na drugom kraju spektra nalazi se naredba continue, koja omogućuje preskakanje diejla
bloka naredbi unutar petlje. Kada se nalazi unutar bloka naredbi petlje, naredbe nakon nje
se preskaču te se program vraća na provjeravanje uveta koji omogućuju nastavak
izvršavanja naredbi u petlji
3
Programske strukture i tipovi podataka
Problemski zadatak
Mali Perica na satu matematike učio je o faktorijelima, njihova profesorica im je za zadaću
zadala da izračunaju faktorijale određenih brojeva. Na žalost malog Perice njegov kalkulator
nije sposoban da računa faktorijale. Pošto je perica prelijen da ručno računa faktorijele tebe
je zamolio da mu pomogneš napisati program koji bi to radio za njega. Objasnio ti je da
faktorijeli imaju neka poseban pravila, kao ta da je faktorijel od nula jednak jedinici, a
3
Programske strukture i tipovi podataka
3
Popis korištene literature
10