Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
< eelmine | 5. nädala sisukord | järgmine > |
5.6 Viienda nädala kontrollülesanded 5.4abc
Viiendal nädalal tuleb esitada nelja kohustusliku ülesande lahendused. Neljanda ülesande puhul on võimalik valida lahendamiseks vähemalt üks järgmistest ülesannetest, kas 5.4a, 5.4b või 5.4c (võib ka kaks või kolm lahendada). Lahendused tuleb esitada Moodle'is, kus need kontrollitakse automaatselt. Moodle'is on ka nädalalõputest 10 küsimusega, millest tuleb vähemalt 9 õigesti vastata.
Järgmisest kolmest ülesandest (5.4a, 5.4b, 5.4c) tuleb lahendada vähemalt üks.
Kontrollülesanne 5.4a Reisidiilid
Ada tahab minna reisile ja uurib viimase hetke pakkumisi. Võimalikud sihtkohad on kirjas failis (iga sihtkoht on eraldi real). Faili võite salvestada siit või koostada ise mõne tekstiredaktoriga.
Koostada programm, mis
- küsib kasutajalt failinime (kasutaja sisestab failinime koos laiendiga, nt sihtkohad.txt);
- loeb sisestatud nimega failist andmed;
- näitab kõik sihtkohad koos järjekorranumbritega (alates 1);
- küsib kasutajalt, mitmes sihtkoht broneerida (kasutaja sisestab alati täisarvu);
- väljastab ekraanile vastavalt valitud arvule sihtkoha.
Näide programmi tööst:
Näiteks antud näitefaili sihtkohad.txt puhul peab ekraanile ilmuma
>>> %Run lahendus.py
Palun sisestage failinimi: sihtkohad.txt
Võimalikud sihtkohad:
1. Los Angeles
2. Rhodos
3. Dubai
4. Manila
5. Mallorca
6. New York
Valige mitmes sihtkoht broneerida: 4
Reis on broneeritud. Sihtkoht on Manila.
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 5.4b Loomulik iive
Loomulik iive on elussündide arvu ja surmajuhtude arvu vahe. Failis synnid.txt on esitatud Eesti ühe aasta sündide registreerimisandmed kuude lõikes (https://andmed.stat.ee/et/stat/rahvastik__rahvastikusundmused__sunnid/RV061). Failis surmad.txt on kirjas Eesti ühe aasta surmajuhtude registreerimise andmed (https://andmed.stat.ee/et/stat/rahvastik__rahvastikusundmused__surmad/RV04).
Programmi testimiseks kasutatakse lisaks ka järgmisi faile, mida võite salvestada või koostada ise mõne tekstiredaktoriga (nt Notepad):
- synnid_1.txt ja surmad_1.txt;
- synnid_2.txt ja surmad_2.txt;
- synnid_3.txt ja surmad_3.txt;
- synnid_4.txt ja surmad_4.txt.
Kirjutada programm, mis
- loeb failist synnid.txt sündide arvud kuude kaupa järjendisse nii, et esimene element on jaanuari kuu sündide arv, teine element on veebruari sündide arv jne;
- loeb failist surmad.txt surmade arvud kuude kaupa järjendisse nii, et esimene element on jaanuari kuu surmade arv, teine element on veebruari surmade arv jne;
- koostab loodud järjendite põhjal järjendi, kus elementideks on vastava kuu loomulik iive;
- väljastab ekraanile loomuliku iibe järjendi;
- väljastab kuu numbrid (jaanuar 1, veebruar 2 jne), mille korral oli iive positiivne.
Näide programmi tööst:
>>> %Run lahendus.py
[-319, -264, -83, -102, -17, 65, 81, 76, -58, -222, -217, -311]
6
7
8
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 5.4c Tahvli juurde
Mõned õpetajad on tavatsenud õpilasi tahvli juurde vastama kutsuda kuupäeva järgi vastavalt õpilaste nimekirjale. Näiteks 4. kuupäeval tuleb esimesena vastama nimekirjas 4. olev õpilane. Failis nimekiri.txt on õpilaste nimed, igaüks eraldi real. Üks selline, mis on genereeritud leheküljel https://randomwordgenerator.com/name.php, on siin. Võite ise koostada ka teistsuguse nimekirja.
Koostada programm, mis
- küsib failinime (eeldame, et kasutaja sisestatud nimega fail leidub ja seal on vähemalt 31 nime);
- loeb sisestatud nimega failist andmed;
- väljastab vastavalt tänasele kuupäevale õpilase nime, kes peab vastama tulema.
Programm peab tänase kuupäeva leidma automaatselt, aluseks saab võtta järgmise näite:
from datetime import * print(datetime.now().day)
Näide programmi tööst:
>>> %Run lahendus.py
Sisestage failinimi: nimekiri.txt
Vastama tuleb: Joosep Toots
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.
< eelmine | 5. nädala sisukord | järgmine > |