
※途中で戻りたい場合は、ブラウザの「戻る」機能を使ってください。
INT関数とFIX関数今まで整数を得るためには、INT関数を使ってきましたが、「小数点を切り捨ている」という意味では、FIX関数を使うと知りました。まとめてみると、 INT関数:数値を超えない最大の整数を得る FIX関数:小数点以下を切り捨てる ということになります。 この場合は、RND関数が負の数を出さないから結果は同じなのですが、負の数を扱う場合は答えが違ってきます。 細かく言えばキリが無いとも思えますが、正しく使う意味もありますので、ここからはFIX関数を使っていきたいと思います(おかしなバグに悩まされることにもなりかねません)。 実際に書き換えて見ましょう。
結果を1から5までの数字にする変数Aに入っている答えは、この場合だと0から9の数字です。それを1から5までの数字に限定するにはどうしたら良いのかを考えてみます。 「変数Aの内容が0、6、7、8、9ならば、もう一度やり直す」ことを繰り返せば、良いと思います。 もう一度やり直すとは、その命令の行番号に戻れば命令を実行されます。 ひっぱりましたが、その命令はGOTO(ゴーツー)命令です(後藤ではありません)。 GOTO 行番号 で、指定した行番号に飛びます(とんだ先から順番に実行し、戻っては来ません)。 また、「変数Aが0、6、7、8、9ならば」という条件式は、IF命令を使います。 IF 条件式 THEN 条件式にあった命令 ELSE 条件式にあわなかった命令 となります。 読み方は、IF THEN ELSE(イフ ゼン エルス)です。 この場合だと、 IF Aが0か6か7か8か9だったら THEN 乱数をAに代入する命令の行番号へ飛べ (でなければ続けて実行なので、ELSEは不要) 「THEN 乱数をAに代入する命令の行番号へ飛べ」は、 THEN GOTO 10 となります。 では、「IF Aが0か6か7か8か9だったら」はどうでしょう。 この「Aが0か6か7か8か9だったらを」もう少し解析してみると、「A=0 または A>5」と表せます。 比較演算子はそのまま使えます。
そして、「または」という意味は、ORで表せます。 条件判断は以下の式が使えます。
読み方もそのまま、アンド、オア、ノットです。 ですから「A=0 または A>5」は、 A=0 OR A>5 と表せますから、IF文を使って「変数Aの内容が0、6、7、8、9ならば、もう一度やり直す」をあらわすと、 IF A=0 OR A>5 THEN GOTO 10 となります(と思います)。 自信が無いので、実際に命令文にしてみました。
これで、1番の処理「コンピュータ側で無作為に1から5までの数字の中から一つを選んでおく」事が出来ました。 次の章からは、2番の処理「プレイヤーが選んだ1から5までの数字を一つ入力させる」にチャレンジしてみます。 |
||||||||||||||||||||||||||||||||||||||
Copyright(C) 2006. ピコピコテクノロジー All Right Reserved.