4、编程珠玑笔记四编写正确的程序

4、编程珠玑笔记四编写正确的程序

         本篇名言:“书,是你的一位朋友,也是一处你想去就去的故地。”

       欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/48419981

        什么是正确的程序?怎么判断程序的好坏?

         我们来看看大师是怎么说的。     编程技巧仅仅是编写正确程序的很小一部分,大部分内容还是问题定义、算法设计和数据结构选择

         那么问题来了,当前很多编码的兄弟基本不涉及问题定义、算法设计和数据结构选择,而且编码过程中也不需要编程技巧,可被替代性太强。也可以这么说如果一个程序员不涉及问题定义、算法设计和数据结构选择,那么肯定不是一个好的程序员。

         作者以二分搜索实现为例,引出如何正确编写正确程序的。

         文中作者曾经给专业程序员培训,然后他们在实现二分搜索的时候居然有90%的程序员实现的有问题。另一方面,二分搜索论文在1946年就发表了,但是第一个正确的二分搜索程序直到1962年才出现。说明写正确的程序也是一件不容第事情。

         接下去,作者讲述如何验证程序正确性。

         首先问题很重要,需要认真地编写代码;程序开发需要遵循验证的思想;可以使用一般性的工具进行程序的正确性分析。

        

最后引出程序验证的一般性原理

1.     断言

输入、程序变量和输出之间的关系勾勒出程序的状态,断言使得程序员可以准确阐述这些关系。

2.     顺序控制结构

在语句之间添加断言并分别分析程序执行的每一步来理解这样的结构。

3.     选择控制结构

通过分别分析每一个分支说明该结构的正确性。

4.     迭代控制结构

循环正确性需要确立3个性质。初始化,保持和终止。

 

5.     函数

要验证一个函数,首先需要使用两个断言来陈述其目的。前置条件调用该函数之前就应该成立的状态,后置条件的正确性由函数在终止执行时保证。

 

 

 

 

 

 

 

 

        

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值