Python: grananje i logički operatori — informatika za 6. razred

Gradivo za 6. razred

Program ne mora uvek da uradi isto: ako je toplo, predloži kupanje, a ako nije, šetnju; ako je učenik osvojio bar 50 poena, ispiše „prolaz“, a inače „pad“. Takav izbor između mogućnosti prema uslovu zove se grananje (ako–onda). U 6. razredu se u Pythonu uči kako se uslov zapisuje poređenjem, kako se uslovi spajaju logičkim operatorima i kako uvlačenje određuje šta pripada kojoj grani.

Na ovoj strani ukratko obnavljaš gradivo, a zatim vežbaš u kvizu. Tamo određuješ vrednost poređenja i logičkog izraza, pratiš kroz koju granu prolazi program za zadati unos, dopunjuješ uslov koji nedostaje i nalaziš grešku u zapisu grananja. Programe pišeš i pokrećeš na času; kviz vežba da ih čitaš i predviđaš rezultat.

Učitavanje lokalnog napretka...

Vežbaj grananje u Pythonu →

Zašto vežbati grananje na Spremku

Ovde se lako pomešaju = i ==, > i >=, and i or, if i elif, uvučen i neuvučen red, niska "5" i broj 5. U kvizu određuješ vrednost poređenja i logičkih izraza, popunjavaš tabelu ishoda za više unetih brojeva, dopunjuješ red sa uslovom ili else i nalaziš zašto program ispisuje obe poruke ili nijednu. Primeri su u Pythonu, koji koristi većina škola. Kviz prati gradivo informatike za 6. razred, uz svaki odgovor dobijaš objašnjenje na srpskom, a besplatan je i bez registracije.

Gradivo i objašnjenje

Poređenje i logičke vrednosti

Relacijski operatori porede dve vrednosti: == (jednako), != (različito), <, >, <= (manje ili jednako) i >= (veće ili jednako). Rezultat poređenja je logička vrednost, True (tačno) ili False (netačno), pa print(7 > 4) ispisuje True. Jedan znak = je dodela i ništa ne poredi; u uslovu se uvek piše ==. Granica je česta zamka: „bar 5“ znači 5 ili više, pa je uslov k >= 5, a ne k > 5. Niske su jednake samo ako su potpuno iste, uključujući velika i mala slova, a niska "5" i broj 5 nisu jednaki. Zato program koji unos učita samo sa input i poredi ga sa brojem 5 nikad ne nađe jednakost.

if, else i elif

Grananje počinje rečju if, posle koje dolaze uslov i dvotačka. Redovi uvučeni ispod tog reda pripadaju grani i izvršavaju se samo kada je uslov tačan; prvi neuvučeni red je van grananja i izvršava se uvek. Bez grane else, ako uslov nije tačan, blok se jednostavno preskoči. Potpuni oblik if-else ima dva ishoda i izvršava tačno jednu granu: else se izvršava kada je uslov netačan. Za više ishoda koristi se if-elif-else: uslovi se proveravaju odozgo i izvršava se samo prva tačna grana, a ostale se preskaču. Zato je redosled uslova važan: kada je prvi uslov p >= 50, program nikad ne stigne do p >= 90. Dva odvojena if-a, bez elif, proveravaju se nezavisno.

Logički operatori and, or i not

Logički operatori spajaju ili okreću logičke vrednosti. Izraz sa and (i) tačan je samo kada su oba dela tačna, izraz sa or (ili) kada je bar jedan deo tačan, a not (ne) okreće vrednost, pa je not True jednako False. Uslov da je x između 10 i 20, uključujući granice, piše se kao x >= 10 and x <= 20 ili kraće 10 <= x <= 20. Da je broj van intervala proverava se sa or: x < 0 or x > 100. Sa and taj uslov nikad ne bi bio tačan, a sa or umesto and u uslovu za interval prošao bi skoro svaki broj. Kao što množenje ima prednost nad sabiranjem, tako and ima prednost nad or.

Ključni pojmovi

Relacijski operator

Operator koji poredi dve vrednosti i daje True ili False, npr. == (jednako) ili != (različito).

if-else

Potpuni oblik grananja: izvršava se jedna grana kada je uslov tačan, a druga kada nije.

elif

Dodatni uslov u grananju; proverava se samo ako svi uslovi iznad njega nisu bili tačni.

Logički operator and

Spaja dva uslova i daje True samo kada su oba tačna, npr. kod provere intervala.

Najčešće greške

Pokreni kviz → Pogledaj povezane oblasti

Sledeći korak

Posle kratkog ponavljanja pokreni kviz, a zatim nastavi kroz povezane oblasti ili se vrati na razredni pregled.

Česta pitanja

Koja je razlika između = i == u Pythonu?

Jedan znak = je dodela: upisuje vrednost u promenljivu. Dva znaka == porede dve vrednosti i daju True ili False. U uslovu grananja uvek se piše ==, a = u uslovu je sintaksna greška.

Kada se koristi elif?

Kada program bira između više od dva ishoda, npr. ocena prema broju poena. Uslovi se proveravaju odozgo, izvršava se prva tačna grana, a else hvata sve ostale slučajeve. Zato se uslovi ređaju od najstrožeg ka najblažem.

Kako se u Pythonu proverava da li je broj u intervalu?

Spajanjem dva uslova sa and, npr. x >= 10 and x <= 20, ili kraćim zapisom 10 <= x <= 20. Za proveru da je broj van intervala koristi se or: x < 10 or x > 20.

Pokreni kviz →