« RZ1Basic v0.2.6 公開 | トップページ | ROBOBASIC講座(ETX, ERX) »

ROBOBASIC講座(5/10*4の答え)

先日「FOR...NEXT」の「算術演算子」ところで書いた問いに答えておきます。

問題は、以下です。

 a = 4 * 5 / 10
 a = 5 / 10 * 4

ここでは算術演算子に優先順位がないということもそうなんですが、あわせて割り算の結果は切り捨てであることを気に留めておいて頂きたいと思い、作った問題です。

まず、は、まず4x5のかけ算をして、a=20/10となります。次に20÷10でa=2になります。しかし、は、まず5÷10を行います。5÷10は、0.5でなく、四捨五入して1になるわけでもなくて、切り捨てて0になります。従って、a=0*4なので、a=0が答えです。

かけ算を先にやることによって、分子が分母割より大きくなるため、正しい答えになれます。

例えば、70点満点の試験を行って100点換算する場合(つまり百分率の計算)をする場合、なんとなく、

百分率(%)=(現在の数値÷その数値の最大値)X 100

という、百分率の公式?が頭にあるので、小数点を扱えない型を利用しているにも関わらず、うっかり、このまま計算してしまいがちです。この計算では全員が0点になってしまいます。

プログラミングの場合は、いつもいつも小数点を扱える型を使っているわけではないので、式を立てる時に、その辺を注意する癖を付けておくといいですね。



|

« RZ1Basic v0.2.6 公開 | トップページ | ROBOBASIC講座(ETX, ERX) »

ROBOBASIC講座」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: ROBOBASIC講座(5/10*4の答え):

« RZ1Basic v0.2.6 公開 | トップページ | ROBOBASIC講座(ETX, ERX) »