版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章程序设计基础大学计算机基础第一页,共三十一页。本章内容程序设计结构化程序设计面向对象程序设计大学计算机基础第二页,共三十一页。9.1
程序设计大学计算机基础第三页,共三十一页。9.1
程序设计程序设计的方法程序设计的风格大学计算机基础第四页,共三十一页。9.1.1
程序设计的方法程序设计程序设计是一门技术,需要相应的理论、技术、方法和工具来支持。程序设计方法程序设计方法是关于以什么观点来研究问题并进行求解,以及如何进行系统构造的软件方法学。就程序设计方法和技术的发展而言,主要经过了结构化程序设计和面向对象程序设计阶段。大学计算机基础第五页,共三十一页。9.1.2程序设计的风格要形成良好的程序设计风格,主要应注重和考虑下述一些因素:源程序文档化、数据说明、语句构造、输入输出方法、效率等。大学计算机基础第六页,共三十一页。9.1.2程序设计的风格(续)源程序文档化□符号名的命名符号名即标识符,包括模块名、变量名。常量名、标号名、子程序名以及数据区名、缓冲区名等。这些名字应能反映它所代表的实际东西,应有一定的实际意义,使其能够见名知意,有助于对程序功能的理解。例如,表示次数的量用times,表示总量用total,表示平均值用average,表示和的量用sum等。为达此目的,不应限制名字的长度。大学计算机基础第七页,共三十一页。9.1.2程序设计的风格(续)程序的注释夹在程序功中能的性注注释释是嵌程在序源员程与序日体后中的程,序用读以者描之述间其通后信的的重要手段。正序语序语确言句言句的性或性或注注程注释序释序释能够通段够通段帮常是常助置在置在读于作于作者每什每什理个么个么解程工程工程序作序序,模,模,也块也块可就的就为开是开是后头解头续部释部释阶下分下分段进,面进,面行测试和维它要它要护应“应“,当作当作提给什给什供么出么出明确程”确程”的序,序,指的或的导是整是。体执体执因说行说行此明了明了注,下,下释对面对决的于的于不语理语理是解句解句可程会程会有序怎序怎可么本么本无的身样的身样,。大多数程序具而具而设有不有不计引要引要语导解导解言释作释作允许下用许下用使面。面用怎自么然作语,言因写为注解释释,怎这么给作阅常读常程序是序是带来很大的与方程便序。本一身些正重正重规复的的程。序文本中,注释行的数量占到整个源程序的1/3到1/2。注释分为序言性注释和功能性注释。大学计算机基础第八页,共三十一页。9.1.2程序设计的风格(续)视觉组织——空格、空行和移行为使程序的结构一目了然,可以在程序中利用空格、空行、缩进等技巧使程序层次清晰。IF(…)THENIF(…)THEN……ELSE……ENDIF……ELSE……ENDIF大学计算机基础第九页,共三十一页。9.1.2程序设计的风格(续)数据说明数据说明的顺序应规范,使数据属性容易查找,也有利于测试、排错和维护。原则上,数据说明的次序与语法无关,其次序是任意的。同一说明语句中变量说明有序化,当多个变量名用一个语句说明时,应当对这些变量按字母的顺序排。使用注释说明复杂数据结构。大学计算机基础第十页,共三十一页。9.1.2程序设计的风格(续)语句构造构造单个语句是编码阶段的任务;语句构造力求简单直接,不能为了追求效率而使语句复杂化。为了便于阅读和理解,不要一行多个语句。不同层次的语句应采用缩进形式,使程序的逻辑结构和功能特征更加清晰。要避免复杂的判定条件,避免多重的循环嵌套。表达式中使用括号以提高运算次序的清晰度等等。大学计算机基础第十一页,共三十一页。9.1.2程序设计的风格(续)输入输出方法输入操作步骤和输入格式尽量简单应检查输入数据的合法性、有效性,报告必要的输入状态信息即及错误信息输入一批数据时,使用数据或文件结束标志,而不要用计算来控制交互式输入时,提供可用的选择和边界值当程序设计语言有严格的格式要求时,应保持输入格式的一致性输入数据表格化、图形化大学计算机基础第十二页,共三十一页。9.1.2程序设计的风格(续)效率效率是指处理机时间和存储空间的使用,对效率的追求应明确以下几点:效率是一个性能要求,目标在需求分析时给出追求效率要建立在不损害程序可读性或可靠性的基础上,要先使程序正确、清晰,再提高程序效率提高程序效率的根本途径在于选择良好的设计方法、良好的数据结构算法,而不是靠编程时对程序语句做调整大学计算机基础第十三页,共三十一页。9.2
结构化程序设计大学计算机基础第十四页,共三十一页。9.2
结构化程序设计结构化程序设计的原则结构化程序设计的基本结构和特点结构化程序设计原则和方法的应用大学计算机基础第十五页,共三十一页。9.2.1结构化程序设计的原则自顶向下程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。先从最上层总目标开始设计,逐步使问题具体化。逐步求精对复杂问题,应设计一些子目标作过渡,逐步细化。大学计算机基础第十六页,共三十一页。9.2.1结构化程序设计的原则(续)模块化模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。限制使用goto语句goto语句的使用会导致程序流程的混乱,因此应限制使用。大学计算机基础第十七页,共三十一页。9.2.2
结构化程序设计的基本结构和特点三种基本控制结构顺序结构选择结构循环结构程序优点是:结构良好、各模块间的关系清晰简单、每一模块内部由基本单元组成,设计出的程序清晰易读、可理解性好、容易设计、容易验证其正确性、也容易维护。大学计算机基础第十八页,共三十一页。结构化程序设计原则和方法的应用程序设计过程中的原则:自顶向下,逐步细化,由粗到细,一步步展开,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而翻译成一系列用某种程序设计语言写成的程序。大学计算机基础第十九页,共三十一页。结构化程序设计原则和方法的应用在具体实施中,要注意以下几点:使用语言中的顺序、选择、循环等有限的基本控制结构表示程序逻辑。选用的控制结构只准许有一个入口和一个出口。程序语句组成容易识别的块,每块只有一个入口和一个出口。复杂结构应该用基本控制结构进行组合嵌套来实现。语言中没有的控制结构,可用一段等价的程序段模拟,但要求该程序段在整个系统中应前后一致。严格控制goto语句。大学计算机基础第二十页,共三十一页。9.3
面向对象程序设计大学计算机基础第二十一页,共三十一页。9.3
面向对象程序设计面向对象程序设计概述面向对象方法的特点面向对象程序设计的相关概念大学计算机基础第二十二页,共三十一页。面向对象程序设计概述面向对象程序设计方法是一种把面向对象的思想运用于软件开发过程中,指导开发活动的系统方法,简称OO方法,是建立在“对象”概念(对象、类和继承)基础上的方法学。大学计算机基础第二十三页,共三十一页。面向对象程序设计概述(续)面向对象程序设计基本思想对问题空间进行自然分割,以更接近人类思维的方式,建立问题域模型,以便对客观实体进行结构模拟和行为模拟,从而使所设计出的软件尽可能直接地描述现实世界,构造出模块化的、可重用的、维护性好的软件,并能够控制软件的复杂性和降低开发维护费用。大学计算机基础第二十四页,共三十一页。面向对象方法的特点面向对象方法按照人类的自然思维方式,面对客观世界建立软件系统模型。对象、类、继承、封装、消息等基本概念符合人类的自然思维方式。
系统由对象构成,对象是一个包含属性和操作两方面的独立单元,对象之间通过消息传递联系。有利于对业务领域和系统责任的理解,有利于人员的交流。大学计算机基础第二十五页,共三十一页。面向对象方法的特点(续)面向对象方法对需求变化有较好的适应性。面向对象的封装机制使开发人员可以把最稳定的部分(即对象)作为构筑系统的基本单位,而把容易发生变化的部分(即属性与操作)封装在对象之内。对象之间通过接口联系,使得需求变化的影响尽可能地限制在对象的内部。面向对象方法支持软件复用。对象具有封装性和信息隐蔽等特性,使其容易实现软件复用。大学计算机基础第二十六页,共三十一页。面向对象方法的特点(续)对象类可以派生成新类,类可以产生实例对象,从而实现了对象类数据结构和操作代码的软件复用。面向对象程序设计语言的开发环境一般预定义了系统动态链接库,提供大量公用程序代码,提高了开发效率和质量。面向对象的软件系统可维护性好。
系统出错时容易定位和修改,而且不至于牵一发而动全身。大学计算机基础第二十七页,共三十一页。9.3.3面向对象程序设计的相关概念对象对象是程序的基本单位,是一组数据(属性)和施加于这些数据上的一组操作代码(操作)构成的逻辑实体。消息消息是为了实现某一功能而要求某个对象执行其中某个功能操作的规格说明。对象之间的相互服务是通过消息来连接实现的。大学计算机基础第二十八页,共三十一页。9.3.3面向对象程序设计的相关概念(续)属性、事件和方法属性是对象具有的特征或某一方面的行为。事件是指对象能够识别的动作,可以编写相应的代码对此动作进行响应,事件可由系统发生,也可由用户执行某种操作来发生。方法是对象能够执行的操作,是对象具有的功能体现,是实现每条消息具体功能的手段。大学计算机基础第二十九页,共三十一页。9.3.3面向对象程序设计的相关概念(续)继承继承是一个类(子类)直接使用另一个类(父类)的所有属性和方法(权限为私有的属性和方法除外)。继承具有传递性。封装封装性说明包含和隐藏对象信息,如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024环境监管支持服务委托协议
- 2024年建筑工程施工协议模板2
- 2024年精装住宅租赁格式协议
- 2024工业产品购销合作协议
- 2024年蜂蜜批量供应商务协议
- 汽车网络技术概述全套
- 2024专业反担保协议示例总汇
- 2024年个人借款协议履约保证协议
- 农资直销课件教学课件
- 排球比赛记录表排球比赛
- 新国标充电CAN协议解析
- 危险化学品安全生产基础知识指导培训
- 水电机组的运行稳定性及水轮机转轮裂纹
- 学生信息管理系统数据流图
- 螺旋箍筋长度计算公式
- HSE培训矩阵(共79张)
- 民办幼儿园成本核算表
- 第八章_噪声控制技术——隔声
- 国旗下校长关于诚信考试的讲话稿
- 急性胰腺炎ppt课件
- 广告设计制作框架合同协议书范本详细版
评论
0/150
提交评论