7. ja 8. tunnit
Ohjeet
Iteraatio
Iterointi on yleinen nimitys menetelmille, joissa samoja työvaiheita toistetaan niin kauan, kunnes toistot halutaan lopettaa. Iteroinnissa toistettavaa työvaihetta kutsutaan iteraatioksi tai iterointiaskeleeksi. Ohjelmointikielissä yleisen silmukkarakenteen yhtä kierrosta kutsutaan iteraatioksi.
Esimerkki: talossa kävely
Ohjeet talosta poistumiseen. Käytössä on komennot
Liiku eteenpäin
- Käänny oikealle/vasemmalle
Tietokoneen noudattamaa ohjeiden sarjaa kutsutaan algoritmiksi. Ohjeet voisivat olla seuraavanlaiset:
- eteenpäin
- käänny vasemmalle
- eteenpäin
- käänny vasemmalle
- eteenpäin
- käänny vasemmalle
- eteenpäin
- käänny vasemmalle
Eo. kahdeksan rivin koodi voidaan kirjoittaa lyhyemmin käyttäen toistoa:
Toista 4 kertaa:
eteenpäin
käänny vasemmalle
Vähempi koodin määrä nopeuttaa tietokoneen toimintaa. Silmukat, kuten edellä, lyhentävät koodin pituutta. Silmukan koodi toistetaan, kunnes ehto täyttyy.
Makecoden silmukat
Molemmat silmukat, toista ja kun-suorita, voidaan toistaa n kertaa. Esimerkiksi, jos talossa on 32 porrasta, niissä kulkeminen vaatii, että otat yhden askeleen 32 kertaa.
Kun-suorita silmukalla on ehto, jonka täyttyessä silmukka läpikäynti loppuu. Ehdon arvo muuttuu ja kun se toteutuu, silmukka loppuu.
”Kohteelle-suorita” (for) silmukalla on ehto (”indeksi”, oletus, jonka voit muuttaa), jonka täyttyessä silmukka läpikäynti loppuu. Ehdon arvo muuttuu ja kun se toteutuu, silmukka loppuu.
”Kun <tosi>” silmukka on ohjelma, joka jatkaa suoritustaan ikuisesti, jos sitä ei muuten keskeytetä. ”Kun <tosi>” silmukka kulkee niin kauan kuin sen sisällä oleva ehto on totta. Esimerkiksi "kun <hiukset ovat sekaisin>’" kampaisi hiuksia, kunnes hiukset ovat siistit eli kun sekaisin ehto olisi väärä.
Minecraftissä ”kun <tosi> suorita” bloki voisi toimia niin, että se toistuu niin kauan kuin agentti havaitsee punakiveä sen alapuolella. Voit ajatella ”kun <tosi> suorita” blokia ”toista” blokina yhdistettynä ”jos”-ehdolla
- Jos alla on punakiveä, tee nämä asiat…
Tehtävä - agentin liikkeet
Minecraft Agent on pieni robotti, joka pystyy suorittamaan MakeCodessa kirjoittamasi komennot. Tämä toiminta opastaa sinut aloittamaan agentin kanssa.
- Tutustu tutoriaaleissa Agentin liikkeisiin (opetusohjelmat – Agent moves ja Agent build)
Vaiheet:
1. Luo uusi projekti MakeCodessa.
2. Raahaa ”kun keskustelukomento suoritetaan” bloki työalueelle ja nimeä komento ”tp”.
3. Agentti-valikosta raahaa ”Teleporttaa agentti pelaajan luo” bloki.
Kun kirjoitat Minecraftissa chat-ikkunaan “tp”, agentti teleportautuu suoraan sijaintiisi. Tee tämä aina, kun haluat käyttää Agenttia projektissa. Sinä voit haluta myös luoda joitain ylimääräisiä peruskomentoja agentin siirtämiseksi:
Tehtävä - tanssiva agentti
- Siirrä (eteenpäin) 1
- Käänny (vasemmalle)
Voit valita eri suunnan kullekin komennolle valitsemalla sen pudotusvalikosta. Agentin siirry-komennolla agentin suunta ei muutu, joten jos esimerkiksi haluat, että Agentti liukuu sivulta toiselle, voit käyttää Agentin ”siirto” komentoa. Agentin kääntökomennolla Agentti todella kääntyy, joten jos esimerkiksi haluat agentin pyörivän myötäpäivään, käsket vain agenttia kääntymään oikealla neljä kertaa peräkkäin. On myös lisäkomentoja, jotka suorittavat tiettyjä hyödyllisiä toimintoja ja saa Agentin pumppaamaan nyrkkinsä tai heiluttamaan työkalua:
Agentin tanssiohjelmassa sekoita vapaasti joitain komentoja, jotta tanssisi olisi mielenkiintoisempaa.
Askeleet:
1. Vedä ensin ”kun keskustelukomento suoritetaan” bloki työalueelle.
2. Nimeä tämä komento ”tanssi”
3. Luo sitten sarja siirtoja, joita agenttisi seuraa. Tässä on yksi esimerkki:
4. Silmukat valikosta raahaa ”toista” bloki ”kun keskustelukomento suoritetaan blokin sisään.
Käytä Toista-blokia toistamaan tanssiliikkeet useita kertoja. Mene sitten Minecraftiin, teleporttaa agentti sijaintiisi ja katsele miltä tanssisi näyttää!
Sivuhuomautus:
Slowmotion: Koska agentti liikkuu tanssivaiheiden läpi niin nopeasti, joskus voi olla vaikeaa nähdä, mitä tapahtuu, jos yrität selvittää tanssirutiinin virheitä. MakeCodessa on Slowmotion-ominaisuus, jonka avulla voit hidastaa ohjelmaa, jotta voit siirtyä vaihe vaiheelta jokaisen käskyn suorittamisen yhteydessä.
Slowmotion-painike on MakeCode-näytön vasemmassa alakulmassa, ja siinä on etanan kuvake. Kun napsautat kytkeäksesi sen päälle, painike muuttuu keltaiseksi. Nyt kun suoritat MakeCode-ohjelman, kaikki toimii riittävän hitaasti, jotta näet jokaisen käskyn korostettuna koodaustyötilassa, kun robotti suorittaa sen Minecraftissa.
Luo Agentille tanssilattia valoilla ja bileet voivat alkaa 😜
Silmukat - Education.Minecraft.net
-
Kuinka silmukat toimivat Minecraftissa? Tai musiikissa?
- Mikä on piiri ja miten se voi laukaista ja/tai pysäyttää äänen?
- Jos nuottilohkot voivat kuulostaa samaan aikaan, mitä tämä saa aikaan?
- Miten silmukka saadaan soimaan "ajassa" (kuten 4/4-ajassa)?
- Kuinka voimme dokumentoida mitä teemme tai kokeilemme Minecraftissa?
- lataa zip-tiedosto ja avaa sieltä maailmatiedosto.
Ehtolause
Ehtolause
Ehtolause mahdollistaa koodin haarautumisen:
Makecodissa:
Ehtolauseet löytyvät "Logiikka" valikosta. Samasta valikosta löytyvät myös vertailut ja totuusarvot, joita käytetään usein ehtolauseiden kanssa.JOS-SITTEN
Jos ehto on tosi, suoritetaan ehdon sisällä oleva koodi. Jos ehto on epätosi, jatkuu muun koodin suorittaminen.
v
JOS-MUUTEN
Usein tarjotaan epätodelle vaihtoehdolle koodi "muuten" vaihtoehdolla:
Esimerkiksi:
Jos ulkona sataa, sitten käytä saappaita, muutoin käytä lenkkareita.
Harjoitus
2. Muuta "kun keskustelukomento suoritetaan" nimeksi "ikä"
3. Klikka +-merkkiä em. blokissa luodaksesi muuttujan num1.
4. "Logiikka" valikosta vedä jos-sitten-muuten bloki "kun keskustelukomento suoritetaan" blokin sisään.
5. Klikkaa +-merkkiä jos-sitten blokissa luodaksesi jos-sitten-muuten-jos blokin.
6. Vedä Logiikka valikosta "pienempi kuin" vertailubloki Jos <tosi> ehdon tilalle.
7. Vedä Logiikka valikosta "yhtä suuri kuin" vertailubloki Muuten blokiin.
8. Muttujat valikosta vedä kaksi num1 muuttujaa molempiin vertailublokeihin.
9. Toiseen vertailublokien paikkoihin kirjoita oma ikäsi.
10. Lohkot valikosta vedä kolme Tulosta "Hello" blokia
11. ja aseta ehtojen sisään.
12. Kirjoita lyhyt viesti (1-2 sanaa) jokaiseen Tulosta blokiin.
13. Valitse jokaiselle viestille oma blokinsa
14. Aseta jokaisen Tulosta blokin y-koordinaatti 10, joten viestisi kirjoittuu taivaalle.
Kysy vierustoveriltasi hänen ikäänsä ja kirjoita "ikä x" chattiin, jossa x on vierustoverisi ikä.
Katso sitten taivaalle muodostuneita viestejä!