【实践+科普】自顶向下,逐步求精——面向过程程序设计方法

> 面向过程其实是最为实际的一种思考方式,就算是面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法。它考虑的是实际地实现。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。               ——百度百科

概念

自顶向下,逐步求精,简而言之就是把一个很大的任务细分,划分成若干部分,然后一个一个的解决这些部分。

编程的时候,分析解决问题需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

举例

Talk is cheap,I will show you the code.

我们来举一个打印旗帜的例子。

这里写图片描述

如图,我们要打印类似的一个图案。
输入图案的边长,将输出等比例的类似图案。

如果我们不细分任务,这将是一个让人很头大的问题,相信大家大脑的内存都有限,一次性处理不了这个问题。

现在我们把这个问题分解成若干部分来解决。

这里写图片描述

整个过程是输入边长,然后打印图案,所以我们从大方向出发,写一个如下图所示的主函数。
这里写图片描述

下面便是考虑解决这个问题需要的步骤了。

先看整个图案,很鲜明的发现每一行对角线左边和右边规律是不同的。
这里写图片描述

所以我们把图案划分成两部分——左图案和右图案
这里写图片描述

再以左图案为例,观察这部分图像的规律。

我们不妨建立一个坐标系,以左上角的那个 * 为(0,0)点,这样不难观察出,横坐标j和纵坐标i满足
(j+i)%4 == 0 || (j+i)%4 == 1

这样一个双层循环就可以轻松解决问题了
这里写图片描述

有了图案的规划方法,我们还需要打印这些图案
这里写图片描述

写完后就大功告成了。

小结

这样一个繁琐的问题,被细分后变成了一个一个的小模块,我们只需要专心解决每一个小模块,解决完所有模块后,程序就完成了。
这样的细分大大减少了我们的脑力消耗,提高了我们的编程效率,即自顶向下,逐步求精

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值