struktura grananja - · pdf filenjegova apsolutna vrijednost je ... •ako je on logička...

Download STRUKTURA GRANANJA -  · PDF fileNjegova apsolutna vrijednost je ... •Ako je on logička istina, izvodi se drugi blok naredbi, a potom prva naredba iza zadnjeg bloka naredbi

If you can't read please download the document

Upload: buithuan

Post on 06-Feb-2018

233 views

Category:

Documents


5 download

TRANSCRIPT

  • STRUKTURA GRANANJA

    1

  • 2

    Za rjeavanje veine zadataka potrebne su programske strukture kod kojih redoslijed izvravanja naredbi ovisi o vrijednostima

    podataka koji se obrauju.

    Grananje je programska struktura koja omoguuje razliit tok programa, ovisno o rezultatu postavljenog uvjeta.

    PROGRAMSKA STRUKTURA GRANANJA

  • 3

    PROGRAMSKA STRUKTURA GRANANJA

    Primjer programske strukture grananja:

    Korisnik unosi cijeli broj, a zatim se rauna apsolutna

    vrijednost tog broja i ispisuje

    rezultat.

  • 4

    Dijelovi programa koji se uvjetno izvode grupiraju se u blokove naredbi.

    Blok naredbi se omeuje parom vitiastih zagrada, zbog preglednosti pie se uvueno.

    Zagrade se mogu izostaviti ako se blok sastoji od jedne naredbe.

    BLOK NAREDBI

  • 5

    Varijable deklarirane unutar bloka naredbi nazivaju se lokalnevarijable.

    Ako se varijable deklariraju unutar bloka, postoje samo unutar bloka u kome su deklarirane, u glavnoj funkciji one ne postoje.

    LOKALNE VARIJABLE

  • 6

    PRIMJER

    Primjer lokalne varijable:

    Treba deklarirati cjelobrojnu varijablu x unutar zasebnog bloka, pa joj pridruiti vrijednost. Pokuati ispisati vrijednost varijable x

    u glavnoj funkciji.

    Upisi cijeli broj u bloku:Vrijednost varijable iz bloka x=....

  • 7

    BLOK

    PRIMJER

  • 8

    Pri pokuaju kompajliranja javit e se greka.

    Varijabla deklarirana unutar bloka vidljiva je samo unutar tog bloka. U glavnoj funkciji varijabla x ne postoji. Zato se

    pri prevoenju javlja greka.

    PRIMJER

  • 9

    Programska struktura grananja moe se ostvariti naredbama: if

    if else

    if else if - else

    switch case.

    NAREDBE GRANANJA

  • 10

    Jednostruko uvjetno grananje omoguava izvrenje bloka

    naredbi samo ako je zadani

    uvjet ispunjen.

    Ako uvjet nije ispunjenizvrava se prva naredba

    nakon bloka.

    JEDNOSTRUKO UVJETNO GRANANJE

  • 11

    Za jednostruko uvjetno grananje koristi se naredba if.

    Uvjet je logiki izraz, zapisuje se unutar para okruglih

    zagrada.

    Na kraju naredbe if ne stavlja se znak ;

    JEDNOSTRUKO UVJETNO GRANANJE - IF

  • 12

    PRIMJER 1A

    Treba unijeti cijeli broj razliit od 0 pa provjeriti da li je negativan ili pozitivan. U oba sluaja ispisati apsolutnu vrijednost broja.

    Ispis neka bude oblika:

    Upisi cijeli broj razlicit od 0:Broj...je .... Njegova apsolutna vrijednost je ....

  • 13

    Ako je (a0).

    Ako nije ispunjan niti drugi uvjet (za a=0), drugi bloknaredbi se preskae i izvoenje se nastavlja od naredbe

    return 0.

    PRIMJER

  • 14

    1. BLOK

    0

    2. BLOK

    0

    PRIMJER

  • 15

    Za (a0):

    PRIMJER

  • 16

    Ako nije ispunjen niti prvi niti drugi uvjet (unesena je 0), program se prekida.

    PRIMJER

  • 17

    Dvostruko uvjetno grananje omoguava da se ovisno o

    ispunjenju postavljenog

    uvjeta izvodi jedan od dva

    neovisna bloka naredbi.

    DVOSTRUKO UVJETNO GRANANJE

  • 18

    Za dvostruko uvjetno grananje koristi se naredba if - else.

    DVOSTRUKO UVJETNO GRANANJE

  • 19

    Ako je vrijednost uvjeta logika istina izvodi se prvi blok. Nakon njegova zavretka izvoenje se nastavlja od prve naredbe iza drugog

    bloka.

    Ako je vrijednost uvjeta logika neistina, preskae se prvi blok i izvodi se drugi blok (iza naredbe else). Nakon njegova zavretka izvoenje se

    nastavlja od prve naredbe iza drugog bloka.

    DVOSTRUKO UVJETNO GRANANJE

  • 20

    PRIMJER 1B

    Primjer treba rijeiti upotrebom dvostrukog uvjetnog grananja.

    Ispis neka bude oblika:

    Upisi cijeli broj razlicit od 0:Broj...je....Njegova apsolutna vrijednost je....

  • 21

    PRIMJER

    Primjer je rijeen uz pomo if else naredbe.

    Ako je (a0), preskae se prvi blok i izvodi se drugi blok naredbi.

  • 22

    1. BLOK

    2. BLOK

    0

    PRIMJER

  • 23

    Za (a

  • 24

    GREKA PRILIKOM UNOSA

    to ako korisnik ne proita uputu paljivo, pa unese broj 0? Rezultat nee biti ispravan:

    Bilo bi dobro izbjei takvu situaciju.

  • 25

    Uneseni broj treba provjeriti. Ako je unesena 0, korisnika treba upozoriti, a potom korisnik mora unijeti novi broj koji je razliit od 0.

    Da bi to bilo mogue, potrebna je naredba koja omoguava nastavak odvijanja programa od odabrane naredbe.

    GREKA PRILIKOM UNOSA

  • 26

    NAREDBA GOTO

    Naredba goto omoguava nastavak odvijanja programa od odabrane naredbe.

    Naredba na koju se eli skoiti, od koje se eli nastaviti odvijanje programa, moe biti bilo gdje u programu.

    Opi oblik naredbe:

    goto oznaka_naredbe;

  • 27

    Naredbu od koje se eli nastaviti odvijanje programa treba oznaiti oznakom iza koje dolazi znak dvotoke.

    oznaka_naredbe:naredba;

    goto oznaka_naredbe;

    NAREDBA GOTO

  • 28

    PRIMJER DOPUNA

  • 29

    PRIMJER - DOPUNA

    Za a==0

  • GOTO

    estom uporabom naredbe goto teko je slijediti tok odvijanja programa to oteava otkrivanje greaka.

    Naredbu goto stoga treba izbjegavati i nastojati zadatak rjeiti na drugi nain, pomou petlji koje e biti objanjene kasnije.

    30

  • 31

    UVJETNA NAREDBA KRATKI OBLIK

    Ako su uvjet i naredbe uvjetnih blokova kratki,umjesto if - else naredbi moe se koristiti skraeni oblik zapisa.

    (uvjet) ? (1.blok naredbi) : (2. blok naredbi)

    Koristi se kada uvjet i naredbe blokova stanu u jedan red.

  • 32

    if (a

  • 33

    VIESTRUKO UVJETNO GRANANJE

    Viestruko grananje omoguava ispitivanje vie uvjeta.

    Ovisno o ispunjenju postavljenih uvjeta izvodi se odgovarajui blok

    naredbi.

  • 34

    Za viestruko uvjetno grananje koristi se naredba

    if else if -....- else.

    Broj postavljenih uvjeta nije ogranien.

    VIESTRUKO UVJETNO GRANANJE

  • 35

    Ako je vrijednost prvog uvjeta logika istina, izvodi se prvi blok naredbi. Nakon njegova zavretka izvoenje se nastavlja od prve naredbe iza

    zadnjeg bloka naredbi.

    Ako je vrijednost prvog uvjeta logika neistina, provjerava se drugi uvjet.

    Ako je on logika istina, izvodi se drugi blok naredbi, a potom prva naredba iza zadnjeg bloka naredbi.

    VIESTRUKO UVJETNO GRANANJE

  • 36

    Ako je vrijednost drugog uvjeta logika neistina, provjerava se trei uvjet, i td.

    Provjere se tako redom nastavljaju sve do naredbe else.

    Ako do tada niti jedan od uvjeta nije imao vrijednost logike istine, izvrit e se zadnji blok naredbi koji se nalazi iza naredbe else.

    VIESTRUKO UVJETNO GRANANJE

  • 37

    Prethodni primjer treba rijeiti upotrebom viestrukog uvjetnog grananja.

    Ispis neka bude oblika:

    Upisi broj:Broj...je....Njegova apsolutna vrijednost je....iliUnio si 0. Apsolutna vrijednost od 0 je 0.

    PRIMJER

  • 38

    PRIMJER

  • 39

    Ako se unese 0, poruka e biti:

    U ostalim sluajevima, provjera je ista kao u primjeru 26.

    PRIMJER

  • 40

    Treba upisati prirodni broj pa provjeriti da li je vei ili manji od 100, te da li je paran ili neparan.

    Ispis neka bude oblika:

    Upisi prirodni broj:Uneseni broj je ... od 100 i ....

    PRIMJER 2

  • 41

    Viestrukim uvjetnim grananjem provjerava se da li je broj vei, manji ili jednak 100.

    Dvostrukim uvjetnim grananjem (neovisno o tome da li je broj vei ili manji od 100) provjerava se parnost broja.

    Parnost se provjerava operatorom modula (ostatak % dijeljenja s 2 se usporeuje s 0).

    PRIMJER

  • PRIMJER

    42

  • 43

    PRIMJER

    Provjera:

  • 44

    GRANANJE SWITCH-CASE

    Naredba switch-case omoguava viestruko grananje koje ovisi o vrijednosti postavljenog uvjeta.

    Za razliku od viestrukog grananja naredbom if u kojoj su uvjeti logiki izrazi, u naredbi switch-case uvjet je cjelobrojan izraz ili cjelobrojna

    varijabla.

    Raunanje cjelobrojnog izraza ili vrijednost cjelobrojne varijable je cijeli broj (cjelobrojna konstanta).

  • GRANANJE SWITCH-CASE

    45

  • 46

    GRANANJE SWITCH-CASE

    Vrijednost se uvjeta usporeuje s nizom zadanih cjelobrojnih konstanti: konst1,

    konst2, konst3, itd.

    Ako je vrijednost uvjeta jednaka nekoj od zadanih konstanti, izvrava se blok

    naredbi pridruen toj konstanti.

  • 47

    Po izvrenju bloka naredbi (kao primjer uzet je prvi

    blok), naredba break

    oznaava izlaz iz bloka

    switch-case i nastavlja

    program prvom naredbom

    nakon switch-case bloka.

    GRANANJE SWITCH-CASE

  • 48

    Ako vrijednost uvjeta nije jednaka niti jednoj od

    ponuenih konstanti,

    izvrava se blok naredbi

    pridruen naredbi default.

    Ako izostavimo naredbu default program e nastaviti izvravanje

    prvom naredbom nakon switch-case bloka.

    GRANANJE SWITCH-CASE

  • 49

    Treba izraunati ukupni otpor za otpore R1 i R2, ovisno o tome da li su spojeni serijski ili paralelno. Za odabir serijskog spoja

    korisnik upisuje 1, a za paralelnog 2.

    Ispis neka bude oblika:

    Otpor R1 (u omima):Otpor R2 (u omima):Za serijski spoj otpora upisi 1, a za paralelni 2:Ako se otpori od ... oma i ... oma spoje u ... ukupni je otpor ... oma.

    PRIMJER 3

  • 50

    Treba nainiti dvije grane (serijski spoj-1, parale