○複雑なアルゴリズムは①
で組み立てる
①とは、複雑な問題をより簡単な②
し、1つ1つの処理を考えやすくしていき、
小問題がそれ以上分割できないレベルに達したら、各小問題を分割前の問題に③
していきながら、
アルゴリズムを組み立てていく方法のこと。
制御構造の④
とは、ある制御構造を他の制御構造へはめ込む操作のこと。
入れ子操作は、⑤
に基づく。
⑤とは、どんなアルゴリズムも、⑥
であるような「⑦
」、「⑧
」、「⑨
」の3つの制御構造の組み合わせのみで表現できること。
①は、疑似コード(プログラミング言語の制御構造を用い、日常使う言語でアルゴリズムを表現したもの)を使い、⑩
を残しながら記述していく。
「⑩は⑪
」
・⑫
構造
・⑬
構造
・⑭
構造
○⑮
プログラミング
「きれいな制御構造」のみを用いてプログラムを作る。
①により、構造の把握しやすいプログラムにする。
①の各段階において、プログラムの正しさを検証する。
○⑯
プログラミング
⑮とほぼ同様の概念。プログラミングの全過程(設計、コーディング、テスト)において大局から細部へと作業を進める。
⑰
プログラミング
細部から大局へと作業を進めるプログラミング。プログラムの小さな部品を組み合わせ、全体を構成していく。
○①における留意点
(1)①によって問題を分割するとき、分割された小問題の間で引き渡されるべき⑱
や、それに対する⑲
を明確にする。
(2)分割された小問題の一方を⑳
おいたままで、他方の小問題をあまり㉑
まで詳細化しない(残された小問題を検討する段階になって、すでに行った詳細化の努力が無駄になるおそれがある)。
(3)完成したアルゴリズムをもう一度見直し、「㉒
はないか」、「さらに㉓
する余地はないか」十分に検討する。
[プロ技]複雑なアルゴリズムはいかにして作るか
ログインすると、チェック機能を利用できるようになります。