スクラッチプログラミング日記

簡単に作れるスクラッチプログラミング。プログラミング教育用に使っていければと思います。コードは自由に使って下さい。

プログラミング教育:英語の問題を作ってみよう

クラッチプログラミング:

お題:英語の問題を作ってみる

狙い:英語に対して日本語を選ぶ問題作成をプログラミングを通して学ぶ

導入:英語の単語に対して、複数の選択肢を作って、正解の日本語を選ぶような問題をプログラミングによって実現してみましょう。

ここでは、英語の2択問題を作ってみます。

 クラッチプログラミングのやり方:

1.適当なスプライトを3つ選ぶ

・ スプライト1、Bear、Penguin2

f:id:rei_taitai:20210114202617p:plain

この中で問題を出すスプライトが1つと、答えを出すスプライトを2つ決めておく

 

2.各スプライト適当な位置に配置する

f:id:rei_taitai:20210114202904p:plain


ここで、スプライトの大きさが大きすぎる場合は、大きさの所を数値を小さくする。

 

 3.問題を出すスプライトの画面で行う操作

・イベントから、「このスプライトが押されたとき」をドラッグ&ドロップする

f:id:rei_taitai:20210114211513p:plain

・変数から、「変数を0にする」をドラッグ&ドロップする

f:id:rei_taitai:20210114211601p:plain

・演算から、「1から10までの乱数」をドラッグ&ドロップする

f:id:rei_taitai:20210114211637p:plain

・これらを以下のように結合して、乱数の数値を変更する。数値は問題の数にする(ここでは4問出すので4にする)

f:id:rei_taitai:20210114212056p:plain

これでこのスプライトがクリックされた時、変数が1から4のランダムな値になる

〇問題文を作成する

・制御から「もし なら」

f:id:rei_taitai:20210114223034p:plain

・演算から以下をもってくる

f:id:rei_taitai:20210114223111p:plain

・変数をもってきて、以下のように結合し、数値を1に変更する

f:id:rei_taitai:20210114223347p:plain

・見た目から「こんにちは!と言う」をもってきて、「こんにちは!」を「apple」に変更

f:id:rei_taitai:20210114224313p:plain 

f:id:rei_taitai:20210114224335p:plain

これは、スプライトが吹き出しの中に「apple」という言葉を表示するのに使用する

・新しいメッセージを選択

f:id:rei_taitai:20210103155620p:plain

apple」と入力する

f:id:rei_taitai:20210114224714p:plain

そうすると、以下のように「apple」というメッセージを送るコードが出来る

f:id:rei_taitai:20210114224805p:plain

・以下のように結合する

f:id:rei_taitai:20210114224940p:plain

これで変数が1の時に、スプライトがappleと話し、appleというメッセージを送るコードが出来る。これが1つ目の英語の単語問題となる。

f:id:rei_taitai:20210116104927p:plain


・同様なやり方で2、3、4つ目の問題を作成し、全てを結合する

f:id:rei_taitai:20210114225327p:plain

これで問題を出すほうのスプライトのコード入力は終わり

4.答えを出すスプライトの画面で行う操作:答えを出す

・イベントから「~を受け取った時」のappleを選ぶ

f:id:rei_taitai:20210116103012p:plain

・正解の時の言葉を選ぶ。見た目から「~と言う」を選び、「りんご」と入力

f:id:rei_taitai:20210116104631p:plain

こうすると、appleという問題が出た時に、りんごという言葉をいう

f:id:rei_taitai:20210116105130p:plain

・不正解の時の言葉も別のスプライトに準備する

f:id:rei_taitai:20210116105656p:plain

 

そうすると以下のようになる

f:id:rei_taitai:20210116105800p:plain

 同様に他のメッセージでも正解、不正解の言葉を作る。

5.答えを出すスプライトの画面で行う操作:正解不正解の表示

・答えを出すスプライト2つに対して、それぞれ変数を1つ作る。ここでは、「このスプライトのみ」にするのがポイント。

そうすると、作った変数はスプライト毎に独立したものになる。

f:id:rei_taitai:20210116112257p:plain

f:id:rei_taitai:20210116112515p:plain

・画面に変数を表示させないように、変数のチェックを消す

f:id:rei_taitai:20210116113345p:plain

・正解のほうの言葉のほうに、この変数を1にするを入れる

f:id:rei_taitai:20210116113558p:plain

・不正解のほうの言葉のほうに、この変数を0にするを入れる

f:id:rei_taitai:20210116113724p:plain

 ・スプライトをクリックした時に、正解か不正解かを表示するコードを作る

変数が1の時に正解、0の時に不正解を出す時はこちら

f:id:rei_taitai:20210116114014p:plain

6.実際に問題を出すスプライトを押してみよう

・マウスで問題を出すスプライトの絵をクリックすると、正解か不正解の言葉を話すようになる。

f:id:rei_taitai:20210116114503p:plain

正解のほうをクリックすると「正解」、不正解のほうをクリックすると「不正解」の言葉を話す

f:id:rei_taitai:20210116114736p:plain

7.まとめ

英語の学習では、英単語を覚えるというのがありますが、それがクイズのようにした時にどのような仕組みで作られているかをプログラミングを通して学びます。

さらに応用として、背景、選択肢の追加、問題を追加するとよいと思います。もちろん、英語以外の問題も作れます。

 

※実際に作成したコードみたい場合は以下のURLから、「中を見る」を押すと見れます

https://scratch.mit.edu/projects/469613279

完成したものはこちらです。