• 検索結果がありません。

雑誌名 奈良教育大学教育工学センター研究報告

N/A
N/A
Protected

Academic year: 2021

シェア "雑誌名 奈良教育大学教育工学センター研究報告"

Copied!
14
0
0

読み込み中.... (全文を見る)

全文

(1)

フラクタルと辞書式順序における再帰的構造 ? 

−プログラムに現われる共通の骨格−

著者 菅原 民生

雑誌名 奈良教育大学教育工学センター研究報告

巻 14

ページ 55‑67

発行年 1991‑03‑15

その他のタイトル Recursive structures in Fractals and Lexicographical Orders II

URL http://hdl.handle.net/10105/4520

(2)

><: 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‑

(3)

おいて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

(4)

"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

(5)

§2 フラクタル図形

コンピュータのプログラムは、単なる手段であって、結果が正しければあまり推敵しても意味が ないという考え方も成り立つ。しかし時にはプログラムが1つの恩想を語り始めることがあるのも 事実である。ちょうど力学において変分原理が成り立っ、すなわち運動がエネルギー最小の道を捜

し出すように、プログラムも無駄を省いていくとある合理的な形に落ち着く先がある。

ここには4つのフラクタルの図形をとりあげた。それぞれについて、 1つだけ図形を描く場合と、

深さを1段深めて2色刷りしたものを、深さを3段階(最後の例は6段階)にして描いた場合を示 した。後者はフラクタル図形の特徴をよく物語っていて、眺めているだけで理解を深めることがで きて、教育効果が大きいと思われる。

4つの図形のうち2つは、すでに[1]において取りあげたものであるが、 Programlにおいて ラベルを*A、 *B、 *Cとした箇所を共通にして対応を明らかにし、同じ流れであることが容易 に読み取れるよう改良した。

§3 コンピュータプログラミングと数学教育

数学を学んでいるときの楽しさの1つは、見かけ上非常に異なっているように見えるものの問に、

思いがけない関係が見つかることであろう。再帰的な図形の各部分に適当なp進数を対応させれば、

その図形の認識が深まるだけでなく、異なる図形の間の関係も明瞭になる。当然プログラミングも 容易になる。

さて、数学教育の立場からコンピュータの利用方法を考えるとき、数学的な内容を表現するプロ グラムを作る(学生に作らせる)ことの効用は、 1つにはもちろんプログラム言語の理解・修得が あるが、もう1つには数学的内容の理解を深めることの意義が大きい。その理解が十分で正しくな いと、プログラムが正しく作動しないから、理解が十分かどうかのチェックになって、特に自分の 理解度を把握できないタイプの学生に対する教育効果が著じるしい。

本稿がそのような教育の教材の一部たり得ることが筆者の願いに他ならない。

(6)

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-

(7)

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-

(8)

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-

(9)

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-

(10)

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-

(11)

"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-

(12)

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-

(13)

f ‑ '  ‑ l  1   : : J

r

  I

r  * >  ‑ ‑ '    w ‑

  蝣 ォ̲1  蝣   '.̲̲J

C J

* .  >  < " .<" 蝣 ,J W  u J ' U >

_-å 4 '4---

_ V i

/I,

iv.. 7 i :.-n

t

^.2ill '/ i'^

u\>

v~^fiJ' W^ ^A^S t*fl*- ^dth t^S^iL

Figurell

1 ' "E:FRACTAI.6

3

100 PP=2 :M=130

110 SCREEN 3 :CLS 2 :C0NS0LE,,0 :CL(0)=3 :CL(l)=5

120 P1=ATN<1>*4 :TH(0)=PI/8 :TH(l)=PI/6

130 TH<2)=PI/5 :TH(3)=Pl/4.5 140 DIM XC2O.2),Y(2O,2),K(20)

150 X(0,0)=0 :Y(0,0>=0 :X(0,l)=l :Y(0.1)=0 :MK=l/2

160 '

170 FOR JY=O TO 5 :QC=68*JY+58

180 FOR F=0 TO 3 :MR=TAN(TH(F>)/2 :PC=5+15O*F :JZ=JY

190 DEF FNP(X)=M*X+PC :DEF FNQ(Y)=-H*Y+QC

200 FOR 0=0 TO 1 :PO!NT(FNP(X(0,0)),FNQ(Y(0,O>)>

210 J=0 :GOSUB *A

220 JZ=JZ+1 :NEXT G :NEXT F :NEXT JY :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),CL(G) :NEXT :RETURN

270 •E

280 *B :K(J)=O :KJ=O

290 •E

300 *C :ML=(-I)~J*MR

310 CX=X(J,KJ) :AX=XU,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+1,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 ll

-66-

(14)

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 &#34;E:FRACTAL1PP=3:JZ=6:K(0)=0 :SCREEN 3 :CLS 2AX(0)=170:BX(O)=30:CX(0)=310
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 &#34;E: FRACTAL2fPP=3:K(0)=0 rSCREEN 3 :CLS 2 :CL(0)=3 :CL(1)=5

参照

関連したドキュメント

[r]

quarant’annni dopo l’intervento della salvezza Indagini, restauri, riflessioni, Quaderni dell’Ufficio e Laboratorio Restauri di Firenze—Polo Museale della Toscana—, N.1,

 大正期の詩壇の一つの特色は,民衆詩派の活 躍にあった。福田正夫・白鳥省吾らの民衆詩派

地方創生を成し遂げるため,人口,経済,地域社会 の課題に一体的に取り組むこと,また,そのために

[r]

記述内容は,日付,練習時間,練習内容,来 訪者,紅白戦結果,部員の状況,話し合いの内

The Development and the Using of Web Site for Supporting the Students to Assist in the Classes 加藤 隆弘 松能 誠仁 松原 道男.. Takahiro KATO Nobuhito MATSUNO

バックスイングの小さい ことはミートの不安がある からで初心者の時には小さ い。その構えもスマッシュ