Teise praktikumi ülesanded
Järgmisest kolmest ülesandest tuleb lahendada vähemalt üks. Lahendused tuleb esitada Moodle'is, kus need kontrollitakse automaatselt.
Eks seda tuleb ette ka edaspidi, et programm teeb põhimõtteliselt nõutud asja, aga väljastab midagi rohkem või vähem või kuidagi teisiti ei vasta täpselt ülesandele. (Näiteks on lahendus hoopis vingem kui ülesandes nõutud.) Sellisel juhul võib automaatkontroll teie lahenduse valeks lugeda.
Tervisesport on tervisele kasulik, kui sellega jäädakse mõõdukuse piiridesse. On erinevaid variante sobiva koormuse valimiseks. Näiteks saab kasutada sellist arvestust, et maksimaalne pulsisagedus on meestel 220 miinus vanus ja naistel 206 miinus 88% vanusest. Seejuures erinevate treeningutüüpide puhul peaks pulsisagedus jääma järgmistesse vahemikesse:
- tervisetreening 50-70% maksimaalsest pulsisagedusest,
- põhivastupidavuse treening 70-80% maksimaalsest pulsisagedusest,
- intensiivne aeroobne treening 80-87% maksimaalsest pulsisagedusest.
Koostada programm, mis küsib kasutajalt
- vanuse (täisarvuna aastates),
- soo (kasutaja sisestab M, m, N või n),
- treeningu tüübi (1 - tervisetreening, 2 - põhivastupidavuse treening, 3 - intensiivne aeroobne treening)
ja lõpuks väljastab pulsisageduse vahemiku vastavatel tingimustel formaadis <vähim pulss> kuni <suurim pulss>, kus vastuses leiduvad arvud on ümardatud täisarvudeks.
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.
Odavlennufirmad pakuvad reisijatele küllaltki soodsaid lennupileteid, kuid lisaväärtuse eest peavad reisijad juurde maksma. Näiteks kui tahetakse lennukis istekoht ise valida, siis ka seda saab lisatasu eest. Istekohta valides küsitakse inimeselt, kas ta soovib istuda akna äärde või mujale. Kui reisija ei taha valida, siis loositakse istekoht nii, et 1/3 tõenäosusega on see akna ääres ja 2/3 tõenäosusega mujal.
Koostada programm, mis vastab järgmistele tingimustele:
- Küsib kasutajalt, kas ta soovib istekoha ise valida. Ise valimiseks sisestab kasutaja ”ise”. Vastasel juhul kirjutab kasutaja ”loos”.
- Kui kasutaja soovis ise valida, siis küsitakse tema käest, kas ta soovib istuda akna ääres (kasutaja sisestab ”aken”) või mitte (kasutaja sisestab ”muu”).
- Kui kasutaja valis loosi, siis loositakse talle istekoht nii, et 1/3 tõenäosusega on see akna ääres ja 2/3 tõenäosusega mujal.
- Väljastatakse, kas kasutaja valis istekoha ise (”Valisite ise”) või valiti see loosiga (”Istekoht loositi”).
- Väljastatakse, kas kasutaja istekoht on akna ääres (”Aknakoht”) või mitte (”Vahekäigukoht”).
Lahendus peab korrektselt kasutama funktsiooni randint()
moodulist random
.
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.
Ülesanne 2.4c Busside logistika
Meil on vaja transportida teatud arv inimesi mingi arvu identsete bussidega. Eeldame, et reisijaid on vähemalt üks.
Koostada programm, mis küsib transporditavate inimeste arvu ja ühe bussi kohtade arvu (just sellises järjekorras) ning väljastab ekraanile, mitu bussi on vaja ja mitu inimest on viimases bussis (eeldusel, et kõik eelnevad bussid on täis).
Võib-olla on abi nendest tehetest
- // täisarvuline jagamine, 36 // 10 → 3
- % jäägi leidmine 36 % 10 → 6
Testige oma programmi muuhulgas järgmiste algandmetega:
- inimeste arv: 60, kohtade arv: 40;
- inimeste arv: 80, kohtade arv: 40;
- inimeste arv: 20, kohtade arv: 40;
- inimeste arv: 40, kohtade arv: 40.
Püüdke ka mõista, miks just sellised testandmed valiti.
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.
< eelmine? | 2. nädala sisukord | järgmine > |