■ ログイン
ユーザ名:

パスワード:

IDとパスワードを記憶

パスワード紛失

新規登録
■ メインメニュー
■ 書籍検索
■ アクセスカウンター
2008/10/07:19/154
2008/10/06:27/145

2008/09/07より464/6404
■ ブログについて
ウェブページの作成を助ける「ブロック」がここにあります。

それは心躍るブログになるかもしれませんし、観るものを和ませる家族のページになるかもしれませんし、実り多き趣味のサイトになるかもしれません。
あるいは現在のあなたには想像がつかないものになることだってあるでしょう。

用途が思いつきませんでしたか? それならここへ来て正解です。
なぜならあなた同様私たちにもわからない可能性を秘めているのですから。
一歩を踏み出すことから全てが始まります。→ブログの作り方のブログ

投票順に並替
2008 | 02 | 03 | 04
2006 | 08 | 09 | 10 | 12
2005 | 10
13歳からの人工生命の作り方  人工生命について実際に作りながら紹介したいと思います。
2006年10月24日(火曜日)
プログラムを見てみよう 03:19  sekken 


人工生命をつくるにはプログラミングが必要です。
普通こういったプログラムを作るのには大変な時間と、知識が必要になるのですが、ネットロゴはたいへん手軽にプログラムを作ることができます。(それでも覚えることはいろいろありますが、英語の勉強にもなるので一石二鳥です)

プログラムの中身を見るには上のprocedureタブを押します。

すると英語の文章のような、よくわからない文がバーと出てきます。

プログラムというと難しそうですが、コンサートのプログラムなどと同じようにコンピュータにさせることを書いた手順書です。

コンピュータが理解できるのは0と1だけですが、人間にもわかりやすいように翻訳してくれるコンピュータ専用の言葉がいろいろあります。

スターロゴはロゴという教育用の言葉を元に作られているので、普通の英語の文に近く順番に見て行けばそれほど難しくありません。

ライフゲームのプログラムは、プログラミングをやったことがある人が見ると、こんな短いプログラムで作れるのかとちょっと驚くと思います。

意味は大体下のような感じです。


patches-own [
living? ;; 生きているかどうか
live-neighbors ;; 隣のセルがいくつ生きているか 
];;パッチ変数の設定(パッチはセルのこと)

to setup-blank ;;setup-blankが呼び出された時
ask patches ;;パッチに対して
[ cell-death ] ;;cell-deathを実行する
end ;;終了

to setup-random ;;setup-randomが呼び出された時
ask patches ;;パッチに対して
[ ifelse random-float 100.0 < initial-density ;;もしinitial-densityが100までのでたらめの数より小さいとき
[ cell-birth ] ;;cell-birthを実行する
[ cell-death ] ];;cell-deathを実行する
end ;;終了

to cell-birth ;;cell-birthが呼び出された時
set living? true ;;living?をtrue(真)に設定する
set pcolor fgcolor ;;色をfgcolorに設定する
end ;;終了


to cell-death ;;cell-deathが呼び出されたら
set living? false ;;living?をfalse(偽)に設定する
set pcolor bgcolor ;;色をbgcololrに設定する
end ;;終了


to go ;;goが呼び出された時
if mouse-down? ;;もしマウスボタンが押されていたら
[ stop ] ;; 描くのをやめるまでストップする 
ask patches ;;パッチに対して
[ set live-neighbors count neighbors with [living?] ]
;;隣り合ったセルのうちliving?がtrue(真)のセルの数をlive-neighborsにセットする


ask patches ;;パッチに対して
[ ifelse live-neighbors = 3 ;;もしlive-neighborsが3だったら
[ cell-birth ];;cell-birthを実行する
[ if live-neighbors != 2
[ cell-death ] ] ];;それ以外の場合でlive-neighborsが2でなかったらcell-deathを実行する
end ;;終了


to add-cells  ;;add-cellsが呼び出された時
if mouse-down? ;;マウスボタンが押されていたら
[ ask patch-at mouse-xcor mouse-ycor 
[ cell-birth ] ];;マウスの場所のセルにsell-birthを実行する
end ;;終了


to remove-cells ;;remove-cellが呼び出された時
if mouse-down?  ;;マウスボタンが押されていたら
[ ask patch-at mouse-xcor mouse-ycor
[ cell-death ] ];;マウスの場所のセルにsell-deathを実行する
end ;;終了




ざっと見て行くと
to ○○

end

がひとまとまりになっていることに気がつきます。
○○はボタンや他のまとまりから呼び出されて実行されます。


この記事は役に立ちましたか?: はい いいえ

リンク元  (40)
運命はすでにきまっているのか 02:50  sekken 
大昔から哲学者や学者は世界の根源は何かということを考えてきました。
ギリシャの哲学者タレスは、すべては水が変化したものだと考えましたし、中国の陰陽説では陰と陽の対立から世界が生まれると考えました。

現在では、すべて12種類の素粒子からできているということがしられています。

そのうちに究極の理論が考えられて、素粒子に働く力のなぞがすべて解けるかもしれません。

では、究極の理論ができて世界の状態が完全にわかったときに世界はすべて予測可能になるのでしょうか?

ライフゲームの世界では、ルールは完全にわかっていますし、偶然の働く余地はありません。
最初の状態さえ決まれば、すでにその後どう変化するかは、すべて決まっています。

でも、実際に動かしてみないと未来を知ることはできないのです。


この記事は役に立ちましたか?: はい いいえ

リンク元  (28)
(1) 
PopnupBlog 3.0 Denali-1225 created by Bluemoon inc.  
■ GoodClueモバイル
携帯電話からも情報をご覧いただけるようになりました。どうぞご利用下さい。


■メールでURLを送る
 
Copyright (C) 2005-2007 GoodClue.net. All Rights Reserved.