Autorské riešenie
[stiahni]

Pri riešení tejto úlohy bolo potrebné pracovať s textom a porozumieť mu. Kalkulačka bola pripravená a stačilo doplniť tri procedúry. V zadaní bolo uvedené, že potrebujeme vypočítať zo známeho počtu jabĺk, množstvo potrebných košov a koľko koláčov je možné upiecť. Ďalej sme museli zistiť, koľko jabĺk sa zmestí do pripravených košov a koľko koláčov z nich môžeme upiecť. Pri výpočte zo známeho počtu koláčov, bolo potrebné vypočítať koľko jabĺk alebo košov budeme potrebovať. Kalkulačka sa nachádzala v pomocnom súbore.

jablkova_kalkulacka

V prvej procedúre zadaneJablka riešime výpočet zo známeho počtu jabĺk. Musíme si uvedomiť, že do jedného koša sa zmestí až 20 jabĺk a žiadne jablko nesmie ostať mimo koša. Zistíme teda, či máme nejaké jablká, ktoré sa nám do plných košov nezmestia a použijeme pre ne nový kôš. Tiež si musíme uvedomiť, že na jeden koláč potrebujeme aspoň 5 jabĺk (môžu nám teda 1 - 4 jablka zostať). Na ich výpočet nám stačí použiť celočíselné delenie.

viem zadanejablka
  jablkáText'nechHodnota početText'hodnota
  koláčeText'nechHodnota cPodiel početText'hodnota 5

  ak2 mod početText'hodnota 20 <> 0
   [košeText'nechHodnota 1+cPodiel početText'hodnota 20]
   [košeText'nechHodnota cPodiel početText'hodnota 20]

  čohoText'nechHodnota "Jablká
koniec

V druhej procedúre zadaneKose riešime výpočet zo známeho počtu košov. Musíme zistiť koľko jabĺk môžeme vložiť do košov a koľko koláčov z nich môžeme upiecť. V jednom koši môže byť až 20 jabĺk a teda postačí počet košov vynásobiť *20. Z jedného koša je možné upiecť 4 koláče a teda postačí počet košov vynásobiť *4.

viem zadaneKose
  košeText'nechHodnota početText'hodnota
  jablkáText'nechHodnota početText'hodnota*20
  koláčeText'nechHodnota početText'hodnota*4

  čohoText'nechHodnota "Koše
koniec

V tretej procedúre zadaneKolace riešime výpočet zo známeho počtu koláčov. Musíme zistiť koľko jabĺk potrebujeme na upečenie známeho počtu koláčov a teda koľko košov nám postačí. Na upečenie jedného koláča potrebujem aspoň 5 jabĺk a teda známy počet koláčov vynásobíme *5. Počet košov zistíme, ako v prevej procedúre, z už známeho počtu jabĺk.

viem zadaneKolace
  koláčeText'nechHodnota početText'hodnota
  jablkáText'nechHodnota početText'hodnota * 5
  ak2 zvysok početText'hodnota * 5 20 <> 0
   [košeText'nechHodnota 1 + cPodiel početText'hodnota * 5 20]
   [košeText'nechHodnota cPodiel početText'hodnota * 5 20]

  čohoText'nechHodnota "Koláče
koniec

V každej z procedúr nastavíme hodnotu zeleného okienka podľa toho, čo počet udáva.

Najčastejšie chyby:

  • V zelenom okienku sa má automaticky vypisovať čo počet udáva, nemáme to zadávať my.