回答箱 No.44-1:   プログラムを短くしたい。

   ◆ 質問箱 No.44  質問者:  罍 昭夫   1996年12月 179号 P.38
      ◆ 質問箱 目次へ
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);

戻る