【はじめてのプチコン】アルゴリズム(条件判定) | りょうのゲーム塾

りょうのゲーム塾

再開、準備中。

同じ処理を繰り返し実行するアルゴリズムをループといいます。

しかし、前回のプログラムでは処理が終了しない無限ループになっていました。

これでも問題ない場合もあるのですが、一般的には処理を中断ではなく(正常に)終了させたいと思います。

そのためにはこのループを終了させるための何かが必要になります。

では、それはいったい何でしょうか?









それはループを終了するための条件です。
そしてプログラムでその条件を判断することができればプログラムを正常に終了させることができそうですね。
そこでこの条件を判断するのが IF 文です。

■書式
IF 条件式 THEN 文

条件を判断し、条件が成り立てば THEN に続く文を実行する
もし条件が成り立たなければ IF 文の次の文を実行する


ここで条件式というのは式なのですが式は計算をしその結果を返します。
しかし説明する場合に少しわかりにくいのでしばらくは式でなく条件式と記述しておきます。
具体的にいうと条件式は比較演算子を使った式ということにしておきます。
使用できる比較演算子は下記の通りです。



■比較演算子
==
両辺が等しい
!=
両辺が等しくない

左辺が右辺より大きい

左辺が右辺より小さい
>=
左辺が右辺以上
<=
左辺が右辺以下


今回のプログラムでは単価を入力する際に0を入力すると終了することにします。
単価が0円の商品は確かにないことはないのですが…今回はないことにします。

それでは IF 文を使って処理を正常に終了させます。
処理の正常終了は END 文で問題ありません。

■プログラム

0001 @LOOP
0002 INPUT "TANKA";T
0003 IF T == 0 THEN END
0004 INPUT "SUURYOU";S
0005 K = T * S
0006 PRINT "KINGAKU=";K
0007 GOTO @LOOP

■実行結果

TANKA?
100
SUURYOU?
3
KINGAKU=300
TANKA?
50
SUURYOU?
10
KINGAKU=500
TANKA?
0
OK


この様に単価を入力した後に単価が0かどうかを判断し、
もし0であれば END 文を実行しプログラムを正常終了する。
0でなければ数量を入力して計算をすればいいですよね^^