フラクタルと辞書式順序における再帰的構造 ?
−プログラムに現われる共通の骨格−
著者 菅原 民生
雑誌名 奈良教育大学教育工学センター研究報告
巻 14
ページ 55‑67
発行年 1991‑03‑15
その他のタイトル Recursive structures in Fractals and Lexicographical Orders II
URL http://hdl.handle.net/10105/4520
><: Ivl 主
(数学教室) Recursive structures
in Fractals and Lexicographical Orders II
by
Tamio SUGAWARA (Department of Mathematics)
ABSTRACT
In the former note [ 1 ], we made it clear that the programs of computer grαphics of fractal figures contain, as its skeleton, a program of printing out the set of p‑adic n place numbers.
As its continuation, we improve those programs, unifying their styles, so that we can see easi‑
ly the common recursive structures in them. We also exhibit fractal figures for each steps of depth and make it effective to understand their characters.
Key words : recursive structure, fractal, computer programing
序
報告第12号において、筆者はフラクタル図形をパソコングラフィックスに描く場合や、有限集合 の順列の全体を数えあげる場合などに、そのプログラムは自分自身を呼び出すcall文を含むサブルー チンを持つという、いわゆる再帰的構造が現われること、そしてそれは結局p進数を書き出すプロ グラムをその骨格に持っことを明らかにした。本稿では、そのプログラムを改良すると共に、これ までのプログラムを共通の形に統一させることによって、その本質的な部分が明確になるように発 展させた。またフラクタル図形の深さを一段深めたものと対比させた2色刷りの図を、さらに深さ を3段階にして措くことによって、理解が深められることを期した。
§1 P進法
n桁のp進数をプリントさせるプログラムが、最も基本的で、他のすべてのプログラムの骨格を なすものである。次のProgramlは、 [1]p.100のProgramA4を改良したものである。 *Aは 一定の深さn (すなわち1の桁)に達したら必要な処理を実行して引き返すものである。 *Bはそ れぞれの深さ(すなわち、それぞれの桁)における初期化である。 *Cはそれぞれの深さ(桁)に
‑55‑
おいて1段進めるところであって、ここに「J‑J‑1 :GOSUB
*A: J‑J+1」という再帰的構造が見られる。
o o o o o o o o o o
O r t N t o t i n i D t
‑ a o 一 1 4 1 1 1 1 1 1 1 1 1 1
4
P I
"E: RECURSVl
:N=3 :J=N :GOSUB *A :END
*A :IF J>O GOTO *B
FOR Q=l TO N IPRINT KCN‑Q+1);
NEXT :PRINT :RETURN
I
*B :K(J)=O
f
*C :J=J‑1 :GOSUB *A :J=J+1
K(J)=K(J)◆1 :王F K(J)くP GOTO *C ELSE RETURN
Program 1
自然数の集合Nのn個の直積NxNx‑×Nは、左の成分の順序 を優先さる辞書式順序によって整列集合になる。また高々可算個の 元からなる任意の整列集合は、十分大きなnに対して、 NxNx・‑
×Nの適当な切片に同型になる。次の図はn‑3について、そのモ デルを描いたものであり、そのプログラムが、上のPrograml杏 骨格としていることは、 *A、 *B、 *Cの対応を見れば一目瞭然 である。それは直積NxNx‑×Nがn桁の「自然数進数」の集合
と見なせることからも納得できる。
Figure 2
‑56‑
O <
‑ I N C O O '
‑ ' N n O '
‑ i N C O O '
‑ ( C M C
^ O o O o O H H H H W N W CM Cj W CQ n O o o O O O O O O O O O O O O O O i
‑
i n
O r t w n O H N n
rt M N !M ォ n n n n
C Q C O C O C O C O C Q C O C O C O
1eru
ig
T1
"E:RECURSV2
4 '
100 N=3 :X(0)=0 :Y(0)=403 :M=4/7
110 SCREEN 3 :CLS 2 :LINE(X(0),30)‑(X(0),180) 120 J=l :GOSUB *A :END
130
140 *A :IF J=N◆1 THEN RETURN 150 '
160 *B :X(J)=X(J‑1) :K(J)=Y(J‑1)‑X(J‑1) 170 '
180 *C :K(J)=K(J)*M :Y(J)=Y(J‑1)‑K(J) 190 J=J+1 :GOSUB *A :J=J‑1
200 X(J)=Y(J) :LINE(X(J),50*J‑20)‑(X(J),180)
210 IF K(J)〉.1 THEN X(J)=Y(J) :GOTO *C ELSE RETURN Program 2
次は集合(1、 2、 3、一、 n)の順列をプリントさせるプログラムであって、 [1]p.106Pr0‑
gramB2を改良したものである。
"E:RECURSV3
4 1
100 N=4 :FOR l=1 TO N :K(I)=I :NEXT 110 J=l :GOSUB *A :END
120
130 *A :IF JくN GOTO *B
140 FOR l=1 TO N :LPRINT K(I);
150 NEXT rLPRINT :RETURN 160
170 11B :H=J :L=K(H) :FOR I=J+1 TO N 180 IF L〉K(I) THEN H=I :L=K(H)
190 NEXT :K(H)=K(J) :K(J)=L 200
210 *C :J=J+1 :GOSUB *A :J=J‑1 220 IF K(J)>K(J+1) THEN RETURN 230 FOR I=J+1 TO N
240 IF K(J)〉K(I) THEN H=I‑1 :GOTO 260 250 NEXT :H=N
260 M=K(H) :K(H)=K(J) :K(J)=M :GOTO *C Program 3
‑57‑
i
c j
c
M
c M
c
M
e M
c
M
C o
c
o
c o
c
j
c a
c
j ‑
t ‑
' t
T
r ‑
^ '
T i
' T
j '
蝣
^
'
C
O
‑
^
c
M
C
T
c
M
T
t
'
C
T
T
t
'
t
‑
i
C
O
‑
<
r
r
<
?
l
T
‑
i
c
*
>
‑
t
m
c
4
m
C O
‑ ' T M ‑
^ c M C O i n ‑ q '
‑ H r l '
^ H O O t M ‑ q ' . H
‑ q ' ‑ H C V J c M C O ‑ H r a r H C M
ハ︑り
C M C M C T C T
^ T
^ .
‑ I . C O P 3
"
S │
< ‑ q ' , ‑ 1 ,
‑ I C M C V J ‑ ' J l ' ' 3 ' ‑ I ,
‑ I C M C ¥ J C O C
u
3
§2 フラクタル図形
コンピュータのプログラムは、単なる手段であって、結果が正しければあまり推敵しても意味が ないという考え方も成り立つ。しかし時にはプログラムが1つの恩想を語り始めることがあるのも 事実である。ちょうど力学において変分原理が成り立っ、すなわち運動がエネルギー最小の道を捜
し出すように、プログラムも無駄を省いていくとある合理的な形に落ち着く先がある。
ここには4つのフラクタルの図形をとりあげた。それぞれについて、 1つだけ図形を描く場合と、
深さを1段深めて2色刷りしたものを、深さを3段階(最後の例は6段階)にして描いた場合を示 した。後者はフラクタル図形の特徴をよく物語っていて、眺めているだけで理解を深めることがで きて、教育効果が大きいと思われる。
4つの図形のうち2つは、すでに[1]において取りあげたものであるが、 Programlにおいて ラベルを*A、 *B、 *Cとした箇所を共通にして対応を明らかにし、同じ流れであることが容易 に読み取れるよう改良した。
§3 コンピュータプログラミングと数学教育
数学を学んでいるときの楽しさの1つは、見かけ上非常に異なっているように見えるものの問に、
思いがけない関係が見つかることであろう。再帰的な図形の各部分に適当なp進数を対応させれば、
その図形の認識が深まるだけでなく、異なる図形の間の関係も明瞭になる。当然プログラミングも 容易になる。
さて、数学教育の立場からコンピュータの利用方法を考えるとき、数学的な内容を表現するプロ グラムを作る(学生に作らせる)ことの効用は、 1つにはもちろんプログラム言語の理解・修得が あるが、もう1つには数学的内容の理解を深めることの意義が大きい。その理解が十分で正しくな いと、プログラムが正しく作動しないから、理解が十分かどうかのチェックになって、特に自分の 理解度を把握できないタイプの学生に対する教育効果が著じるしい。
本稿がそのような教育の教材の一部たり得ることが筆者の願いに他ならない。
wwKifipsasa saga easy w [siti] sa.na s slfe s2 te site s^ s site sJ lj;::i [;i] [r;:i ^
b enjp qvrpd pr-i..n rupi: pc.i.rp crupd pcru::) qt.rpc:
f.rJ Ii'j tin LriJ LnJ rib r'ri uiJ InJ hb cln Lru uil ri.:i trj-i Lai rtri up rrv] nn nn Lrp [;.vJ rin [in Lrp i.:u rui rvi Lrp cu [ i.ri p d..n5 tiiiii db cinb tin b c p drib t:'j i..b tib drib drib i:
L rp iri.j -| [::T.rp i:i r-i c i.rp tnJ Lrp irirp rrLrp njp irvni rrd fib t:iri Lju tib iIri Lru fill en rib dri iju fib dn Lru fib tin
SS 'S 5?_ffiSisa dlJ35 ffitS 5eiS S1^ u^5
fJEL&P S5|S &T5S [M [SIS dG}S S(Ki pM
L r,:::i r,v.l rin up r;i.l nn up t::u Lip cru nn Lrp r:i,l rin Lrp tru fib drib drib tirib drib druib tinb dnb dru drib dri p QiJ nb (in In] qtrp r-up irixp rib dri LriJ rib qvrp t:-irp qtrp dri Lrd Kb tin LnJ rib dr| crup tTU-p t-up c'Lrp t: LnJ
[inLrpciJ rinptrpt; nn LrpciJnilpqpi' [iri Lrpcu tin ::it:'.nb iin.bt LnJ LnJ pdrib dribd LnJ LnJ bdrib dribr.
SSISS 5PW[]5}SSfBlipaw EBjlSS
rrb1 &5 BSS5 fe SiBaiS SiffiiS S ltSBIj iJS^S
r
ui [ui rin fin Lrp ci..r.::icup nnrirj cn.1 rui [in [in rin bdbd biibd rib dn LnJ rib tin LriJ fib dri pdbd pdbd, Up r:i.lLrp qd brpt: ru-| Lip r;u iif| bepr. Lrp i;iJLrp t,iJ rib druib iiii UU Lrd pdtib drvbd Lrd LnJ rib drmb dxi
:
ir. up :n.rpd rin rui ::iirup i.arpd rvri rui br.:i.ip qirpr^
Lrd[lE.iiir LnJ ptibt: LnJrib dn QiJpdbdLrdfib driLnJ
r
in Lrp ri.l rin up r~iI tin Lrp i::,il tin Lrp iriI rin Lrp trd fin b ilnii dribdrib drib drib linb drib drib drib dnb d
Figure 4
1 ' "E: PEANOCV1
4 '
100 PP=4 :MB=6 :SCREEN 3 :CLS 2
110 DIM X(8,3))Y(8,3),B(1)3),A(8),MA(8),SF(8),SG(8),SI(8)
120 FOR 1=0 TO 3 :READ JX(I),JY(I)
130 X(0,I)=MB*(JX(I)+2) :Y(0,I)=MB*(JY(I)+2) :NEXT
140 DATA -1,-1,-1,1,1,1,1,-1
150 FOR 1=0 TO 1 :FOR J=0 TO 3 :READ B(I,J) :NEXT :NEXT
160 DATA 0,1,2,3,0,3,2,1
170 '
180 SF(O)=1 :MK(0)=MB :SI(O)=1 :PC=50 :QC=240 :JZ=4 :M=10
190 MA=2*.MB/(2*JZ) :P=M*MA+PC :Q=-M*MA+QC :POINT(P,Q)
200 J=l :GOSUB *A :END
210 '
220 *A :IF J<JZ GOTO *B
230 FOR 1=0 TO 3 :P=M*X(J-l,I)+PC :Q=-M*Y(J-l,I)+QC
240 LINE-(P.Q) :NEXT :RETURN
250 •E
260 *B :K(J)=O :KJ=O :MK(J)=MK(J-l)/2
270 '
] 280 *C :AE=KJ+1 :AE=AE-INT(AE/4)*4
29U SKJ)=S(iN(Ali-l.5)*S1(J-l) :SH=(1-S1(J))/2
300 SG(J)=SGN(2.5-KJ) :SE=SF(J-l)*SG(J) :SF(J)=SE
310 FOR 1=0 TO 3 :X(J,I)=X(J-l,KJ)+SE*JX(B(SH,I))*MK(J)
320 Y(J,I)=Y(J-1,KJ)+SE*JY(B(SH,I))*MK(J) :NEXT
330 J=J+1 :GOSUB *A :J=J-1
340 KJ=K(J)+1 :K(J)=KJ :IF KJ<PP GOTO *C ELSE RETURN
Program 4
-59-
iff fffl TOIP 'SW
K- <rJ!.^ ipJi Ik', if-JI å Hi d!Jr: %, !^J
t ELM
å r T. :,-
i ll'Oi n] ^'f41KMtlS*Sl-f l
| (ti t LWJ ;jvJ1i r-j,-. lt+i! ;jj iUt. i1 LUi,; ^ jM;.k-'vi i,;J.J rrwil ^ iF*'
iLftJi iLhJ.: ALnJ), iH-j
XI
1 •E
4 '
100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 320 330 340 350 360 370
"E:PEAN0CV2
PP=4 :MB=5 :SCREEN 3 :CLS 2 :CL(0)=3 :CL(1)=5
DIM X(8,3),Y(8,3),B(1,3),A(8),MA(8),SF(8),SG(8>,SI(8)
FOR 1=0 TO 3 :READ JXm.JY(l)
X(0,I)=MB*(JX(I)+2) :Y(0,I)=MB*(JY(I)+2) :NEXT
DATA -1,-1,-1,1,1,1,1.-1
FOR 1=0 TO 1 :FOR J=0 TO 3 :READ B(I,J) :NEXT :NEXT
DATA 0,1,2,3,0,3,2,1
SF(O)=1 :MK(O)=MB :SI(O)=1 :M=10
FOR F=0 TO 2 :PC=220*F :QC=210 :JZ=F+3
FOR G=0 TO 1
MA=2*MB/(2AJZ) :P=M*MA+PC :Q=-M*MA+QC :POINT(P,Q)
J=l :GOSUB *A
JZ=JZ+1 :NEXT G :NEXT F :END
æfA :IF J<JZ GOTO *B
FOR 1=0 TO 3 :P=M*X(J-1,I)+PC :Q=-M*Y(J-l.I)*QC
LINE-(P,Q),CL(G) :NEXT :RETURN
æfB :K(J)=O :KJ=O :MK(J)=MK(J-l)/2
«
*C :AE=KJ+1 :AE=AE-INT(AE/4)*4
SI(J)=SGN(AE-1.5)*SI(J-1) :SH=(l-SI(J))/2
SG(J)=SGN(2.B-KJ) :SE=SF(J-1)*SG(J) :SF(J)=SE
FOR 1=0 TO 3 :X(J,I)=X(J-1,KJ)+SE*JX(B(SH,I))*MK(J)
Y(J,I)=Y(J-1,KJ)+SE*JY(B(SH,I))*MK(J) :NEXT
J=J+1 :GOSUB *A :J=J-1
KJ=K(J>+1 :K(J)=KJ :IF KJ<PP GOTO *C ELSE RETURN
Program 5
-60-
Figure 6
1 4 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 320
"E:FRACTAL1
PP=3 :JZ=6 :K(0)=0 :SCREEN 3 :CLS 2
AX(0)=170 :BX(O)= 30 :CX(0)=310
AY(0)=0 :BY(0)=180 :CY(0)=180
J=0 :GOSUB *A :END
*A :DX(J)=(AX(J)+BX(J))/2 EX(J)=(BX(J)+CX(J))/2 FX(J)=(CX(J)+AX(J))/2
IF J<JZ GOTO *B
LINE(AXCJ),AY(J))-(BX(J),BY(J))
LINE-(CX(J),CY(J)) :LINE-(AX(J),AY(J))
:DY(J)=(AY(J)+BY(J))/2 :EY(J)=(BY(J)+CY(J))/2 :FY(J)=(CY(J)+AY(J)>/2
.•ERETURN
*B :K(J)=O
*C :0N K(J)+1 GOSUB *C1,*C2,*C3 :GOTO 310
*C1 :AX(J+1)=AX(J) AY(J+1)=AY(J)
*C2 :AX(J+1)=DX(J) AY(J+1)=DY(J)
*C3 :AX(J+1)=FX(J) AY(J+1)=FY(J)
GOSUB *A :J=J-1
:BX(J+1)=DX(J) :BY(J+1)=DY(J) :BX(J+1)=BX(J) :BY(J+1)=BY(J) :BX(J+1)=EX(J) :BY(J+1)=EY(J)
CX(J+1)=FX(J) CY(J+1)=FY(J) CX(J+1)=EX(J) CY(J+1)=EY(J) CX(J+1)=CX(J) CY(J+1)=CY(J)
: RETURN : RETURN : RETURN J=J+1
K(J)=K(J)+1 :IF K(JXPP GOTO *C ELSE RETURN
Program 6
-61-
Figure 7
1 4 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 320 330 340 350 360
"E: FRACTAL2
f
PP=3 :K(0)=0 rSCREEN 3 :CLS 2 :CL(0)=3 :CL(1)=5
AY(O)=O :BY(0)=140 :CY(0)=140
t
FOR F=O TO 2 :JZ=F+2 :F2=F*21O
AX(O)=12O+F2 :BX(O)= 2O+F2 :CX(O)=22O+F2
FOR G=l TO 0 STEP -1 :CLR=CL(G)
J=O :GOSUB *A
JZ=JZ-1 :NEXT G :NEXT F :END
:DY(J)=(AY(J)+BY(J))/2 :EY(J)=(BY(J)+CY(J))/2 :FY(J)=(CY(J)+AY(J))/2
*A :DX(J)=(AX(J)+BX(J))/2 EX(J)=(BX(J)+CX(J))/2 FXU)=(CX(J>+AX(J>)/2
IF J<JZ GOTO *B
LINE(AX(J),AY(J))-(BX(J),BY(J)),CLR
LINE-(CX(J),CY(J)),CLR :LINE-(AX(J),AY(J)),CLR :RETURN
*B :K(J)=O
*C :0N K(J)+1 GOSUB
*C1 :AX(J+1)=AX(J) AY(J+1)=AY(J>
*C2 :AX(J+1)=DX(J) AY(J+1)=DY(J)
*C3 :AX(J+1)=FX(J) AY(J+1)=FY(J)
*C1,*C2,*C3 :GOTO 350
:BX(J+1)=DX(J) :CX(J+1)=FX(J>
:BY(J+1)=DY(J) :BX(J+1)=BX(J>
:BY(J+1)=BY(J) :BX(J+1)=EX(J) :BY(J+1)=EY(J)
CY(J+1)=FY(J) CX(J+1)=EX(J) CY(J+1)=EY(J) CX(J*1)=CX(J) CY(J+1)=CY(J)
: RETURN : RETURN : RETURN
J=J+1 :GOSUB *A
K(J)=K(J)+1 :IF
:J=J-1
K(JXPP GOTO *C ELSE RETURN
Program 7
-62-
Figure
"E: FRACTAL3
PP=8 :JZ=4 :PC=200 :QC=270 :M=180
SCREEN 3 :CLS 2
DIM BX(9,8),BY(9,8)
FOR H=0 TO 4 :READ BX(0,H),BY(O,H) :NEXT
DATA 0,0, 0,1. 1.1. 1.0, 0,0
FOR H=l TO 8 :READ Kl1(H),K12(H),K21(H),K22(H) :NEXT
DATA 1,0,0,1, 0,1,-1,0, 1,0,0,1, 0,-1,1,0
DATA 0,-1,1,0, 1,0,0,1, 0,1,-1,0, 1,0,0,1
P=M*BX(0,0)+PC :Q=-M*BY(0,0)+QC :POINT(P,Q)
J=0 :GOSUB *A :END
*A :IF J<JZ GOTO *B
FOR H=l TO 8 :P=M*BX(J,H)+PC :Q=-M*BY(J,H)+QC
LINE -(P.Q) :NEXT :RETURN
æfB :K(J)=O :KJ=O
æfC :CX=BX(J,KJ) :X=(BX(J,KJ+l)-CX)/4 :BX(J+l,0)=CX
CY=BY(J,KJ) :Y=(BY(J,KJ+l)-CY)/4 :BY(J+l,0)=CY
FOR H=l TO 8 :CX=CX+Kll(H)*X+K12(H)*Y :BX(J+l,H)=CX
CY=CY+K21(H)*X+K22(H)*Y :BY(J+l,H)=CY :NEXT
J=J+1 :GOSUB *A :J=J-1
KJ=K(J)+1 :K(J)=KJ :IF J>0 GOTO 350
IF KJ<4 GOTO *C ELSE RETURN
IF KJ<PP GOTO *C ELSE RETURN
Program 8
-63-
"E: FRACTAL4
:CLS 2 :CL(0)=3 :CL(1)=5
100 PP=8 :M=130 :SCREEN 3
110 DIM BX(9,8),BY(9,8)
120 FOR H=0 TO 4 :READ BX(0,H),BY(0,H) :NEXT
130 DATA 0.0. 0.1. 1.1, 1,0, 0,0
140 FOR H=l TO 8 :READ Kl1(H),K12(H),K21(H),K22(H> :NEXT
150 DATA 1,0,0,1, 0,1,-1,0. 1,0,0,1, 0,-1,1,0
160 DATA 0,-1,1,0, 1,0,0,1, 0,1,-1,0, 1,0,0.1
170 '
180 '
190 FOR F=0 TO 2 :PC=210*F+40 :QC=200 :JZ=F+1
200 FOR G=l TO 0 STEP -1
210 P=M*BX(0,0)+PC :Q=-M*BY(0,0)+QC :POINT(P,Q)
220 J=0 :GOSUB *A
230 JZ=JZ-1 :NEXT :NEXT :END
240 '
250 *A :IF J<JZ GOTO *B
260 FOR H=l TO 8 :P=M*BX(J,H)+PC :Q=-M*BY(J,H)+QC
270 LINE -(P.Q).CL(G) :NEXT :RETURN
280 '
290 *B :K(J)=O :KJ=O
300 *
310 *C :CX=BX(J,KJ) :X=(BX(J,KJ+1)-CX)/4 :BX(J+l,0)=CX
320 CY=BY(J,KJ) :Y=(BY(J,KJ+1)-CY)/4 :BY(J+l,0)=CY
330 FOR H=l TO 8 :CX=CX+K11<H)*X+K12(H)*Y :BX(J+l,H)=CX
340 CY=CY+K21(H)*X+K22(H)*Y :BY(J+l,H)=CY :NEXT
350 J=J+1 :GOSUB *A :J=J-1
360 KJ=K(J)+1 :K(J)=KJ :IF J>0 GOTO 380
370 IF KJ<4 GOTO *C ELSE RETURN
380 IF KJ<PP GOTO *C ELSE RETURN
Program 9
-64-
Figure 10
1 ' "E: FRACTAL5
3
100 PP=2 :M=300 :JZ=11
110 SCREEN 3 :CLS 2
120 PI=ATN(1)*4 :TH(0)=PI/8 :TH(l)=PI/6
130 TH(2)=PI/5 :TH(3)=PI/4.5
140 PC(0)=10 :PC(l)=330 :QC(0)=120 :QC(l)=300
150 DIM X(20,2),Y(20,2),K(20)
160 X(0,0)=0 :Y(0,0)=0 :X(0,l)=l :Y(0,l)=0 :MK=l/2
170 '
180 FOR F=0 TO 3 :MR=TAN(TH(F))/2
190 PC=PC(F MOD 2) :QC=QC(INKF/2))
200 DEF FNP(X)=M*X+PC :DEF FNQ(Y)=-M*Y+QC
210 POINT(FNP(X(0,0)),FNQ(Y(0,0)))
220 J=0 :GOSUB *A :NEXT F :END
230 '
240 *A :IF J<JZ GOTO *B
250 FOR H=l TO 2 :P=FNP(X(J,H)) :Q=FNQ(Y(J,H))
260 LINE-(P.Q) :NEXT tRETURN
270 '
280 *B :K(J)=O :KJ=O
290 '
300 *C :ML=(-1)"J*MR
310 CX=X(J,KJ) :AX=X(J,KJ+1)-CX :X(J+1,O)=CX
320 CY=Y(J,KJ) :AY=Y(J,KJ+1)-CY :Y(J+1,O)=CY
330 CX=CX+MK*AX-ML*AY :X(J+1,1)=CX :X(J+l,2)=X(J,KJ+1)
340 CY=CY+ML*AX+MK*AY :Y(J+1,1)=CY :Y(J+l,2)=Y(J,KJ+1)
350 J=J+1 :GOSUB *A :J=J-1
360 KJ=K(J)+1 :K(J)=KJ :IF J>0 GOTO 380
370 IF KJ<1 GOTO *C ELSE RETURN
380 IF KJ<PP GOTO *C ELSE RETURN
Program 10
-65-
f ‑ ' ‑ l 1 : : J
r
I
r * > ‑ ‑ ' w ‑
蝣 ォ̲1 蝣 '.̲̲J
C J
* . > < " .<" 蝣 ,J W u J ' U >
_-å 4 '4---