Crtanje petljama i slučajnim brojevima u Pythonu — informatika za 7. razred

Gradivo za 7. razred

Deset jednako razmaknutih linija, meta od krugova sa zajedničkim centrom, prelaz od crne ka crvenoj, zvezdano nebo: kada se isti oblik ponavlja uz pravilnu promenu, program ga crta petljom. U 7. razredu informatika povezuje petlju sa grafičkom bibliotekom, npr. Pygame, i uvodi slučajne brojeve za položaj i boju oblika.

Na ovoj strani ukratko obnavljaš gradivo, a zatim vežbaš u kvizu. Tamo određuješ koliko oblika petlja nacrta i gde je poslednji, dopunjuješ izraz za koordinatu, biraš moguće slučajne vrednosti i nalaziš zašto se vidi samo jedan krug. U svakom pitanju piše šta znače brojevi u pozivu za crtanje. Programe pišeš i pokrećeš na času; kviz vežba da ih čitaš i predviđaš crtež.

Učitavanje lokalnog napretka...

Vežbaj crtanje petljama →

Zašto vežbati crtanje petljama na Spremku

Ovde se lako pomešaju početak i razmak u izrazu za koordinatu, broj oblika i broj razmaka, range i randint, krug i kružnica, poziv u telu petlje i poziv posle nje. U kvizu pratiš petlju prolaz po prolaz, određuješ koordinate i poluprečnike, biraš koje vrednosti slučajni broj može da dobije i nalaziš uzrok greške u crtežu. Primeri su u Pythonu, koji koristi većina škola. Kviz prati gradivo informatike za 7. razred, uz svaki odgovor dobijaš objašnjenje na srpskom, a besplatan je i bez registracije.

Gradivo i objašnjenje

Petlja koja crta niz oblika

U petlji for brojač i ide od 0, a položaj oblika računa se iz njega, npr. x = 20 + 30 · i. To je kao linearna funkcija: 20 je x prvog oblika (za i = 0), 30 razmak između susednih oblika, a broj ponavljanja određuje range. Petlja range(5) daje x = 20, 50, 80, 110 i 140, pa je četvrta duž na 110, jer se crta za i = 3. Kada se menja x, nastaju uspravne paralelne duži, kada se menja y, vodoravne (veće y je niže), a kada se menjaju oba, oblici idu koso. Za 6 duži od x = 50 do x = 350 ima 5 razmaka, pa je razmak 300 : 5 = 60. Broj oblika i razmak menjaju se na jednom mestu.

Kružnice, gradijent i česte greške

Koncentrične kružnice imaju isti centar, a petlja menja samo poluprečnik, npr. 20 + 20 · i. Kružnice se dodiruju kada je razmak centara jednak zbiru poluprečnika, za dva ista poluprečnika to je prečnik; za manji razmak se preklapaju. Ispunjeni krugovi sa zajedničkim centrom crtaju se od većeg ka manjem, inače poslednji, najveći, prekrije sve. Gradijent nastaje kada se u petlji menja komponenta boje, npr. (50 · i, 0, 0) od crne ka crvenoj, ali komponenta ne sme da pređe 255. Ako koordinata ne zavisi od i, svi oblici padnu na isto mesto. Ako poziv za crtanje nije uvučen u telo petlje, izvrši se samo jednom, posle nje. Petlja while crta dok važi uslov, npr. dok je x manje od 300.

Slučajni brojevi

Red import random uvozi modul sa funkcijama za slučajne brojeve. Poziv random.randint(a, b) vraća ceo broj od a do b, a obe granice su uključene, kao kod kockice: randint(1, 6) daje 1, 2, 3, 4, 5 ili 6. Po tome se razlikuje od range(1, 6), koje ne uključuje 6. Zato randint(0, 9) može da vrati 10 različitih vrednosti, a za komponentu boje treba randint(0, 255). Ako se slučajni broj bira unutar petlje, svaka kap kiše ili zvezda dobija svoj položaj; ako se bira pre petlje, svi oblici dele istu vrednost. Kada je ista slučajna vrednost u sve tri komponente, dobija se siva. Broj oblika određuje petlja, a ne slučajni brojevi, a dva pokretanja programa obično daju različit raspored.

Ključni pojmovi

x = 20 + 30 · i

Položaj oblika u petlji kao linearna funkcija: 20 je x prvog oblika, a 30 razmak između susednih.

Koncentrične kružnice

Kružnice sa zajedničkim centrom, koje petlja crta menjajući samo poluprečnik.

Gradijent

Postepeni prelaz boje, koji petlja pravi menjajući komponentu RGB boje u svakom prolazu.

random.randint(a, b)

Funkcija koja vraća slučajan ceo broj od a do b, pri čemu su obe granice uključene.

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

Kako se izračuna razmak između oblika u petlji?

Od prvog do poslednjeg oblika ima jedan razmak manje nego oblika. Za 6 duži od x = 50 do x = 350 to je 5 razmaka, pa je razmak (350 − 50) : 5 = 60, a izraz za položaj x = 50 + 60 · i.

Koje brojeve može da vrati random.randint?

Cele brojeve od a do b, uključujući i a i b. Poziv random.randint(0, 5) može da vrati 0, 1, 2, 3, 4 ili 5, ali ne 2.5 ni 6. Pre prve upotrebe treba napisati import random.

Zašto petlja nacrta samo jedan oblik?

Najčešće iz dva razloga: koordinate ne zavise od brojača, pa su svi oblici na istom mestu, ili poziv za crtanje nije uvučen u telo petlje, pa se izvrši samo jednom, posle petlje, sa poslednjom vrednošću promenljive.

Pokreni kviz →