2. SWITCH naredba
Naredba
SWITCH case vrednost :
switch ( izraz ){ naredba }
1 default:
Kroz ovu granu sme da
se prođe samo JEDNOM
Izraz je celobrojni izraz čija vrednost određuje PRVU naredbu u nizu od koje počinje
izvršavanje
Vrednost izraza za koju se izvršava naredba (grana) koja sledi. Jedna grana može
se izvršavati za veći broj različitih vrednosti izraza. Ispred vrednosti stoji ključna reč
case, a iza : (dvotačka)
default ključna reč označava granu koja se izvršava kada vrednost izraza nije
jednaka nijednoj od prethodno navedenih vrednosti.
ETŠ "Nikola Tesla" Niš,
Milena Krstić
3. SWITCH naredba
Naredba SWITCH predstavlja tzv. skretnicu.
Ako je vrednost izraza α izvršavanje
izraz
počinje od niza_naredbi1, ako je β od
α
niza_naredbi2, ...
niz_nar1 β def ω
Ukoliko vrednost izraza nije jednaka
niz_nar2
nijednoj od navedenih vrednosti α, β, ...
ϖ, tj. ako vrednost izraza ∉ {α, β, … ϖ} ,
...
ulazi se u default granu i izvršavanje
počinje nizom_naredbiD
niz_narD
... Izvršavaju se sve naredbe počev od one
određene vrednošću izraza, pa do kraja
niz_narN naredbe switch. Zbog toga JE BITAN
REDOSLED GRANA.
ETŠ "Nikola Tesla" Niš,
Milena Krstić
4. SWITCH naredba
Najčešće ćemo default granu
pisati na kraju:
izraz
Ako je vrednost izraza α
radimo niz naredbi 1
α
niz_nar1 Ako je vrednost izraza β
β radimo niz naredbi 2
niz_nar2
...
...
ω
niz_narN Ako je vrednost izraza ω
def radimo niz naredbi N
niz_narD
Ako nije ništa od navedenog,
onda radimo niz naredbi D
ETŠ "Nikola Tesla" Niš,
Milena Krstić
5. SWITCH naredba
Ukoliko u slučaju da vrednost izraza ∉ {α, β, … ϖ} ne treba raditi ništa, default
grana se izostavlja.
izraz
α
niz_nar1 β ω
niz_nar2
...
niz_narN
ETŠ "Nikola Tesla" Niš,
Milena Krstić
6. SWITCH naredba
U slučaju da se za više različitih vrednosti izraza treba da obavi ista akcija, više labela
mogu da stoje jedna iza druge bez naredbi između.
izraz
α, β, γ
niz_nar1 δ
niz_nar2
... θ, ω
niz_narN
def
niz_narD
ETŠ "Nikola Tesla" Niš,
Milena Krstić
7. SWITCH naredba
Skretnica se najviše koristi za višestruko grananje, tj. formira se nekoliko grana naredbi od
kojih se izvršava najviše čime jedna naredba switch zamenjuje više ugnježdenih if naredbi
switch (izraz)
{
izraz
case α: niz_naredbi1;
α β ω def break;
case β: niz_naredbi2;
niz_nar1 ... niz_narD
break;
...
case ω: niz_naredbiN;
niz_nar2 niz_narN
break;
default: niz_naredbiD;
break;
}
Naredbom break izlazi se iz naredbe switch na kraju svake od grana.
!!! U ovom slučaju redosled navođenja grana JE PROIZVOLJAN
ETŠ "Nikola Tesla" Niš,
Milena Krstić
8. Primer:
Pocetak Korišćenjem SWITCH naredbe
izračunati i štampati vrednost
funkcije y(x) za uneti parametar k:
k, x
x + 1, k =0
x + 2, k =1
y=
k
x + 3, k = 2 ∨ k = 3∨ k = 4
1
1
x + 4,
u ostalim slucajevima
0 2, 3, 4 default
y = x+1 y = x+2 y = x+3 y = x+4
k=1
x=5
y
y=7
Kraj
ETŠ "Nikola Tesla" Niš,
Milena Krstić
9. Primer:
Pocetak Korišćenjem SWITCH naredbe
izračunati i štampati vrednost
funkcije y(x) za uneti parametar k:
k, x
x + 1, k =0
x + 2, k =1
y=
k
x + 3, k = 2 ∨ k = 3∨ k = 4
1 10 x + 4,
u ostalim slucajevima
0 2, 3, 4 default
y = x+1 y = x+2 y = x+3 y = x+4
k = 10
x=5
y
y=9
Kraj
ETŠ "Nikola Tesla" Niš,
Milena Krstić