编程珠玑第四章-编写正确的程序

本章的目的是阐述如何利用对程序验证的理解帮助程序员写出正确的程序。作者再一次提到:编程技巧仅仅是编写正确程序的很小一部分,大部分内容还是前面三章讨论过的主题:问题定义、算法设计以及数据结构选择,如果这些步骤都完成很好,那么编写正确的程序通常是很容易的。

本章引入了二分查找的问题,通过利用程序验证的思路,保证程序正确高效。在问题解决的过程中,通过一些细节阐述了许多一般性的原理,包括以下方面:

1)断言。输入、程序变量和输出之间的关系勾勒出了程序的"状态",断言使得程序员可以准确的阐述这些关系。(这一点让我想到了程序调试中的断点调试,即在断点处打印一些变量的信息,从而调试程序。看来断言可以应用到程序编写设计的各个步骤中)

2)顺序控制结构。控制程序的最简单的结构莫过于采用“执行这条语句然后执行下一条语句”的形式。可以在语句之间增加断言并分别分析程序执行的每一步来理解这样的结构。

3)选择控制结构。这些结构包括不同形式的if和case语句;在程序运行过程中,多个分支中的一个被选择执行。我们通过分别分析每一个分支说明该结构的正确性。

4)迭代控制结构。要证明循环的正确性就必须为其确立三个性质(初始化、保持、终止)。

程序验证的一个主要好处就是为程序员提供了一种语言,用来表达他们对程序的理解。

你可能感兴趣的:(数据结构,编程,算法,语言)