3.7 疑难解惑
疑问1:何谓算法,如何判断数值算法的优势?
答:算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可以用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
疑问2:N-S流程图都有那些优缺点?
答:优点如下:
(1)N-S图形象直观,具有良好的可见度。例如循环的范围、条件语句的范围都是一目了然的,所以容易理解设计意图,为编程、复查、选择测试用例、维护都带来了方便。
(2)N-S图简单、易学易用。
缺点:手工绘图和修改时比较麻烦。
疑问3:C语言结构化程序的设计思想以及方法原则?
答:结构化程序设计的总体思想是采用模块化结构,自上而下,逐步求精,即首先把一个复杂的大问题分解为若干相对独立的小问题。然后,对每个小问题编写出一个功能上相对独立的程序块(模块)。最后将各程序块进行组装成为一个完整的程序。
C语言结构化程序的方法原则:
(1)只采用三种基本的程序控制结构来编制程序,从而使程序具有良好的结构。
(2)程序设计自顶而下。
(3)用结构化程序设计流程图来表示算法。
疑问4:结构化程序的三种基本结构有什么共同点吗?
答:共同点如下:
(1)都是只有一个入口和一个出口。
(2)结构内的每一个框都有机会被执行。
(3)结构内没有死循环。
疑问5:结构化程序的优点是什么?
答:是使程序具有良好的结构,使程序易于设计、易于理解、易于调试修改,以提高设计和维护程序工作的效修改。
疑问6:N-S流程图的结构都有那些?
答:N-S流程图也分为三种,分别为顺序结构、选择结构和循环结构、分别如图3-44~图3-47所示。
图3-44 顺序结构
图3-45 选择结构
图3-46 当型循环
图3-47 直到型循环