HP-BASIC入門
ホーム » HPBASIC入門 » 制御構文と分岐

制御構文と分岐


基本的な制御分岐は IF・・・・THEN文によって 行われます。この文には真または偽のいずれかに評価 されるべき数値式が含まれています。 真の場合には条件付セグメントが実行されます。偽の 場合は条件付きセグメントは飛ばされます。
例)

100 IF PT > 5.5 THEN OUTPUT=PT-5.5



基本条件分岐 IF・・・ELSE文



条件に従って2つのうちの1つを選ぶ場合はIF・・・ELSE文を使用します。

100 IF Flag THEN
110 S=R*R*3.14
120 ELSE
130 S=2*R
140 END IF



多数セグメントの選択

多数セグメントの選択は SELECT文を使用します。 SELECT構造はCASEを使用して条件を分岐させ、 処理をおこないます。

100 SELECT Dimension
110 CASE "m"
120 Output = Output * 0.001
130 CASE "u"
140 Output = Output * 0.000001
150 CASE "n"
160 Output = Output * 0.000000001
170 END SELECT


SELECTは変数を指定するSELECT文で始まり、 END SELECT文で終了します。 予測される値をCASEに列挙していきます。


繰り返し制御文:FOR・・・NEXT

繰り返しを行う制御文としてFOR・・・NEXT構造があります。 この構造はあらかじめ決まっている回数だけ繰り返す場合に 使用されます。それ以外としてはREPEAT・・・UNTIL、 WHILE・・・END WHILE文がありますが、これらは指定した 条件が発生するのを待ちながらプログラムセグメントを 無限に繰り返す場合に使用されます。 LOOP・・・EXIT IF構造は出口を指定できる反復構造を作成 する際に使用します。

指定回数繰り返しを行うプログラムは、FOR・・・NEXT構造に よって示すことができます。

例)

100 FOR Count=10 To 0 STEP -1
110 BEEP
120 PRINT Count
130 WAIT .5
140 NEXT Count



条件付き繰り返し文:REPEAT・・UNTIL

FOR・・NEXTは指定の回数だけ繰り返しをおこないますが、アプリケーション によっては実行される繰り返し回数を特別に指定しないで、ある特定の 条件が真になるまで実行されるループが必要な場合があります。
それはREPEAT・・・UNTIL文で実現できます。
下記に簡単な例を見てみましょう。

例)

500 REPEAT
510 INPUT "Enter a number",Number
520 UNTIL Number>=0


上記は正しくない値が入力されたときにはループがら抜け出ることが できないようになっており、ループが何回実行されるかは重要ではない 場合にこの制御文を用います。