C语言王者归来
上QQ阅读APP看书,第一时间看更新

1-4 规划程序

对初学计算机的人而言,常会面对一个程序而感到头疼。一般而言,要克服困难只有一个方法,那就是多做练习。

回顾早年的计算机界,1989年举世关注的头条新闻就是计算机病毒(computer virus),当时说到计算机病毒,康奈尔大学(Cornell University)的24岁研究生罗伯特·莫里斯(Robert T. Morris)是这个领域中最有名气的人。他曾利用一个计算机病毒程序,造成全美数以千计的计算机受到感染,有趣的是,他的父亲是美国国家安全局计算机安全中心的首席主席。

有人称他为计算机天才,也有人称他是计算机巫师。但在他追求计算机知识的过程中,也经历过一段刻苦的时光。在他父亲的亲自调教下,他中学时期就破获了别人计算机账户(account)的密码(password),访问他人的计算机账户。在读哈佛大学时,因太沉迷于计算机而多读了一年的大学。由此也能看出,唯有多做练习才可实现技术长进。当然,在规划程序过程中,也有简单的基本原则可依循。那就是拿到程序作业,首先检查输入数据有哪些?输出的要求是什么?条条大路通罗马,你应该在这许多条路中自行找出最可行的道路,在寻找的过程中,你可以将工作分成几个区段,再一个一个组合起来。

一般在做程序规划时可采用程序设计流程图,下列是绘制所用的流程图符号。

流程图最大的好处是,可将脑海中的程序流程,在纸上先执行一次,特别对于初学者的逻辑训练很有帮助。例如,判断是否可正常开车的流程图如下。

上述流程图有两个决策点,第一个决策点“检查是否满18岁”,如果否,则执行输出“满18岁才可考驾照”。如果满18岁则执行第二个决策点“是否有驾照”,如果有输出“可正常开车”,否则输出“需考驾照”。经由“是”和“否”的决策,最后均执行输出“交通安全人人有责”,然后程序执行结束。事实上,一般生活事件都可以用流程图表达,因此学会流程图是非常有用的。