【小学校算数 × プログラミング】Pythonで「さくらんぼ計算」を理解しよう!

小中学校の算数や数学の学習は、多くの子どもたちにとって退屈なものになりがちです。そこで算数や数学の学習をより楽しく、かつ論理的思考を養う手段として、プログラミング言語の活用方法を提案します。

この記事では、さくらんぼ計算のアルゴリズムをプログラミングすることにより、算数の概念を深化させる方法をご紹介します。ぜひこの記事を通じて、算数・数学の学習における新たな気づきとスキルの獲得を目指してみましょう。

さくらんぼ計算とは?

さくらんぼ計算とは、繰り上がりのあるたし算の計算過程を学習するの手法です。例えば、「8+7」の足し算で、7を2と5に分け、8にこの2を足して10にする。そして、10と残りの5を足して15と計算するやり方です。最終的には繰り上がりのある足し算の計算が暗算できるようになることを目指します。

さくらんぼ計算の手順

以下は、「1桁+1桁」のさくらんぼ計算を実践する手順の例です。

  1. 問題となる足し算の式を用意します。例えば、「8 + 7」の足し算です。ここでは足される数を8、足す数を7とします。
  2. 足される数に、足して10になるような数で、足す数を2つに分けます。ここでは7を2と5に分けます。
  3. 足される数に、分けた足す数の一方(ここでは2)を足して10にします。ここでは8に2を足して10となります。
  4. 10と残りの足す数(この場合は5)を足し合わせます。10 + 5 = 15となります。
  5. 最終的な計算結果が求める答えとなります。この場合は、「8 + 7 = 15」です。

このように、さくらんぼ計算では繰り上がりのある足し算を分けて計算することで、計算の過程や繰り上がりの働きをより明確に理解することができます。

Pythonを使ったさくらんぼ計算の例

さくらんぼ計算のアルゴリズムをプログラミングした例を紹介します。

# さくらんぼ計算のプログラム例: 繰り上がりのある2つの数値の足し算

# 問題となる足し算の式を用意します
tasareru_kazu = 8
tasu_kazu = 7
print("足される数 =", tasareru_kazu,"足す数 =", tasu_kazu)

# 手順1: 足される数に、足して10になるような数で、足す数を2つに分けます
tasu_kazu_1 = 10 - tasareru_kazu
tasu_kazu_2 = tasu_kazu - tasu_kazu_1
print("手順1(足す数を分割):足す数_1 =", tasu_kazu_1, "足す数_2 =", tasu_kazu_2)

# 手順2: 足される数に、分けた足す数の一方を足して10にします
tasareta_kazu = tasareru_kazu + tasu_kazu_1
print("手順2(足される数に足す数の一方を足す):", tasareru_kazu, "+", tasu_kazu_1)

# 手順3: 10と残りの足す数を足し合わせます
kekka = tasareta_kazu + tasu_kazu_2
print("手順3(10と足す数の残りを足す):", tasareta_kazu, "+", tasu_kazu_2)

# 結果を表示します
print("結果:", kekka)

ここで何よりも難しいのは、9行目の足して10になる数をスムースに導き出すことですね。

1+■=10、2+■=10、・・・、9+■=10といった式の■の部分をすぐに見つけ出せることがさくらんぼ計算のポイントです。

上記プログラムの中ではその見つけ方までは記述していませんが(いきなり10から足される数を引いています)、9行目の代わりに次のループを挿入して見つけ出すこともできます。

tasu_kazu_1 = 0
while tasareru_kazu + tasu_kazu_1 < 10:
    tasu_kazu_1 += 1
    print(tasu_kazu_1)

まとめ

さくらんぼ計算は、繰り上がりの概念や計算過程を視覚的に捉えることができるため、算数や数学の学習において有用な手法です。また、プログラミングを通じてさくらんぼ計算を実践することで、論理的思考や計算能力の向上にも役立つでしょう。

さくらんぼ計算考え方をマスターすることで「2桁+1桁」や「2桁+2桁」の足し算にも応用できると思います。10の倍数の数字をどこにとるのか、といったところが少し複雑になるかもしれませんが、ぜひチャレンジしてみてください。

【Pythonの入門におすすめの書籍3選】