Upload
petar-ursic
View
37
Download
3
Embed Size (px)
Citation preview
11
3. 3. Programska strukturaProgramska struktura
� Programska struktura opisuje način i
redoslijed izvršavanja pojedinih radnji koje
dovode do konačnog rješenja zadatka.
� Razlikuje se nekoliko osnovnih programskih
struktura.
22
PrimjerPrimjer pseudo pseudo jezikajezika
� Pri opisu programskih struktura rabit će se osnove
pseudo jezika koji se rabi u Ispitnom katalogu za
državnu maturu iz Informatike.
� Osnove tog pseudo jezika prikazane su na nekoliko
sljedećih slajdova.
33
VarijableVarijable
� Mjesto u memoriji rezervirano za pohranu podatka
naziva se varijabla.
� Svaka varijabla ima ime koje ju jednoznačno
određuje.
� Ime varijable se u pseudo jeziku može zadati
proizvoljno, npr. x, a, TX, B_Pod, AmPe
44
Vrijednost varijableVrijednost varijable
� Varijabli se vrijednost pridružuje s pomoću operatora
pridruživanja.
� Operator pridruživanja koji se rabi u ovoj inačici
pseudo jezika je znak (:=).
Npr. izraz x:=3 se može čitati "varijabli x se pridružuje broj 3".
55
Kraj naredbeKraj naredbe
� Algoritam zapisan pseudo jezikom sastoji se od niza
naredbi.
� Svaka naredba ove inačice pseudo jezika završava
znakom točka-zarez (;).
66
OperatoriOperatori
� Operatori su simboli koji predstavljaju određene
funkcije.
� Operatori se mogu svrstati u skupine prema vrsti
funkcije koju predočuju, npr.:
� aritmetički operatori, logički operatori, operatori
uspoređivanja (relacijski operatori).
77
AritmetiAritmetiččki operatoriki operatori
OpisPseudo
jezikPascal C/C+ +
Zbrajanje + + +
Oduzimanje - - -
Množenje * * *
Dijeljenje / / /
Cjelobrojno dijeljenje DIV DIV /
Ostatak cjelobrojnoga
dijeljenjaMOD MOD %
88
Operatori dijeljenjaOperatori dijeljenja
� Operator dijeljenja (/) kao rezultat vraća vrijednost
kvocijenta u obliku realnog broja.
� Operator DIV vraća
cjelobrojni dio dijeljenja
dva cijela broja.
� Operator MOD vraća
cjelobrojni ostatak
dijeljenja dva cijela broja.
x := 5;
y := 2;
a := x/y;
b := x DIV y;
c := x MOD y;
a=2,5; b=2; c=1
99
LogiLogiččki operatoriki operatori
OpisPseudo
jezikPascal C/C+ +
Logički I I AND &&
Logički ILI ILI OR ||
Logički NE NE NOT !
1010
Operatori uspoređivanja Operatori uspoređivanja
OpisPseudo
jezikPascal C/C+ +
Manje < < <
Manje ili jednako <= <= <=
Veće > > >
Veće ili jednako >= >= >=
Jednako = = = =
Različito <> <> !=
1111
Redoslijed izvrRedoslijed izvrššavanja operatoraavanja operatora
Redoslijed izvršavanja Operatori
1. ()
2. NE
3. * / DIV MOD I
4. + - ILI
5. <, <=, >=, <>, =
1212
Osnovne programske struktureOsnovne programske strukture
� Osnovne programske strukture mogu se svrstati u tri
skupine. To su:
� pravocrtna programska strutura (slijed, niz),
� struktura grananja,
� struktura petlje.
1313
Pravocrtna struktura (pseudo jezik)Pravocrtna struktura (pseudo jezik)
Opis Pseudo jezik
Unos ulaz
Ispis izlaz
Pridruživanje :=
1414
Pravocrtna programska strukturaPravocrtna programska struktura
� Kao primjer pravocrtne programske strukture može
poslužiti zadatak:
� Korisnik unosi dva broja,
brojevi se zbrajaju pa se
ispisuje dobiveni zbroj.
� Program se odvija uvijek istim i predvidim slijedom
naredbi bez obzira na unesene podatke.
Pravocrtna programska strukturaPravocrtna programska struktura
� Samo u slučaju rješavanja
najjednostavnijih zadataka,
programska struktura je
pravocrtna, tj. program se
uvijek izvršava istim slijedom
naredbi.
15 1616
Programska struktura grananjaProgramska struktura grananja
� Redoslijed izvršavanja naredbi često ovisi o ulaznim
podacima ili međurezultatima obrade.
� Grananje je programska struktura koja omogućuje
različit tijek programa, ovisno o rezultatu
postavljenog uvjeta.
17
Grananje
• Programska struktura koja omogućuje različiti tijek
programa, ovisno o rezultatu uvjeta koji se ispituje:
NEDa li je
x > 0 ?
y=sqr(x)
DA
y=sqrt(x)
X=(A+B)/C
1818
Naredbe pseudo jezika za grananjeNaredbe pseudo jezika za grananje
Opis Pseudo jezik
Grananje
ako je uvjet ondanaredba1
inačenaredba2;
Blok naredbi{
}
�� Dijelovi programaDijelovi programa koji se koji se uvjetno izvodeuvjetno izvode, grupiraju se u , grupiraju se u
skupine ili skupine ili blokove naredbiblokove naredbi..
1919
Programska struktura grananjaProgramska struktura grananja
� Kao primjer programske strukture grananja može
poslužiti zadatak:
� Korisnik unosi
dva broja, a
zatim se
određuje i
ispisuje veći
broj.
Dijagram tijeka grananjaDijagram tijeka grananja
� Dijagram tijeka
grananja za traženje
i ispis većeg od dva
broja.
20
2121
Programska struktura petljeProgramska struktura petlje
� Često je u programu potrebno ponoviti neku radnju
više puta (iterirati). Takva se programska struktura
naziva petlja.
� Ponavljati se može:
� unaprijed zadani broj puta,
� sve dok je ispunjen zadani uvjet.
22
Petlja
Ispisati "Upiši cijeli broj"
Upis broja
Ispisati "Upiši cijeli broj"
Upis broja
Ispisati "Upiši cijeli broj"
Upis broja
...(stotinu puta bi trebalo ponoviti isto)
Umjesto ovoga….
23
Petlja
Ponoviti 100 puta petlju
Ispisati "Upiši cijeli broj"
Upis broja
Kraj petlje
Pišemo ovo….Naredbe pseudo jezika za petljuNaredbe pseudo jezika za petlju
Opis Pseudo jezik
Petlja s unaprijed poznatim brojem ponavljanja
za b := p do k činitinaredba;
Petlja kod koje nije unaprijed
poznat broj ponavljanja, a uvjet
se provjerava na početku petlje
dok je uvjet činitinaredba;
Petlja kod koje nije unaprijed
poznat broj ponavljanja, a uvjet
se provjerava na kraju petlje
ponavljatinaredba; dok je uvjet;
24
2525
Programska struktura petljeProgramska struktura petlje
� Kao primjer programske strukture petlje može poslužiti
zadatak:
� Korisnik treba unijeti
100 cijelih brojeva, a
prije svakog unosa
broja ispisuje se tekst
"Unesi broj".
26
Dijagram tijeka petljeDijagram tijeka petlje
� Dijagram tijeka petlje
za unos sto cijelih
brojeva.
27
Strukturno programiranje
• Strukturno programiranje (engl. structured
programing) skup je programskih postupaka koji vode
logičkoj organizaciji i čitljivosti programa
• Logička organizacija programa olakšava pisanje,
održavanje i popravak programa
28
Strukturno programiranje
• Modularno programiranje je prva i najvažnija metoda
strukturnog programiranja
• Modularno programiranje sastoji se u podjeli
programa u manje cjeline, koje se mogu neovisno
pisati i provjeravati, a po završetku ugraditi u glavni
program