Osnovne algoritamske strukture - grananje
Sjedište: | CARNET - Arhiva 2021 Loomen |
E-kolegij: | Informatika 3 PMG - Gimnazija Đakovo |
Knjiga: | Osnovne algoritamske strukture - grananje |
Otisnuo/la: | Gost (anonimni korisnik) |
Datum: | petak, 22. studenoga 2024., 19:15 |
1. Uvod
Pri pisanju programa često je potrebno provjeriti neki uvjet: je li broj pozitivan ili negativan, paran ili neparan, je li jedan broj veći od drugog broja, je li broj troznamenkast, te, ovisno o rezultatu uvjeta, izvršiti određenu naredbu ili naredbe. Za ispitivanje uvjeta koriste se relacijski operatori, a za postavljanje složenih uvjeta koriste se logički operatori. Ako je izvršavanje neke naredbe ili naredaba uvjetovano rezultatom relacijskih ili logičkih izraza, tada se oni stavljaju u naredbu grananja.
Relacijskim i logičkim izrazima najčešće se koristimo kad je, ovisno o rezultatu provjere, potrebno izvršiti neku naredbu. Na primjer, želimo li unijeti ocjene učenika da bismo izračunali njihov prosjek, najprije moramo provjeriti je li korisnik unio ocjenu (broj između 1 i 5) i tada izvršiti određenu naredbu (zbrojiti ocjenu s prethodnim ocjenama). Ako korisnik nije upisao ocjenu, potrebno je izvršiti neku drugu naredbu (na primjer, napisati mu poruku o tome da nije unio ispravan podatak).
2. Relacijski i logički operatori
Izrazi u kojima je potrebno usporediti dvije vrijednosti nazivaju se relacijskim izrazima. Za uspoređivanje se koriste relacijski operatori: manje od (<), veće od (>), manje ili jednako (≤), veće ili jednako (≥), jednako (=) i različito (≠). Kad uspoređujemo dvije vrijednosti, rezultat može biti laž (0) ili istina (1).
Logički operatori koriste se kada uvjet treba zadovoljiti više kriterija, npr. uvjet da je broj troznamenkast je da je veći od 99 i manji od 1000.
Oznake relacijskih i logičkih operatora u Pythonu jesu:
Opis |
Oznaka u Pythonu |
manje od |
< |
veće od |
> |
jednako |
== |
veće ili jednako |
>= |
manje ili jednako |
<= |
različito |
!= |
logički I |
and |
logički ILI |
or |
logički NE |
not |
Relacijski operatori imaju viši prioritet od logičkih, što znači da se u mješovitim izrazima najprije izvodi uspoređivanje.
3. Jednostruko grananje u Pythonu
Za jednostruko grananje i u Pythonu se koristi naredba if.
Opći oblik (sintaksa) naredbe je:
if (uvjet):
naredba
Uvjet može biti relacijski ili aritmetički izraz. Naredba unutar if će se izvršiti jedino ako je uvjet različit od nule. Ako je uvjet jednak nuli, naredba iza if se preskače i izvršava se prva sljedeća naredba.
Primjer:if (a%2==0):
print ("Uneseni broj je paran")
if (a%2==1):
printf ("Uneseni broj je neparan")
Zadatak 1:
Iskoristite prethodne naredbe i napravite program koji će za uneseni cijeli broj ispisati je li paran ili neparan.
Zadatak 2:
Napišite program u koji će za uneseni cijeli broj ispisati je li pozitivan, negativan ili nula.
4. Višestruko grananje u Pythonu
Naredba višestrukog grananja uPythonu je if - else naredba. Njezina sintaksa izgleda ovako:
if (uvjet):
naredba_1
else:
naredba_2
Primjer:
if (a%2==0):
printf ("Broj je paran")
else:
printf ("Broj je neparan")
Zadatke iz prethodne lekcije koji su rješeni jednostrukom if naredbom riješite pomoću if-else.
Napravite
program koji će omogućiti unos cijelog broja i ispisati je li broj
dvoznamenkast, troznamenkast ili četveroznamenkast.
Ako korisnik nije upisao dvoznamenkasti, troznamenkasti ili četveroznamenkasti broj, napišite mu poruku o tome.