• 検索結果がありません。

各 10 問ある問題ジャンルごとの児童の正解数の抽出と一台の児童機の正解・不

ドキュメント内 小学校プログラミング必修化に向けての (ページ 98-116)

第 6 章 クラウド変数を用いた「めざせ!ローマ字マスター☆~えい語とのちがいを知ろう

6.7 本アプリにある機能とそのプログラム

6.7.5 各 10 問ある問題ジャンルごとの児童の正解数の抽出と一台の児童機の正解・不

を重複させない機能

本アプリでは、「そのままえい語でも使えるローマ字」「日本語とえい語で強く(高く)

読む音の場所がちがう語」「ローマ字とえい語で文字のならびや音がちがうもの」の問題ジ ャンルごとに児童の正解数を抽出することが可能である。

(1)スプライト名:「わさび等出題文字」「アクセント出題文字」「綴り出題文字」

スプライト「わさび等出題文字」「アクセント出題文字」「綴り出題文字」はそれぞれ10 このコスチュームを持っている(図6-48、図6-49、図6-50)。またスプライト「わさび等 出題文字」は図6-51のプログラムを持っている。プログラム1は旗がクリックされた時に、

指定された座標に再配置して表示させるプログラムである。プログラム2はメッセージ「ク リック仮」を受け取った時に、コスチュームをコスチューム1にした後に表示させ、座標 を初期位置から高い所の座標に移動して、次いで初期位置の座標に1秒かけて移動するプ ログラムである。メッセージ「クリック仮」が送られると問題ジャンル「そのままえい語 でも使えるローマ字」の課題が始まる。故にコスチュームを1問目に当たるコスチューム1 に指定しているのである。また、座標部分のプログラムに関しては、動的に見せるために 組んだもので、具体的には問題が上から落ちてくるように見えるようになる。プログラム3 に関しては、メッセージ「次の問題へ」を受け取った時に実行される。10問ある問題ジャ ンルの2問目以降のコスチュームを決めるプログラムである。まずは変数「問題番号」の 値が11より小さい、かつ変数「選択問題」の値が1かどうかを調べている。即ち、まだ問 題ジャンルの問題を10問解き終わっていない、かつ問題ジャンルは「そのままえい語でも 使えるローマ字」であるかどうかを調べているのである。条件を満たす場合、具体的に変 数「問題番号」の値を2から10まで階層的に調べて次の問題は何問目かを把握し、対応す るコスチュームに変えるようにしている。その後プログラム2と同様に、問題のコスチュ ーム画像が上から落ちてくるように見えるプログラムを実行する。プログラム4に関して、

本機能の核となるプログラムである。まずメッセージ「決定が押された」を受け取った時 にプログラムの実行が始まり、非表示にする。その後、変数「全員課題」の値が0、かつ変 数「選択問題」の値が1かどうかを調べている。即ち、現在は「おばあさん」等の問題を 解いている場面でなく問題ジャンルを解いている段階、かつ解いている問題ジャンルは「そ のままえい語でも使えるローマ字」であるかどうかを調べている。条件を満たす場合はプ ログラム3と同様、具体的に変数「問題番号」の値を2から10まで階層的に調べて、直近 で取り組んだ問題番号を把握する。次いで、それぞれの変数「問題番号」に対応した問題 の正解・不正解を判断するプログラムが実行される。「おばあさん」等の問題での正解・不 正解の判断手順と同様、リスト「入力文字」が変数「問題番号」に対応した問題の解答と 同じであるかどうかで判断する。例えば問題番号が1で「わさび」の問題を解いたとする と、正解であった場合メッセージ「正解」を送り、背景を「わさび」解説画面(図6-65(キ))

96

へと変える。次に、リスト「問題1正解不正解リスト」の1番目の値が0かどうかを調べ、

0であるならばクラウド変数「問題群1」の値を「100000000」加算し、リスト「問題1正 解不正解リスト」の1番目の値を1にする。不正解であった場合はメッセージ「不正解」

を送り、背景を「わさび」解説画面へと変える。次に、リスト「問題1正解不正解リスト」

の1番目の値が1かどうかを調べ、1であるならばクラウド変数「問題群1」の値を

「100000000」減算し、リスト「問題1正解不正解リスト」の1番目の値を0にする。ク ラウド変数の値を変える前にリスト「問題1正解不正解リスト」の1番目の値を調べるよ うにすることで、ある児童が再び同じ「そのままえい語でも使えるローマ字」の問題を取 り組んでその1問目が1回目、2回目と同じ結果であった場合もクラウド変数「問題群1」

を変化させる処理は1回しか行われないようにすることが可能となる。本アプリを扱う前 に筆者が長さ10のリスト「問題1正解不正解リスト」のそれぞれに初期値として0を格納 している。リスト「問題1正解不正解リスト」では1は正解、0は不正解の意味を持つ。こ こで不正解に着目すると、初期値として0が入れられているので、初めて児童が問題ジャ ンルに取り組む際でも、すでに「各問題に関して不正解している」状況となる。児童にと っての1回目で、1問目の問題が不正解だったとしてもクラウド変数「問題群1」の値が

「100000000」減算されることはなくなるのである。このようにすることで、抽出する児 童の正解数が0を下回る、あるいは授業を受けた児童数を上回るということをなくすこと が可能となるのである。さて、ここではプログラム4は省略して表示しているため確認す ることができないが、変数「問題番号」の値が5になる時まででは、正解・不正解時に変 化させるクラウド変数は「問題群1」で、変数「問題番号」の値が2の時から順に「1000000」

「10000」「100」「1」増減させるようにしている。変数「問題番号」も値が6から10の時 は、クラウド変数「問題群1’」を用いて変数「問題番号」の値が2の時から順に「100000000」

「1000000」「10000」「100」「1」増減させるようにしている。また、変数「問題番号」も 値が10であるときには図6-51(d)のように正解・不正解の判断プログラムの実行の後に変 数「問題フラグ1」の値を0にするプログラムブロックがある。

スプライト「アクセント出題文字」「綴り出題文字」が持つプログラムに関して、構造的 にはスプライト「わさび等出題文字」が持つプログラムと同じである。異なる部分を挙げ ていく。プログラム2に関して、スプライト「アクセント出題文字」「綴り出題文字」では それぞれメッセージ「クリック仮2」「クリック仮3」を受け取った時に実行が開始される。

プログラム3では、最初に実行される条件分岐プログラムで調べる変数「選択問題」の値 が異なる。スプライト「アクセント出題文字」「綴り出題文字」ではそれぞれ変数「選択問 題」の値が2、3であるかどうかを調べている。プログラム4でもプログラム3と同様、調 べる変数「選択問題」の値が異なり、スプライト「アクセント出題文字」「綴り出題文字」

ではそれぞれ変数「選択問題」の値が2、3であるかどうかを調べている。また、スプライ ト「わさび等出題文字」ではクラウド変数「問題群1」「問題群1’」、変数「問題フラグ1」、 ローカル変数「ローカルa」、リスト「問題1正解不正解リスト」を用いていたが、対応し

97

てスプライト「アクセント出題文字」ではクラウド変数「問題群2」「問題群2’」、全域変数

「問題フラグ2」、ローカル変数「ローカルb」、リスト「問題2正解不正解リスト」、スプ ライト「綴り出題文字」ではクラウド変数「問題群3」「問題群3’」、全域変数「問題フラグ

3」、ローカル変数「ローカルc」、リスト「問題3正解不正解リスト」を用意し、スプライ

ト「わさび等出題文字」と同じように使用している。

98

(a) コスチューム1 (b) コスチューム2

(c) コスチューム3 (d) コスチューム4

(e) コスチューム5 (f) コスチューム6

(g) コスチューム7 (h) コスチューム8

(i) コスチューム9 (j) コスチューム10

図6-48 スプライト「わさび等出題文字」が持つコスチューム

99

(a) コスチューム1 (b) コスチューム2

(c) コスチューム3 (d) コスチューム4

(e) コスチューム5 (f) コスチューム6

(g) コスチューム7 (h) コスチューム8

(i) コスチューム9 (j) コスチューム10

図6-49 スプライト「アクセント出題文字」が持つコスチューム

100

(a) コスチューム1 (b) コスチューム2

(c) コスチューム3 (d) コスチューム4

(e) コスチューム5 (f) コスチューム6

(g) コスチューム7 (h) コスチューム8

(i) コスチューム9 (j) コスチューム10

図6-50 スプライト「綴り出題文字」が持つコスチューム

101

(a) プログラム(その1)

(b) プログラム(その2)

図6-51 スプライト「わさび等出題文字」が持つプログラム

102

(c) プログラム(その3)

図6-51 スプライト「わさび等出題文字」が持つプログラム(続き)

103

(d) プログラム4の内、変数「問題番号」の値が10である時に実行される部分

(2)スプライト名:「問題群の正解数表示ボタン」

スプライト「問題群の正解数表示ボタン」は1つのコスチュームを持っている(図6-52)。 先生用画面(図6-4)で使用されている。図6-53はスプライト「問題群の正解数表示ボタ ン」が持っているプログラムである。プログラム1はクラウド変数「問題群1」「問題群1’」

「問題群2」「問題群2’」「問題群3」「問題群3’」を参照して、リスト「問題1正解不正解

リスト」「問題2正解不正解リスト」「問題3正解不正解リスト」にそれぞれ「そのままえ い語でも使えるローマ字」「日本語とえい語で強く(高く)読む音の場所がちがう語」「ロ ーマ字とえい語で文字のならびや音がちがうもの」の正解数を格納するプログラムである。

旗がクリックされた時に実行が開始されるが、ユーザー名「yoshikento」、つまり先生機で しか動作しないようになっていて、随時正解数を更新できるようにずっと動くようにして ある。具体的に正解数が格納される仕組みを「そのままえい語でも使えるローマ字」の問 題ジャンルを例に出して説明する。「そのままえい語でも使えるローマ字」では正解数を集

図6-51 スプライト「わさび等出題文字」が持つプログラム(続き)

ドキュメント内 小学校プログラミング必修化に向けての (ページ 98-116)