Autorské riešenie
[stiahni]

Riešenie úlohy by sme mohli rozdeliť do troch hlavných častí. Je potrebné zistiť, aký polomer bude mať kruhové pódium uprostred plochy štadióna. Ďalej vykresliť túto plochu ako obdĺžnik a pódium ako kruh. Nakoniec bolo potrebné spočítať, koľko vstupeniek je možné na tento koncert poskytnúť do predaja v závislosti od rozmerov štadióna.

Najprv teda vypočítame polomer kruhového pódia, tak aby tvoril presne 15% celej plochy štadióna. Využijeme nasledujúce vzťahy:

výpočet polomeru

  urobTu "pi 3.14
  urobTu "plocha :dlzka*:sirka
  urobTu "polomer odmocnina (0.15 * :plocha)/:pi
  (píš "Polomer "pódia "je :polomer "metrov.)

Na základe vypočítaného polomeru teraz už budeme vedieť nakresliť schému nášho štadióna ako obdĺžnik a kruh presne uprostred v ňom:

  NechFP "modra
  kruh 2*:polomer
  ph
  vz :dlzka/2
  vl 90
  do :sirka/2
  pd
  vp 90
  opakuj 2 [
    do :dlzka
    vp 90
    do :sirka
    vp 90
  ]

Nakoniec vypočítame a vypíšeme, koľko ľudí vojde na štadión ako súčet ľudí v hľadisku (20000 zo zadania) a ľudí na ploche (85% celej plochy * 2 ľudia na každý meter štvorcový zaokrúhlené na celé číslo).

  urobTu "plochaBezPodia 0.85*:dlzka*:sirka
  urobTu "ludiaPlocha :plochaBezPodia*2
  urobTu "kapacita zaokruhli 20000+:ludiaPlocha
  (píš "Kapacita "štadióna "je :kapacita "ľudí.)

Celá výsledná procedúra teda môže vyzerať nasledovne:

viem koncert :dlzka :sirka
  urobTu "pi 3.14
  urobTu "plocha :dlzka*:sirka
  urobTu "polomer odmocnina (0.15 * :plocha)/:pi
  (píš "Polomer "pódia "je :polomer "metrov.)
  NechFP "modra
  kruh 2*:polomer
  ph
  vz :dlzka/2
  vl 90
  do :sirka/2
  pd
  vp 90
  opakuj 2 [
    do :dlzka
    vp 90
    do :sirka
    vp 90
  ]
  urobTu "plochaBezPodia 0.85*:dlzka*:sirka
  urobTu "ludiaPlocha :plochaBezPodia*2
  urobTu "kapacita zaokruhli 20000+:ludiaPlocha
  (píš "Kapacita "štadióna "je :kapacita "ľudí.)
koniec

Zaujímavé riešenia:

  • vykreslenie pódia ako kružnica cez príkaz opakuj
  • rozmery štadióna niektorí z vás generovali náhodne, iní to zadávali ako vstupné parametre,
  • riešenia boli pomerne úspešné, veľa z vás použilo rovnaký postup ako vo vzorovom riešení.

Jedno z vašich vzorových riešení:

viem Koncert :dĺžka :šírka
  zmaz
  ph domov
  ;Najskôr sa zo stredu posunieme na ľavý dolný roh nášho štadióna:
  ;Svoju terajšiu xsovú súradnicu zmenšíme o polovicu dĺžky a ypsilonovú o polovicu šírky.
  nechxsur (xsur-(:dĺžka/2))
  nechysur (ysur-(:šírka/2))
  nechsmer 0
  pd
  nechfp "cierna
  ;Vykreslíme štadión.
  opakuj 2[do :šírka vp 90 do :dĺžka vp 90]
  ph
  domov
  ;Vypočítame obsah štadióna.
  urob "ObsahStadiona :dĺžka * :šírka
  ;Vypočítame obsah pódia.
  urob "ObsahKruhu ((:ObsahStadiona/100)*15)
  ;Vypočítame priemer pódia.Odvodili sme si ho zo vzorca na výpočet obsahu kruhu.(S=pí*r na druhú)
  urob "PriemerPódia ((odmocnina((:ObsahKruhu/3.14)))*2)
  ;Nakreslíme pódium.
   nechfp "cervena
   kruh :PriemerPódia
   ;Počet vstupeniek sme vypočítali tak, že sme obsah kruhu odčítali od obsahu štadióna.
   ;Ďalej sme to vynásobili 2(1 m2 = 2 korytnačky) a pričítali hľadisko 20000.
   urob "PocetVstupeniek cela(((:ObsahStadiona - :ObsahKruhu)*2)+20000)
   ;Vypísali sme koľko vstupeniek je možné predať.
   (pis "|Na danom koncerte môžme predať| :PocetVstupeniek "|vstupeniek.|)
koniec

Najčastejšie chyby:

  • rozmery štadióna zadávané napevno, len pre jeden konkrétny vstup
  • síce správny výpočet polomeru, ale nesprávne vykreslenie,
  • výpočet kapacity štadióna bolo vhodné zaokrúhliť na celé číslo,
  • plocha bez pódia tvorí 85% z celkovej plochy (vyskystli sa riešenia so 75%).