|
Linux版Decimal Basic(gtk版)を使用してみました。
JIS FullBASICの仕様書と格闘してたんですが、分からないところがあるので質問させて下さい。
1. IF 条件 THEN 単純実行文 ELSE 単純実行文 END IFについて。
どうも仕様書見てみても「単純実行」の定義を見つけられなかったんですが、これは「一つの式」ないしは文しか実行出来ない、って事でしょうか。
例えば、
IF 条件 THEN
何か実行1
何か実行2
ELSE
....
と言う形式は認められていない、と言う事なのでしょうか。
2. プログラムを書いてみたけど条件分岐が上手く行かない。
ヘッタクソなプログラムですが、次のようなモノを書いてみました。
DIM A(100)
RANDOMIZE
FOR n = 1 TO 100
LET A(n)=INT(RND*MAXNUM/100 + 1)
NEXT n
LET SUM = 0
LET EVEN = 0
LET S_EVEN = 0
LET ODD = 0
LET S_ODD = 0
LET NUM = 0
FOR n = 1 TO 100
LET NUM = A(n)
LET SUM = SUM + NUM
IF MOD(NUM,2)=0 THEN
LET EVEN = EVEN + NUM
ELSE
LET ODD = ODD + NUM
END IF
NEXT n
FOR n = 1 TO 100
LET NUM = A(n)
IF MOD(NUM,2)=0 THEN
LET S_EVEN = S_EVEN + 1
ELSE
LET S_ODD = S_ODD + 1
END IF
NEXT n
PRINT "SUM ", SUM
PRINT "EVEN ", EVEN
PRINT "#EVEN ", S_EVEN
PRINT "ODD ", ODD
PRINT "#ODD ", S_ODD
END
ところがMODの計算で上手く分岐出来ません。
実行はしてくれるんですが、計算結果が望まれたものと違います。
何か文法的に間違ってるのでしょうか。
(例えばNUM = A(n)と言うのが一回使われたらGCが回収に来る、とか)
|
|