マウスの落下運動  作品例:マウスの落下.mwx

コンピュータマウスをすべり落として落下するようすをグラフにしましょう。
中3マウスの落下運動のダウンロード

  CDケース(同じぐらいの大きさの板、本)の上に

 コンピュータマウスを置いて、

 を左クリックしてから、

 CDケースをかたむけてマウスをすべり落とします。

 放物線(ほうぶつせん)とよばれるグラフができます。

<考え方>
台車の実験からわかること
(1)斜面の角度が多くなるほど、斜面に平行な、すべり落ちようとする力の大きさは大きくなる。
(2)斜面をすべり落ちる速さは、だんだん速くなる。 
(3)すべり落ちようとする力が大きいほど、速さの増し方は大きくなる 
プログラミングでできる実験を考える 
(1)小さな板の上にコンピュータマウスを置いて、すべり落とす。 
(2)コンピュータマウスの動き方をプログラムで調べてグラフにする。
どんなプログラミングをしたらよいかを考える 
(1)コンピュータマウスを板の上に置いて、坂をかたむける。 
(2)コンピュータマウスが動き始めたら、マウスカーソルの位置を調べて、グラフにする。
  ・ kame1をマウスの位置にする。
  ・マウスが動く前の位置にkame2をおき、動いたカメとのきょりを調べる。

<プログラミング> マウスの落下のもとを 左クリックしてはじめましょう。 


1.コンピュータマウスの動きを調べるプログラムを書く。
(1)KAME2がマウスの動きに合わせて動くようにプログラムを書きます。プログラミングします。  を書きます。
   KAME2, setpos mousepos
(2)マウスがすべった距離を調べるプログラムを書きます。
   すべり始める位置に G(カメ)を置き、Gまでの距離を調べ、テキストボックスのL に書きます。
   setL distance "G
英語 日本語
to GO
G, if G1 = ”true [G2]
end
to G2
dotimes[i 100]
[
KAME2, setpos mousepos
setL distance "G
KAME3, setx -930 + :i * 2 sety 940 - L
]
end
手順は GO
G、 もし G1 = ”true 「G2」
終わり
手順は G2
それぞれの数字をやる「i 100」

KAME2、 位置は マウスの位置
Lは 距離 ”G
KAME3、 たてのいちは -930 + :i × 2 よこのいちは 940 - L

終わり
G1は、の中に書かれた手順です。
dotimes[i 100」 は、100回くりかえします。そのとき、変数、ここでは :i0からずつふえ、100回の1つ前の99 まで変化します。 
 くりかえしのときにくりかえしている回数を使いたいときに便利な命令(関数)です。

2.コンピュータマウスの落下実験を行う。
(1) CDケースぐらいの板の上にマウスを置く。
(2)を左クリックして、板をかたむけていく。
(3)マウスをすべり落とします。
(3)放物線(ほうぶつせん)とよばれるグラフができます。


 発展
(1) カメGのプログラムを調べてみよう。
  を右クリックして、設定から開くと、G1が書かれています。最後の行で、自分自身のG1をよぶ、再帰処理(さいきしょり)です。
英語 日本語
to G1
setL "
G, setpos mousepos
KAME2, setpos mousepos
KAME3, setpos [-930 940] pd
clean
G, setpos mousepos
if (distance "KAME2) > 0.1 [output "true]
G1
end
手順は G1
Lは ”
G、 位置は マウスの位置
KAME2、 位置は マウスの位置
KAME3、 位置は 「-930 940」 ペンを下ろす
絵だけ消す
G、 位置は マウスの位置
もし (距離 ”KAME2) > 0.1 「表示 ”ほんとう」
G1
終わり
再帰処理(さいきしょり)を使って、くりかえし距離を調べ、距離が 0.1ドットを超えたら、ほんとう を返しています。