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. Tagastatava väärtuse peab funktsioon ümardama 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 (nagu pidi tegema esimese kontrolltöö järeltöös), aga selle ülesande lahendamine rekursiivse funktsiooniga aitab 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.