Autorské riešenie
[stiahni]

Zo zadania vieme, že strapec má tvar trojuholníka v ktorom sa bobuľky vzájomne dotýkajú. Počet radov bobuliek je rovnaký ako počet slnečných týždňov. V poslednom rade je teda len jedna bubuľka. V najvyššom rade je počet bobuliek rovnaký ako počet slnečných týždňov. Veľkosť bobuliek je rovnaký ako množstvo zrážok v cm. Zo stredu horného radu vyrastá stopka.

Ak napršalo 20 cm a slnko svietilo 5 týždňov, strapec vyzerá takto:

Riešenie rozdelíme na kreslenie stopky a kreslenie bobuliek.

Stopka vyrastá v strede horného radu. Korytnačku presunieme do stredu horného radu a stopku vykreslíme. Šírka horného radu je súčinom počtu slnečných týždňov (počet bobuliek) a veľkosti bobuľky (množstvo zrážok). Korytnačka sa na začiatku nachádza v strede hornej ľavej bobuľky. Od stredu horného radu je teda vzdialená: (:tyzdnovSlnka-1) * :mnozstvoZrazok / 2.

Riešenie si uľahčíme tak, že hrúbku pera korytnačky nastavíme podľa toho, koľko cm vody napršalo.

viem kresliStrapec :mnozstvoZrazok :tyzdnovSlnka
  nechHP :mnozstvoZrazok
  nechFP"hneda
  ph
  vp 90
  do (:tyzdnovSlnka-1) * :mnozstvoZrazok / 2
  vl 90
  pd
  do :mnozstvoZrazok * 3
  vz :mnozstvoZrazok * 3
  ph
  vp 90
  vz (:tyzdnovSlnka-1) * :mnozstvoZrazok / 2
koniec

Samotné bobuľky budeme kresliť v dvoch cykloch. Vnútorný cyklus bude kresliť bobuľky v jednom rade. Vo vonkajšom cykle sa bude opakovať kreslenie radu bobuliek.

Všimnime si ešte, že ak sa kreslí prvý rad, počítadlo vonkajšieho cyklu má hodnotu 1. V hornom rade by malo byť toľko bobuliek, koľko bolo slnečných týždňov. Ak sa kreslí posledný rad, počítadlo má hodnotu rovnú počtu slnečných týždňov. V spodnom rade sa vykreslí len jedna bobuľka. Podľa počítadla, ktoré určuje ktorý rad sa vykresľuje, vieme zistiť koľko bobuliek má v danom rade byť: :tyzdnovSlnka - pocitadlo + 1. Presne toľko krát sa zopakuje vnútorný cyklus.

Výsledná procedúra môže vyzerať napríklad takto:

viem kresliStrapec :mnozstvoZrazok :tyzdnovSlnka
  nechHP :mnozstvoZrazok
  nechFP "hneda
  ph
  vp 90
  do (:tyzdnovSlnka-1) * :mnozstvoZrazok / 2
  vl 90
  pd
  do :mnozstvoZrazok * 3
  vz :mnozstvoZrazok * 3
  ph
  vp 90
  vz (:tyzdnovSlnka-1) * :mnozstvoZrazok / 2

  nechFP "zelena4
  opakuj :tyzdnovSlnka [
    opakuj :tyzdnovSlnka - pocitadlo + 1 [
      bodka
      do :mnozstvoZrazok
    ]
    vz (:tyzdnovSlnka - pocitadlo + 1) * :mnozstvoZrazok
    vp 60
    do :mnozstvoZrazok
    vl 60
  ]
koniec

Najčastejšie chyby, komentár k vašim riešeniam

Častou chybou, ktorá sa vo vašich riešeniach opakovala bolo, že bobuľky neboli v strapci správne umiestnené. Buď sa nedotýkali alebo sa vzájomne prekrývali.

Aj kreslenie stopky vám robilo problém. Buď ste na ňu zabudli alebo nebola správne umiestnená.