Autorské riešenie
[stiahni]

  • Počet riešiteľov: 11 / 22 = 50 %

  • Úspešnosť riešenia: 0,91 / 4 =  22,75 %

Táto úloha je pomerne jednoduchá. To čo musíme vyriešiť je, ako z času odrazu zistiť, aká farba kontrolky sa má zobraziť. Čas odrazu zistíme pomocou príkazu casOdrazu a kontrolku rozsvietime príkazom kontrolka farba.

Najskôr si ukážme ako z času odrazu vypočítame vzdialenosť. Pomôžeme si vzorcom:

vzorec

Z týchto troch vecí poznáme čas (casOdrazu) a rýchlosť. Rýchlosť šírenia ultrazvuku (použijeme fyzikálne tabuľky alebo internet) je 340 metrov za sekundu. Nezabudnime, že ak senzor zaznamenal odrazený zvuk, tento prešiel dráhu k prekážke 2x. Raz k nej a potom po odraze späť k senzoru. Budeme preto brať do úvahy len polovičný čas. Vzorec si upravíme tak, aby sme z času a rýchlosti vedeli vypočítať prejdenú dráhu:

vzorec

Prvá časť procedúry zobrazStav môže vyzerať nasledovne:

viem zobrazStav
 urobTu "vzdialenost casOdrazu / 2 * 340
koniec

Podľa toho, aká je vzdialenosť rozsvietime kontroplku príslušnej farby. Celá procedúra teda môže vyzerať nasledovne:

viem zobrazStav
  urobTu "vzdialenost casOdrazu / 2 * 340
  ak2 :vzdialenost < 0.2 [
    kontrolka "cervena
  ][
    ak2 :vzdialenost < 0.5 [
      kontrolka "oranzova
    ][
      kontrolka "zelena
    ]
  ]
koniec

Vaše zaujímavé riešenia a najčastejšie chyby

Túto úlohu vyriešil správne len jeden tím: Tym Bubaci v. 3. Gratulujeme.

Pri tejto úlohe ste robili nasledovné chyby:

  • namiesto vzdialenosti ste testovali čas ktorý vrátil senzor, to je síce tiež možné, ale potom tento čas (presnejšie jeho polovicu) treba porovnať s časom, za ktorý zvuk prejde vzdialenosť 20 cm, resp. 50cm,

  • niektorí testovali súradnice myšky, toto nie je správny prístup pretože mierka miestnosti je premenlivá, to znamená že jedna konkrétna pozícia korytnačky môže zodpovedať rôznym vzdialenostiam auta od steny,

  • niektorí z vás si neuvedomili, že zvuk, ktorý vyslal senzor prešiel danú vzdialenosť 2x, preto zistený čas od senzora je potrebné predeliť dvoma,

  • problémom bolo aj zostavenie podmienok podľa zadania, v niektorých prípadoch podmienky neobsiahli všetky možné vzdialenosti (používali ste len ostré nerovnosti) alebo naopak, niektoré vzdialenosti vyhovovali viacerým podmienkam.