Kolmanda praktikumi ülesanded
Järgmisest kolmest ülesandest tuleb lahendada vähemalt üks. Lahendused tuleb esitada Lahenduses, kus need kontrollitakse automaatselt.
Kontrollülesanne 3.4a Õunte jagamine
Lumivalgekesel oli 14 õuna ja ta tahtis neid pöialpoistega jagada. Ta sai aru, et kui kõik seitse pöialpoissi tahavad õunu ja ta annaks kõigile kaks õuna, jääks ta ise üldse ilma. Nüüd otsustas ta õunu jagada nii, et küsib, mitu pöialpoissi tahab õunu, ja seejärel loosib iga soovija korral, kas anda talle üks või kaks õuna.
Koostada programm, mis
- küsib kasutajalt, mitu pöialpoissi tahab õunu (võib eeldada, et sisestatakse täisarv lõigust [0; 7]);
- leiab ja väljastab eraldi ridadele, mitu õuna saab iga pöialpoiss (programm genereerib iga kord juhuslikult arvu 1 või 2);
- leiab ja väljastab eraldi reale, mitu õuna jääb Lumivalgekesele.
Näited programmi tööst:
>>> %Run lahendus.py
Mitu pöialpoissi tahab õunu? 6
2
2
1
2
2
1
Lumivalgekesele jäi 4
>>> %Run lahendus.py
Mitu pöialpoissi tahab õunu?
2
1
2
Lumivalgekesele jäi 9
Kui olete juba hulk aega proovinud ülesannet iseseisvalt lahendada ja see ikka ei õnnestu, siis võib-olla saate abi murelahendajalt
. Püütud on tüüpilisemaid probleemseid kohti selgitada ja anda vihjeid.
Kontrollülesanne 3.4b Investeerimine indeksfondidesse
Ilmar saab hästi tehtud töö eest lisatasu ja leiab, et tahaks paigutada seda indeksfondidesse, et oma vara väärtust tõstma hakata. Enne investeerima hakkamist sooviks Ilmar programmi, mis annaks talle mingisuguse arusaama teenitavast summast, kui tal on teada, kaua ta investeerida soovib ja milline on tema soovitud aastatootlus.
Koostada programm, mis
- küsib esimesena kasutajalt investeeritava summa (ujukomaarv);
- küsib teisena kasutajalt investeeringu kogupikkuse (aastates, täisarv);
- küsib kolmandana kasutajalt oodatava aastatootluse (protsentides, ujukomaarv);
- väljastab kasutajale tehtavast investeeringust saadava lõppsumma (ümardatuna sajandikeni).
Liitintressi arvutamisest võib mõelda nii, et igal aastal võetakse eelmisel aastal teenitud summa ja liidetakse sellele aastatootluse ning eelmisel aastal teenitud summa korrutis. Kui Ilmaril on tänaseks aasta möödas alginvesteeringust, milleks osutus 10000 eurot aastatootluse 10.25% juures, siis tema aastase teenistuse saab arvutada järgmiselt: teenistus = 10000 + 10000 * 0.1025 = 11025. Pärast teist aastat saab arvutada juba järgmiselt: teenistus = 11025 + 11025 * 0.1025 = 12155 jne. Siinkohal muutub tsükkel väga kasulikuks, sest saame aastaid silmas pidades arvutada nii pika plaaniga investeeringu, kui ise soovime.
Näide programmi tööst:
>>> %Run lahendus.py
Sisesta summa, mida soovid investeerida: 10000
Sisesta aastates, kaua soovid investeerida: 5
Sisesta oodatav iga-aastane tootlus: 10.25
Investeeringust saadav lõppsumma on 16288.95 eurot.
Legend räägib, et malemängu leiutajale olla tollane valitseja pakkunud tasu. (Sellest legendist räägib ka Tõnu Tõnso paarikümne aasta taguses leheloos
.)
Leiutaja oli “tagasihoidlik” ja palus tasuks
- esimese ruudu eest 1 nisutera,
- teise ruudu eest 2 korda rohkem ehk 2,
- kolmanda ruudu eest veel 2 korda rohkem ehk 4,
- neljanda ruudu eest siis 8,
- viienda ruudu eest 16 jne
Malelaual on 64 ruutu.
Koostada programm, mis
- küsib kasutajalt ühe täisarvu;
- arvutab while-tsükli abil, mitu nisutera sellise järjekorranumbriga ruudu eest leiutaja küsis;
- tulemus väljastatakse ekraanile pärast tsüklit.
Näited programmi tööst:
>>> %Run lahendus.py
Sisesta täisarv: 10
Nisuteri 10. ruudu eest: 512.
>>> %Run lahendus.py
Sisesta täisarv: 24
Nisuteri 24. ruudu eest: 8388608.
Kui olete juba hulk aega proovinud ülesannet iseseisvalt lahendada ja see ikka ei õnnestu, siis võib-olla saate abi murelahendajalt
. Püütud on tüüpilisemaid probleemseid kohti selgitada ja anda vihjeid.