Top-down design——解决问题的基本法

简介

自顶向下设计:一种逐步求精的设计程序的过程和方法。对要完成的任务进行分解,先对最高层次中的问题进行定义、设计、编程和测试,而将其中未解决的问题作为一个子任务放到下一层次中去解决。这样逐层、逐个地进行定义、设计、编程和测试,直到所有层次上的问题均由实用程序来解决,就能设计出具有层次结构的程序。

详解

不得不说,这个名字听起来好像很高深莫测,但其实所谓的“自顶向下”是符合我们大脑的一般思考过程的,当我们在遇到一些多过程的问题时会很自然的自顶向下分解问题。比如做笔记,通常我们分三步走:1.拿纸 2.拿笔 3.写字。既然每个人都会,那为什么还要特意提出这个概念呢?这是因为像那样下意识地分解问题只会在过程较少时实现,当过程变得十分繁杂时人们的大脑便无法轻松完成问题分解,这时就需要人们紧扣自顶向下的基本法,主动地去分解问题,逐步求精。
这里写图片描述

例子

这里写图片描述
哥德巴赫猜想是数论中的一个著名难题, 是由法国数学爱好者克里斯蒂安·哥德巴赫于1742年在给著名数学家欧拉的一封信中提出的。
“哥德巴赫猜想”可以表述为:任何一个大于等于4的偶数均可以表示为两个素数之和。
尽管这个问题看来如此简明清晰, 但二百多年来, 虽有无数数学家为其呕心沥血、绞尽脑汁, 却始终无人能够证明或者证伪这个猜想 。
求解
第一步 提出问题: 验证哥德巴赫猜想

第二步 设一上限数M,验证从4到M的所有偶数是否能被分解为两个素数之和
1. 定义一个变量X,初值为4
2. 每次令其加2,并验证X能否 被分解为两个素数之和,直到 X不小于M为止

第三步 如何验证X是否能被分解为两个素数之和
1. 从P=2开始
2. 判别X—P是否仍为素数
3. 若是,打印该偶数的分解式
4. 否则,换更大的素数,再继续执行2;如此循环,直到用于检测的素数大于X/2且X 与其之差仍不是素数,则打印“哥德巴赫猜想”不成立

第四步 查找下一个素数
(1)当前素数P加1
(2)判别P是否是素数
(3)若是素数,返回P
(4)否则,P加1,继续执行( 2)

经过四步分解精化,将“验证哥德巴赫猜想”这个命题已经分解为计算机可以求解的数学模型了,模块化数学模型,化繁为简,最终得出结果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值