2003.11.
全国计算机等级考试二级公共基础知识
(3)
3.程序设计基础
3.0 内容
程序设计方法与风格
结构化程序设计
面向对象的程序设计方法,对象、
方法、属性及继承与多态性。
3.1 程序设计方法与风格
3.1.1 程序设计方法
结构化设计方法
模块内部程序各部分要按照自顶向下的结构划分
各程序部分应按功能组合
各程序之间的联系尽量通过调用子程序来实现,不用或少用 GOTO方式
快速原型方法
利用现有的工具和原型方法快速地开发所要的程序
面向对象程序设计方法
3.1.2 程序设计风格
1,源程序中的内部文档
选择标示符的名字
注释(序言性和功能性注释)
程序的视觉组织
2,数据说明
显式地说明一切变量
数据说明的次序应该规范化
便于查找变量(按顺序排列)
对复杂数据结构应注释说明
3,语句的结构
每条语句简单明了
尽量不用或少用 GOTO语句
尽量只采用 3种基本控制结构编程
4,输入和输出
对所有输入数据进行校验和合理性检查
输入输出格式保持一致
设计良好的输出报表
3.1.3 程序设计语言
基本概念
低级语言和高级语言
编译程序和解释程序
程序设计语言的定义
种类和特点
程序语言的发展
程序设计范型
命令式、面向对象、函数式、逻辑型
基本成分
数据成分
运算成分
控制成分
传输成分
3.2 结构化程序设计
3.2.1 基本概念
基本思想
对大型的程序设计,使用一些基本的结构来设计程序,无论多复杂的程序,都可以使用这些基本结构按一定的顺序组合起来。这些基本结构的特点都是只有一个入口、一个出口。由这些基本结构组成的程序就避免了任意转移、阅读起来需要来回寻找的问题。
三种基本结构
顺序结构
选择结构
循环结构
三种基本结构的特点
只有一个入口
只有一个出口
每一个基本结构中的每一部分都有机会执行到
结构内不存在“死循环”
3.2.2 设计原则
自顶向下
逐步求精
模块化
限制使用 goto语句
结构化程序设计方法
要求把程序的结构规定为顺序、选择和循环三种基本机构,并提出了自顶向下、逐步求精、模块化程序设计等原则。
结构化程序设计是把模块分割方法作为对大型系统进行分析的手段,使其最终转化为三种基本结构,
其目的是为了解决由许多人共同开发大型软件时,
如何高效率地完成可靠系统的问题。
程序的可读性好、可维护性好成为评价程序质量的首要条件。
缺点:程序和数据结构松散地耦合在一起。解决此问题的方法就是采用面向对象的程序设计方法
(OOP)。
3.3 面向对象的程序设计方法
3.3.1 关于面向对象方法
对系统的复杂性进行概括、抽象和分类,使软件的设计与现实形成一个由抽象到具体、由简单到复杂这样一个循序渐进的过程,从而解决大型软件研制中存在的效率低、质量难以保证、调试复杂、维护困难等问题。
结构化的分解突出过程,即如何做 (How to do)?
它强调代码的功能是如何实现的;面向对象的分解突出现实世界和抽象的对象,即做什么 (What
to do)?
主要优点
与人类习惯的思维方法一致
稳定性好
可重用性好
易于开发大型软件产品
可维护性好
3.3.2 基本概念
对象 (Object)
对象是基本的运行时认得实体,它既包括数据(属性),也包括作用于数据的操作(行为)。
一个对象把属性和行为封装为一个整体
一个对象通常可由对象名、属性和操作 3部分组成
面向对象 (Object Oriented,OO)
从该问题所涉及的对象入手来研究问题。
消息 (Message)
对象之间进行通信的一种构造
类 (Class)
一个类定义了一组大体上相似的对象。
一个类所包含的方法和数据描述一组对象的共同行为和属性。
类是在对象之上的抽象,对象是类的具体化,是类的实例
封装 (Encapsulation)
将数据和操作数据的函数衔接在一起,构成一个具有类类型的对象的描述。
对象的内部实现受保护,外界不能访问
封装简化了程序员对对象的使用
继承 (Inheritance)
继承是父类和子类之间共享数据的方法的机制
一个子类可以继承它的父类(或祖先类)中的属性和操作
子类中可以定义自己的属性和操作
单重继承、多重继承
多态性 (Polymorphism)
不同的对象收到同一消息可以产生完全不同的结构,
这一现象叫做多态性
多态的实现受到继承的支持例题讲解
结构化程序设计的 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】 。
在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为 【 4】 。
在程序设计阶段应该采取 【 2】 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。
【 3】 是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开 。
可以把具有相同属性的一些不同对象归类,
称为 【 3】 。
子程序通常分为两类,【 2】 和函数,前者是命令的抽象,后者是为了求值 。
源程序文档化要求程序应加注释 。 注释一般分为序言性注释和 _____。
在面向对象方法种,信息屏蔽是通过对象的
_______性来实现的 。
类是一个支持集成的抽象数据类型,而对象是类的 _______。
在面向对象方法种,类之间共享属性和操作的机制称为 ______。
全国计算机等级考试二级公共基础知识
(3)
3.程序设计基础
3.0 内容
程序设计方法与风格
结构化程序设计
面向对象的程序设计方法,对象、
方法、属性及继承与多态性。
3.1 程序设计方法与风格
3.1.1 程序设计方法
结构化设计方法
模块内部程序各部分要按照自顶向下的结构划分
各程序部分应按功能组合
各程序之间的联系尽量通过调用子程序来实现,不用或少用 GOTO方式
快速原型方法
利用现有的工具和原型方法快速地开发所要的程序
面向对象程序设计方法
3.1.2 程序设计风格
1,源程序中的内部文档
选择标示符的名字
注释(序言性和功能性注释)
程序的视觉组织
2,数据说明
显式地说明一切变量
数据说明的次序应该规范化
便于查找变量(按顺序排列)
对复杂数据结构应注释说明
3,语句的结构
每条语句简单明了
尽量不用或少用 GOTO语句
尽量只采用 3种基本控制结构编程
4,输入和输出
对所有输入数据进行校验和合理性检查
输入输出格式保持一致
设计良好的输出报表
3.1.3 程序设计语言
基本概念
低级语言和高级语言
编译程序和解释程序
程序设计语言的定义
种类和特点
程序语言的发展
程序设计范型
命令式、面向对象、函数式、逻辑型
基本成分
数据成分
运算成分
控制成分
传输成分
3.2 结构化程序设计
3.2.1 基本概念
基本思想
对大型的程序设计,使用一些基本的结构来设计程序,无论多复杂的程序,都可以使用这些基本结构按一定的顺序组合起来。这些基本结构的特点都是只有一个入口、一个出口。由这些基本结构组成的程序就避免了任意转移、阅读起来需要来回寻找的问题。
三种基本结构
顺序结构
选择结构
循环结构
三种基本结构的特点
只有一个入口
只有一个出口
每一个基本结构中的每一部分都有机会执行到
结构内不存在“死循环”
3.2.2 设计原则
自顶向下
逐步求精
模块化
限制使用 goto语句
结构化程序设计方法
要求把程序的结构规定为顺序、选择和循环三种基本机构,并提出了自顶向下、逐步求精、模块化程序设计等原则。
结构化程序设计是把模块分割方法作为对大型系统进行分析的手段,使其最终转化为三种基本结构,
其目的是为了解决由许多人共同开发大型软件时,
如何高效率地完成可靠系统的问题。
程序的可读性好、可维护性好成为评价程序质量的首要条件。
缺点:程序和数据结构松散地耦合在一起。解决此问题的方法就是采用面向对象的程序设计方法
(OOP)。
3.3 面向对象的程序设计方法
3.3.1 关于面向对象方法
对系统的复杂性进行概括、抽象和分类,使软件的设计与现实形成一个由抽象到具体、由简单到复杂这样一个循序渐进的过程,从而解决大型软件研制中存在的效率低、质量难以保证、调试复杂、维护困难等问题。
结构化的分解突出过程,即如何做 (How to do)?
它强调代码的功能是如何实现的;面向对象的分解突出现实世界和抽象的对象,即做什么 (What
to do)?
主要优点
与人类习惯的思维方法一致
稳定性好
可重用性好
易于开发大型软件产品
可维护性好
3.3.2 基本概念
对象 (Object)
对象是基本的运行时认得实体,它既包括数据(属性),也包括作用于数据的操作(行为)。
一个对象把属性和行为封装为一个整体
一个对象通常可由对象名、属性和操作 3部分组成
面向对象 (Object Oriented,OO)
从该问题所涉及的对象入手来研究问题。
消息 (Message)
对象之间进行通信的一种构造
类 (Class)
一个类定义了一组大体上相似的对象。
一个类所包含的方法和数据描述一组对象的共同行为和属性。
类是在对象之上的抽象,对象是类的具体化,是类的实例
封装 (Encapsulation)
将数据和操作数据的函数衔接在一起,构成一个具有类类型的对象的描述。
对象的内部实现受保护,外界不能访问
封装简化了程序员对对象的使用
继承 (Inheritance)
继承是父类和子类之间共享数据的方法的机制
一个子类可以继承它的父类(或祖先类)中的属性和操作
子类中可以定义自己的属性和操作
单重继承、多重继承
多态性 (Polymorphism)
不同的对象收到同一消息可以产生完全不同的结构,
这一现象叫做多态性
多态的实现受到继承的支持例题讲解
结构化程序设计的 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】 。
在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为 【 4】 。
在程序设计阶段应该采取 【 2】 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。
【 3】 是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开 。
可以把具有相同属性的一些不同对象归类,
称为 【 3】 。
子程序通常分为两类,【 2】 和函数,前者是命令的抽象,后者是为了求值 。
源程序文档化要求程序应加注释 。 注释一般分为序言性注释和 _____。
在面向对象方法种,信息屏蔽是通过对象的
_______性来实现的 。
类是一个支持集成的抽象数据类型,而对象是类的 _______。
在面向对象方法种,类之间共享属性和操作的机制称为 ______。