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