新しく発言する  EXIT  インデックスへ
素数セミのシナリオについて

  素数セミのシナリオについて 会社員 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 

 インデックスへ  EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。