Materjalid koostas ja kursuse viib läbi
Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm
< eelmine | 6. nädala sisukord | järgmine > |
6.6 Kuuenda nädala kontrollülesanded 6.1, 6.2, 6.3
Kuuendal nädalal tuleb esitada nelja kohustusliku ülesande lahendused. Neljanda ülesande puhul on võimalik valida lahendamiseks vähemalt üks järgmistest ülesannetest, kas 6.4a, 6.4b või 6.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.
Erinevates poodides ja veebikauplustes võib kohata reklaame, mis kutsuvad inimesi ostlema. Reklaamimiseks kasutatakse näiteks bännereid, mis soovitud reklaamlauset korduvalt kuvavad.
Esmalt koostada funktsioon banner
, mis
- võtab argumendiks reklaamlause, mida soovitakse kuvada;
- tagastab reklaamlause, kus kõik tähed on suured tähed.
Näide funktsiooni tööst:
>>> banner("Osta ja Sa ei kahetse!")
'OSTA JA SA EI KAHETSE!'
Teiseks koostada programm, mis
- küsib kasutajalt, mitu korda soovitakse reklaamlauset kuvada;
- küsib kasutajalt, millist reklaamlauset soovib kasutada;
- rakendab tsükli abil kasutaja sisestatud arv kordi funktsiooni banner, kus igal tsükli sammul tuleb funktsioon välja kutsuda argumendiga, milleks on kasutaja sisestatud reklaamlause;
- väljastab loodud tsükli abil reklaamlause kasutaja sisestatud arv kordi.
Funktsiooni kirjelduses ei ole tsüklit, vaid funktsiooni kasutatakse tsükli kehas.
NB! Funktsiooni nimi peab olema täpselt see, mis on ülesandes ette antud.
Näited programmi tööst:
>>> %Run lahendus.py
Mitu korda soovite reklaamlauset kuvada? 3
Sisestage reklaamlause Ostan, müün ja vahetan!
OSTAN, MÜÜN JA VAHETAN!
OSTAN, MÜÜN JA VAHETAN!
OSTAN, MÜÜN JA VAHETAN!
>>> %Run lahendus.py
Mitu korda soovite reklaamlauset kuvada? 5
Sisestage reklaamlause Tulge kõik ostlema! Kõik -70%.
TULGE KÕIK OSTLEMA! KÕIK -70%.
TULGE KÕIK OSTLEMA! KÕIK -70%.
TULGE KÕIK OSTLEMA! KÕIK -70%.
TULGE KÕIK OSTLEMA! KÕIK -70%.
TULGE KÕIK OSTLEMA! KÕIK -70%.
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 6.2. Teleri suurus (tollides)
Optimaalseks kauguseks teleri ja vaataja silmade vahel arvatakse olevat 2,5 korda ekraani diagonaali pikkus. Seega kui on teada kaugus diivanist teleri asukohani, siis teleri sobiva diagonaali saab arvutada järgmise valemi järgi:
(teleri diagonaal tollides) = (kaugus meetrites) * 100 * 0,39 / 2,5
Esiteks defineerida funktsioon nimega teleri_diagonaal
, mis
- võtab argumendiks ühe arvu, mis tähistab kaugust diivanist teleri asukohani meetrites;
- arvutab selle põhjal teleri diagonaali tollides;
- tagastab teleri diagonaali tollides.
Tagastatud teleri diagonaal peab olema ümardatud täisarvuni. Ümardamist peab sooritama funktsioon ise ja selleks tuleb kasutada funktsiooni round
.
Teiseks rakendada loodud funktsiooni programmis, kus
- kaugus diivanist telerini (meetrites) küsitakse kasutaja käest;
- väljastatakse teleri diagonaal (tollides) ekraanile.
Oluline on, et teleri diagonaali arvutamise funktsioon ise ei küsiks kasutajalt midagi ja see funktsioon ise ka ei väljastaks tulemust ekraanile. Need tegevused peab tegema programmis väljaspool funktsiooni, funktsiooni töö on vaid arvutada.
NB! Funktsiooni nimi peab olema täpselt see, mis on ülesandes ette antud.
Näited programmi tööst:
>>> %Run lahendus.py
Sisestage kaugus: 4
62
>>> %Run lahendus.py
Sisestage kaugus: 2.75
43
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 6.3. Peo eelarve
Juubelile on kutsutud hulk inimesi, kellest osa on teatanud, et nad tulevad ja ülejäänute kohta ei ole midagi teada. Peo eelarve koosneb kahest osast: söök ja ruumi rent. Söögi peale arvestatakse iga osaleja kohta 10 eurot. Ruumi rent maksab sõltumata osalejate arvust 55 eurot. Planeerimiseks on vaja programmi, mis arvutab
- maksimaalse eelarve (arvestades, et kõik kutsutud inimesed tulevad kohale) ja
- minimaalse eelarve (arvestades, et kohale tulevad ainult need, kes on juba seda teatanud).
Esmalt koostada funktsioon eelarve
, mis
- võtab argumendiks külaliste arvu tähistava täisarvu;
- arvutab selle põhjal eelarve kogusumma;
- tagastab eelarve kogusumma. Näiteks argumendiga 5 tagastab funktsioon arvu 105.
Teiseks koostada programm, mis
- küsib kasutajalt kutsutud inimeste arvu;
- küsib kasutajalt inimeste arvu, kes on juba tulemisest teatanud;
- arvutab ja väljastab ekraanile maksimaalse eelarve, kasutades koostatud funktsiooni
eelarve
; - arvutab ja väljastab ekraanile minimaalse eelarve, kasutades koostatud funktsiooni
eelarve
.
Näited programmi tööst:
>>> %Run lahendus.py
Mitu inimest on kutsutud? 25
Mitu inimest tuleb? 15
Maksimaalne eelarve: 305 eurot
Minimaalne eelarve: 205 eurot
>>> %Run lahendus.py
Mitu inimest on kutsutud? 80
Mitu inimest tuleb? 48
Maksimaalne eelarve: 855 eurot
Minimaalne eelarve: 535 eurot
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 | 6. nädala sisukord | järgmine > |