見出し画像

どんなときに使う? あまりのある計算でプログラミング! 後編

本記事は2022年01月07日にLINE entry公式ブログにて掲載されたものを再掲載した記事です。

前編では数値を2で割ったときに出るあまりを利用して、その数値がぐう数か、き数かの判定を行なうプログラムを作成しました。下のリンクがその記事になります。忘れてしまったという方は読み返してみてください。
どんなときに使う? あまりのある計算でプログラミング! 前編

後編では2以外の数値で割ったときのあまりを利用するとどのようなプログラムが作れるのかを紹介します。あまりを求めるブロックは「計算」カテゴリーの「10 / 10の商」ブロックの▼をクリックしメニューから「あまり」を選ぶことで使用できます。

あまりとは? 倍数とは?

まずはあまりについてあらためて考えてみましょう。あまりとはある数を割ったときに割り切れなかった数のことです。そして割り切れる計算というのはあまりがなく、割る数と商をかけるともとの数になります。つまり割り切れる計算というのはある数が割る数の倍数(ぴったり何倍という数)であるということです。たとえば「12÷4=3」なので「12は4の3倍(4×3=12)」、「13÷4=3あまり1」なので「13は4の倍数ではない」ということがわかります。今回は倍数を利用したプログラムを作っていきます。

倍数を使って〇回おきに動きを変えてみよう!

まずは下の画像を見てください。

ブラウンが数を数えながらときどき大きくなります。

このプログラムはブラウンが数えている数値を3で割ったときにあまりが0なら大きくなり、あまりのある数値のときはもとの大きさにもどるという仕組みになっています。つまりブラウンが3の倍数を数えたときに大きくなるプログラムです。

それではプログラムを作りましょう。変数「カウント」を作り、下のようにブロックを組み合わせてください。数を数える仕組みはこちらの記事でくわしく紹介しています。(数値はすべて半角で入力してください)

「大きさを〇にする」ブロックは、値が「100」ならもとの大きさにもどり、「150」なら大きくなります。

3で割ったときあまりが0の数値は3の倍数、同様に5で割ったときあまりが0の数値は5の倍数となります。ゲーム作りに応用すれば5点ごとにメッセージを出したり、敵の種類を変えたりといろいろなことに使えそうですよね。

プログラムをアレンジしてみよう!

さきほどのプログラムをアレンジし、3の倍数のときはブラウンを大きく5の倍数のときはブラウンを小さく、そして3の倍数かつ5の倍数のときにはとても大きくしてみます。まずは5の倍数のときのプログラムを追加します。下のように組み合わせてください。

大きさの差がわかりにくいときはサイズや待つ時間を変えてみてください。
3の倍数のときに大きく、5の倍数のときに小さくなれば成功

「3の倍数かつ5の倍数」とはどういうときでしょうか。これは3でも割り切れて5でも割り切れる数という意味ですね。複数の数値の倍数である数値のことを「公倍数」とよびます。今回の3と5の公倍数でいちばん小さな数は15です。15は3で割り切れ(15÷3=5)、5でも割り切れます(15÷5=3)からね。
上のプログラムでは、3の倍数かつ5の倍数のとき、つまりブラウンが15や30を数えるときはただ大きくなるだけで、まだ「とても大きくなる」ことはありません。

それでは最後に3の倍数かつ5の倍数のときにブラウンが「とても大きくなる」プログラムを作ります。下のようにブロックを組み合わせてください。

なぜこのプログラムで3の倍数かつ5の倍数という条件になるかというと……
① 3の倍数かを判定する
→ 3の倍数なら②に進む
② 5の倍数かを判定する(3の倍数だったものをさらに判定する)
→ 5の倍数なら3の倍数かつ5の倍数となり「大きさを300にする」、異なれば3の倍数となり「大きさを150にする」
と2回の判定を行なっているからです。

3の倍数のときに大きく、5の倍数のときに小さく、3と5の公倍数のときにとても大きくなれば完成!

今回はここまで。
あまりの計算を利用すると、あまりが0か0でないかで「割る数の倍数」かどうか判定することができ、それを利用して〇回おきの動きを設定できることがわかりました。あまりの計算は生活では重要に感じませんが、プログラムの世界ではとても大事な計算です。あまりを利用してほかにどんなプログラムができるか試してみてくださいね!

いいなと思ったら応援しよう!