13. kodutöö
1. Kasutatud auto hind rekursiivselt
Arvestame, et auto kaotab igal aastal väärtust 20% võrreldes eelmise aastaga. Kirjuta rekursiivne funktsioon (ehk funktsioon, mis kutsub välja iseennast), mis võtab sisse auto hinna ja aastate arvu ning tagastab, kui palju on auto väärt antud arvu aastate pärast. Funktsioon peab ümardama kõik tagastatavad hinnad kahe komakohani.
>>> auto_hind(10000.0, 0) 10000.0 >>> auto_hind(10000.0, 5) 3276.8 >>> auto_hind(10000.0, 1) 8000.0 >>> auto_hind(8000.0, 5) # või auto_hind(10000.0, 6) 2621.44
Seda ülesannet saab lahendada ka while-tsükliga või valemiga, aga lahendamine rekursiivse funktsiooniga aitab hästi mõista rekursiooni mõtet.
2. Sarnaste ruutude fraktal
Kirjuta rekursiivne funktsioon, mis joonistab kilpkonnaga fraktali ruudust, mille kolmes nurgas on sarnased ruudud ning nende kolmes nurgas on ka sarnased ruudud ja nii edasi vastavalt funktsioonile etteantud sügavusele.
Joonisel on fraktalid, mis tekivad sügavuste 1, 2, 3 ja 4 puhul.
Automaatkontroll on olemas, aga ei kontrolli väljundpildi korrektsust.