Složena naredba
grananja
primjeri
Smiljana Perić, II. gimnazija, Zagreb
1.) Koju će vrijednost ispisati
sljedeći program ako za n unesemo
vrijednost 11?
if 11 < 10: False
elif 11 < 20 True
U naredbi print(n % 2) program će:
1. izračunati koliko je 11 % 2
2. Ispisati izračunatu vrijednost 1
2.) Koju će vrijednost ispisati
sljedeći program ako za n unesemo
vrijednost 245?
Uvjetom n % 2 == 0
provjeravamo je li učitani broj
paran.
Ako je paran, cjelobrojno ćemo
ga podijeliti s 2 (n // 2) i
ispisati rezultat.
Ako nije paran (znamo da je 245
neparan), pomnožit ćemo ga s 2
(n * 2) i ispisati rezultat.
Prema tome rezultat je 490.
3.a) Što će ispisati sljedeći program
ako je a = 1?
Rješenje:
a = 1
b = 2*1 - 4 = -2
1. grana (if)
1 > -2 True
1 % 2 == 0 False
True and False = False
ne ulazimo u prvu granu
2. grana (elif)
1 % 2 != 0 True
True and True = True
ulazimo u drugu granu
Ispis je 4 jer je 4 × 1 = 4
3.b) Što će ispisati sljedeći program
ako je a = 2?
Rješenje:
a = 2
b = 2*2 - 4 = 0
1. grana (if)
2 > 0 True
2 % 2 == 0 True
True and True = True
ulazimo u prvu granu
Ispis je 6 jer je 3 × 2 = 6.
3.c) Što će ispisati sljedeći program
ako je a = 4?
Rješenje:
a = 4
b = 2*4 - 4 = 4
1. grana (if)
4 > 4 False
4 % 2 == 0 True
False and True = False
ne ulazimo u prvu granu
2. grana (elif)
4 % 2 != 0 False
False and False = False
ne ulazimo u drugu granu
3. grana (else)
ulazimo u ovu granu jer prethodna dva uvjeta nisu bila ispunjena.
Ispis je 20 jer je 5 × 4 = 20.
4.a) Što će ispisati sljedeći program
ako je a = 2?
a = 2
b = 4
ako je 2 > 4 // 2:
2 nije veće od 2 pa ne ulazimo u prvu granu
Prelazimo u sljedeću granu:
else:
b = 2
b = 2 + 2
print(4)
Program će ispisati 4.
4.b) Što će ispisati sljedeći program
ako je a = 5?
a = 5
b = 4
ako je 5 > 4 // 2:
5 je veće od 2 pa ulazimo u prvu granu
a=4
b=4%40
Ne prelazimo u sljedeću granu (else)
Program će ispisati 0.
5. Što će ispisati sljedeći program?
• Ako su dva uvjeta povezana
operatorom and oba uvjeta
moraju biti istinita da bi
rezultat složenog uvjeta bio
True.
• 1. grana
• 2. grana
• Ispisat će se 3
• 3. grana – ne provjerava se jer
je uvjet u drugoj grani istinit
6. Što će ispisati sljedeći program?
5 – (-5) = 10
10 > 0
Bit će ispisan broj 10
7. Što će ispisati sljedeći program?
if 4 < 2:
print(x)
elif 5 > 3 * 2:
print(y)
else:
print(2+5)
x = 2 * 2.3 = 4.6 Program će ispisati 7.
Funkcija int pretvara decimalni broj u cijeli na način da se odbaci decimalni dio.
To znači da je int(4.6) = 4
Funkcija round zaokružuje broj. To znači da je round(2.3) = 2
Ako vam treba podsjetnik, pogledajte prezentaciju 3. Operatori i standardne funkcije.
8. zadatak – [Link]
Program za učitani dan i mjesec ispisuje koje je to godišne doba.
Nakon pokretanja programa:
Domaća zadaća
Korisnik upisuje rimsku znamenku (I, V, X, L, C). Program ispisuje
dekadski ekvivalent znamenke. Kod pogrešnog upisa ispisuje prikladnu
poruku.
I V X L C
1 5 10 50 100