Autorské rie¹enie
Táto úloha je pomerne jednoduchá.
Hrúbku µadu a predpoveï priemerných teplôt na 10 dní zadávame na zaèiatku,
ako parametre. Keï¾e priemerné teploty sa naèítavajú do poµa, v podstate
je jedno, na koµko dní zadáme predpoveï, vyhodnotenie sa robí postupne pre
ka¾dý zadaný prvok podµa podmienok:
V prvej
èasti procedúry vyhodnotíme zmenu hrúbky µadu v daný deò, podµa zadanej
teploty pomocou vnorených podmienok:
Ak je teplota vonku ni¾¹ia ako -5 stupòov, tak hrúbka µadu sa zvý¹i o 2
cm, ináè testujeme, èi je teplota vonku vy¹¹ia ako +5 stupòov, vtedy
sa hrúbka µadu zmen¹í o 3 cm. Ak ani jedna podmienka nie je pravdivá,
potom teplota je zrejme v rozpätí -5 a +5, hrúbka µadu ostáva pôvodná,
nemusíme sa stara» o jej zmenu. Imagine Logo
viem
vhodneDni :hrubkaLadu :teploty Python
def
vhodneDni(hrubkaLadu,
teploty):
Podµa zákonov fyziky platí, ¾e ak sa µad roztopí, u¾
je z neho voda. Teda ak hrúbka µadu dosiahne nulovú hodnotu, u¾ pri ïal¹om
oteplení nemô¾e dosiahnu» zápornú hodnotu, jeho hrúbka bude ma» naïalej
nulovú hodnotu. Dá sa to rie¹i» jednoduchou podmienkou tak, ¾e ak
hrubkaLadu < 0, tak priradíme premennej hrubkaLadu 0.
Ostáva u¾ len zisti», èi daná hrúbka µadu je
postaèujúca pre usporiadanie majstrovstiev, èi teda má aspoò 30 cm?
Zistíme to jednoduchou podmienkou. Ak platí, ¾e aktuálna hrúbka µadu sa
mení podµa dennej teploty v priebehu dòa, a veèer je minimálne 30 cm, daný
deò vyhovuje podmienke. Podµa zadania staèí vypísa» len to, ¾e ktorý deò
je vhodný pre akciu. Poradie dòa sa urèí poèítadlom v cykle, teda uchováva
informáciu o aktuálnom poradí daného dòa.
Celkové rie¹enie mô¾e vyzera» takto:
Imagine Logo
viem vhodneDni :hrubkaLadu :teploty
Python
def
vhodneDni(hrubkaLadu, teploty):
den = 0 for teplota in teploty: den += 1 if teplota < -5: hrubkaLadu += 2 elif teplota > 5: hrubkaLadu -= 3 if hrubkaLadu < 0: hrubkaLadu = 0 if hrubkaLadu >= 30: print("Vhodny den:", den ) vhodneDni(25, [-6, -6, -6, 8, -6, 8, 8, -6, 7, 8]) Va¹e zaujímavé rie¹enia a najèastej¹ie chyby
Najèastej¹ou chybou bolo to, ¾e ste
si neuvedomili, ¾e hrúbka
µadu nemô¾e ma» zápornú hodnotu. Viacerí mali problém s naèítaním
vstupných dát pomocou zoznamu. Denné teploty je najvhodnej¹ie naèíta» do
zoznamu, a potom postupne prechádza» prvkami zoznamu pri vyhodnotení
podmienok. Naèítanie dát z textového poµa bez pou¾itia paramertrov nie je
veµmi efektívne.
Prekvapili ste nás s peknými pou¾ívateµskými rozhraniami, hlavne tím
Kubista_Macek
J
|
|||||||||
© Univerzita Pavla Jozefa ©afárika v Ko¹iciach, Prírodovedecká fakulta, Ústav informatiky palmaj (zavinac) upjs.sk |