Kolmanda nädala kontrollülesanded
Enne 3. praktikumi tuleb esitada kolme kohustusliku ülesande lahendused. Lahendused tuleb esitada Moodle'is, kus need kontrollitakse automaatselt.
Kontrollülesanne 3.1. Juku õpib
Juku õpib vanasõnu ja kõik ei jää talle kohe meelde. Nii otsustab ta raskemaid neist rohkem korrata. Nüüd soovib ta programmi, mis trükib iga vanasõna ekraanile nii mitu korda, kui mitu korda ta tahab seda üle lugeda.
Koostada programm, mis
- küsib kasutajalt vanasõna, mida korrata,,
- küsib kasutajalt, mitu korda vanasõna korrata,
- väljastab sama arv kordi ekraanile kasutaja sisestatud vanasõna.
NB! Kasutaja käest peab kindlasti küsima kaks korda.
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 3.2. Lillede arv
On traditsioon, et rõõmsatel puhkudel kingitakse paaritu arv lilli. Lillepoel on sünnipäev ja pood otsustas klientidele kinkida lilli nii, et päeva esimene ostja saab ühe lille, teine ei saa ühtegi, kolmas ostja saab kolm lille, neljas ei saa midagi, viies ostja saab viis lille jne.
Koostada programm, mis
- küsib kasutajalt klientide arvu (mittenegatiivne täisarv);
- arvutab while-tsükli abil lillede koguarvu, mida pood kingib;
- väljastab saadud lillede arvu ekraanile.
Vihje: lillede koguarvust võib mõelda kui summast, milles liidetavad on paaritud arvud alates 1 kuni esimese paaritu arvuni, mis pole suurem kui klientide arv.
Näiteks, kui kasutaja sisestas 7, siis paaritute arvude summa on 16, sest 1 + 3 + 5 + 7 = 16. Kui kasutaja sisestas 8, siis on summaks samuti 16, sest 1 + 3 + 5 + 7 = 16.
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 3.3. Uksekoodi generaator
Turvafirmal on vaja genereerida uste lukustussüsteemi tarbeks uksekoode, kus uksekoodi pikkus sõltub kliendi soovist.
Koostada programm, mis
- küsib kasutajalt uksekoodi pikkuse;
- tekitab nõutud pikkusega uksekoodi (genereerib vastava arvu juhuslikke numbreid (lõigust [0; 9]));
- väljastab kõik numbrid ühes reas (ilma tühikuteta).
Vihje: kui kasutada tsüklit, mis teeb kasutaja sisestatud arvu samme, siis igal sammul tuleb genereerida üks juhuslik arv. Üks võimalus saadud arvude väljastamiseks on seda teha jooksvalt tsükli sees (proovida reavahetuste vältimiseks anda print käsule teine parameeter näiteks nii: print(1, end="")
).
Näited programmi tööst: