2013-01-24 4 views
12

私は古すぎるGW-BASICプログラムをJavaScriptに翻訳しています。注意(もう一度):完全に私のコードではなく、変数名はすべて狂っているので、私は最初にそれを移植しています。不明なGW-BASIC関数/構文:Q(var)= var

1380 Z = 1 
1390 RATIO = FCO2 /(1-FCO2-10^REFFO2) 
1400 AA =(1 - 2*RATIO*(100/MIXRATIO - 1))/(1 + 2*(100/MIXRATIO - 1)) 
1410 PART = LOG(1 - AA)- LOG(100/MIXRATIO - 1) 
1420 FOR I = 1 TO - 1 STEP -2 
1430 H = I 
1440 W = T + H 
1450 GG = 62.110326# - .02144446#*W + 4.720326E-07*(W^ 2)+(- 4.5574288#)*(10^(- 12))*(W^ 3)- 7.343018200000001#*(10^(- 15))*(W^ 4) 
1460 KK = EXP(- GG /(R*(W + 273.18))) 
1470 Q(Z)= KK 
1480 Z = Z + 1 
1490 NEXT I 
1500 NEWFO21 = LOG(10)*.5*(LOG(Q(1))+ PART):NEWFO22 = LOG(10)*.5*(LOG(Q(2))+ PART) 
1510 DELEMFDELT =(FN EMF (TREF + 1,NEWFO21) - FN EMF (TREF - 1, NEWFO22))/2 
1520 RETURN 

疑問符はライン1470: Q(Z) = KKです。 Qは、プログラムの中でyes/no入力変数として先にQ$と定義されているので、フロートを入れても意味がありません。以前はプログラムにQ()関数が定義されておらず、GW-BASICのQ()関数への参照も見つかりませんでした。

助けが必要ですか?

+3

1 GW-BASICの私を思い出させるために、それは私が言っている – Ali

+2

年が経ちました、この特定のプロジェクトでは、ポートへの爆風となっています。 –

答えて

12

QとQ $は別々の変数です。 $を持つものはすべて文字列変数です。 Q(Z)は数字の配列です。

以前のバージョンのBasicでは、変数名が最大2文字に制限されていたため、1文字と2文字の名前が一般的です。

+0

私が知る限り、Qはこの特定のループで使用される前に定義されません。 BASICでも可能ですか? BASICの配列構文のヒントをありがとう。 –

+0

私は配列はDIMでは宣言する必要があるが、スカラー変数では宣言する必要はないと思います。それはしばらくしており、私は確かに覚えていない。 – xpda

+0

本当にそれほど重要ではありません - 私が配列を扱っていることを理解していない方がいました。ありがとう、私はあなたに6分後に答えをあげます。 :) –

4

XPDAに記載されているように、$で後続する変数名は文字列です。 私は数年前にいくつかのGW-BASICを書いてくれてありがたいことに、私はまだコンパイラでパッケージ化された古いドキュメントがたくさんあります。 私はアーカイブしたCHMのコピーをアップロードしました。おそらくそこにいくつかの有益な情報があります。 http://www.mediafire.com/?3h9z133ok8wx1l9

+0

何年前にgwbasicを書かなければならなかったのですか。誰がgwbasicで書かれたプログラムを望むのでしょうか? 、私はちょうど好奇心です:) –

+0

@dotNetSoldier私が助けていたコースの一部でした –

関連する問題