TOP > n.s.研究所 > 講義 > コンピュータ・サイエンス講座 > 基礎講座

講義
2008年6月 7日 林 叔克

第2回授業報告(2008.06.06)

カテゴリ:基礎講座

今回の授業は、新たに文学部や法学部の1年生の参加となった。自然現象のアルゴリズムを見いだし、シミュレーションを構築することで、自然の原理を解明していこうという方向性を最初に提示した。

ボールの運動を記述するのに、座標軸の導入が必要となるが、との必然性をデカルトが、どのように「ここはどこ? いまはいつ?」という問いに答えようとしたかという逸話を紹介した。ここという場所を指し示すのに、基準となる場所が必要になる。この基準を原点とよび、座標軸を自然界に導入したことこそが、自然い対して人が見方を提示した瞬間である。この座標軸によって速度の定義など、他の物理量の定義が可能となる。

さて、ビリヤードの玉が壁にぶつかって反射していく世界を予測しよう!というのが課題である。

プログラムの実行文である等式、x=x+1;がこの瞬間と未来のつなぐ式であることを理解するとは、右辺のxは今のこの瞬間を表し、左辺のxは、未来の玉の位置を表していることを理解することである。 for文が繰り返される中で、xという変数に入る値が変わっていく。授業では数字がはいる箱という意味で、ブラックボックスという言い方をした。forループという繰り返しの中で、xという値がワンステップ毎に更新されていき、玉の運動が記述される。

玉が壁にぶつかる瞬間になにがおこるのか?「運動の向きがかわる」という意見がでてきたが、向きが変わるとは、どういう意味なのか?速度が方向性を持ち、方向性が導入した座標のプラス方向か、マイナス方向かで、符号がきまる。まず、ここで全員が立ち止まって考えた。

次にプログラム上で、速度の方向がどのように変化を書き表すことが必要となる。衝突が起こった瞬間におこる、過去と未来をつなぐ式を、過去を表す右辺、未来を表す左辺で表すにはどのようにしたらいいのだろうか?
C言語のプログラミングにおける課題としては、プログラム上におけるイコール=の意味は、数学の等式とは異なっているので、授業ではこのプログラム上のイコールという概念を構築するのに時間をかけた。
アルゴリズムを構築するさいに、繰り返し計算と条件分岐の理解が必要となるが、ボールが壁にぶつかるという瞬間をどのように条件とするのか、さらにボールが壁にぶつかる瞬間に「真」、ぶつからないならば「偽」という判定がなされる。

以上、「ボールが跳ね返るということは、どういうことか?」のアルゴリズムを繰り返し計算と条件分岐で構築した。


衝突するボールのプログラミング

for ループによる繰り返し計算
{
   x=x+Vx;//ボールの位置を更新する

  if(衝突の条件判定)
 {
  ーVx=Vx;//衝突の前後のワンステップにおこる現象を捉える
  }

}
cs1-3-2.gif

トラックバック(0)

このブログ記事を参照しているブログ一覧: 第2回授業報告(2008.06.06)

このブログ記事に対するトラックバックURL: http://field-and-network.jp/mt/mt-tb.cgi/3078

コメントする

コメントはユーザ登録なしに、どなたでも行うことができます。
入力頂いたコメントは、管理者の承認後公開されます。

※必須(公開)

※必須(非公開)

「基礎講座」 の最新記事5件

現在のカテゴリ
講義 > コンピュータ・サイエンス講座 > 基礎講座



n.s.研究所


Warning: include(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/xsvx1015071/natural-science.or.jp/public_html/laboratory/lecture/computer-science/mechanics/20080607142509.php on line 929

Warning: include(http://www.natural-science.or.jp/laboratory/log/includeLatest.data): failed to open stream: no suitable wrapper could be found in /home/xsvx1015071/natural-science.or.jp/public_html/laboratory/lecture/computer-science/mechanics/20080607142509.php on line 929

Warning: include(): Failed opening 'http://www.natural-science.or.jp/laboratory/log/includeLatest.data' for inclusion (include_path='.:/opt/php-7.0.33-3/data/pear') in /home/xsvx1015071/natural-science.or.jp/public_html/laboratory/lecture/computer-science/mechanics/20080607142509.php on line 929



Warning: mysqli_connect(): (28000/1045): Access denied for user 'xsvx1015071_ri'@'sv102.xserver.jp' (using password: YES) in /home/xsvx1015071/include/natural-science/include_counter-d.php on line 8
MySQL DBとの接続に失敗しました