第7章 程的序编码.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 程的序编码

软件工程 第7章 程序编码 做为软件工程过程的一个阶段,程序编码是设计的继续。 程序编码就是将软件设计的结果翻译成为用某种程序设计语言描述的源代码。其中涉及到方法、工具和过程。 程序设计语言的特性和程序设计风格会深刻地影响软件的质量和可维护性。程序员必须深刻理解、熟练掌握并正确地运用程序设计语言的特性。 此外,还要求源程序具有良好的结构性和良好的程序设计风格。 7.1 结构化程序设计 结构化程序设计主要包括两方面: 在编写程序时,强调使用几种基本控制结构,通过组合嵌套,形成程序的控制结构。尽可能避免使用GOTO语句。 在程序设计过程中,尽量采用自顶向下和逐步细化的原则,由粗到细,一步步展开。 1. 结构化程序设计的主要原则 使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。 选用的控制结构只准许有一个入口和一个出口。 程序语句组成容易识别的块,每块只有一个入口和一个出口。 复杂结构应该用基本控制结构进行组合嵌套来实现。 语言中没有的控制结构,可用一段等价的程序段模拟,但要求该程序段在整个系统中应前后一致。 严格控制GOTO语句,仅在下列情形才可使用: 用一个非结构化的程序设计语言去实现一个结构化的构造。 若不使用GOTO语句就会使程序功能模糊。 在某种可以改善而不是损害程序可读性的情况下。 例1 打印A, B, C三数中最小者程序 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 if ( A B ) and ( A C ) then write ( A ) else if ( A ? B ) and ( B C ) then write ( B ) else write ( C ) 例2 用二分法求方程 f(x)=0 在区间[a..b]中的根的程序 假设在闭区间[a..b]上函数 f(x) 有唯一的一个零点 f0 = f(a); f1 = f(b); 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; } 单入口,两出口 正常出口是循环达到 n 次,非正常出口是循环中途控制转出到标号 finish 所在位置 可读性好 f0 = f(a);f1 = f(b); 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) break; if (f0 * fm>0) { x0 = xm; f0 = fm; } else x1 = xm; } f0 = f(a);f1 = f(b); if (f0 * f1 = 0) { x0 = a;x1 = b;i = 1; finished = 0; while (i = n finished == 0) { xm = (x0+x1)/2; fm = f(xm); if (abs( fm)<eps || abs(x1-x0)<eps) finished = 1; if (!finished) 引入布尔变量 finished,改 for 型循环为 while 型,将单入口多出口结构改为单入口单出口结构。 2. 自顶向下,逐步求精 在详细设计和编码阶段,应当采取自顶向下,逐步

文档评论(0)

wnqwwy20 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档