Arvutiteaduse instituut
  1. Kursused
  2. 2018/19 sügis
  3. Programmeerimine (LTAT.03.001)
EN
Logi sisse

Programmeerimine 2018/19 sügis

8. kodutöö

1. Reisi valimine

Kõik reisibüroost valitavad reisid on failis reisid.txt järgneval kujul, kus semikooloniga on eraldatud reisi nimetus ning hind eurodes. Üks faili reisid.txt võimalik sisu oleks:

 Helsingi päevakruiis;29
 matk Tokyo mägedes;700
 romantiline nädalalõpp Pärnus;150
 Praha pubiralli;400

Esmalt koosta funktsioon loetleReisid, mis võtab argumendiks failinime ning maksimaalse eelarve. Funktsioon peab antud failist välja valima reisid, mille maksumus mahub eelarvesse, ning koostama neist järjendi. Funktsiooni töö lõpus tuleb see järjend tagastada. Faili ridade sisselugemiseks võiks harjutamise mõttes kasutada funktsiooni readlines.

Funktsioon loetleReisid peab ülaloleva näitefaili reisid.txt puhul käituma järgmiselt:

>>> loetleReisid('reisid.txt', 200)
['Helsingi päevakruiis', 'romantiline nädalalõpp Pärnus']

Seejärel küsib programm kasutajalt talle sobilikku eelarvet ning leiab koostatud funktsiooni abil talle sobivad reisid failist reisid.txt. Ekraanile kuvada kõik reisid, mis eelarvesse mahtusid.

Näide programmi tööst:

 Sisesta sobiv reisi eelarve: 200
 Sobivad reisid on:
 Helsingi päevakruiis
 romantiline nädalalõpp Pärnus

2. Bingo!

Koosta argumentideta funktsioon bingo, mis genereerib bingonumbreid. Funktsioon peab järjendina tagastama 5 arvu, millest 3 on vahemikus 1 kuni 10 ning ülejäänud 2 on vahemikus 11 kuni 20.

Funktsioon ei tohi lubada sellist olukorda, kus järjendisse jääksid korraga 1, 2 ja 3. Sellisel juhul tuleb genereerida uued arvud.

Vihje. Kattumatute juhuslike arvude genereerimiseks saab kasutada funktsiooni sample teegist random (ettevaatust: funktsioonis range on vahemiku lõpp välja arvatud!):

>>> from random import sample
>>> sample(range(1, 5), 2)
[4, 1]

Näide funktsiooni tööst:

>>> bingo()
[8, 3, 5, 16, 11]

3. Müügihindade arvutamine

Kirjuta funktsioon arvutaHinnad, mis võtab argumendiks ujukomaarvudena esitatud hindade järjendi ning ujukomaarvuna esitatud juurdehindlusprotsendi.

Funktsioon peab tagastama uue järjendi, mis koosneb sisendiks antud hindadest, millele on lisatud juurdehindlus ning 20% käibemaksu.

Näide funktsiooni tööst:

>>> arvutaHinnad([100.0, 1200.0], 10.0)
[132.0, 1584.0]

4. Projektiteema valimine

Tutvu projekti nõuete ja soovitustega järgneval lehel. Leia endale rühmakaaslane ja esita koos rühmakaaslasega Moodle'i kaudu oma idee.

Projekti juhend: https://courses.cs.ut.ee/2018/programmeerimine/fall/Main/Projekt

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused