已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2003 11 全国计算机等级考试二级公共基础知识 2 程序设计基础 本章内容程序设计方法与风格结构化程序设计面向对象的程序设计方法 对象 方法 属性及继承与多态性 2 1程序设计方法与风格 2 1 1程序设计方法结构化设计方法模块内部程序各部分要按照自顶向下的结构划分各程序部分应按功能组合各程序之间的联系尽量通过调用子程序来实现 不用或少用GOTO方式快速原型方法利用现有的工具和原型方法快速地开发所要的程序面向对象程序设计方法 2 1 2程序设计风格1 源程序中的内部文档选择标示符的名字注释 序言性和功能性注释 程序的视觉组织2 数据说明显式地说明一切变量数据说明的次序应该规范化便于查找变量 按顺序排列 对复杂数据结构应注释说明 3 语句的结构每条语句简单明了尽量不用或少用GOTO语句尽量只采用3种基本控制结构编程4 输入和输出对所有输入数据进行校验和合理性检查输入输出格式保持一致设计良好的输出报表 2 1 3程序设计语言基本概念低级语言和高级语言编译程序和解释程序程序设计语言的定义种类和特点程序语言的发展程序设计范型命令式 面向对象 函数式 逻辑型 思考 程序 程序设计 程序设计语言 程序设计方法 程序与程序设计 程序由人所编写的指挥和控制计算机完成某一任务的指令序列程序设计编写程序的过程程序设计语言人和计算机进行信息交流的语言 程序设计的发展 初期的程序设计高运行效率 少占用内存为目标结构化程序设计阶段程序的可读性 可维护性为目标面向对象的程序设计阶段降低程序的复杂性 提高软件的开发效率和改善工作界面为目标 基本成分数据成分运算成分控制成分传输成分 2 2结构化程序设计 2 2 1基本概念基本思想对大型的程序设计 使用一些基本的结构来设计程序 无论多复杂的程序 都可以使用这些基本结构按一定的顺序组合起来 这些基本结构的特点都是只有一个入口 一个出口 由这些基本结构组成的程序就避免了任意转移 阅读起来需要来回寻找的问题 三种基本结构顺序结构选择结构循环结构三种基本结构的特点只有一个入口只有一个出口每一个基本结构中的每一部分都有机会执行到结构内不存在 死循环 顺序结构 选择结构 两路分支选择结构流程图 真 假 If Then语句 单分支结构 IfThen语句块Else语句块EndIf 多路分支选择结构流程图 SelectCase语句 多分支结构 SelectCase Case Case Case CaseElse EndSelect 循环结构 当型循环结构流程图 Do While Loop语句格式 DoWhile条件式循环体 条件语句序列ExitDo结束条件语句序列 Loop 直到型循环结构流程图 Do Until Loop语句格式 Do循环体 条件语句序列ExitDo结束条件语句序列 LoopUntil条件式 2 2 2设计原则自顶向下逐步求精模块化限制使用goto语句 模块化程序设计 模块化程序设计是指把一个大程序按人们能理解的大小规模进行分解 模块划分与组织的方法 1按功能划分模块要求 优点 可读性和可理解性都比较好各模块间的接口关系比较简单当要修改某一功能时 只涉及一个模块其他应用程序可以充分利用已有的一些模块 各模块功能单一 各模块之间的联系尽量少 2按层次组织模块上层模块指出总任务 即 做什么 下层模块精确描述各个子任务 即 如何做 主模块 模块2 模块1 模块3 模块6 模块5 模块4 自顶向下 逐步细化的设计过程 包括两个方面 将一个复杂问题的解法分解和细化成由若干模块组成的层次结构将一个模块的功能逐步分解细化为一系列的处理步骤 直到某种程序设计语言的语句或某种机器指令 计算并打印输出某班某门课程平均分细化的过程 计算并打印平均分 计算平均分 打印平均分 0 SUM 累加器清零 0 N 计数器清零 逐个读入分数x 且SUM x SUM 累加 N 1 N 计数 计算平均分SUM N S 两条优点 符合人们解决复杂问题的规律 可以显著提高程序设计的效率用先全局后局部 先整体后细节 先抽象后具体的方法设计 结构层次清晰 容易阅读和理解 2 2 程序设计的风格 什么是程序设计风格 一般来讲 程序设计风格是指编写程序时所表现出来的特点 习惯和逻辑思路 程序设计风格会深刻的影响软件的质量和可维护性 良好的程序设计风格可以使程序结构清晰合理 使程序代码易于维护 自己编制的程序还要给别人看自己编制的程序还要为以后看 基本出发点 程序设计风格总体而言强调简单清晰 程序是可理解的 清晰第一 效率第二 的论点已成为当今主导的程序设计风格 良好的程序设计风格包括 设计的风格语言运用的风格程序文本的风格输入输出的风格 程序设计的根本目标 降低程序的复杂性提高程序的可读性 1结构要清晰 程序是模块化结构的 且按层次组织 合理运用3种基本结构模块功能尽可能单一化 模块间的联系尽量少 设计的风格 2思路要清晰 遵循自顶向下 逐步细化的原则3遵循 简短朴实 原则 切忌卖弄所谓的 技巧 选择合适的程序设计语言符合软件工程的要求符合结构化程序设计的思想使用要方便不要滥用语言中的某些特色 语言运用的风格 注意程序文本的易读性一般情况下每个语句占用一行程序的层次要分明 在各层次之间应采用缩进规则同一结构层次中的语句 缩进相同的字数 程序文本的风格 Ifx ythenmax xElsemax yEndif 符号规范化 常用从简 专用从繁照顾习惯用法数据说明的次序规范化 易于理解 测试排错及维护说明语句中变量安排有序化 程序中加必要的注释序言性注释位于每个程序的开头部分 给出程序的整体说明主要描述的内容 程序标题 程序功能说明 主要算法 接口说明 程序位置 开发简历 程序设计者 复审者 复审日期 修改日期等功能性注释一般嵌在源程序体之中主要描述其后的语句或程序做什么 程序中合理使用分隔符一类是语法所规定的分隔符另一类是为提高程序的可读性 系统允许用户使用的分隔符 空格及空行 输入 在需要输入数据时 应该给出必要的提示输入格式要简单 以使得输入的步骤和操作尽可能简单输入数据时 应允许使用自由格式 允许缺省值输入一批数据时 最好使用输入结束标志以适当的方式对输入数据进行检验 以确认其有效性 输入输出的风格 输出 对输出数据应该加上必要的说明设计输出的报表格式 结构化程序设计方法要求把程序的结构规定为顺序 选择和循环三种基本机构 并提出了自顶向下 逐步求精 模块化程序设计等原则 结构化程序设计是把模块分割方法作为对大型系统进行分析的手段 使其最终转化为三种基本结构 其目的是为了解决由许多人共同开发大型软件时 如何高效率地完成可靠系统的问题 程序的可读性好 可维护性好成为评价程序质量的首要条件 缺点 程序和数据结构松散地耦合在一起 解决此问题的方法就是采用面向对象的程序设计方法 OOP 2 3 面向对象的程序设计 面向对象 ObjectOriented 方法已经发展成为主流的软件开发方法 起源于对面向对象语言的研究20世纪60年代后期首次被提出 80年代开始走向实用 2 3面向对象的程序设计方法 2 3 1关于面向对象方法对系统的复杂性进行概括 抽象和分类 使软件的设计与现实形成一个由抽象到具体 由简单到复杂这样一个循序渐进的过程 从而解决大型软件研制中存在的效率低 质量难以保证 调试复杂 维护困难等问题 结构化的分解突出过程 即如何做 Howtodo 它强调代码的功能是如何实现的 面向对象的分解突出现实世界和抽象的对象 即做什么 Whattodo 面向对象的基本概念 对象 客观世界中的实体分类具体的物理实体 一辆车任何有明确意义和边界的东西 一个项目计划特点 对象是构成世界的一个独立单位 通常既有静态的特征 属性 又有动态的行为 方法 属性对象所包含的信息在设计对象时确定person 姓名 年龄 体重 不同对象的同一属性可以具有相同或不同的属性值person1 张三 19 43kg person2 李四 20 65kg 方法允许作用于某个对象上的各种操作 类 Class 一个类定义了一组大体上相似的对象 一个类所包含的方法和数据描述一组对象的共同行为和属性 类是在对象之上的抽象 对象是类的具体化 是类的实例具有相似性质的一组对象类是对象的抽象 描述了属于该对象类型的所有对象的性质 而一个对象则是其对应类的一个实例例如 Integer是一个整数类 描述了所有整数的性质12是一个具体的整数 是Integer类的一个实例 继承 表示类之间的相似性的机制是面向对象方法的一个主要特性一个类 子类 的定义可以定义在另一个已定义类 父类 的基础上 子类可以继承父类中的属性和方法 也可以定义自己的属性和方法如 整数类和正整数类 封装 Encapsulation 将数据和操作数据的函数衔接在一起 构成一个具有类类型的对象的描述 对象的内部实现受保护 外界不能访问封装简化了程序员对对象的使用一种信息隐蔽技术 目的在于将对象的使用者和对象的设计者分开消息 Message 对象之间进行通信的一种构造用来请求对象执行某一处理或回答某些信息的要求面向对象方法和技术以对象为中心 对象是由数据和容许的操作组成的封装体 对象之间通过传递消息互相联系 以模拟现实世界中不同事物彼此之间的联系 对象的基本特征 P46模块性继承性 Inheritance 继承是父类和子类之间共享数据的方法的机制一个子类可以继承它的父类 或祖先类 中的属性和操作子类中可以定义自己的属性和操作单重继承 多重继承动态连接性易维护性多态性 Polymorphism 不同的对象收到同一消息可以产生完全不同的结构 这一现象叫做多态性多态的实现受到继承的支持 各个对象之间相对独立 相互依赖性小 面向对象技术包括3个方面 面向对象的分析OOA面向对象的设计OOD面向对象的实现OOI 面向对象分析主要任务 了解问题域内所涉及的对象 对象之间的关系和作用 然后构造出对象模型 力争这个 模型 能反映所要解决的 实质问题 主要方法 抽象 面向对象设计主要任务 设计软件的对象模型 在软件系统中设计各个对象 对象之间的关系 如层次关系 继承关系等 对象间的通信方式 消息 等 面向对象实现主要任务 实现软件功能 实现各个对象所应完成的任务 包括实现每个对象的内部功能 系统的界面设计和输出格式等 面向对象技术的特点 可重用性 继承特性可维护性表示方法的一致性 结构化程序设计的3种结构是A 顺序结构 选择结构 转移结构B 分支结构 等价结构 循环结构C 多分支结构 赋值结构 等价结构D 顺序结构 选择结构 循环结构在设计程序时 应采纳的原则之一是A 不限制goto语句的使用B 减少或取消注解行C 程序越短越好D 程序结构应有助于读者理解程序设计语言的基本成分是数据成分 运算成分 控制成分和A 对象成分B 变量成分C 语句成分D 传输成分 例题讲解 结构化程序设计主要强调的是A 程序的规模B 程序的效率C 程序设计语言的先进性D 程序易读性以下不属于对象的基本特点的是A 分类性B 多态性C 继承性D 封装性对建立良好的程序设计风格 下面描述正确的是A 程序应简单 清晰 可读性好B 符号名的命名只要符合语法C 充分考虑程序的执行效率D 程序的注释可有可无在结构化程序设计思想提出之前 在程序设计中曾强调程序的效率 现在 与程序的效率相比 人们更重视程序的A 安全性B 一致性C 可理解性D 合理性 程序的3种基本控制结构是A 过程 子过程和分程序B 顺序 选择和重复C 递归 堆栈和队列D 调用 返回和转移下列叙述中 不属于结构化程序设计方法的主要原则的是A 自顶向下B 由底向上C 模块化D 限制使用goto语句对象实现了数据和操作的结合 是指对数据和数据的操作进行A 结合B 隐藏C 封装D 抽象 在面向对象方法中 一个对象请求另一个对象为其服务的方式是通过发送A 调用语句B 命令C 口令D 消息信息屏蔽的概念与下述哪一种概念直接相关A 软件结构定义B 模块独立性C 模块类型划分D 模块偶合度下列对象概念描述错误的是A 任何对象都必须有继承性B 对象是属性和方法的封装体C 对象间的通讯靠消息传递D 操作是对象的动态属性 下列叙述中 不属于结构化分析方法的是A 面向数据流的结构化分析方法B 面向数据结构的Jackson方法C 面向数据结构的结构化数据系统开发方法D 面向对象的分析方法在面向对象的程序设计中 类描述的是具有相似性质的一组 3 在面向对象方法中 类之间共享属性和操作的机制称为 2 一个类可以从直接或间接的祖先中继承所有属性和方法 采用这个方法提高了软件的 3 面向对象的模型中 最基本的概念是对象和 3 是一个支持集成的抽象数据类型 而对象是类的 3 在面向对象的设计中 用来请求对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年葡萄糖酸铜行业分析报告及未来发展趋势报告
- 四川省阿坝员额法官遴选面试考题及答案
- 2026年其他个人护理行业分析报告及未来发展趋势报告
- 永泰县公安辅警招聘知识考试题库附答案
- 2025年物业车辆安全试题及答案
- 2026年内审员试题及答案
- 2026年介入治疗师考试题及答案
- 2026年学生会宿管部面试常见问题及答案
- 【2025年】注册城乡规划师考试题库及答案
- 2026年儿科护理学题库自考真题及答案解析
- 雨课堂学堂在线学堂云《跨文化交际英语(北京理工)》单元测试考核答案
- 2026季华实验室科研部门及公共技术部门招聘10人(广东)笔试备考试题及答案解析
- 300MW火电机组检修定额及规范
- 建工律师培训
- 2025-2030中国清真食品市场盈利模式分析及投资发展趋势预判研究报告
- 2025年安徽交控集团招聘笔试及答案
- 骨科护理中的人文关怀与沟通
- 2026年高考上海卷历史试题(附答案)
- 浅谈输水管道设计技术要求
- 2025年项目合作协议终止及风险评估
- 智能时代需要工匠精神
评论
0/150
提交评论