一、程序设计语言
1.分类
汇编语言:第一代,第二代计算机用
高级语言:比汇编语言编码语言少3-7倍,第三代计算机使用
.高级语言又可细分为四种:
①系统实现语言:克服汇编语言的缺点,提供控制语句和变量类型检验功能,可直接使用机器的操作
②静态高级语言:给程序员提供控制语句
③块结构高级语言:直接提供有限形式的动态存储分配
④动态高级语言:动态的完成所有的内存管理,专用语言
2.语言的选择
(1).应用领域的不同来选择:商业-COBOL、4GLS
科学计算-FOETRAN
实时-汇编、ADA
系统-汇编、ADA、C
智能-LISP、PROLOG
(2).系统用户要求:使用他们所熟悉的
(3).可以使用的编译程序:编译方式会限制语言的选择
(4).程序员的经验:对语言的熟悉程度
(5).软件可移植性要求:考虑语言使用的环境,适当时候做可移植性
(6).适合工程的专用语言
(7).算法的计算复杂性:选择算法简单,功能齐全的
(8).数据结构的复杂性,可维护性
(9).效率的考虑:运行时间长短,存储器的效率,输入输出效率
(10).了解语言的发展前景
总结为:
最少工作量原则
最少技巧性原则
最少错误原则
最少维护原则
减少记忆原则
3、程序编码原则:
先求正确后求快;先求清晰后求快;求快不忘保持程序正确;
保持程序整洁以求快;不要因效率而牺牲清晰
4.好程序标准:
易于测试和调试;易于维护;易于修改;设计简单;高效率
二.结构化程序设计
1.主要包括两方面:
(1)强调使用几种基本控制结构
(2)在设计过程中,尽量采用自顶向下和逐步细化的原则,由粗到细,一步步展开
2.设计主要原则:
使用语言中顺序,选择,重复等有限的基本控制结构表示程序逻辑
选用的控制结构只准许有一个入口和一个出口
复杂结构应该用基本控制结构进行组合嵌套来实现
三.程序设计风格
1.源程序文档化:
标识符的命名:变量名的起法,不能太长,不要和关键字相同
安排注释:需要加注释,可英文可中文
程序的视觉组织:加一些注释,空行,满足结构化设计的要求
2.数据说明
(1)数据说明的次序应当规范化:使数据属性容易查找,也有利于测试排错的维护,先说明简单的类,再说明 复杂的
(2)说明语句中变量说明有序化:说明变量名时,按照变量字母顺序排列,升序or降序
(3)对过程和函数的形参排列有序:输入参数在前,输出参数在后;
整形参数在前,实型参数次之,其他参数在后
3.使用注释说明复杂的数据结构
4.语句结构:
语句结构力求简单,直接,不能为了片面追求效率使语句复杂化;
5.输入和输出:
输入和输出信息是与用户的使用直接相关,格式方式应尽可能的方便用户使用;
四.程序设计质量评价
1.正确性
2.结构清晰性
(1).是否用三种结构化格式
(2).是否有一个入口,一个出口
3.易修改性 4.易读性 5.简单性
五.程序的复杂性度量
1.代码行度量法:统计一个程序模块源代码行数目,并以源代码行数作为程序复杂性度量
2.McCabe度量法:基于程序控制流
3.Halstead的软件科学:运算对象包括变量名和常数
实际的Halstead长度N=N1+N2 (N1为程序实际出现的运算符总个数,N2为程序中实际出现的运算对象总个数)