1.2 程序设计基础
考点9 程序设计方法与风格
真考链接
考核概率为10%,该知识点属于熟记性内容,考生要熟记程序设计的4种规范及注释的相关概念。
1.程序设计方法
程序设计是指设计、编制、调试程序的方法和过程。
程序设计方法是研究问题求解如何进行系统构造的软件方法学。常用的程序设计方法有结构化程序设计方法、软件工程方法和面向对象方法。
2.程序设计风格
程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。良好的程序设计风格可以使程序结构清晰合理,程序代码便于维护,因此,程序设计风格深深地影响着软件的质量和维护。要形成良好的程序设计风格,主要应注重和考虑的因素有以下几点:
●源程序文档化;
●数据说明方法;
●语句的结构;
●输入和输出。
真题精选
【例1】下列叙述中,不属于良好程序设计风格要求的是( )。
A.程序的效率第一,清晰第二 B.程序的可读性好
C.程序中要有必要的注释 D.输入数据前要有提示信息
【答案】 A
【解析】著名的“清晰第一,效率第二”的论点已经成为主导的程序设计风格,所以选项A是错误的,其余选项都是良好程序设计风格的要求。
【例2】下列选项中不符合良好程序设计风格的是( )。
A.源程序要文档化 B.数据说明的次序要规范化
C.避免滥用goto语句 D.模块设计要保证高耦合、高内聚
【答案】 D
【解析】良好的程序设计风格使程序结构清晰合理,使程序代码便于维护。主要应注意和考虑的因素有:①源程序要文档化;②数据说明的次序要规范化;③语句的结构应简单直接,不应该为提高效率而把语句复杂化,避免滥用goto语句;④模块设计要保证低耦合、高内聚。
考点10 结构化程序设计
真考链接
考核概率为45%,该知识点属于熟记性内容,考生要熟记结构化程序设计的3 个原则以及结构化程序的基本结构的3种类型。
1.结构化程序设计的原则
结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用goto语句。
(1)自顶向下:程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑具体问题。
(2)逐步求精:将复杂问题细化,细分为逐个小问题再依次求解。
(3)模块化:是把程序要解决的总目标分解为若干目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。
(4)限制使用goto语句。
2.结构化程序设计的基本结构
结构化程序设计有3种基本结构,即顺序结构、选择结构和循环结构,其基本形式如图1.4所示。
图1.4 结构化程序设计的基本结构
3.结构化程序设计的原则和方法的应用
结构化程序设计是一种面向过程的程序设计方法。在结构化程序设计的具体实施中,需要注意以下问题:
●使用程序设计语言的顺序、选择、循环等有限的控制结构表示程序的控制逻辑;
●选用的控制结构只准许有一个入口和一个出口;
●程序语句组成容易识别的块,每块只有一个入口和一个出口;
●复杂结构应该应用嵌套的基本控制结构进行组合嵌套来实现;
●语言中所没有的控制结构,应该采用前后一致的方法来模拟;
●严格控制goto语句的使用。
真题精选
下列选项中不属于结构化程序设计方法的是( )。
A.自顶向下 B.逐步求精 C.模块化 D.可复用
【答案】 D
【解析】20世纪70年代以来,提出了许多软件设计方法,主要包括:①逐步求精,对复杂的问题,应设计一些子目标作过渡,逐步细化。②自顶向下,程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。一开始不要过多追求细节,先从最上层总目标开始设计,逐步使问题具体化。③模块化,一个复杂问题,肯定是由若干相对简单的问题构成。模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。而可复用是面向对象程序设计的一个优点,不是结构化程序设计方法。
考点11 面向对象的程序设计
真考链接
考核概率为65%,该知识点属于熟记性内容,考生要熟记对象、类、实例、消息、继承、多态性的概念。
1.面向对象方法的本质
面向对象方法的本质就是主张从客观世界固有的事物出发来构造系统,提倡用人类在现实生活中常用的思维方法来认识、理解和描述客观事物,强调最终建立的系统能够映射问题域。
2.面向对象方法的优点
●与人类习惯的思维方法一致;
●稳定性好;
●可重用性好;
●易于开发大型软件产品;
●可维护性好。
3.面向对象方法的基本概念
(1)对象。
对象是面向对象方法中最基本的概念。对象可以用来表示客观世界中任何实体,它既可以是具体的物理实体的抽象,也可以是人为概念,或者是任何有明确边界和意义的东西。
(2)类。
类是具有共同属性、共同方法的对象的集合,是关于对象的抽象描述,反映属于该对象类型的所有对象的性质。
(3)实例。
实例是指一个具体对象则是其对应类的一个实例。
(4)消息。
消息是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。
(5)继承。
继承是使用已有的类定义作为基础建立新类的定义方法。在面向对象方法中,类组成为具有层次结构的系统:一个类的上层可有父类,下层可有子类;一个类直接继承其父类的描述(数据和操作)或特性,子类自动地共享基类中定义的数据和方法。
(6)多态性。
对象根据所接收的信息而做出动作,同样的消息被不同的对象接收时可以有完全不同的行动,该现象称为多态性。
小提示
当使用“对象”这个术语时,既可以指一个具体的对象,也可以泛指一般的对象,但是当使用“实例”这个术语时,必须是指一个具体的对象。
真题精选
在面向对象方法中,实现信息隐蔽是依靠( )。
A.对象的继承 B.对象的多态 C.对象的封装 D.对象的分类
【答案】 C
【解析】对象是由数据和操作组成的封装体,与客观实体有直接的对应关系。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的关系。面向对象方法的3个重要特性为:封装性、继承性和多态性。
常见问题
对象是面向对象最基本的概念,请问对象有哪些特点?
标识唯一性,指对象是可区分的,并且由对象的内在本质来区分;分类性,指可以将具体相同属性和操作的对象抽象成类;多态性,指同一个操作可以是不同对象的行为;封装性,从外面不能直接使用对象的处理能力,也不能直接修改其内部状态,对象的内部状态只能由其自身改变;模块的独立性好。