Institute of Computer Science
  1. Courses
  2. 2018/19 fall
  3. Computer Programming (LTAT.03.001)
ET
Log in

Computer Programming 2018/19 fall

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

  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment