No.44-1 |
プログラムを短くしたい。 |
回答者 元山 よし子 | 1997年01月 180号 P.19 |
質問箱No.44(1996年12月号)の回答-1
罍さんのプログラムを検討しました。
例えば18行目に
(1) 18行目 IF V2="1" THEN GOTO $区分1;その行く先は (2) 25行目 $区分1: LET V2="1";LET V3="新規"; GOTO $区分表示;
の繰返しに近い内容となっています。
そうしますと(1)で既に【V2="1"】と決定されていますが、さらに(2)でも【LET V2="1"】と重複していますので、この記述は不必要になります。
(2)の中で大切なのは【V2="1"】だったら【V3="新規"】と【V3】を変化させていますので
例1..
IF V2="1" THEN LET V3="新規";
IF V2="2" THEN LET V3="継続";
IF V2="3" THEN LET V3="脱退";
IF V2="4" THEN LET V3="途中";
IF V2="5" THEN LET V3="年頭";
IF VAL(V2)<1 OR VAL(V2)>5 THEN GOTO $3;
$区分表示: DISP [55,03],COLOR(Y),V3,U(%(STRING$(60,04)));DISP COLOR(W);
例2.. 最終のV2="5"までいかないで【2】が確定された段階でGOTOで飛ぶ
IF V2="1" THEN LET V3="新規"; IF V1="1" THEN GOTO $区分表示;
IF V2="2" THEN LET V3="継続"; IF V1="2" THEN GOTO $区分表示;
IF V2="3" THEN LET V3="脱退"; IF V1="3" THEN GOTO $区分表示;
IF V2="4" THEN LET V3="途中"; IF V1="4" THEN GOTO $区分表示;
IF V2="5" THEN LET V3="年頭"; IF V1="5" THEN GOTO $区分表示;
IF VAL(V2)<1 OR VAL(V2)>5 THEN GOTO $3;
$区分表示: DISP [55,03],COLOR(Y),V3,U(%(STRING$(60,04)));DISP COLOR(W); □
|
| |