2011-12-20 12 views
1

GW-BASICコードをC#に変換しており、一般的なBASIC言語の経験が非常に限られています。私は、IF ... THEN ... GOTO文がどのように動作するかを理解しようとしています。例えば、私は、次のステートメントを持っている:行85の条件が満たされない場合、それはまだライン95でコードが実行されるか、またはそれをスキップん:QBASIC:条件が満たされない場合のGOTO行の実行

85 IF M(3,1)>M(2,1) THEN 95 
90 M(3,1)=M(3,1)+P2 
95 Z1=R1*(90.567-41.685/M(2,3)) 

私の質問はこれですか?

任意の方向が大きく...

+0

にあなたのBASICを変えることができます。それはQBASICでもうまく動作します。 – Joshua

+0

QBasicが正常に機能している場合は、上記のロジックといくつかの印刷ステートメントを使用して少しテストを設定してください。 – BenSwayne

+0

@ジョシュアええ、私はそれを掘り起こした後に気づいた...私はそれを反映するために質問を更新しました... –

答えて

4

はい、関係なく、行85でのブール条件の評価の、ライン95が実行されますが、85の評価がtrueの場合、ライン90は、このようにジャンプします実行されません。

1

を理解されるであろう/ ELSE構造IF明らかコードスニペットは、擬似を有し、ロジックは次のように思える:行85の条件がQBasicをを続け、次いで満たしていない場合

90と95を続けます。 行85の条件が満たされている場合、QBasicは95以降を継続します。

2

これはコード95行目で実行されます。そのthenステートメントはプログラムを95行目にジャンプさせ、その行を実行させます。

それはこのと同等です:

if (M[3,1] <= M[2,1]) { 
    M[3,1] = M[3,1] + P2 
} 
Z1=R1*(90.567-41.685/M[2,3]) 
0

THEN 95は95

REMLINE.BAS行目に実行ポインタをジャンプされ、THEN GOTO 95の略であるMicrosoft基本 プログラムから行番号を削除するプログラムです。 GOTUB、RETURN、GOTO、THEN、ELSE、 RESUME、RESTORE、またはRUNのいずれかのオブジェクト ではない行番号のみが削除されます。

BaConBCXこれはQBASICより古い基本的で原始的なコードであるC.

+0

情報ありがとう!これは私が最終的に私が得ようとしているところに私を近づけるために必要なことです。 –

関連する問題