第5章 計算させよう


パソコンというのは、実はとっても計算が早いんですね。
人間にはなかなかできない計算も一瞬でやってしまいます。
試しに、簡単な計算からやらせてみることにしましょう。
	mes 1+1
	stop

ちゃんと計算してくれましたか?
mes命令では、数字を書くときは""を書かないんでしたよね。
計算させる式を書くときにも""は必要ありません。

このように式を書くだけで、すぐに計算してくれます。
次はもう少し難しい計算をさせてみましょう。
	mes 15-5
	mes 15*5
	mes 4+20/4
	mes 5+(20/4)
	mes 10/3
	mes 15\4
	stop

見なれない記号があると思いますので説明します。
HSPでは、掛け算には「*」を、割り算には「/」を使用します。
×や÷は使えないので、注意してくださいね。

上から3行めの5+20/4の計算結果がおかしいと思いませんでしたか?
実は、HSPではどんな計算でも、必ず左から順番に計算していくんです。

どうしても優先したい計算がある場合、4行目の様に( )を使います。
( )がある場合、( )の中が優先して計算されます。

またHSPでは、小数点は計算やその結果には使えません。
その為、10/3=3.33・・・になるのが正しいのですが、小数点以下は切り捨てられて3になってしまいます。

「\」を使えば、割り算の余りをもとめることもできます。
15\4なら、15を4で割ってその余りが表示されることになります。

足し算:+ 引き算:- 掛け算:* 割り算:/ 剰余:\
ということです。他にも計算はあるんですが、主に使うのはこの5つですので必ず覚えてください。



最後は、前章で習った変数を使って計算させてみましょう。
	n1=2
	n2=3
	n3=n1+n2

	mes n1+n2
	mes n3

	n3=n3+2
	color n3*35,0,10*20
	mes n3

	stop

このプログラムではまず、n1に2を、n2に3を代入(変数の中に数字や文字を入れること)しています。
そしてn3には、n1とn2を足し算した結果が代入されることになります。
また、mesで表示するときに計算させることもできます。
つまり、mes n1+n2mes n3は全く同じものを表示するわけです。

その次の、n3=n3+2の部分は少し変だと思いませんか?
算数や数学では、こんなことはありえませんよね。
「=」というのは、左の変数と右の計算結果が同じという意味ではなく、
左の変数に右の式の計算結果を入れる、という意味です。
この場合はあらかじめn3に入っていた5に、2を足した値が代入されるわけですね。

次のcolor命令でもわかるように、mes命令以外でも計算をさせることは可能です。
n3には7が入っていたので、7×35=245となりますね。
つまりこれは、color 245,0,200と書くのと全く同じだということです。


少し難しかったかな?分からないことがあったらすぐに聞いてくださいね(*^^)
次の章では、プログラムを分かりやすくする工夫を紹介します。
準備ができている人は第6章にどうぞ。

戻る