Viienda nädala kontrollülesanded
Enne 5. praktikumi tuleb esitada kolme kohustusliku ülesande lahendused. Lahendused tuleb esitada Moodle'is, kus need kontrollitakse automaatselt.
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 banner
funktsiooni rakendamisest:
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ä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.
Kontrollülesanne 5.2. Teleri kaugus
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_kaugus
, mis
- võtab argumendiks ühe täisarvu, mis tähistab teleri diagonaali tollides;
- arvutab selle põhjal teleri ja diivani vahelise kauguse meetrites;
- tagastab teleri ja diivani vahelise kauguse meetrites.
Tagastatud teleri ja diivani vaheline kaugus peab olema arvutatud kahe komakoha täpsusega. Ümardamist peab sooritama funktsioon ise ja selleks tuleb kasutada funktsiooni round
.
Teiseks rakendada loodud funktsiooni programmis, kus
- teleri diagonaal (tollides) küsitakse kasutaja käest;
- väljastatakse teleri ja diivani vaheline kaugus (meetrites) ekraanile.
Oluline on, et teleri ja diivani kauguse 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:
Kontrollülesanne 5.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 ei sõltu osalejate arvust ja on vaikimisi 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 ja lisaargumendina ruumi rendi, mis on ümardatud täiseurodeks (vaikimisi on rent 55);
- 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;
- küsib kasutajalt ruumi rendi (täisarvuna, vaikimisi 55);
- 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:
Lugege vaikeväärtus sõnena ja kontrollige selle tühjust. Alternatiivina võib kasutada veatöötlust try-except
.