3.1 Rekursio
Tietokoneen voima on siinä, että se jaksaa toistaa samaa asiaa monta kertaa. Yksi tapa toteuttaa silmukoita on rekursiiviset funktiot. Ne ovat funktioita, jotka kutsuvat itse itseään. Jotta silmukasta päästään joskus ulos, tarvitaan ehtolausetta.
Harjoittele rekursiivisten funktioiden tekemistä näiden tehtävien avulla.
3.1.1 Rekursiiviset kuvatehtävät
Rekursiiviset kuvatehtävät
Tee funktio, joka tuottaa oheisen kuvan mukaisia tikkatauluja rekursion avulla. | |
Tee funktio, joka oheisen kuvan mukaisia ruudukoita. Vinkki: Tee ensin rivejä tuottava funktio. | |
Tee funktio, joka tuottaa oheisen kuvan mukaisen sarjan palloja. |
Tässä harjoituksessa saatat tarvita seuraavia Racket-kielen tai 2htdp-image -kirjaston funktioita:
|
|
|
| |||||
|
|
|
| |||||
|
|
|
| |||||
|
|
|
|
3.1.2 Epäkesko
Oheinen kuva on saatu aikaan laittamalla yksi ympyrä kuvan vasempaan reunaan ja pyörittämällä näin saatua "epäkeskoa" kuvaa rekursiivisen funktion avulla ja kokoamalla kierrokset yhdeksi kuvaksi. Kokeile saatko tehtyä samanlaisen. Kokeile myös samaa ideaa muulaisilla kuvilla.
| ||
|
3.1.3 Fraktaalit
Rekursion avulla voit toteuttaa myös fraktaaleja, kuten kuvan Sierpinskin kolmio.
Tutustu oheiseen koodiin ja muuta se tekemään Sierpinskin neliöitä.
| ||
|