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 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:
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.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:
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.