直感的な「角度の理解」に向けて ④ ~ クイズ形式に ~

先日から、スクロールバーで扇形の角度増減を行うマクロに取り組んでいる。
infoment.hatenablog.com
本日は、これをクイズ形式にしてみる。
f:id:Infoment:20190523223500p:plain
小学生が習いたての頃は、算数の様々な概念は感覚として身についておらず、数字を正確にイメージできない場合が多い。例えば我が家の長男は、お菓子を配る問題で割り算と掛け算を間違えて、解答で一人に5000個ずつ飴を配ったりしていた。
数字の大きさと現実が、上手くリンクしていなかったためだろう。
そんな長男も、今は中学生になり、もちろん5000個配るような答えになれば、即「これはおかしい」と気づくことが出来る。個人的には、この「違和感」を持てるかどうかが、極めて重要だと思う。

そこで、我が家の長女の「角度問題」についても、角度の大きさと数字の不整合に違和感を持てるよう、クイズ形式にすることを試みた。

例)
Q.120°にしなさい
A.スクロールバーで、120°まで扇形を開いてみる

まずは、昨日のユーザーフォームに一手間加える。こんな感じだ。
f:id:Infoment:20190523224129p:plain

今回は、主に以下の3つが追加されている。

  1. 開始ボタン(StartButton)
  2. 判定ボタン(JudgeButton)
  3. 指定角度表示用ラベル(Label5)

開始ボタンを押すと、乱数で0~360までの整数を作成。スクロールバーで角度を調整して、判定ボタンで答え合わせとなる。今回追加したコードがこちら。

Dim Answer As Long

Private Sub StartButton_Click()
    Answer = Rnd * 360
    Label5.Caption = "指定角度:" & Answer & "°"
    ScrollBar1.Value = 90
End Sub

Private Sub JudgeButton_Click()
    Dim Result As Long
        Result = ScrollBar1.Value - Answer
        
        If Result < 0 Then
            MsgBox "残念! " & Result & "°小さいです。"
        ElseIf Result > 0 Then
            MsgBox "残念! " & Result & "°大きいです。"
        Else
            MsgBox "正解!!"
        End If
End Sub

実際に動かしてみると、こんな感じだ。
f:id:Infoment:20190523224601g:plain

左下に見えている答えを隠したりなどが必要で、まだ完成には程遠い。

明日に続きます。

参考まで。