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")

Zadatak 1.

Zadatke iz prethodne lekcije koji su rješeni jednostrukom if naredbom riješite pomoću if-else.

Zadatak 2.

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.