No.60-1 |
簡単な図形を描きたい |
回答者 藤原 良允 |
1997年09月 188号 P.24 |
◆ No.60(1997年 08月号)の回答-01
質問者がサンプルとして、「#」の記号で菱型の図形を描き、問題を出していますので、同じ「#」の記号を使用して回答を考えました。以下のオートです。
1<PIC>
2 O;PICTURE;2*29;HOME;IR;S;4;29; LETV1="#";
3 LETX3=1;;
4 FOR X1=H TO 18;
5 FOR X2=1 TO X3;
6 LET[X1,X2]=V1;
7 NEXT;
8 LETX3=X3+2;IF X3=31 THEN GOTO 次1;
9 NEXT;
10$次1: LETX3=27;
11 FOR X1=19 TO T;
12 FORX2=1 TO X3;
13 LET[X1,X2]=V1;
14 NEXT;
15 LETX3=X3-2;IF X3<1 THEN GOTO 次2;
16 NEXT;
17$次2: NF;J;T;ATR;1;F;P;C;HOME;W;2;1;SAMPLE;HOME;
18 STOP;
| |
|
- [考え方と手順の説明]
-
「#」の記号は、最小1個、最大29個で、増加・減少は2個刻みですから、先ず、29行・29列(1列は2桁)の表を作成する。
-
この表のH行から18行までは、「#」の記号を、1個、3個、5個と順次漸増して29個まで書き込む。「FOR〜NEXTを使う」。
-
19行からT行までは、27個、25個、23個と順次漸減して1個まで書きこむ。「FOR〜NEXTを使う」。
-
「NF;J」で、この29列を1列にジョイントする。
-
「ATR」で、この表の文字列を、中央[C]に位置せしめる。
-
項目行に「SAMPLE」と書き込んで完成です。
■ 試しに1個から9個までのプログラムに改変し実行したのを上に図1として掲げて置きます。
|
|
|