素数セミのシナリオについて 会社員 2007/12/03 00:06:24 ├個人的見解:予定調和組み 小塚貞典 2007/12/03 16:21:09 │└生成消滅演算子 小塚貞典 2007/12/13 23:08:22 ├蝉の生い立ちを考えると、 山中和義 2007/12/05 15:15:09 │└つづき 山中和義 2007/12/05 15:15:57
Re: 蝉の生い立ちを考えると、 |
返事を書く ノートメニュー |
山中和義 <drdlxujciw> 2007/12/05 15:15:57 | |
つづき
!成虫の過程 DIM heni_semi(N,2) FOR i=1 TO N !突然変異 LET a=INT(semi(i)/1E4) !※3) IF a>0 THEN IF RND<0.5 THEN !1年プラス IF i<N THEN LET heni_semi(i,1)=a !増加分 ELSE !N年蝉は減る LET heni_semi(i,2)=a END IF ELSE !1年マイナス IF i>1 THEN LET heni_semi(i,2)=a ELSE !1年蝉は増える LET heni_semi(i,1)=a END IF END IF LET semi(i)=semi(i)-a !元を減らす END IF NEXT i LET semi(1)=semi(1)+heni_semi(2,2) !増減を反映させる FOR i=2 TO N-1 LET semi(i)=semi(i)+heni_semi(i-1,1)+heni_semi(i+1,2) NEXT i LET semi(N)=semi(N)+heni_semi(N-1,1) FOR i=1 TO N !天敵 LET semi(i)=INT(semi(i)*(1-0.5)) !※9) NEXT i LET sum=0 !その他の外的条件 FOR i=1 TO N LET sum=sum+semi(i) NEXT i IF sum>=1E9 THEN !※6) FOR i=1 TO N LET semi(i)=INT(semi(i)/sum*1E9) NEXT i END IF !IF MOD(g,500)=0 THEN !トレース PRINT "年=";g, p(g) MAT PRINT USING(REPEAT$("#,###,###,### ",N)): semi !END IF LET sum=0 !交配 FOR i=1 TO N LET sum=sum+semi(i) NEXT i IF sum>0 THEN FOR i=1 TO N !卵をタイムテーブルへ(世代交代) FOR j=1 TO N !※5) LET a=INT((semi(i)/2)*100 * semi(j)/sum) !※7) 半分がメス LET y=MAX(i,j) !年数 ※多年が優性遺伝 LET timeTBL(p(g+y),y)=timeTBL(p(g+y),y)+a NEXT j NEXT i ELSE PRINT "すべて死滅!" END IF LET g=g+1 !次へ MAT semi=ZER !蝉の成虫はすべて死滅する LOOP END |
└ただいま自力でプログラムを作ってますので 会社員 2007/12/19 00:27:40 ├途中ですが、中間報告です突然変異考慮して... 会社員 2007/12/29 06:50:22 ├!(つづき) 会社員 2007/12/29 06:51:44 ├!(つづき2) 会社員 2007/12/29 06:53:31 └!(つづき3) 会社員 2007/12/29 06:54:31