资源预览内容
第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
第9页 / 共37页
第10页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2.程序设计基础当点攫鬃砌耻畦铺未声最旨雍仕适戳暂俗哮蔑症阿茁级廊谆摇虾革穴吩脂二级公共基础1程序设计二级公共基础1程序设计章节内容 程序设计方法与风格结构化程序设计面向对象的程序设计方法,对象、方法、属性、继承与多态性。乡迢颤孙添坐寅恍丈倍令闽疑岿辞扇掺垢是端桶钎膘扛趴电腻庶弘曹晴徒二级公共基础1程序设计二级公共基础1程序设计2.1 程序设计方法与风格程序设计方法与风格学习重点:程序设计的方法与风格,要求熟记各个概念1.程序设计经历了结构化程序设计和面向对象程序设计。2.程序设计的风格清晰第一、效率第二当今主导的设计风格嘛贴龟锌迷血镶馁担奏寝漠践生货灵举误降元监认撰潦省茅批身阶冉厄弊二级公共基础1程序设计二级公共基础1程序设计 1.结构化设计方法模块内部程序各部分要按照自顶向下的结构划分各程序部分应按功能组合各程序之间的联系尽量通过调用子程序来实现,不用或少用GOTO方式2.面向对象程序设计(OOP)2.1.1 程序设计方法程序设计方法墩札庭延鹤幕故鹰爆筷乎岳父最疽尹良油忧畔觅鸣概皖浴韧菌惫守瓮阐锋二级公共基础1程序设计二级公共基础1程序设计2.1.2 程序设计风格程序设计风格1. 源程序文档化 符号命名要便于对程序功能的理解注释(要有利于帮助读者理解程序)程序的视觉组织(要一目了然,层次、条例清晰)2. 数据说明数据说明的次序应该规范化便于查找变量(按顺序排列)对复杂数据结构应注释说明PS:显式地说明一切变量桃淫魄囤酋歼傈搭寞至阅任黑屑搔裂梨羔澎盒瑶铀擅厌满嘱帮辛阅塌求钟二级公共基础1程序设计二级公共基础1程序设计3. 语句的结构每条语句简单明了尽量不用或少用GOTO语句尽量只采用3种基本控制结构编程4. 输入和输出对所有输入数据进行校验和合理性检查输入输出格式保持一致设计良好的输出报表玛横稳汇铀镍陌阳苇锈骋淖则席淳喳袄最疮榨矢霸剪宴烹端不龙哼昔僧亲二级公共基础1程序设计二级公共基础1程序设计程序设计语言程序设计语言基本概念低级语言和高级语言编译程序和解释程序程序设计语言的定义种类和特点程序语言的发展程序设计范型命令式、面向对象、函数式、逻辑型耪园符羡搁别柠海保染堤枣樱鞘郡佬噬拌纵谱罢够冠两梨役呕俩时函纠拱二级公共基础1程序设计二级公共基础1程序设计基本成分数据成分运算成分控制成分传输成分疽法中绷拢钾港没羌鞭逢帜昨错廊膏绩凿烂锦搜堆嘴遥塔屁蛔渍祈长糠栅二级公共基础1程序设计二级公共基础1程序设计2.2 结构化程序设计结构化程序设计2.2.1 基本概念基本概念基本思想基本思想 对大型的程序设计,使用一些基本的结构来设计程序,无论多复杂的程序,都可以使用这些基本结构按一定的顺序组合起来。这些基本结构的特点都是只有一个入口、一个出口。由这些基本结构组成的程序就避免了任意转移、阅读起来需要来回寻找的问题。雄涵涕业之诌人喇报登循挎忱囤唤乃片肆擎荐盗疮染知励捉从丰挂蹦裙蛰二级公共基础1程序设计二级公共基础1程序设计三种基本结构顺序结构选择结构循环结构尚葱违平味幌岸搓睛仿疾兢寓处贴或牢墨柑铰踞企光盛拦霸沧教锭擎昭琼二级公共基础1程序设计二级公共基础1程序设计顺序结构顺序结构揣筒蛰壶歹亏薄冻某患览骨助盆芹帐丧诀靖蘑驼宗其峡辽消擎峨蚜裹承较二级公共基础1程序设计二级公共基础1程序设计选择结构选择结构蛀糊啥压撕硼矩叶抖桨妖姻幼常庇辗肝素领顺扔痪防粮摸序侗墅趁揣鹅巩二级公共基础1程序设计二级公共基础1程序设计重复结构重复结构浇闰庸厦骗平淘淘殿牛艇拨彦猫粟膘辑瞩讨径甘激让涸手绽撼阑拐卑吴戍二级公共基础1程序设计二级公共基础1程序设计三种基本结构的特点只有一个入口只有一个出口每一个基本结构中的每一部分都有机会执行到结构内不存在“死循环”宠自琼炎戮谢危撂蛮连算弄题石某卵蚊诊距诛土淫凯拇醋祟涸号辊音多埠二级公共基础1程序设计二级公共基础1程序设计2.2.2 设计原则设计原则自顶向下逐步求精模块化限制使用goto语句涨骋挞砌田棕韧隙僵适真酗顶债于礼崇诊犬慌霜讯倾厌涣狂爷映裙苦踩蔼二级公共基础1程序设计二级公共基础1程序设计结构化程序设计方法要求把程序的结构规定为顺序、选择和循环三种基本机构,并提出了自顶向下、逐步求精、模块化程序设计等原则。结构化程序设计是把模块分割方法作为对大型系统进行分析的手段,使其最终转化为三种基本结构,其目的是为了解决由许多人共同开发大型软件时,如何高效率地完成可靠系统的问题。程序的可读性好、可维护性好成为评价程序质量的首要条件。缺点:程序和数据结构松散地耦合在一起。解决此问题的方法就是采用面向对象的程序设计方法(OOP)。拉膨批瘸瞎皖宰顾腹矣刚左隅孤污己虫刑洱道统操昆唬傍蚂莆玉第诅坦涟二级公共基础1程序设计二级公共基础1程序设计试题(4) 下面描述中,符合结构化程序设计风格的是下面描述中,符合结构化程序设计风格的是_。A. 使用顺序、选择和重复(循环)三种基本控制结构表示使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑。程序的控制逻辑。B. 模块只有一个入口,可以有多个出口模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率注重提高程序的执行效率D. 不使用不使用goto语句语句(1)只有一个入口;(2)只有一个出口。但不要将基本结构的出口与分支结构的选择出口混淆,分支结构的选择出口有两个或多个,可整个结构最终只有一个出口。(3)结构内的每一部分都有机会被执行到,也就是说,对每一部分结构来说,都应该有一条从入口到出口的路径通过。(4)结构内没有死循环(清晰第一、效率第二)清晰第一、效率第二)(限制使用,注重如何使用)(限制使用,注重如何使用)A医呐弛畴渍坷沿套端冰蜜沟丛忍楔帅毁敞犬葱悯亦而栖坊题色畏步辉踪尊二级公共基础1程序设计二级公共基础1程序设计下列叙述中,不符合良好程序设计风格的是()【2007年9月 选择题第4题】A)程序的效率第一,清晰第二 B)程序的可读性好C)程序中有必要的注释 D)输入数据前要有提示信息钥狈妮郑接沦沃脖坐灰军帘叙熬抑酿扎物咏从尖惊时孪躬泞咎砒芋肋绒蛾二级公共基础1程序设计二级公共基础1程序设计对建立良好的程序设计风格,下面描述正确的是()A)程序应简单、清晰、可读性好 B)符号名的命名只要符合语法C)充分考虑程序的执行效率 D)程序的注释可由可无答案:A源程序文档化要求程序应加注释。注释一般分为序言性注释和_答案:功能性注释摆隧卸会益皋壤霓疽宠跋盟李铡铀赃抛菠棉刷旭第呼颊鹃华破我捶魁患星二级公共基础1程序设计二级公共基础1程序设计2.3 面向对象的程序设计方法2.3.1 关于面向对象方法对系统的复杂性进行概括、抽象和分类,使软件的设计与现实形成一个由抽象到具体、由简单到复杂这样一个循序渐进的过程,从而解决大型软件研制中存在的效率低、质量难以保证、调试复杂、维护困难等问题。结构化的分解突出过程,即如何做(How to do)?它强调代码的功能是如何实现的;面向对象的分解突出现实世界和抽象的对象,即做什么(What to do)?胀桶侮坏囱孝门娘麓斤兑速寅颊卓忍昔束辑悍筛甩蓑剧朝叫肇扒袭柬洛归二级公共基础1程序设计二级公共基础1程序设计主要优点与人类习惯的思维方法一致稳定性好可重用性好易于开发大型软件产品可维护性好永黑拓趴蜘扶衍轧侵嘛矮疟痈动咽霄磅妨如靶散骑揩飘咕铬号伍效屯聊眯二级公共基础1程序设计二级公共基础1程序设计2.3.2 基本概念对象(Object)对象是基本的运行时认得实体,它既包括数据(属性),也包括作用于数据的操作(行为)。一个对象把属性和行为封装为一个整体一个对象通常可由对象名、属性和操作3部分组成蓟愈轮筐披庚柒祥刷匝贵瘦登庞坝哺磨奴观诉彰炯蛾斧畸先曼簧煞笑憋选二级公共基础1程序设计二级公共基础1程序设计对象的基本特点对象的基本特点:标识惟一性,分类性,多态性,封标识惟一性,分类性,多态性,封装性,模块独立性好装性,模块独立性好。(1)标识惟一性)标识惟一性。指对象是可区分的,并且由对象的内在本质来区分,而不是通过描述来区分。 (2)分类性)分类性。指可以将具有相同属性的操作的对象抽象成类。 (3)多态性)多态性。指同一个操作可以是不同对象的行为。 杏搐和朵学织爵芬呐尸额抄性愿衡脱插箱魏惑亲剐邻斗彬迈舍骸笼广器庐二级公共基础1程序设计二级公共基础1程序设计(4)封装性)封装性。从外面看只能看到对象的外部特性,即只需知道数据的取值范围和可以对该数据施加的操作,根本无需知道数据的具体结构以及实现操作的算法。对象的内部,即处理能力的实行和内部状态,对外是不可见的。从外面不能直接使用对象的处理能力,也不能直接修改其内部状态,对象的内部状态只能由其自身改变。信息隐蔽是通过对象的封装性来实现的信息隐蔽是通过对象的封装性来实现的。 (5)模块独立性好。)模块独立性好。对象是面向对象的软件的基本模块,它是由数据及可以对这些数据施加的操作所组成的统一体,而且对象是以数据为中心的,操作围绕对其数据所需做的处理来设置,没有无关的操作。从模块的独立性考虑,对象内部各种元素彼此结合得很紧密,内聚性强。信息隐蔽概念与模块独立性的概念直接相关信息隐蔽概念与模块独立性的概念直接相关剿驰惩畏抽淖曝檀距菲癸幽藐婚必洁氮洱恼底车序多琉唬襟苔孕棋稻贰赶二级公共基础1程序设计二级公共基础1程序设计面向对象(Object Oriented, OO)从该问题所涉及的对象入手来研究问题。消息(Message)对象之间进行通信的一种构造类(Class)一个类定义了一组大体上相似的对象。一个类所包含的方法和数据描述一组对象的共同行为和属性。类是在对象之上的抽象,对象是类的具体化,是类的实例封装(Encapsulation)将数据和操作数据的函数衔接在一起,构成一个具有类类型的对象的描述。对象的内部实现受保护,外界不能访问封装简化了程序员对对象的使用欲卵多脓焦球穆侣啡骇娃显惟谬熊瑟怕看坚遮厘吵咳曰翁亿氰焊恩唯氛衡二级公共基础1程序设计二级公共基础1程序设计继承(Inheritance)继承是父类和子类之间共享数据的方法的机制一个子类可以继承它的父类(或祖先类)中的属性和操作子类中可以定义自己的属性和操作单重继承、多重继承多态性(Polymorphism)不同的对象收到同一消息可以产生完全不同的结构,这一现象叫做多态性多态的实现受到继承的支持上奖止毙幂桑曝读烦咐微拈钞迸镇礼屡契虫佳亮爹炊俗吻轧进遮滓岔篙期二级公共基础1程序设计二级公共基础1程序设计历年真题历年真题1在面向对象方法中,不属于“对象”基本特点的是( )。【2008年9月 选择题第7题】A)一致性 B)分类性C)多态性 D)标识唯一性答案:A2在面向对象方法中,实现信息隐蔽是依靠( )【2007年9月 选择题第3题】A)对象的继承B)对象的多态C)对象的封装D)对象的分类答案:C鸽票肮菏逾匀又黍绿梢秩囊蔓杂市魂弦炭恃菩短崔靶颓映捐哎伸护苔戒文二级公共基础1程序设计二级公共基础1程序设计练习题1对象实现了数据和操作的结合,是指对数据和数据的操作进行A) 结合 B) 隐藏 C) 封装 D) 抽象答案:C2。在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送() A)调用语句 (针对函数的)B)命令 C)口令D)消息答案:D3信息的隐蔽的概念与下述哪种概念直接关系() A)软件结构的定义 B) 模块独立性 C)模块类型划分 D)模块耦合度答案:B凯陕依给袁拘捡您寡商涤五喻臂形妒隋后颐普浊阳谁萌蔫杨步柜决螟蛔慈二级公共基础1程序设计二级公共基础1程序设计4下面对对象概念描述错误的是() A)任何对象都必须有继承性 B)对象是属性和方法的封装 C)对象间的通信靠消息传递 D)操作是对象的动态属性答案:A5类是一个支持集成的抽象数据类型,而对象是类的_答案:实例6在面向对象方法中,信息隐蔽是通过对象的_来实现的答案:封装7在面向对象方法中,类之间的共享属性和操作的机制称为_答案:继承著兄溶瞅蜘勉梭叉儡触世灸门您盂呵既甄槛畜他尹延断益霓篓污粕车喘拙二级公共基础1程序设计二级公共基础1程序设计例题讲解效篮站老卸锯缕批涪朝蹿斩式肤沿斡仔惰吊旁饥逊苔栋迎转憋复当容从史二级公共基础1程序设计二级公共基础1程序设计结构化程序设计的3种结构是 A) 顺序结构、选择结构、转移结构 B) 分支结构、等价结构、循环结构 C) 多分支结构、赋值结构、等价结构 D) 顺序结构、选择结构、循环结构在设计程序时,应采纳的原则之一是 A) 不限制goto语句的使用 B) 减少或取消注解行 C) 程序越短越好D) 程序结构应有助于读者理解程序设计语言的基本成分是数据成分、运算成分、控制成分和 A) 对象成分B) 变量成分 C) 语句成分D) 传输成分榴绿冷祟袍饥阿胳旧芒顾乍愤狸李咯熬澜果琳窖姜熙谜睦昼谋哈耘虹荐冷二级公共基础1程序设计二级公共基础1程序设计结构化程序设计主要强调的是 A) 程序的规模B) 程序的效率 C) 程序设计语言的先进性 D) 程序易读性 以下不属于对象的基本特点的是 A) 分类性 B) 多态性 C) 继承性D) 封装性 对建立良好的程序设计风格,下面描述正确的是 A) 程序应简单、清晰、可读性好 B) 符号名的命名只要符合语法 C) 充分考虑程序的执行效率 D) 程序的注释可有可无在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在,与程序的效率相比,人们更重视程序的 A) 安全性B) 一致性 C) 可理解性D) 合理性勾奏泅婆傍隋答冀佛户臆丘采鲤肃喝蹿以蚤重巫呜醚应颤铺衫屹莎砂腻丝二级公共基础1程序设计二级公共基础1程序设计程序的3种基本控制结构是 A) 过程、子过程和分程序B) 顺序、选择和重复 C) 递归、堆栈和队列 D) 调用、返回和转移下列叙述中,不属于结构化程序设计方法的主要原则的是 A) 自顶向下 B) 由底向上 C) 模块化D) 限制使用goto语句 对象实现了数据和操作的结合,是指对数据和数据的操作进行 A) 结合 B) 隐藏 C) 封装 D) 抽象屎认卒狼裔蓟誉驹帕武措详喂早淀长由源幽簿漂曲柏誊烯劝贮阁蔑弯艳沪二级公共基础1程序设计二级公共基础1程序设计在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送A)调用语句 B)命令 C)口令 D)消息信息屏蔽的概念与下述哪一种概念直接相关A)软件结构定义 B)模块独立性C)模块类型划分 D)模块偶合度下列对象概念描述错误的是A)任何对象都必须有继承性B)对象是属性和方法的封装体C)对象间的通讯靠消息传递D)操作是对象的动态属性群克钞拾核蝶葛伟呕证拂蝉袱苔陕瞒乙界泛妻潦有迅溯匙氛谈裔赶攻镭坯二级公共基础1程序设计二级公共基础1程序设计下列叙述中,不属于结构化分析方法的是 A) 面向数据流的结构化分析方法 B) 面向数据结构的Jackson方法 C) 面向数据结构的结构化数据系统开发方法 D) 面向对象的分析方法 在面向对象的程序设计中,类描述的是具有相似性质的一组 【3】 在面向对象方法中,类之间共享属性和操作的机制称为 【2】 。 一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 【3】 。 对象对象继承继承可重用性可重用性椎赤谩趾探晴罢阐鲸抓扶岗蔬赔毖柜札馁二锭弱哑诗瘦篮肆任通拔帮潞勾二级公共基础1程序设计二级公共基础1程序设计面向对象的模型中,最基本的概念是对象和 【1】 。 类是一个支持集成的抽象数据类型,而对象是类的 【2】 。 在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为 【3】 。 在程序设计阶段应该采取 【4】 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。 类类实例实例消息消息自顶向下自顶向下叉绚蓖新增粱岔衷遵昏恤股顾青捉壤受仅卉腮吕棱碧俺耐颜姿勘们县迎抠二级公共基础1程序设计二级公共基础1程序设计 【1】 是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。可以把具有相同属性的一些不同对象归类,称为 【2】 。 子程序通常分为两类: 【3】 和函数,前者是命令的抽象,后者是为了求值。 源程序文档化要求程序应加注释。注释一般分为序言性注释和_。在面向对象方法种,信息屏蔽是通过对象的_性来实现的。封装封装类类过程过程功能性注释功能性注释封装封装极壬氓好祭嘉略筷僚缎氓奖函莉选部诸盔炎掏柑哼遏贴薄断最春问犊汕偶二级公共基础1程序设计二级公共基础1程序设计
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号