Top-down Design就是将一个问题分解成若干个子问题,这些子问题也叫做“模块”,重点是构造一个由问题与子问题(模块)组成的分层结构,总结起来就是“自顶向下,逐步求精”。
而程序设计者便要学习“自顶向下,逐步求精”的思考方法,将一个复杂问题抽离出几个核心问题,逐步分解成几个模块,模块内再不断分解,直至我们容易用计算机实现的、直接的最小模块,从而构建分层结构。
拿生活中的例子来说,“举办一个聚会”就是一个复杂的问题,我们可以把他分成两个小模块“邀请朋友”、“准备食物”,而“邀请朋友”模块下又可以分成“制作朋友清单”、“发送邀请”等更小模块,“准备食物”又可分为“制作菜单”、“购买食材”、“烹饪食材”等更小模块。于是,一个复杂问题最后被分解成具备操作性的、简单的、容易实现的若干个小问题。
以一个简单的程序设计题为例