加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

我的电脑生涯(9):TOP-DOWN

(2011-08-20 18:13:51)
标签:

日本

结构化程序设计

转移指令

编程方法

东芝公司

分类: 电脑与智能手机

在调试过程中日本专家小林先生给了我很多帮助,他不仅指导我如何调试设备,还给我提供了一些东芝公司内部的技术资料,例如编程规范,编程方法等等。其中后来对我的软件设计有影响的是结构化程序设计方法。

 

1)结构化程序设计方法的特点之一就是“TOP-DOWN”,即自顶而下的设计。所谓上,就是宏观的东西,下就是微观的东西。和它相反,也有自下而上的方法。如果采取自下而上的方法,就是先把具体的东西做好,再组成整个系统,这样做的缺点是容易陷入具体的细节中而迷失了主要的方向。

 

自顶而下,在设计框图的时候,第一张框图,应该只用一页纸就把全部要做的事情包括在内。这页里面,可能画了几个方框,表明要做的几件事情,然后,每个框再对应另一页,这页中又有几个框,这样逐步细分下去,直到细节末端部分。

 

2)结构化程序设计方法的另一个特点就是“一个入口一个出口”,即任何一段程序,只有一个入口,也只有一个出口。就是说,不能用转移指令从这个程序里的某个地方直接转到另一个程序去。这样做,程序的可靠性很高,如果某段程序出了问题,可以把它入口和出口之间的这段切割出来进行修理改正,然后再连接回去,而不会影响程序的其它部分。

 

关于结构化程序设计的方法,在网上可以查到详细的信息,所以这里不细讲。再说,我们在武钢只是参加调试,程序都不是我们设计的,所以当时我只是跟着小林先生学习,但是这个设计思想,对我后来的工作有着重要的影响。

 

后来,在八十年代初,我又听过北大数学系王选教授讲的存根法,把存根法与这里说的结构化程序设计方法结合起来,使我后来编程的效率提高了很多。所谓存根法,就是在自顶向下设计时,假定某个程序要干的工作叫做“任务甲”,那么在一开始的时候,这个程序就干一件事,例如,就是在屏幕上显示一句话:“任务甲已经完成”,至于这个任务,留待后面慢慢去做,这叫存根。用存根法,有很多好处:

 

1)采取自顶向下的方法而又存根的话,程序在开始调试的时候,逻辑关系很简单,这是因为所有要干的事情都是用虚拟的方法做完的,所以要调试的只是程序的逻辑,而不是具体任务。

 

2)每个原来存根的任务,在设计的时候,都遵循一个入口一个出口的原则,这样做好甚至调试好之后,再用它替换掉原来的根。万一替换完主程序就出问题了,那么问题多半出在这里。

 

3)到程序最后全部调试完毕的时候,主程序是每次被运行的最多的部分,经历过考验了,所以也最可靠,即使有问题,也多半是那些后来补充进来的底部细节,所以总体来说程序的可靠性比较好。

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有