文档介绍:程序编码
结构化程序设计
程序设计风格
程序效率
程序复杂性度量
做为软件工程过程的一个阶段,程序编码是设计的继续。
程序设计语言的特性和程序设计风格会深刻地影响软件的质量和可维护性。
为了保证程序编码的质量,程序员必须深刻理解、熟练掌握并正确地运用程序设计语言的特性。此外,还要求源程序具有良好的结构性和良好的程序设计风格。
结构化程序设计
结构化程序设计主要包括两方面:
在编写程序时,强调使用几种基本控制结构,通过组合嵌套,形成程序的控制结构。尽可能避免使用GOTO语句。
在程序设计过程中,尽量采用自顶向下和逐步细化的原则,由粗到细,一步步展开。
结构化程序设计的主要原则
使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。
选用的控制结构只准许有一个入口和一个出口。
程序语句组成容易识别的块,每块只有一个入口和一个出口。
复杂结构应该用基本控制结构进行组合嵌套来实现。
语言中没有的控制结构,可用一段等价的程序段模拟,但要求该程序段在整个系统中应前后一致。
严格控制GOTO语句,仅在下列情形才可使用:①用一个非结构化的程序设计语言去实现一个结构化的构造。②若不使用GOTO语句就会使程序功能模糊。③在某种可以改善而不是损害程序可读性的情况下。
例1 打印A, B, C三数中最小者程序
程序1
if ( A < B ) goto 120; if ( B < C ) goto 110;
100 write ( C ); goto 140;
110 write ( B ); goto 140;
120 if ( A < C ) goto 130; goto 100;
130 write ( A );
140 end
程序2
if ( A < B ) and ( A < C ) then
write ( A ) else
if ( A B ) and ( B < C ) then write ( B ) else write ( C )
endif
endif
例2 用二分法求方程 f (x)=0 在区间[a..b]中的根的程序
假设在闭区间[a..b]上函数 f (x) 有唯一的一个零点
f0 = f (a); f1 = f (b); //程序1
if ( f0 * f1 <= 0 ) {
x0 = a; x1 = b; for ( i = 1;i <= n;i++ ){
xm = ( x0+x1 ) / 2; fm = f (xm); if ( abs (fm) < eps ||
abs (x1-x0) < eps) goto finish; if ( f0 * fm > 0 )
{ x0 = xm; f0 = fm;} else x1 = xm; }