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

りょうのゲーム塾

再開、準備中。

アルゴリズムとは作業の手順や処理の流れのことです。
前回のサンプルプログラムでは大まかに次のような手順で処理を実行しました。

1)単価を入力する
2)数量を入力する
3)金額を計算する
4)金額を表示(出力)する
5)処理終了

前回のプログラムでは項目5の処理終了は明確でなかったので修正したものは下記のようになります。

■プログラム
0001 INPUT "TANKA";T
0002 INPUT "SUURYOU";S
0003 K = T * S
0004 PRINT "KINGAKU=";K
0005 END


■書式
END
END文は処理を終了する命令です。


このプログラムで商品の金額が表示されますが、商品は一つだけでしょうか?
大概は複数の商品があるであろうということは想像できます。
では複数の商品の金額を計算するにはどうしたらいいでしょうか?

例)商品の数だけプログラムを実行する。

確かにこの方法でも計算はできます。
しかしプログラムで同じ計算を繰り返せばいいだけです。
そこで前回の処理は上から下へと順番に作業を進めるだけのアルゴリズムだったので、
今度は繰り返し同じ処理を行うアルゴリズムを作成してみましょう。

■プログラム
0001 @LOOP
0002 INPUT "TANKA";T
0003 INPUT "SUURYOU";S
0004 K = T * S
0005 PRINT "KINGAKU=";K
0006 GOTO @LOOP


0001行目はラベルといいます。
このラベルはラベルのある位置をプログラムで利用する際に参照するために宣言します。
そして0006行目にそのラベルを参照するGOTO文があり、この命令によりラベルのあるプログラム位置から実行が継続されます。

■書式
@ラベル名
プログラムの位置を宣言する命令です。


■書式
GOTO @ラベル名
GOTO文はプログラムの流れを変更する命令です。
@ラベル名で指定された位置から処理が継続されます。


■実行結果
TANKA?
100
SUURYOU?
3
KINGAKU=300
TANKA?
50
SUURYOU?
10
KINGAKU=500
TANKA?


処理が繰り返し実行されますね。

ただし、この場合いつまでも実行されます。
このようなもの(アルゴリズム)を無限ループといいます。
無限ループは終わりがありません。
実行を終了する場合は強制的に終了します。