No.60-2 |
簡単な図形を描きたい |
回答者 北村 政雄 |
1997年09月 188号 P.25 |
◆ No.60(1997年 08月号)の回答-02
質問の図形は、端から中心まで15個の#を菱形に描く図形ですが、下のプログラムは多少描く時間はかかりますが、2個から39個まで自由な大きさの菱形を描くことができます。プログラムの中心はLET文とCPCです。V1に" #"を格納し、X1からX6までのX変数で、描く起点や行、列の位置を指定します。
変数 V1: " #"を格納する。
X1: 起点から中心までの" #"の個数。
X2: 起点の行番号。
X3: " #"を書きこむ列番号。
X4: Copy元の列番号。
X5: 起点行番号の1つ上の行番号。
X6: 起点行番号の1つ下の行番号。
|
|
|
<プログラム>
1 <ZU>
2 ACCEPT"中心まで何個の#を描きますか? ",X1;
3 IF X1=99 THEN STOP;IF X1=1 THEN GOTO $MSG;
4 IF X1>39 THEN GOTO $MSG;
5 G;ZUKEI/1; LET V1=" #";LET X2=X1+3;LET X4=1;LET [X2,1]=V1;
6 FOR X3=2 TO X1;
7 CPC/C;%X4;%X3;%X4;%X3;ESC;LET X5=X2-X4;LET X6=X2+X4;
8 LET [X5,X3]=V1;LET [X6,X3]=V1;LET X4=X4+1;
9 NEXT; NF;J;A;STOP
10 $MSG: BELL;MESSAGE "範囲オーバー#入力した個数は実行できません!";
11 STOP
|
|
|
|