前期の復習 3 : プログラム設計 プログラムの作成法 問題を分割すれば良い .. としても ??? 何を「どのよう」に、「どこで」分割すべきか ? 例 : ベットの掃除を頭側と足側に分ける事が意味があるか ? 右と左では ? 分割の「パターン」を身に付ける 時間の前後関係 ( X は A をやってから B をする) で分ける 状況 : ベットを片漬けるとゴミが出るが、ゴミ箱が一杯で捨てられない 時間分割 : まず、ゴミ箱のゴミを捨てて空け、ベッドから出たゴミを入れる 条件に応じて対応 ( P の時は A をやって、そうでなければ B をする ) を分ける 状況 : 色々な種類のゴミが出て来た 条件分割 : 紙屑は燃えるゴミの袋に、アルミ缶やペットボトルは資源ゴミの袋に.. 同じ事を繰り返す事 ( A を繰り返せば済む ) で分ける 状況 : 大量のゴミが出て来きた 繰返し分割 : 取り敢えず一つの袋に入るだけゴミを袋詰めして外に出す、ゴミがなくなるまで、これを繰り返す 問題解決のパターンが知られている ( cf. アルゴリズム論 ) 状況 : 本が本棚に雑多に押し込まれていて、どこに何があるかが解らない ソーティング : 書名順になるように並べ替えれば、簡単に探せるようになる