自顶向下是将复杂、大的问题划分为小问题,找出问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。
逐步求精是将现实世界的问题经抽象转化为逻辑空间或求解空间的问题。复杂问题经抽象化处理变为相对比较简单的问题。经若干步抽象(精化)处理,最后到求解域中只是比较简单的编程问题。
自顶向下,逐步求精的方法在打代码中经常用到。
例如要打出如图所示的图案
就要进行分析。
这个程序主要分两步,一步是换行,一步是星星个数。而星星个数又等于行数乘以二减去一,即2*i-1。所以我们先解决换行的问题,即
然后换行解决之后,就需要解决星星问题,而星星正好有2*i-1的规律,所以我们用
解决。
最后只需要加上一般情况的结尾
就ok了。