2.つり合いのプログラムを考える |
(1)GOで始める(ア)の流れをプログラミングする。 |
英語 |
日本語 |
to GO
everyone[setpos [0 0]]
setGT 0
setGTbk 0
setGTbk2 0
GG
end |
手順は GO
全部「位置は「0 0」」
GTは 0
GTbkは 0
GTbk2は 0
GG
終わり |
|
(2)(イ)の流れをプログラミングする。 |
英語 |
日本語 |
to GG
g, setx GT
setmL2 0 mL LL + GT
setmR2 0 mR LL - GT
ifelse mL2 - mR2 > 0 [setGT GT - 1][setGT GT + 1]
if GTbk2 = GT [stopall]
setGTbk2 GTbk
setGTbk GT
GG
end |
手順は GG
g、 横の位置は GT
mL2は 0 mL LL + GT
mR2は 0 mR LL + GT
もしどちらかを mL2 - mR2 > 0 「GTは GT - 1」「GTは GT + 1」
GTbk2は GTbk
GTbkは GT
GG
終わり |
|
(3)(ウ)の流れをプログラミングする。 |
英語 |
日本語 |
to mL :mm
k, setx GT
dotimes [i :mm ]
[
setmL1 0
setx xcor - 1
repeat HH
[
fd 1
if colorunder > 1 [setmL1 mL1 + 1]
]
sety 0
if mL1 < 1 [stop]
setmL2 mL2 + mL1 * (:i + 1) * mL1 * (:i + 1)
]
end |
手順は mL :mm
k、 xは GT
それぞれの数字をやる 「i :mm」
「
mL1は 0
xは 横の位置 - 1
くりかえす HH
「
前へ 1
もし 下の色 > 1 「mL1は mL1 + 1」
」
yは 0
もし mL1 < 1 「止まる」
mL2は mL2 + mL1 × (:i + 1) × (:i + 1)
」終わり |
|
(4)(エ)の流れをプログラミングする。 |
英語 |
日本語 |
to mR :mm
k, setx GT
dotimes [i :mm ]
[ setmR1 0
setx xcor + 1
repeat HH
[
fd 1
if colorunder > 1 [setmR1 mR1 + 1]
]
sety 0
if mR1 < 1 [stop]
setmR2 mR2 + mR1 * (:i + 1) * mR1 * (:i + 1)
]
end |
手順は mR :mm
k、 xは GT
それぞれの数字をやる 「i :mm」
「
mR1は 0
xは 横の位置 + 1
くりかえす HH
「
前へ 1
もし 下の色 > 1 「mR1は mR1 + 1」
」
yは 0
もし mR1 < 1 「止まる」
mR2は mR2 + mR1 × (:i + 1) × (:i + 1)
」終わり |
|
(5) を左クリックすると ニンジンがつり合うまで、が移動します。 |
|