新しく発言する  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 
  ただいま自力でプログラムを作ってますので 会社員 2007/12/19 00:27:40 
   ├途中ですが、中間報告です突然変異考慮して... 会社員 2007/12/29 06:50:22 

Re: ただいま自力でプログラムを作ってますので  返事を書く  ノートメニュー
会社員 <qiekrrepwd> 2007/12/29 06:50:22
途中ですが、中間報告です 突然変異考慮していません。
! =素数ゼミのシナリオ=

OPTION BASE 0
OPTION ARITHMETIC DECIMAL_HIGH
DIM Cimi_N(20),KIL_N(20) !その年のN年セミ・寄生虫の個体数
DIM Cimi_N_Egg_Sleep(20,20) !眠っているN年セミの数 Cimi_N_Egg_Sleep(残り冬眠年数,年ゼミ)
DIM KIL_N_Egg_Sleep(20,20) !眠っているN年寄生虫の数 KIL_N_Egg_Sleep(残り冬眠年数,年寄生虫)
DIM Cimi_N_Egg(20)
DIM KIL_N_Egg(20)

! 初期条件
! セミは、Mlt_cimi 個の卵を産む
! 寄生虫の増殖スピードは Mlt_KIL倍とする。
LET Mlt_cimi=50 !セミの卵
LET Mlt_KIL=100 !寄生虫の卵

PRINT "最初、セミは、1年セミと2年セミ・・・がいた。"
PRINT "そこへ 1匹の寄生虫が現れた。"
LET Cimi_N(1)=0
LET Cimi_N(2)=0
LET Cimi_N(3)=10^8
LET Cimi_N(4)=10^8
LET Cimi_N(5)=10^8
LET Cimi_N(0)=Cimi_N(1)+Cimi_N(2)+Cimi_N(3)+Cimi_N(4)+Cimi_N(5)
LET KIL_N(1)=1
LET KIL_N(2)=1
LET KIL_N(3)=1
LET KIL_N(4)=0
LET KIL_N(5)=0
LET KIL_N(0)=KIL_N(1)+KIL_N(2)+KIL_N(3)+KIL_N(4)+KIL_N(5)


PRINT "■■■■■■■■■0年目■■■■■■■■■"
FOR I=1 TO 20
PRINT "発生した";I;"年ゼミ=";Cimi_N(I);"匹 ";STR$(I);"年寄生虫=";KIL_N(I);"匹"
NEXT I
PRINT "合計";Cimi_N(0);"のセミと";KIL_N(0);"の寄生虫が発生した"

! 寄生虫はセミを捕食し Mlt_KIL 倍に増えた
LET Cimi_Nokori=Cimi_N(0)-KIL_N(0)
LET KIL_Nokori=Mlt_KIL*KIL_N(0)
PRINT "KIL_Nokori=";KIL_Nokori

PRINT "初年 ";Cimi_Nokori;"匹が生き残った"
PRINT "初年 ";KIL_Nokori;"匹まで寄生虫が増加"
PRINT "生き残ったセミは、1匹が";Mlt_cimi;"個の卵を産んだ"
LET Cimi_Egg=Mlt_cimi*Cimi_Nokori
PRINT "セミの産んだ卵の数=";Cimi_Egg

PRINT "これを元に冬眠するセミ・寄生虫を計算すると・・・"
!1年ゼミの卵の数は
LET Cimi_N_Egg_Sleep(1,1) =INT(Cimi_Egg*(Cimi_N(1)/Cimi_N(0)))
LET Cimi_N_Egg_Sleep(2,2) =INT(Cimi_Egg*(Cimi_N(2)/Cimi_N(0)))
LET Cimi_N_Egg_Sleep(3,3) =INT(Cimi_Egg*(Cimi_N(3)/Cimi_N(0)))
LET Cimi_N_Egg_Sleep(4,4) =INT(Cimi_Egg*(Cimi_N(4)/Cimi_N(0)))
LET Cimi_N_Egg_Sleep(5,5) =INT(Cimi_Egg*(Cimi_N(5)/Cimi_N(0)))

!寄生虫の数は
LET KIL_N_Egg_Sleep(1,1)=INT(KIL_Nokori*KIL_N(1)/KIL_N(0))
LET KIL_N_Egg_Sleep(2,2)=INT(KIL_Nokori*KIL_N(2)/KIL_N(0))
LET KIL_N_Egg_Sleep(3,3)=INT(KIL_Nokori*KIL_N(3)/KIL_N(0))
LET KIL_N_Egg_Sleep(4,4)=INT(KIL_Nokori*KIL_N(4)/KIL_N(0))
LET KIL_N_Egg_Sleep(5,5)=INT(KIL_Nokori*KIL_N(5)/KIL_N(0))


PRINT "1年セミ冬眠数=";Cimi_N_Egg_Sleep(1,1)
PRINT "2年セミ冬眠数=";Cimi_N_Egg_Sleep(2,2)
PRINT "3年セミ冬眠数=";Cimi_N_Egg_Sleep(3,3)
PRINT "4年セミ冬眠数=";Cimi_N_Egg_Sleep(4,4)
PRINT "5年セミ冬眠数=";Cimi_N_Egg_Sleep(5,5)
PRINT "1年寄生虫冬眠数=";KIL_N_Egg_Sleep(1,1)
PRINT "2年寄生虫冬眠数=";KIL_N_Egg_Sleep(2,2)
PRINT "3年寄生虫冬眠数=";KIL_N_Egg_Sleep(3,3)
PRINT "4年寄生虫冬眠数=";KIL_N_Egg_Sleep(4,4)
PRINT "5年寄生虫冬眠数=";KIL_N_Egg_Sleep(5,5)

CALL Under_Grand2 ! 土の中の状態

   ├!(つづき) 会社員 2007/12/29 06:51:44 
   ├!(つづき2) 会社員 2007/12/29 06:53:31 
   └!(つづき3) 会社員 2007/12/29 06:54:31 

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