こんにちは、沖縄のプログラミング教室「AID IT KIDS」のミチノリです。

Scratch(スクラッチ)で、さくらんぼ計算のサンプルプログラムを考えてみたので、少し書きたいと思います。

さくらんぼ計算とは、小学1年生でならう計算方法です。
二桁の計算や引き算等もありますが、今回は一桁の足し算についてです。

一般的なさくらんぼ計算では、「○+○=○」の「前」の数字が「10」になるように、「後ろ」の数字を分解します。

写真のように、前の数字が「7」で、後ろの数字が「9」の場合は、前の数字「7」が10になるように後ろの数字を分解します。

後ろの数字「9」を「3」と「6」に分解します。

そうすると、前の数字「7」+分解した数字「3」+「6」で計算する事が出来ます。

計算の流れは「7+3=10」となり、そこに6を足すことで16を求める事が出来ます。

最終的な答えが変わることはありませんが、一度、数字を「分解」して「合算」するという考え方がさくらんぼ計算の特徴だと思います。

 

さくらんぼ計算のサンプルプログラムでは、複数の「変数」を使います。

足し算の「前」と「後ろ」と「答え」で、まず3つの変数が必要です。

そして、さくらんぼ計算で分割した数字の「前」と「後ろ」の数値用にも2つ必要です。

今回は、最低でも5つの変数が必要ですね。まずはデータから5つ変数を作ります。

 

サンプルプログラムでは、プログラミングの基本的な3つの考え方である「逐次処理」、「条件分岐」、「繰り返しの処理(反復)」を学ぶことが出来ます。

まずは、足し算の「○+○」を作りますが、この部分では「前の数字」と「後ろの数字」の変数に、1から9までの乱数を発生させて入力します。

その際のポイントとして、今回のサンプルプログラムでは、足し算の合計が11以上にならないといけないので、「前の数字+後ろの数字>10まで繰り返す」を使います。

逐次処理を行いながら、11以上になるまで繰り返しの処理(反復)も行われますね。

 


「○+○」の値を乱数で入力した後は、「さくらんぼ前」と「さくらんぼ後ろ」と最後の「答え」を作ります。

この3箇所は、ユーザーが入力した値を入力するので「○○と聞いて待つ」のプログラムブロックを使います。

この部分の手順は、シンプルに作ります。

左のさくらんぼの数を聞いてから、その答えを「さくらんぼ前」に入力します。

同じ手順で、さくらんぼ後ろと答えにも数値を入れます。

ここまで作れる事が出来れば、まだ入力した値が正しいかどうかを判断するプログラム処理はありませんが、さくらんぼ計算の形を試すことまでは出来ます。

紙のプリントに自分で答えを書くのと同じ状態ですね。

小学校低学年やプログラミング学習をスタートしたばかりの子供達は、ここまでの流れを作り、逐次処理と反復の処理を学習します。


小学校高学年や中学生の場合は、ここからさらに条件分岐の処理を加えていきます。

Scratch(スクラッチ)は、子供向けビジュアルプログラミング言語として人気が高く、多くの子供たちに使われていますが、プログラミングのルールや概念は、他のプログラミング言語と同様です。

今回は「もし○○ならば、でなければ(if else)」のブロックを使って、正解の場合と不正解の場合で表示が切り替わるようにしています。

サンプルプログラムで定めているさくらんぼ計算の条件は、下記となります。

 

・足し算の計算問題はプログラムで自動的に作る

・2つの「一桁の数字」で足し算をして、答えは「二桁(11以上)」にする。

・「○+○」の「後ろの数字」を2つに分解して、「さくらんぼ前」と「さくらんぼ後ろ」を作る

・「○+○」の「前の数字」と「さくらんぼ前」の合計は10にする。


これらの条件に対して、ユーザーが入力した数値の正答を判断するためには、


1「○+○=答え」は正しいか

2「○+分割した○+○=答え」は正しいか

3「○+さくらんぼ前」の合計値は10であるか


などの条件判断が必要になっていきます。

 

冒頭でも少し書きましたが、例えば「10問正解するまでは終わらない」という条件を加える事も出来ます。

その場合は、「正解数=10まで繰り返す」を追加すると作成できます。

子供達自身が、さくらんぼ計算のサンプルプログラムを考えてみる事で、プログラミング学習の理解度も図る事が出来ます。

色々と考える事が出来て、とても楽しいですね!

今日は以上です。