2. kodutöö
1. Maksuvaba tulu
Maksuvaba tulu määr sõltub aastatulust:
- aastatuluga kuni 6000 eurot on maksuvaba tulu võrdne aastatuluga
- aastatuluga 6000 kuni 14 400 eurot on maksuvaba tulu 6000 eurot aastas
- aastatuluga 14 400 kuni 25 200 eurot arvutatakse maksuvaba tulu vastavalt valemile 6000 – 6000 ÷ 10 800 × (aastatulu – 14 400)
- aastatuluga üle 25 200 euro on maksuvaba tulu 0 eurot.
Kirjuta programm, mis küsib kasutaja aastatulu (mittenegatiivne ujukomaarv) ja arvutab ning väljastab ekraanile maksuvaba tulu ümardatuna kahe kohani pärast koma.
Näide
Sisesta aastatulu: 16825 Maksuvaba tulu on 4652.78 eurot.
Vihje
>>> round(16.6333, 2) 16.63
Automaatkontrolli võimaldamiseks lepime kokku, et arvutuste vahetulemusi ei ümardata. Ümardatakse ainult lõppvastust.
2. Pykkar igas maailma nurgas
Kirjuta Pykkari programm, mis ükskõik milliste mõõtmetega ristkülikukujulise maailma puhul värvib ära maailma iga nurga. Programm peab töötama olenemata roboti algpositsioonist ja vaatesuunast. Võib eeldada, et maailm on seest tühi (s.t pykkar asub ristkülikukujulises seest tühjas seintega piiratud maailmas).
Näide töötavast robotist:
Automaatkontroll sellel ülesandel puudub, aga Moodle'isse tuleks lahendus esitada ikka.
3. Erindite püüdmine failist lugemisel
Kirjuta programm, mis loeb tekstifailist pikkused.txt sisse jalalaba pikkused sentimeetrites ja kuvab ekraanile kinganumbrid ümardatuna täisarvuks. Valem kinganumbri arvutamiseks on: kinganumber = 3/2 * (jalapikkus + 3/2).
Faili nende ridade juures, kus arvuks teisendamine miskipärast ebaõnnestub, tuleb ekraanile kuvada „Vigane sisend” ning jätkata faili järgmise reaga.
Näide
Faili pikkused.txt sisu:
29 25 kakskümmend seitse 28
Programmi käivitamisel ilmub ekraanile:
46 40 Vigane sisend 44
Vihje
>>> round(47.33) 47
Automaatkontroll. Programm ei küsi kasutajalt midagi, andmed loetakse alati sisse failist pikkused.txt. Tekstifailis tähistab iga rida ühte pikkust. Arvud võivad olla murdarvud, sel juhul on kümnenderaldajana kasutatud punkti (kuna seda on Pythonis lihtsam ujukomaarvuks teisendada). Mõnedel ridadel võib olla mingi jama. Väljundis peab iga kinganumber (või tekst „Vigane sisend”) olema eraldi real.