Neljanda nädala kontrollülesanded
Enne 4. praktikumi tuleb esitada kolme kohustusliku ülesande lahendused. Lahendused tuleb esitada Moodle'is, kus need kontrollitakse automaatselt.
Kontrollülesanne 4.1. Uued bussid
2018. aastal registreeriti Eestis 142 uut bussi ( http://www.stat.ee/34654 ). Registreeritud busside andmed on kuude kaupa failis bussid.txt, kus esimesel real on jaanuaris registreeritud busside arv, teisel real veebruaris registreeritud busside arv jne. Faili võite salvestada siit või koostada ise mõne tekstiredaktoriga.
Koostada programm, mis
- loeb failist registreeritud busside andmed kuude järgi järjendisse;
- Failist järjendisse saab lugeda järgmise programmijupi abil:
fail = open("bussid.txt", encoding="UTF-8") bussid = [] for rida in fail: bussid.append(int(rida)) fail.close()
Viide: https://courses.cs.ut.ee/2018/prog-alused/spring/Main/Andmedfailist
- küsib kasutajalt täisarvu, mis tähistab ühe kuu järjekorranumbrit (jaanuar 1, veebruar 2 jne);
- väljastab, mitu uut bussi sel kuul registreeriti.
Näited programmi tööst:
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 4.2. Lillede arv (for-tsükliga)
On traditsioon, et rõõmsatel puhkudel kingitakse paaritu arv lilli. Lillepoel on sünnipäev ja pood otsustas klientidele kinkida lilli nii, et päeva esimene ostja saab ühe lille, teine ei saa ühtegi, kolmas ostja saab kolm lille, neljas ei saa midagi, viies ostja saab viis lille jne.
Koostada programm, mis
- küsib kasutajalt klientide arvu (mittenegatiivne täisarv);
- arvutab for-tsükli ja funktsiooni range() abil lillede koguarvu, mida pood kingib;
- väljastab saadud lillede arvu ekraanile.
Vihje: lillede koguarvust võib mõelda kui summast, milles liidetavad on paaritud arvud alates 1 kuni esimese paaritu arvuni, mis pole suurem kui klientide arv.
Näiteks, kui kasutaja sisestas 7, siis paaritute arvude summa on 16, sest 1 + 3 + 5 + 7 = 16. Kui kasutaja sisestas 8, siis on summaks samuti 16, sest 1 + 3 + 5 + 7 = 16.
Tegemist on ülesande 3.2 variandiga for-tsükli jaoks.
Näited programmi tööst:
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 4.3. Külmakraadid
2020. aasta jaanuaris oli Eesti keskmine õhutemperatuur +3,1 °C, mis on 6,6 °C normist kõrgem (paljuaastane keskmine -3,5 °C). Failis temperatuurid.txt on kirjas ujukomaarvudena Tartu-Tõravere meteoroloogiajaamas mõõdetud jaanuari keskmised õhutemperatuurid ööpäeva kaupa (kus positiivsed arvud on soojakraadid ja negatiivsed arvud on külmakraadid). Iga arv on eraldi real. Faili võite salvestada siit või koostada ise mõne tekstiredaktoriga (kas või Thonnyga). Tekstifaili kasutamiseks programmi sees peab fail asuma programmifailiga samas kaustas.
Koostada programm, mis
- loeb failist nimega temperatuurid.txt andmed;
- väljastab ekraanile kõik külmakraadid ehk failist leitud negatiivsed arvud. Iga arv peab olema eraldi real ja negatiivsete arvude omavaheline järjekord peab jääma samaks nagu failis.
Näide programmi tööst:
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.