アマグラミング

プログラミング初心者が勉強したことを復習とメモがてら書いているだけです。

(61)div,quo,modulo,remainderメソッドを学ぼう

Numericクラスのdivメソッドとquoメソッドについて勉強しましょう。

 

実際に書いてみますので動きを確認しましょう

divとquoは割り算に使えます。

 

print("10 / 3 = ", 10 / 3, "\n")
print("10.1 / 3 = ", 10.1/ 3, "\n")
print("10 / 3.3 = ", 10 / 3.3, "\n")
print("10.7 / 3.1 = ", 10.7 / 3.1, )

 

これを実行すると

f:id:tiroru17:20170622004100p:plain

こうなる

小数点を使った時点で小数点込みの計算になっている。

 

divの書き方は数値.div(割る数値)なので

同様の式で計算すると

puts 10.div(3)
puts 10.1.div(3)
puts 10.div(3.3)
puts 10.7.div(3.1)

 

こんな感じになる。

実行すると

f:id:tiroru17:20170622003007p:plain

こうなる

 

このdivをquoにして計算すると

puts 10.quo(3)
puts 10.1.quo(3)
puts 10.quo(3.3)
puts 10.7.quo(3.1)

 

こうで、実行すると

f:id:tiroru17:20170622003536p:plain

 

こうなる。

 

全部違う動作をしているので使い分けましょう。

 

Numericクラスのmoduloとremainderメソッドについても勉強しましょう。

 

書き方は上記と同じです。

moduloとremainderは余りの計算に使えます

マイナス記号が入るとちょっと動作が違いますし、動き自体が独特に

感じます。

 

まあとにかく書いて、見てみましょう。

 

10÷3

-10÷3

10÷-3

-10÷-3

これらの時の動きを見てみます。

 

moduloの場合は

puts 10.modulo(3)
puts (-10).modulo(3)
puts 10.modulo(-3)
puts (-10).modulo(-3)

 

実行すると

f:id:tiroru17:20170622005640p:plain

 

2番目は-4余り2と計算しています

3番目は-4余り-2と

4番目は3余り-1です。

 

これをremainderで計算すると

puts 10.remainder(3)
puts (-10).remainder(3)
puts 10.remainder(-3)
puts (-10).remainder(-3)

 

実行すると

f:id:tiroru17:20170622010420p:plain

 

こうなります。

こっちは要は余った数値がプラスだったら+、マイナスだったらーって

いう感覚で計算してるので、まだわかりやすいかなあ。