情報1 2006.10.16 第5回:アルゴリズム その2 1 2学期の授業内容 • 状態遷移の設計・実装 – 状態遷移図を使ったプログラムの設計方法 – 状態変数を使ったプログラムの実装方法 • 複数の要素を扱うアルゴリズムの設計・実装 – 並び替え(ソート) – 検索(サーチ) • ミニプロジェクト – 複数メンバーによる協調作業 – スケジューリングとProject Management 2 本日の授業内容 • 課題1「オリジナルアルゴリズム」の実験 – ペアでアルゴリズムを交換する – 各々,30枚の並び替えの実験をする – ワークシートに実験結果を記入する • 課題2「最小値検索法」の実装 – 最小値検索法をSqueak上に実装する – ペアで1つ実装すればよい • 課題1と2は同時並行で進めること(カードは一組しかないの で,余っている人は実装に挑戦する) • 時間内に課題1と課題2の両方を提出すること 3 アルゴリズムとは? • 「なんらかの問題を解くための手順」のことを アルゴリズムという – 今回の問題は「数字の書かれた30枚のカードを 順番に並び替える」こと – 他の問題の例「数字の書かれた100枚のカードの 最大値を検索する」 4 前回欠席した人 • 最小値検索法の実験をして,Squeak上で実 装する • 課題1(オリジナルアルゴリズムの実験)は不 要 5 課題1「オリジナルアルゴリズム」の実験 • ペアでワークシートを交換する • 相手が考案したオリジナルアルゴリズムでカードを 並び替え,結果を記録する • 相手が考案したオリジナルアルゴリズムに関する考 察を行う(最小値検索法,自分の考えたとの比較 等) • カードはペアに一組しかないので,順番に実験を行 うこと • 余っている人は課題2の最小値検索法の実装に挑 戦すること 6 課題2「最小値検索法」の実装 • 別紙「最小値検索法 実装シート」を参照のこ と • この課題は,オリジナルアルゴリズムの考案 とあわせて,中間試験と同じ比率で採点しま す 7 実装のヒント1 • 処理済束から未処理束へカードを移動するた めのスクリプト(リセットスクリプト)を作ってお くと,実験がしやすいですよ 8 実装のヒント2 • 「最小値検索法 実装シート」の裏にある,フ ローチャートを1ステップずつ実装していきま しょう • 落ち着いてください 9 実装のヒント3 • 全ての並び替えが終わって,スクリプトが自 動停止できなくてもOKです 10 実装のヒント4 • フローチャートのはじめの部分を以下のよう に書き換えることができますね はじめ 未処理束の一番上のカード を最小値スペースに移動 いいえ はい 未処理束の全てのカードを調べたか 未処理束の一番上のカード をめくる 最小値スペースにあるカード を処理済み束に重ねる めくったカードの数値が最小値スペースに あるカードの数値より小さいか等しい 11 今日の授業はおしまい お疲れ様でした 12
© Copyright 2024 ExpyDoc