24
Logical Thinking and Programming 論理思考とプログラミング 41時限目 41時限目 記憶装置(変数)を使いこなす 記憶装置(変数)を使いこなす

論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

●●● Logical Thinking and Programming

論理思考とプログラミング第4回 1時限目第4回-1時限目

記憶装置(変数)を使いこなす記憶装置(変数)を使いこなす

Page 2: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

前回授業の復習

授業情報Logical Thinking授業情報

Webhttp://www.ht.sfc.keio.ac.jp/~skk/lt2009f/SFSからたどれますSFSからたどれます。

教材や配布資料が閲覧できる

授業で使うソフトウェアがダウンロードできる

メールル

スタッフ用メーリングリスト[email protected]@ jp

クラス用メーリングリスト[email protected]

Logical Thinking and Programming ●●●

Page 3: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

今日の授業の流れLogical Thinking

今日の授業の流れ

1時限目1時限目講義

まとめ:2つのオブジェクトの変数の連携まとめ:2つのオブジェクトの変数の連携まとめ:計算と変数1時限目の演習範囲の解説

演習演習Project7 車をアクセルで加速できるようにしてみよう

2時限目2時限目講義

2時限目の演習範囲の解説

自由演習自由演習前回までにやり残した問題(やり残しがない人は)好きな問題か,シミュレータの作成

Logical Thinking and Programming ●●●

Page 4: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

配布資料Logical Thinking

配布資料

第4回 演習チェックシート

Logical Thinking and Programming ●●●

Page 5: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

1時限目の目標Logical Thinking

1時限目の目標

「変数」を自ら定義し,それを使ってプログラムが書けるようになる

Logical Thinking and Programming ●●●

Page 6: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

先週の復習:変数と変数タイルLogical Thinking

先週の復習:変数と変数タイル

変数 名前 例 座標 値 例 を持変数は名前(例:X座標)と値(例:262)を持っている

変数に対して可能な操作は22つだつだけけ

変数から値を「読み出す」

変数に値を「書き込む」

変数から値を読み出し 計算処理をして 変数に値変数から値を読み出し,計算処理をして,変数に値を書き込むことも出来る

X座標の値(262)を「読み出し」 それに1を加えて(263)X座標の値(262)を「読み出し」,それに1を加えて(263),それをX座標に「書き込む」

Logical Thinking and Programming ●●●

Page 7: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

まとめ:2つのオブジェクトの変数の連携Logical Thinking

まとめ:2つのオブジェクトの変数の連携

あるオブジェクトの変数を「読み出し」,他のオブジェクトの変数に「書き込む」ことができる変数

ハンドルの向き(30)を読み込み,車の向きに書き込むき込む

Logical Thinking and Programming ●●●

Page 8: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

まとめ:計算と変数Logical Thinking

まとめ:計算と変数

変数から値を読み出し,計算処理をして,変数に値を書き込むことが出来る

計算タイルを使うと,計算処理が記述できる

下記の2つのタイルは同じ意味になる

「●に1を足す」タイルは「●を●+1に変える」というタイルの略記である

Logical Thinking and Programming ●●●

Page 9: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

講師によるデモLogical Thinking

講師によるデモ

第4回 > Project7 > 7.1第4回 > Project7 > 7 2第4回 > Project7 > 7.2

第 回 第 回

Logical Thinking and Programming ●●●

第4回 > Project7 > 7.1 第4回 > Project7 > 7.2

Page 10: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

1時限目の演習範囲Logical Thinking

1時限目の演習範囲

速Project7 車をアクセルで加速できるようにしてみよう

テキストの範囲

P 91~P 95P.91~P.95指定問題

や てみよう N 7 2(P 94)やってみよう No.7-2(P.94)練習問題 7.1(P.95)

が演習が終わった人は,先週の指定課題を進めてください.

Logical Thinking and Programming ●●●

Page 11: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

●●● Logical Thinking and Programming

論理思考とプログラミング第4回 2時限目第4回-2時限目

記憶装置(変数)を使いこなす記憶装置(変数)を使いこなす

Page 12: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

2時限目の目標Logical Thinking

2時限目の目標

ま 授業 く が少 辛かここまでの授業についていくのが少し辛かった人は遅れを取り戻す

順調に指定問題をこなせている人は 自由に順調に指定問題をこなせている人は,自由に演習をする

これまでの学習範囲で好きな問題(1~2問程度)これまでの学習範囲で好きな問題(1~2問程度)に取り組む

簡単なシミュレ ションを作成し 作成したシミュ簡単なシミュレーションを作成し,作成したシミュレーションにおけるモデル化の考え方を理解する

Logical Thinking and Programming ●●●

Page 13: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

落下運動のシミュレーションLogical Thinking

落下運動のシミュレ ション

高いビルからボールを真横に投げたときのボールの動きをシミュレートしてみる

空気抵抗は考えない

地面は十分に硬く 投げるボ ルはス パ地面は十分に硬く,投げるボールはスーパーボールのように反発する(完全弾性衝突)

Logical Thinking and Programming ●●●

Page 14: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

講師によるデモLogical Thinking

講師によるデモ

第4回 > 落下運動シミュレータ

Logical Thinking and Programming ●●●

Page 15: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

落下運動シミュレータの仕様Logical Thinking

落下運動シミュレ タの仕様シミュレータの動作制御ボタン

ボールを横から見た動きとその軌跡を表示するリセット:ボールを初期位置に戻し,軌跡を削除するスタート:シミュレーションの開始ストップ:シミュレーションの停止

描画したグラフの消去ボタン

速度グラフ表示部分

Logical Thinking and Programming ●●●

縦軸:ボールの垂直方向の速度(上向きを-,下向きを+,縦軸中央の速度は0)横軸:ボールを投げてからの経過時間(グラフ上部のアニメーションと同期)

Page 16: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

落下運動シミュレータの実装Logical Thinking

落下運動シミュレ タの実装

ボ ボ グ必要な部品(ボール,ボタン類,グラフの部品等)は既に用意してあります

配布資料を参照しながら,シミュレータの動作に必要なプログラムを作成してくださいに必要なプログラムを作成してください

落下運動シミュレーション(I),(II)を参照

Logical Thinking and Programming ●●●

Page 17: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

モンテカルロ法によるπの近似Logical Thinking

モンテカルロ法によるπの近似

モンテカルロ法 決定論的および確率論的問題のモンテカルロ法・・・決定論的および確率論的問題の処理に,無作為抽出を利用すること

1辺の長さが1の正方形の中から,ランダムに1点を選択し,扇形の内部かどうかを判定する選択し,扇形の内部かどうかを判定するランダムに設定したn個の点のうち,扇形の内部の点がk個であれば,π = 4k/n扇形の面積は πr2/4 = π/4正方形の面積は r2 = 1k /4 1k : n = π/4 : 1

π=4k/nπ=4k/n1

Logical Thinking and Programming ●●●

Page 18: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

講師によるデモLogical Thinking

講師によるデモ

第4回 > モンテカルロシミュレータ

Logical Thinking and Programming ●●●

Page 19: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

モンテカルロシミュレータの仕様Logical Thinking

モンテカルロシミュレ タの仕様

円周率の近似値 まいたゴマが円弧の内側にシミュレータの動作制御ボタン

円周率の近似値,まいたゴマが円弧の内側に入った回数,試行回数を表示する リセット:全ての計測値をリセットする

スタート:シミュレーションの開始ストップ:シミュレーションの停止

ゴマ

描画したグラフの消去ボタン

円周率の近似値のグラフ

縦軸:近似値の値(縦軸中央が3.14)横軸:シミュレーションを開始してからの経過時間

Logical Thinking and Programming ●●●

Page 20: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

モンテカルロシミュレータの実装Logical Thinking

モンテカルロシミュレ タの実装

必要な部品(ゴマ,円弧の台紙,ボタン類,グラフの部品 等)は既に用意してあります

配布資料を参照しながら,シミュレータの動作に必要なプログラムを作成してくださいに必要なプログラムを作成してください

モンテカルロシミュレーション(I),(II)を参照

Logical Thinking and Programming ●●●

Page 21: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

まとめ:モデル化とシミュレーションLogical Thinking

まとめ:モデル化とシミュレ ション

モデル化 現実世界の事象や問題を その本質をモデル化・・・現実世界の事象や問題を,その本質を損なわずに,代替物として表現すること

図やグラフ図やグラフ数式・記号類似物(ミニチュア) 等

事象や問題をモデル化し,そのモデルを使って数学的な解析 を行う と り 問題的な解析やシミュレーションを行うことにより,問題の解答(推定値)が得られる

また数学的な解析やシミ レ ションの結果からモまた数学的な解析やシミュレーションの結果からモデルの正当性(モデルが本質を正しく表現しているか)を再検討することができる

Logical Thinking and Programming ●●●

か)を再検討する とができる

Page 22: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

落下運動のシミュレーションにおけるデLogical Thinkingモデル化

連続した時間を 定の長さで分割して考え ある時点の物体連続した時間を一定の長さで分割して考え,ある時点の物体の速度を運動方程式に基づいて算出し,物体の落下運動を再現した

ボールの横方向の運動:等速運動物体の速度は一定物体の速度は 定実装では「5(ドット / チクタク)」の速度とした

ボ 縦方向 等 速度ボールの縦方向の運動:等加速度運動t秒後の物体の速度 vは,加速度をa,初速度を0とすると,v=at地面にあたると,同速度で逆方向に跳ね返る地面にあたると,同速度で逆方向に跳ね返る実装ではaは「1チクタク毎に,1(ドット/ チクタク)」とした

Logical Thinking and Programming ●●●

Page 23: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

モンテカルロシミュレータにおけるデLogical Thinkingモデル化

「正方形に円弧が描かれた台紙」のランダムな位置にゴマを撒くという現象を「乱数」を用な位置 を撒く う現象を 乱数」を用いて再現した(確率モデル)

試行回数(ゴマをまく回数)を増やし まかれ試行回数(ゴマをまく回数)を増やし,まかれたゴマの位置の分布から,正方形と円弧内側

面積比を近似し を推定したの面積比を近似し,πを推定した

Logical Thinking and Programming ●●●

Page 24: 論理思考とプログラミング 第第4回 - 1時限目skk/lt2009f/material/04/...論理思考とプログラミング 第第4回 - 1時限目 記憶装置(変数)を使いこなす

課題Logical Thinking

課題

第3回 第4回授業で指定された演習を全て行 て第3回,第4回授業で指定された演習を全て行って,授業ウェブから「Squeak.image」を提出してください.

もう終わ る人は ウ ブから提出しち くださもう終わってる人は,ウェブから提出しちゃってください.

提出し終わるまで少し時間がかかりますが,根気よく待って下さいて下さい.

期限:10/26 23 59 まで10/26 23:59 まで(それ以降も提出は認めますが,少し減点します)

注意:

学籍番号,メールなどを入力する際,半角英数字で入力

Logical Thinking and Programming ●●●

してください.