Naredbe grananja
1. Naredbe grananja
Naredbe grananja koristimo kada se program treba granati u jedan ili višesmjerova, ovisno o istinitosti danog uvjeta.
Primjerice, želimo li unositi ocjene učenika, najprije moramo provjeriti je li korisnik unio ocjenu (broj između 1 i 5) i u tom slučaju izvršiti određenu naredbu. Ako korisnik nije upisao broj iz tog intervala, potrebno je izvršiti neku drugu naredbu.
Objašnjenje: Ako je broj paran, ostatak pri dijeljenju s brojem 2 jednak je nuli.
Primjerice, želimo li unositi ocjene učenika, najprije moramo provjeriti je li korisnik unio ocjenu (broj između 1 i 5) i u tom slučaju izvršiti određenu naredbu. Ako korisnik nije upisao broj iz tog intervala, potrebno je izvršiti neku drugu naredbu.
Zapis naredbe grananja u programskim jezicima Python i C izgleda ovako:
Python | C |
---|---|
if uvjet:
naredba1 else: naredba2 |
if (uvjet)
naredba1; else naredba2; |
a znači slijedeće:
ako je
uvjet ispunjen onda izvrši
naredbu 1
inače izvrši
naredbu 2
Ovo je oblik naredbe koja se grana u dva smjera: naredba1 izvršit će se ako je zadani uvjet istinit, a naredba2 ako nije.
Uvjet je najčešće relacijski izraz, ali ponekad može biti i aritmetički.
Primjer 1: Provjerimo je li uneseni broj paran ili neparan.
Python | C |
---|---|
a = int(input())
if a % 2 == 0: print('paran') else: print('neparan') |
int a;
scanf("%d", &a); if (a % 2 == 0) printf("paran); else printf("neparan") |
Objašnjenje: Ako je broj paran, ostatak pri dijeljenju s brojem 2 jednak je nuli.
Primjer 2: Provjerava je li uneseni broj pozitivan.
Python | C |
---|---|
a = int(input()) if a > 0: print('uneseni broj je pozitivan!') else: print('uneseni broj nije pozitivan!') |
scanf("%d", &a); if (a > 0): printf("uneseni broj je pozitivan!"); else printf('uneseni broj nije pozitivan!'); |
Primjer 3: Računa i ispisuje opseg kvadrata zadane duljine stranice. Ako je duljina stranice manja ili jednaka od nule, ispisuje poruku.
Python | C |
---|---|
a = int(input()) if a>0: print(4*a) else: print('Duljina stranice kvadrata mora biti veća od nule!') |
scanf("%d", &a); if (a>0) printf("%d", 4*a) else printf('Duljina stranice kvadrata mora biti veća od nule!') |