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.
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.
|