文档详情

章程序设计基础.doc

发布:2017-03-27约4.76千字共5页下载文档
文本预览下载声明
第2章 程序设计基础 一、程序设计方法与风格 1.程序设计发展阶段 就程序设计方法和技术的发展而言,主要经过了结构化程序设计和面向对象的程序设计阶段。 2.程序设计方格 程序设计风格会影响软件的质量和可维护性,良好的程序设计风格可以使结构清晰合理,程序代码便于维护,程序设计风格总体强调简明清晰,易读易懂,程序必须是可理解的,总体遵循“清晰第一,效率第二”的原则。 3.良好的程序设计风格应考虑的因素 (1)源程序文档化 ①符号名的命名 符号名的命名应具有一定的实际含义,以便于对程序功能的理解。 ②程序注释 a.序言性注释 位于每个程序的开头部分,给出程序的整体说明,主要描述内容可以包括:程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期、修改日期等。 b.功能性注释 嵌在源程序体之中,主要描述其后的语句或程序做什么。 ③视觉组织 在程序中利用空格、空行、缩进等技巧可以使层次清晰,便于阅读。 (2)数据说明的方法 为使程序中的数据说明更易于理解和维护,应注意以下几点: ①数据说明的次序规范化 数据说明次序固定,可以使数据的属性容易查找,也有利于测试、排错和维护。 ②说明语句中变量安排有序化 当一个说明语句说明多个变量时,变量按照字母顺序排序为好。 ③使用注释来说明复杂数据的结构。 (3)语句的结构 程序应该简单易懂,语句构造应该简单直接,不为提高效率而把语句复杂化。 ①在一行内只写一条语句; ②程序编写应优先考虑清晰性; ③除非对效率有特殊要求,程序编写要做到清晰第一,效率第二; ④首先要保证程序正确,然后才要求提高速度; ⑤避免使用临时变量而使程序的可读性下降; ⑥避免不必要的转移; ⑦尽可能使用库函数; ⑧避免采用复杂的条件语句; ⑨尽量减少使用“否定”条件的条件语句; ⑩数据结构要有利于程序的简化; ?要模块化,使模块功能尽可能单一化; ?利用信息隐蔽,确保每一个模块的独立性; ?从数据出发去构造程序; ?不要修补不好的程序,要重新编写; (4)输入和输出 输入输出的方式和格式应当尽量方便用户使用,在设计和编程时应遵循以下原则: ①对所有的输入数据都要检验数据的合法性; ②检查输入项的各种重要组合的合理性; ③输入格式要简单,以使得输入的步骤和操作尽可能简单; ④输入数据时,应允许使用自由格式; ⑤应允许缺省值; ⑥输入一批数据时,最好使用输入结束标志; ⑦在以交互式输入/输出方式进行输入时,要在屏幕上使用提示符明确提示输入的请求,同时在数据输入过程中和输入结束时,应在屏幕上给出状态信息; ⑧当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性;给所有的输出加注释,并设计输出报表格式。 二、结构化程序设计 1.结构化程序设计的原则 结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用goto语句。 (1)自顶向下 先考虑总体后考虑细节,先考虑全局目标,后考虑局部目标。先从最上层总目标开始设计,逐步使问题具体化。 (2)逐步求精 对复杂问题,应设计一些子目标作过渡,逐步细化。 (3)模块化 把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。 (4)限制使用goto语句 ①滥用GOTO语句确实有害,应尽量避免; ②完全避免使用GOTO语句也并非是个明智的方法,有些地方使用GOTO语句,会使程序流程更清楚、效率更高; ③争论的焦点不应该放在是否取消GOTO语句,而应该放在用什么样的程序结构上。其中最关键的是,肯定以提高程序清晰性为目标的结构化方法。 2.结构化程序的基本结构与特点 (1)基本结构 ①顺序结构 顺序结构是一种简单的程序设计,它是最基本、最常用的结构,按照程序语句行的自然顺序,一条语句一条语句地执行程序。 ②选择结构(分支结构) 选择结构包括简单悬着多分枝选择,可根据设定条件,判断应该选择哪一个分支来执行相应的语句序列。 ③循环结构 根据给定的条件,判断是否重复执行某一个相同的或类似的程序段,利用循环可以大大简化大量的程序行。 a.当型循环结构:先判断后执行循环体; b.直到型循环结构:先执行循环体后判断。 (2)结构化程序设计方法的优点 ①程序易于理解、使用和维护,便于控制、降低程序的复杂性,可理解性好; ②提高了编程工作的效率,降低了软件开发成本。 3.结构化程序设计原则和方法的应用 在结构化程序设计中应把握以下要素: (1)使用程序设计语言中的顺序、选择、循环等有限的控制结构表示程序的控制逻辑; (2)选用的控制结构只准许有一个入口和一个出口; (3)程序语句组成容易识别的块,每块只有一个入口和一个出口; (4)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现; (5)语言中所没有的
显示全部
相似文档