Autorské riešenie
[stiahni]

Najprv si načrtneme obrázok obdlžníkovej pláže so štvorcovými dekami. Na základe neho si vypočítame počet diek na šírku a počet diek na dĺžku a tiež vzdialenosti diek od okrajov pláže. Potom vykreslíme pláž a nakoniec aj deky.

obrazok plaze

Počet diek na šírku nx vypočítame ako celočíselný podiel výrazov sirka-diera a deka+diera. Podobne vypočítame počet diek na dĺžku ny ako celočíselný podiel výrazov dlzka-diera a deka+diera.

Zvyšnú vzdialenosť na šírku zx vyjadríme ako sirka-diera-nx(deka+diera) a zvyšnú vzdialenosť na dĺžku zy ako dlzka-diera-ny(deka+diera) .

Potom vykreslíme obdlžníkovú pláž, posunieme sa na šírku o vzdialenosť diera+zx/2 a na výšku o vzdialenosť diera+zy/2. Z tejto pozície vykreslíme ny radov diek s nx dekami v každom rade. Riešenie úlohy môže vysledovať nasledovne:

viem kresli :sirka :dlzka :deka :diera
  ;vypocet poctu diek na sirku nx a poctu diek na dlzku ny
  urobTu "nx div :sirka-:diera :deka+:diera
  urobTu "ny div :dlzka-:diera :deka+:diera

  ;vypocet zvysnej vzdialenosti na sirku zx a zvysnej vzdialenosti na dlzku zy
  urobTu "zx :sirka-:diera-:nx*(:deka+:diera)
  urobTu "zy :dlzka-:diera-:ny*(:deka+:diera)

  ;vykreslenie obdlznikovej plaze
  ph
  nechHp 3
  nechFp "cierna
  nechFv "siva10
  polygon [
    opakuj 2 [
      do :dlzka
      vp 90
      do :sirka
      vp 90
    ]
  ]

  ;posunutie sa na zaciatok kreslenia diek
  do :diera+:zy/2
  vp 90
  do :diera+:zx/2
  vl 90

  ;kreslenie diek
  nechFv "zlta10
  opakuj :ny [
    opakuj :nx [
      polygon [
        opakuj 4 [
          do :deka
          vp 90
        ]
      ]
      vp 90
      do :deka+:diera
      vl 90
    ]
    vl 90
    do :nx*(:deka+:diera)
    vp 90
    do :deka+:diera
  ]

  ;posunutie sa na zaciatok kreslenia plaze - lavy dolny roh plaze
  vz :ny*(:deka+:diera)
  vz :diera+:zy/2
  vp 90
  vz :diera+:zx/2
  vl 90
koniec

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

  • Úlohu riešilo 6 tímov. Väčšina tímov získala plný počet bodov. Len dva tímy nedomysleli situáciu, keď je pláž natočená do iného smeru ako na sever. Pokiaľ chceme vytvárať všeobecnejšie riešenie úlohy, neodporúčame používať počas výpočtu príkaz domov, resp. znova. Tím Korytnačky vo svojom riešení využil prostredie s posúvačmi pre vstup parametrov.