Kornjača-grafika i ponavljanje

 Podsetimo se crtanja u pajtonu iz šestog razreda uz pomoć kornjača-grafike. Da bismo uopšte mogli da je koristimo, prvo moramo da uvezemo biblioteku kornjača prilikom kucanja svakog programa, tako što ćemo na početku uneti import turtle. 

Ako želimo da nacrtamo ovakav prav ugao,

otkucaćemo naredni program:
Kao što smo već rekli, deo koda koji ispred sebe ima # predstavlja komentare, ne naredbe, i ne izvršava se, to su nam samo objašnjenja.
Ako se setimo, slično ste radili i u skreču, samo što je blok naredbi izgledao malo drugačije:


U pajtonu nemamo naredbu spusti olovku jer on smatra da je olovka već spuštena i lik čim počne da se kreće ostavlja trag.

Podsetite se naredbi za crtanje:

Ako želim da mi kornjača crta zelenu isprekidanu liniju debljine 4 piksela, a da se ona sastoji od 5 crtica dužine 25, između kojih je razmak dužine 15, napisaću ovaj program:
Rezultat izvršavanja:

Napišimo i program za crtanje kvadrata.


Šta primećujemo?
Da se neke naredbe ponavljaju i da bismo mogli da uštedimo i vreme i da omogućimo lakše čitanje koda ako bismo pajtonu samo rekli: izvrši ove naredbe 5, odnosno 4 puta, za svaki od naših zadataka.
Naredbe koje se ponavljaju nazivamo ciklusima tj. petljama.

Ako znamo unapred koliko ima ponavljanja (iteracija), tada koristimo naredbu (petlju) for koja ima sledeću strukturu:
for i in range (n):
naredba_1
...naredba_m

koja znači: "ponavljaj navedene naredbe n puta". Ovo naše i predstavlja brojač tj. neku promenljivu koja u svakom novom izvršavanju skupa zadatih naredbi uzima naredni broj iz skupa ⦃0, 1, 2, ....n-1⦄ odnosno upravo broji i kontroliše koliko puta su izvršene naredbe. Zamišljajmo to tako.

Na primeru naših zadataka sa crtanjem, to izgleda ovako:

- isprekidana linija
 
- kvadrat

Nemojmo zaboraviti da stavimo svaki put dve tačke, da uvučemo naredbe koje se ponavljaju uz pomoć tastera Tab.

Ako ne znamo koliko puta treba da se izvrši ponavljanje već će ono zavisiti od nekog uslova, tada koristimo uslovno ponavljanje i petlju while. Nju koristimo ustvari kada želimo da poručimo pajtonu "izvršavaj ove naredbe sve dok je ispunjen uslov". Struktura while petlje izgleda ovako:

while uslov:
         naredba_1
      ... naredba_m

Već pomenute programe možemo napisati i uz pomoć while petlje:

- isprekidana linija

- kvadrat

Primetimo da uvek postavimo brojač na nulu van petlje, uslov je i < od potrebnog broja ponavljanja a u okviru petlje dodeljujemo brojaču njegov sledbenik (i = i + 1, ovo u matematici nije tačno ni za jedan broj, ali u informatici funkcioniše jer smo rekli da znak = nije ono naše matematičko jednako već označava da se promenljivoj dodeljuje neka vrednost) tj. omogućavamo mu na taj način da se pri svakom narednom ponavljanju ona broje. Kako to funkcioniše?
Na početku je i = 0, to je manje od 4, znači iscrtaće se prva stranica kvadrata i promenljivoj i će se dodeliti nova vrednost i = 0 + 1 tj. 1.
Ponavlja se provera uslova: kako je i = 1 i to je manje od 4, ponovo se izvršavaju naredbe unutar petlje, tj. iscrtava se druga stranica kvadrata i povećava se i na 2, jer i = 1 + 1 = 2.
Proverava se uslov: i = 2 < 4, tačno, crta se treća stranica, i se povećava za 1 i postaje 3 i = 2 + 1 = 3.
Proverava se uslov: i = 3 < 4, tačno, crta se četvrta stranica, i se povećava za 1 i postaje 4 i = 3 + 1 = 4.
Proverava se uslov: i = 4 < 4, netačno, program ne izvršava naredbe i prekida sa radom.
Kod pajtona je omogućeno da kad stignemo do ovog koraka, do netačnog uslova, može da se izvrši neka druga naredba ili niz naredbi uz pomoć već poznatog else.
To bi izgledalo ovako:
while uslov:
         naredba_1
      ... naredba_m
else:          
          Naredba_1
       ...Naredba_p

Poslušajte RTS čas u vezi sa ovom temom i pročitajte lekciju sa strane 121. vašeg udžbenika a zatim uradite pitanja i zadatke sa strane 125.
Što se tiče kucanja programa, ne moraš da instaliraš Python, možeš da koristiš sajt petlja.org i recimo na ovoj stranici u bilo kom prozorčiću za kucanje koda da otkucaš tvoj program i klikom na dugme Pokreni program da ga isprobaš, a zatim taj kod zapiši kod sebe u svesku. Na toj stranici možeš da rešavaš i vežbaš i te zadatke što su tu zadati na samom sajtu.




Comments

Popularne objave