Tsüklid. While-tsükkel
-----------------------
Scratch - https://scratch.mit.edu/projects/editor/
- Kordamine - kodutöö: Tegelane viskab ekraanil "hundiratast" - lahendus
- Pane tegelane automaatselt liikuma 10 sammu kaupa edasi, kuni ta puudutab akna serva. Siis jääb tegelane seisma. (Tsükkel ehk kordused. Korda kuni...) - lahendus
-----------------------
Kilpkonn (turtle) Pythonis
Proovi Pythonis käivitada programm:
#impordime kilpkonna (turtle) programmi:
from turtle import *
forward(100)
left(120)
forward(100)
left(120)
forward(100)
left(120)
exitonclick() #lubab akna sulgeda hiireklõpsuga
(Allikas: https://programmeerimine.cs.ut.ee/01_sissejuhatus.html#kilpkonn
Selgitused:
Selgitused:
- forward(m) – liigu edasi m sammu (sammu pikkus on 1 piksel)
- left(x), right(x) – pööre vasakule, pööre paremale x kraadi
- up(), down() – tõsta pliiats üles, langeta pliiats alla, vastu ekraani
-----------------------
Ülesanded 1
1. Joonista kilpkonnaga kriipsjoon:
2. Muuda oma eelmise programmi koodi nii, et saad joonistada kilpkonnaga kriipsjoone while-tsükli abil
(vaata tund 4. while-tsükkel)
- Lahendus: koos kommentaaridega lahenduskäigu kohta ja ilma kommentaarideta versioon
4. Muuda oma eelmise ülesande koodi nii, et saad kilpkonnaga joonistada ruudu asemel labürindi:
![]() |
VIHJE: kasuta while-tsüklit |
Labürindi lahendus:
- Lahendus 1 (ilma tsüklita, proovime, mis tegevusi me peame tegema, et labürint joonistada. Selle põhjal saame mõelda välja, kuidas tsükkel kirja panna - st peame vaatama, missugused tegevused korduvad ja mis intervalliga)
- Lahendus 2 - tsükliga (selgitavate kommentaaridega variant)
- Lahendus 2 - tsükliga (ilma kommentaarideta)
-----------------------
Pykkar
Salvesta oma arvutisse oma Pythoni programmikoodide kausta moodul: pykkar.py
Proovime käivitada Pykkari näisidprogrammi. Programmi koodi leiad siit lingilt.
Kopeeri programmi kood, salvesta mingi nimega (see peab erinema nimest pykkar.py).
- step() - pükkar liigub ühe sammu edasi
- right() - pükkar pöörab paremale
- push() - pükkar lükkab koonust
- take() - pükkar tõstab koonuse üles
- put() - pükkar paneb koonuse maha
-----------------------
Ülesanded 2
5. Täienda oma Pykkari programmikoodi nii, et robot sammuks seinani, pööraks ümber ja sammuks teise seinani, pööraks seal ümber ja sammuks veelkord tagasi.
(Vt Pykkari maailma käske - allpool)
- Lahendus 1 (ja ilma kommentaarideta variant)
- Lahendus 2 (lühem variant) + ilma kommentaarideta variant
6. Täienda eelmist programmi nii, et programm küsiks sinu käest, mitu sammu robot peab astuma (nt 100) ja robot kõnniks selle arvu samme. Iga kord, kui robot jõuab seinani, pöörab ta ümber ja sammub edasi. (Vihje: kasuta while tsüklit ja vajadusel if-lauset).
- Lahendus (selleks tuleb muuta eelmise ülesande Lahendus 2 koodi vaid ühe rea lisamise ja while-tsükli tingimuse muutmisega)
- Lahenduse ilma kommentaarideta variant
7. Pane Pykkar koonust lükkama või koonust kandma.
8. Pane Pykkar koonust lükkama nii, et kui sein tuleb vastu, siis Pykkar pöörab ümber:
![]() |
Vihje: selleks, et robot koos koonusega seina juures ümber pööraks, võib vajadusel proovida kasutada ka try-except "püünist". Try alla pane while-tsükkel ja except alla muu tegevus. |
-----------------------
Kodutööd
1. Püüa teha ära need asjad, mida tunnis ei jõudnud.
PYKKARI KÄSUD (mine avaneval veebilehel natuke allpoole).
Kodutööde tegemiseks lae endale arvutisse pykkari moodul: pykkar.py (salvesta see oma Pythoni failide kausta).
LIHTSAMAD ÜLESANDED:
2. Pane Pykkar kõndima mööda seina ääri, nii et ta teeks maailmale tiiru peale (proovi kasuta while tsüklit, kui see ei õnnestu, võib ka ilma, lihtsalt step() ja right() abil)
3. Loo Pykkari maailm, kus üks ruut temast eemal on ära värvitud. Kui Pykkar jõuab ruudu peale, jääb ta seisma.
KEERUKAMAD ÜLESANDED:
4. Täienda Ülesandes 2 punkti 8 nii, et Pykkar lükkab koonuse seinani ja seejärel kõnnib ilma koonuseta edasi 20 sammu. Seina ja koonuse juures pöörab alati ümber. (Vihje: vajadusel kasuta and-lauset)
5. Loo suurem Pykkari maailm, kus on 3-4 koonust ja Pykkar peab nende ümbert mööda jalutama
6. Loo Pykkari maailm, mis on näha pildil:
7. Lisa käsud, mis muudavad Pykkari maailma selliseks:
LISAÜLESANNE:
Joonista kilpkonnaga "päike" - Tund 4 ülesanded 3 punkt 11.
Kommentaare ei ole:
Postita kommentaar