「余りとは何よ」と聞く人もいないと思うが、一応説明すると
ある数を割った時の残りである。例えば、10個のりんごがあった
として3人に同じ数だけ分けるとすると、1つ残る、この1つが
余りである。
これを、算数で表わすと10 ÷ 3 = 3 ・・・ 1
この余りをプログラム言語で求める場合、Basic言語なら
「Mod」、C言語なら「%」を使用する。
例 a = 10 Mod 3 a = 1 となる。(Basic)
a = 10 % 3; a = 1 となる。( C )
では、この余りはいったいどのような時に使えるのでしょう。
仕事として、よくあるのは帳票のプログラムで、例えば5明細ごと
に実線を引く、または交互に色を分けるといった使い方でしょうか
明細の場合 カウント値 Mod 5 → (0,1,2,3,4)
交互の場合 カウント値 Mod 2 → (0,1)
つまり、余りとは、~ごとに処理を行いたい時に使えるのである。
もう少しふみこんだ例としては、トランプゲームがあります。
トランプカードは、4つの種類がそれぞれ13枚、計52枚あります。
この52枚を、スペード、ハート、クローバ、ダイヤの順に0~51と
連番にしてプログラム上で管理したとします。
スペード 0 ~ 12
ハート 13 ~ 25
クローバ 26 ~ 38
ダイヤ 39 ~ 51
こうしたとき余りを使うと、0~12までの値のみを求めることが
できるようになります。例えば、15ならハートの2というように。
プログラム変数
Card 0~51
Mark 0~3(スペード:0、ハート:1、クローバ:2、ダイヤ:3)
Tranp 0~12
Mark = Card / 13 (13で割る、マーク番号が求まる)
Tranp = Card Mod 13 (13で剰余、トランプ番号が求まる)
0~51の連番とすることで、プログラム上の管理が簡単になり効率
も上がるわけですね。なお、ジョーカーは52にすればいいでしょう。