


Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,单击此处编辑母版标题样式,1,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,全国计算机等级考试二级公共基础知识第二章,全国计算机等级考试二级公共基础知识第二章,内容提要,程序设计方法与风格,结构化程序设计,面向对象的程序设计方法,对象、方法、属性及继承与多态性,2,内容提要 程序设计方法与风格2,2.1 程序设计方法与风格,2.1.1 程序设计方法,结构化设计方法,模块内部程序各部分要按照自顶向下的结构划分,各程序部分应按功能组合,各程序之间的联系尽量通过调用子程序来实现,不用或少用GOTO方式,面向对象程序设计方法,3,2.1 程序设计方法与风格2.1.1 程序设计方法3,2.1.2 程序设计风格,原则:清晰第一,效率第二,1.源程序中的内部文档,符号名的命名:有一定实际含义,程序的注释:,序言性注释,功能性注释,程序的视觉组织:层次清晰,2.数据说明,数据说明的次序规范化,说明语句中变量安排有序化,使用注释来说明复杂数据的结构,4,2.1.2 程序设计风格原则:清晰第一,效率第二 4,2.1.2 程序设计风格(续),3语句的结构,在一行内只写一条语句,程序编写应优先考虑清晰性,清晰第一,效率第二,在保证程序正确的基础上再要求提高效率,避免使用临时变量前使程序的可读性下降,避免不必要的转移,尽量使用库函数,避免采用复杂的条件语句,尽量减少使用“否定”条件语句,数据结构要有利于程序的简化,要模块化,使模块功能尽可能单一化,利用信息隐蔽,确保每一个模块的独立性,从数据出发去构造程序,不要修补不好的程序,要重新编写,5,2.1.2 程序设计风格(续)3语句的结构5,2.1.2 程序设计风格(续),4输入和输出,对输入数据检验数据的合法性,检查输入项的各种重要组合的合理性,输人格式要简单,使得输入的步骤和操作尽可能简单,输人数据时,应允许使用自由格式,应允许缺省值,输入一批数据时,最好使用输入结束标志,在以交互式输入/输出方式进行输人时,要在屏幕上使用提示符明确提示输入的请求,同时在数据输入过程中和输入结束时,应在屏幕上给出状态信息,当程序设计语言对输入格式有严格要求时,应保持输入格式与输入语句的一致性;给所有的输出加注释,并设计输出报表格式,6,2.1.2 程序设计风格(续)4输入和输出在以交互式输入/,3.2 结构化程序设计,基本思想,关于GOTO语句,工程思想,结构化思想,自顶向下,逐步求精,模块化,限制使用GOTO语句,7,3.2 结构化程序设计基本思想7,2.2.1 结构化程序设计的原则,1自顶向下,2逐步求精,3模块化,4限制使用GOTO语句,8,2.2.1 结构化程序设计的原则1自顶向下8,2.2.2 结构化程序的基本结构与特点,三种基本结构,顺序结构,选择结构,重复结构,9,2.2.2 结构化程序的基本结构与特点三种基本结构9,2.2.2 结构化程序的基本结构与特点(续),顺序结构,10,2.2.2 结构化程序的基本结构与特点(续)顺序结构10,2.2.2 结构化程序的基本结构与特点(续),选择结构,又称分支结构,简单选择结构,多分支选择结构,11,2.2.2 结构化程序的基本结构与特点(续)选择结构11,2.2.2 结构化程序的基本结构与特点(续),重复结构,又称为循环结构,当型,直到型,12,2.2.2 结构化程序的基本结构与特点(续)重复结构12,2.2.2 结构化程序的基本结构与特点(续),特点,关系清晰、易读、易理解性好、易维护。
自顶向下、逐步细化”,提高效率,降低成本,13,2.2.2 结构化程序的基本结构与特点(续)特点13,2.2.3 结构化程序设计原则和方法的应用,用有限的控制结构,一个入口和一个出口,每块只有一个入口和一个出口,使用嵌套,前后一致,避免GOTO语句,14,2.2.3 结构化程序设计原则和方法的应用用有限的控制结构1,2.3 面向对象的程序设计,2.3.1 关于面向对象方法,对系统的复杂性进行概括、抽象和分类,使软件的设计与现实形成一个由抽象到具体、由简单到复杂这样一个循序渐进的过程,从而解决大型软件研制中存在的效率低、质量难以保证、调试复杂、维护困难等问题结构化的分解突出过程,即如何做(How to do)?它强调代码的功能是如何实现的;面向对象的分解突出现实世界和抽象的对象,即做什么(What to do)?,15,2.3 面向对象的程序设计2.3.1 关于面向对象方法15,2.3.1 关于面向对象方法(续),主要优点,与人类习惯的思维方法一致,稳定性好,可重用性好,易于开发大型软件产品,可维护性好,16,2.3.1 关于面向对象方法(续)主要优点16,2.3.2 面向对象方法的基本概念,1.对象(Object),对象是基本的运行时认得实体,它既包括数据(属性),也包括作用于数据的操作(行为)。
一个对象把属性和行为封装为一个整体,一个对象通常可由对象名、属性和操作3部分组成,17,2.3.2 面向对象方法的基本概念1.对象(Object)1,2.3.2 面向对象方法的基本概念(续),对象特点,标识惟一性,分类性,多态性,封装性,模块独立性好,18,2.3.2 面向对象方法的基本概念(续)对象特点18,2.3.2 面向对象方法的基本概念(续),2类和实例,类是具有共同属性、共同操作方法的对象的集合,是对象的抽象,对象是其对应类的一个实例,19,2.3.2 面向对象方法的基本概念(续)2类和实例19,2.3.2 面向对象方法的基本概念(续),3消息,对象之间进行通信的机制,三部分组成,接收消息的对象的名称,消息标识符(消息名),零个或多个参数,20,2.3.2 面向对象方法的基本概念(续)3消息20,2.3.2 面向对象方法的基本概念(续),继承是父类和子类之间共享数据的方法的机制,一个子类可以继承它的父类(或祖先类)中的属性和操作,子类中可以定义自己的属性和操作,单重继承、多重继承,21,2.3.2 面向对象方法的基本概念(续)21,2.3.2 面向对象方法的基本概念(续),不同的对象收到同一消息可以产生完全不同的结构,这一现象叫做多态性,优点:灵活性、可重用性、可扩充性。
22,2.3.2 面向对象方法的基本概念(续)22,典型考题分析,典型考题分析,2.4 典型考题分析,【例2-1】从程序设计方法和技术的发程序角度来说,程序设计主要经历了结构化设计和_的程序设计阶段答案 面向对象,24,2.4 典型考题分析【例2-1】从程序设计方法和技术的发程,2.4 典型考题分析,【例2-2】对建立良好的程序设计风格,下面描述正确的是_A)程序应简单、清晰、可读性好,B)符号名的命名只要符合语法,C)充分考虑程序的执行效率,D)程序的注释可有可无,答案 A,25,2.4 典型考题分析【例2-2】对建立良好的程序设计风格,,2.4 典型考题分析,【例2-3】源程序的文档化不包括_A)符号名的命名要有实际意义,B)正确的文档格式,C)良好的视觉组织,D)正确的程序注释,答案 D,26,2.4 典型考题分析【例2-3】源程序的文档化不包括_,2.4 典型考题分析,【例2-4】注释一般为序言性注释和_注释答案 功能性,27,2.4 典型考题分析【例2-4】注释一般为序言性注释和_,2.4 典型考题分析,【例2-5】在设计程序时,应采纳的原则之一是_A)程序结构应有助于读者理解,B)不限制GOTO语句的使用,C)减少或取消注解行,D)程序越短越好,答案 A,28,2.4 典型考题分析【例2-5】在设计程序时,应采纳的原则,2.4 典型考题分析,【例2-6】下列选项中不属于结构化程序设计方法的是_。
2006年4月),A)自顶向下,B)逐步求精,C)模块化,D)可复用,答案 D,29,2.4 典型考题分析【例2-6】下列选项中不属于结构化程序,2.4 典型考题分析,【例2-7】下列选项不符合良好程序设计风格的是_2006年9月),A)源程序要文档化,B)数据说明的次序要规范化,C)避免滥用 GOTO 语句,D)模块设计要保证高耦合、高内聚,答案 D,30,2.4 典型考题分析【例2-7】下列选项不符合良好程序设计,2.4 典型考题分析,【例2-8】结构化程序设计的三种基本控制结构是_A)过程、子程序和分程序,B)顺序、选择和重复,C)递归、堆栈和队列,D)调用、返回和转移,答案 B,31,2.4 典型考题分析【例2-8】结构化程序设计的三种基本控,2.4 典型考题分析,【例2-9】结构化程序设计主要强调的是_A)程序的规模,B)程序的易读性,C)程序的执行效率,D)程序的可移植性,答案 B,32,2.4 典型考题分析【例2-9】结构化程序设计主要强调的是,2.4 典型考题分析,【例2-10】关于结构化程序设计原则和方法的描述错误的是_A)选用的控制结构只准许有一个入口和一个出口,B)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现,C)不允许使用GOTO语句,D)语言中所没有的控制结构,应该采用前后一致的方法来模拟,答案 C,33,2.4 典型考题分析【例2-10】关于结构化程序设计原则和,2.4 典型考题分析,【例2-11】采用面向对象技术开发的应用系统的特点是_。
A)重用性更强,B)运行速度更快,C)占用存储量小,D)维护更复杂,答案 A,34,2.4 典型考题分析【例2-11】采用面向对象技术开发的应,2.4 典型考题分析,【例2-12】在面向对象方法中,类的实例称为_2005年4月),答案 对象,35,2.4 典型考题分析【例2-12】在面向对象方法中,类的实,2.4 典型考题分析,【例2-13】消息传递是对象间通信的手段,一个对象通过向另一个对象发送消息来请求其服务一个消息通常包括_A)接收消息的对象的名称、消息标识符和必要的参数,B)接收消息的对象的名称和消息标识符,C)发送消息的对象的名称、调用的接收方的操作名和必要的参数,D)消息标识符,答案 A,36,2.4 典型考题分析【例2-13】消息传递是对象间通信的手,2.4 典型考题分析,【例2-14】一个对象在收到消息时,要予以响应不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做对象的_A)继承性,B)多态性,C)抽象性,D)封装性,答案 B,37,2.4 典型考题分析【例2-14】一个对象在收到消息时,要,2.4 典型考题分析,【例2-15】在面向对象程序设计中,从外面看只能看到对象的外部特征,而不知道也无需知道数据的具体结构以及实现操作的算法,这称为对象的_。
答案 封装性,38,2.4 典型考题分析【例2-15】在面向对象程序设计中,从,2.4 典型考题分析,【例2-16】使用已经存在的类作为基础建立新类的定义,这种技术叫做类的_答案 继承,39,2.4 典型考题分析【例2-16】使用已经存在的类作为基础,2.4 典型考题分析,【例2-17】一个类允许有多个父类,这种继承称为_答案 多重继承,40,2.4 典型考题分析【例2-17】一个类允许有多个父类,这,谢谢观赏,谢谢观赏,。