情報1

情報1
2006.10.2
第4回:状態遷移 その4
アルゴリズム その1
1
本日の授業の流れ
• 1時間目「状態遷移 延長戦」
– 先週からの課題の続き
– ダッシュゲーム or UFOキャッチャー
– 1時間目の終わりにはこれまで書いた全ての状
態遷移図を提出すること
• 2時間目「アルゴリズム その1」
– ソートアルゴリズムの実験
• 課題
– オリジナルのソートアルゴリズムの考案
2
課題内容
• 課題1. ダッシュゲームを作ってみよう
– 内容
• ボタンを押す(笛を吹く)と部員の走る向きが反転し,
画像も切り替わる
• 課題2. UFOキャッチャーを作ってみよう
3
UFOキャッチャーの仕様
• 基本
– クレーンを使って人形をつかむ事ができる
– 左ボタンを押すと,クレーンが左に動き続ける
– 下ボタンを押すと,クレーンが下降する(下降中は左には移動できな
い)
– クレーンが床に着くと,クレーンが上昇する(上昇中は左にも動かず,
下降もしない)
• 応用
– クレーンが左の画面外に出ずに往復する(往復する回数が決まって
いて,回数を満たすと自動的に下降する)
– 一旦床に着くとリセットボタンを押さないでも初期位置に戻る
– 初期位置に戻ったときにクレーンが人形をつかんでいると,人形を離
す
4
ヒント:人形をつかむには?
5
課題の取り組み方
• ペアを組んで作業をする
– 課題1:ダッシュゲーム
– 課題2:UFOキャッチャー の順番で取り組む
• まず,状態遷移図を書いて先生にレビューして(前に提出す
る)もらう
– 書き直しの場合は,OKがでるまで再提出をする
• 状態遷移図にOKがでたら,実装を始める
– 状態遷移図にOKがでるまで,実装を初めてはダメ!
• 課題が一つ終わったら,状態遷移図を提出し,先生に実装し
た結果を見せる
6
2学期の授業内容
• 状態遷移の設計・実装
– 状態遷移図を使ったプログラムの設計方法
– 状態変数を使ったプログラムの実装方法
• 複数の要素を扱うアルゴリズムの設計・実装
– 並び替え(ソート)
– 検索(サーチ)
• ミニプロジェクト
– 複数メンバーによる協調作業
– スケジューリングとProject Management
7
並び替え(ソート)アルゴリズム
• 複数の要素を(昇順,降順に)並び替えるた
めの手順のこと
8
アルゴリズムの授業の流れ
• 最小値検索法の実験と実装
– 手作業で並び替えを行い,実験結果を記録
– 最小値検索法をSqueak上に作る
• オリジナルアルゴリズムの考案と実装
– オリジナルのアルゴリズムを考案する
– オリジナルアルゴリズムを実装する
• 追加課題
– 有名なソートアルゴリズムを実装する
9
最小値検索法の実験
• 2人でチームを組みます
– チーム名を決めます
– ワークシートにチーム名,実験日,メンバーを記入します
• ソート用のカードを作成します
– 台紙から,カードを切り離し,よくシャッフルします
– ゴミはゴミ箱へお願いします
• ワークシートをよく読んで,実験を行います
–
–
–
–
実験環境と実験方法はワークシート表面にあります
実験結果はワークシートの裏面に記入します
30枚の並び替えにチャレンジしましょう
ストップウォッチソフトがMoodleからダウンロードできます
10
課題
• オリジナルアルゴリズムの考案シート
– 提出期限
• 次回の授業の開始時:10月16日
– 内容
• 最小値検索法より効率がよい並び替えアルゴリズムを考案する
– 名前をつけること(例:杉浦三号)
– 一人で並び替えができること
– 場所をあまりとらないこと
• 以下の事柄を日誌に記入してください
– 今日の授業の感想
– 状態遷移図の授業を通じて,何を学んだか
– 今日の授業に関連した質問(を最低1つ)
帰るときには,書いた状態遷移図は全部提出していくこと!
11
今日の授業はおしまい
お疲れ様でした
12