这需要你把目标 问题分解成一个一个的已经解决的小问题,然后再把这些小问题的解决方案整合成最终 的完整解决方案。
理论上只需要三种整合手段就可以实现任何计算任务:顺序、条件判断和跳转:
第一种就是我们解决大象问题时用到的,顺序整合逻辑,依次执行分解后的解决方案就 可以得到最终的解决方案。顺序执行是最基本的整合逻辑,它为程序的编写奠定了基础。
第二种关键的整合手段是条件判断,意思是需要根据执行时的实际情况判断是执行 方案A还是执行方案B,这个看起来极其简单的判断逻辑事实上是程序展现出千变万化 的核心所在。你可以在很多软件里观察到条件判断的存在,例如高铁的烟感探测软件只有 在检测到有人在车厢内抽烟时才会报警,而游戏只有在你击杀大BOSS之后才会通关,或者 12306检测到你成功识别了它相当有情趣的验证码之后才允许你登录…
第三种整合手段是跳转,这使得程序可以改变执行的先后流程,从而改变程序的 运行效果。实际上条件判断之后执行的就是一种规范化的跳转,例如跳过方案A的片段或者 跳过方案B的片段。
循环则是另一种常见的规范化跳转,它可以让我们将一个方案重复执行若干次,而不是在程序 中将这个方案复制若干次。例如,当需要我们编写程序实现猴子吃香蕉的任务时,可以看到使用 朴素的顺序整合与循环整合的区别:
因此,在传统意义上的编程,其核心思维就是目标任务的分解与解决方案的整合,将目标任务 分解细化到你已有的解决方案层面,再使用以上三种手段进行整合。

软件2.0