二级VF考试大纲.docx
《二级VF考试大纲.docx》由会员分享,可在线阅读,更多相关《二级VF考试大纲.docx(17页珍藏版)》请在冰豆网上搜索。
二级VF考试大纲
二级VF考试大纲
基本要求
(1)掌握算法的基本概念。
(2)掌握基本数据结构及其操作。
(3)掌握基本排序和查找算法。
(4)掌握逐步求精的结构化程序设计方法。
(5)掌握软件工程的基本方法,具有初步应用相关技术进行软件开发的能力。
(6)掌握数据库的基本知识,了解关系数据库的设计。
考试内容
1.基本数据结构与算法
(1)算法的基本概念:
算法复杂度的概念和意义(时间复杂度与空间复杂度)。
(2)数据结构的定义:
数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概
(3)线性表的定义:
线性表的顺序存储结构及其插入与删除运算。
(4)栈和队列的定义:
栈和队列的顺序存储结构及其基本运算。
(5)线性单链表、双向链表与循环链表的结构及其基本运算。
(6)树的基本概念:
二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
(7)顺序查找与二分法查找算法:
基本排序算法(交换类排序,选择类排序,插入类排序)。
2.程序设计基础
(1)程序设计方法与风格。
(2)结构化程序设计。
(3)面向对象的程序设计方法,对象,方法,属性及继承与多态性。
3.软件工程基础
(1)软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。
(2)结构化分析方法,数据流图,数据字典,软件需求规格说明书。
(3)结构化设计方法,总体设计与详细设计。
(4)软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
(5)程序的调试,静态调试与动态调试。
4.数据库设计基础
(1)数据库的基本概念:
数据库,数据库管理系统,数据库系统。
(2)数据模型:
实体联系模型及E-R图,从E-R图导出关系数据模型。
(3)关系代数运算:
包括集合运算及选择、投影、连接运算,数据库规范化理论。
(4)数据库设计方法和步骤:
需求分析、概念设计、逻辑设计和物理设计的相关策略。
考试方式
(1)公共基础知识的考试方式为笔试,与C语言程序设计(C++语言程序设计、Java语言程序设计、VisualBasic语言程序设计、VisualFoxPro数据库程序设计、Access数据库程序设计或Delphi语言程序设计)的笔试部分合为一张试卷。
公共基础知识部分占全卷的30分。
(2)公共基础知识有10道选择题和5道填空题。
二级VisualFoxPro数据库程序设计考试大纲
基本要求
(1)具有数据库系统的基本知识。
(2)基本了解面向对象的概念。
(3)掌握关系数据库的基本原理。
(4)掌握数据库程序设计方法。
(5)能够使用VisualFoxPro建立一个小型数据库应用系统。
考试内容
1.VisualFoxPro基础知识
1)基本概念:
数据库,数据模型,数据库管理系统,类和对象,事件,方法。
2)关系数据库:
(1)关系数据库:
关系模型,关系模式,关系,元组,属性,域,主关键字和外部关键字。
(2)关系运算:
选择,投影,连接。
(3)数据的一致性和完整性:
实体完整性,域完整性,参照完整性。
3)VisualFoxPro系统特点与工作方式:
(1)Windows版本数据库的特点。
(2)数据类型和主要文件类型。
(3)各种设计器和向导。
(4)工作方式:
交互方式(命令方式,可视化操作)和程序运行方式。
4)VisualFoxPro的基本数据元素:
(1)常量,变量,表达式。
(2)常用函数:
字符处理函数,数值计算函数,日期时间函数,数据类型转换函数,测试函数。
2.VisualFoxPro数据库的基本操作
1)数据库和表的建立、修改与有效性检验:
(1)表结构的建立与修改。
(2)表记录的浏览、增加、删除与修改。
(3)创建数据库,向数据库添加或移出表。
(4)设定字段级规则和记录级规则。
(5)表的索引:
主索引,候选索引,普通索引,惟一索引。
2)多表操作:
(1)选择工作区。
(2)建立表之间的关联,一对一的关联,一对多的关联。
(3)设置参照完整性。
(4)建立表间临时关联。
3)建立视图与数据查询:
(1)查询文件的建立、执行与修改。
(2)视图文件的建立、查看与修改。
(3)建立多表查询。
(4)建立多表视图。
3.关系数据库标准语言SQL
1)SQL的数据定义功能:
(1)CREATETABLE-SQL。
(2)ALTERTABLE-SQL。
2)SQL的数据修改功能:
(1)DELETE-SQL。
(2)INSERT-SQL。
(3)UPDATE-SQL。
3)SQL的数据查询功能:
(1)简单查询。
(2)嵌套查询。
(3)连接查询。
内连接
外连接:
左连接,右连接,完全连接
4)分组与计算查询。
5)集合的并运算。
4.项目管理器、设计器和向导的使用
1)使用项目管理器:
(1)使用“数据”选项卡。
(2)使用“文档”选项卡。
2)使用表单设计器:
(1)在表单中加入和修改控件对象。
(2)设定数据环境。
3)使用菜单设计器:
(1)建立主选项。
(2)设计子菜单。
(3)设定菜单选项程序代码。
4)使用报表设计器:
(1)生成快速报表。
(2)修改报表布局。
(3)设计分组报表。
(4)设计多栏报表。
5)使用应用程序向导。
6)应用程序生成器与连编应用程序。
5.VisualFoxPro程序设计
1)命令文件的建立与运行:
(1)程序文件的建立。
(2)简单的交互式输入、输出命令。
(3)应用程序的调试与执行。
2)结构化程序设计:
(1)顺序结构程序设计。
(2)选择结构程序设计。
(3)循环结构程序设计。
3)过程与过程调用:
(1)子程序设计与调用。
(2)过程与过程文件。
(3)局部变量和全局变量,过程调用中的参数传递。
4)用户定义对话框(MESSAGEBOX)的使用。
考试方式
(1)笔试:
90分钟,满分100分,其中含公共基础知识部分的30分。
(2)上机操作:
90分钟,满分100分。
①基本操作。
②简单应用。
③综合应用。
数据库语言程序设计
(VisualFoxPro)
一、数据库基础知识
1.基本概念
(1)数据库、数据库管理系统、数据库系统
(2)三种数据库模型:
关系模型、网
(3)VFP的命令格式
(4)两种工作方式:
交互方式(命令操作和可视化操作)、程序运行方式
(5)辅助设计工具:
向导、设计器、生成器与项目管理器
2.VFP的数据元素
(1)常量:
数值型、字符型、逻辑型、日期型常量
(2)变量:
字段变量、简单内存变量、数组;内存变量的保存与恢复;数组的定义
(3)变量类型:
数值型、字符型、逻辑型、日期型、备注型、通用型等
(4)表达式:
表达式的类型及运算顺序
(5)常用函数:
数值计算函数:
ABS()、INT()、SQRT()、MAX()、MIN()、ROUND()、MOD()等。
字符处理函数:
&、ALLTRIM()、TRIM()、LTRM()、SUBSTR()、LEFT()、RIGHT()、LEN()、AT()、SPACE()、UPPER()、LOWER()等。
数据类型转换函数:
CTOD()、DTOC()、VAL()、STR()、CHR()、ASC()等。
日期处理函数:
DATE()、TIME()、DAY()、DOW()、MONTH()、YEAR()等。
测试函数:
BOF()、EOF()、RECNO()、FOUND()、SELECT()、DELETE()、TYPE()等。
其它函数:
ROW()、COL()、INKEY()、READKEY()等。
三、数据库的基本操作
1.表与数据库的概念
2.表的建立、显示、修改与复制
(1)表结构的建立、显示、修改与复制
(2)表的打开与关闭
(3)表中记录的输入、定位、显示、增加、删除、修改与复制
(4)数据过滤(记录过滤与字段过滤)
3.排序、查询与统计计算
(1)索引与排序
(2)条件查询与索引查询
(3)统计:
统计记录个数、求和、求均值、分类汇总
4.工作区与表之间的关联
(1)工作区的选择
(2)建立多表之间的关联(一对一的关联、一对多的关联)
5.表中数据与数组之间的传递
6.数据库
(1)建立、打开、修改、删除数据库
(2)数据库中表的添加与移去
(3)数据库表的特殊操作(设置字段的有效性规则、默认值、记录规则等)
(4)建立表间的永久关系;设置参照完整性
7.使用设计器建立视图
四、结构化查询语言SQL
1.SQL的数据定义功能(CREATETABLE-SQL、ALTERTABLE-SQL、DROPTABLE-SQL)
2.SQL的数据更新功能(INSERT-SQL、DELETE-SQL、UPDATE-SQL)
3.SQL的查询功能(SELECT-SQL):
简单查询、条件查询、统计查询、分组查
询、查询排序、连接查询、嵌套查询、查询结果的输出
4.使用设计器建立查询
五、结构化程序设计
1.程序文件的建立与执行。
2.程序文件中常用的命令:
输入类命令;输出类命令;注释命令;中止程序执行命令等。
3.程序的三种基本结构
(1)顺序结构。
(2)选择结构:
条件选择语句IF-ELSE-ENDIF及其嵌套形式的使用;多分支选择语句DOCASE-ENDCASE的使用。
(3)循环结构:
条件循环语句DOWHILE-ENDDO、计数循环语句FOR-ENDFOR、表循环语句SCAN-ENDSCAN及其嵌套形式的使用。
4.子程序与过程
(1)子程序的设计与调用。
(2)过程文件的结构与使用。
(3)自定义函数的定义与调用。
(4)局部变量、全局变量与变量的作用域;过程调用中的参数传递。
六、VisualFoxPro的可视化程序设计
1.面向对象的程序设计方法:
基本概念、对象和类、对象的属性、事件和方法。
2.表单设计
(1)表单向导与表单设计器。
(2)表单控件设计:
标签、图象、线条、形状;文本框、编辑框、列表框、组合框、微调控件;命令按钮与命令按钮组、复选框、选项按钮组、计时器;表格、页框、容器等。
(3)表单的建立、运行及事件驱动编程。
3.使用菜单设计器设计菜单:
下拉式菜单与弹出式菜单。
4.使用报表设计器设计报表。
七、上机考试
1.表设计器、数据库设计器、查询设计器、视图设计器、报表设计器、菜单设计器、表单设计器、项目管理器等的基本操作。
2.表与数据库的基本操作。
3.结构化程序设计(表的查询、统计、修改、输出),按要求编写、修改并运行程序。
4.表单设计
5.菜单设计
6.创建视图和查询(使用设计器)
考试内容
软件技术基础
一、掌握程序设计常用的数据结构与算法
1.数据结构与算法的基本概念
2.线性表的基本操作及存储结构
3.栈、队列、链表的定义、操作及存储结构
4.树、二叉树和图的概念
5.线性表的查找:
顺序查找、二分法查找、分块查找
6.内排序:
插入排序、选择排序、变换排序、归并排序
二、了解软件工程的基本思想及软件开发技术
1.程序、软件、软件工具、软件工程的概念
2.软件的生存期和开发模型
3.结构化分析方法(SA方法)、结构化设计方法(SD方法)、结构化程序设计(SP)的概念、任务和实现方法。
结构化程序设计的主要图示工具(程序流程图、方框图、问题分析图)及伪代码。
4.面向对象系统的基本概念:
类、对象、方法、消息、继承、多态性
5.面向对象程序设计与结构化程序设计的主要区别
6.基于构件的软件开发方法及软件复用的概念
7.软件测试的概念及基本方法
三、熟悉计算机软件开发的支撑环境——操作系统
1.操作系统的功能和类型
2.进程及处理机管理:
进程、进程的通讯、进程控制、进程调度及死锁等基本概念
3.存储管理、设备管理、文件管理的基本任务和方法
2011年计算机等级考试二级公共基础考前背诵版
下面分为四个部分进行组织。
文中标注了三个星号的,表示非常重要,基本每次考试都是必考;标注了两个星号或一个星号的,表示也较重要,很容易考到。
出现在【】括号中的内容,表示要很精确的背下来的。
整个文档中的五页,建议考前都要认真的记忆。
第一部分算法与数据结构(历年比例41%)
1、算法
◆问题处理方案的正确而完整的描述称为【算法】。
算法分析的目的是,分析算法的效率以求改进。
算法的基本特征是【可行性】、【确定性】、【有穷性】和拥有足够情报。
◆算法的有穷性是指:
算法程序的运行时间是有限的。
◆算法的复杂度是衡量算法好坏的度量,分为【时间复杂度】和【空间复杂度】。
★★时间复杂度是指执行算法所需要的【计算工作量】;算法的空间复杂度是指算法执行过程中所需的【存储空间】。
◆算法时间复杂度或空间复杂度中的一项的值,没有办法推出另一项的值。
2、数据结构
◆数据结构分为【逻辑结构】和【存储结构】。
线性结构和非线性结构属于逻辑结构;顺序、链式、索引属于存储结构(物理结构)。
循环队列属于【存储结构】。
★数据的存储结构又称为物理结构,是数据的逻辑结构在计算机存储空间中的存放形式。
◆一个逻辑结构可以有多种存储结构,且各种存储结构影响数据处理的效率。
程序执行的效率与数据的存储结构密切相关。
◆数据结构分为线性结构和非线性结构,带链的队列属于【线性结构】。
◆线性表的存储结构主要分为顺序存储结构和链式存储结构。
顺序存储结构的存储一定是连续的,链式存储的存储空间不一定是连续的。
◆有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。
◆队列是一种特殊的线性表,循环队列按照【先进先出】原则组织数据。
循环队列是队列的【顺序】存储结构。
◆数据的独立性分为【物理独立】性和【逻辑独立性】。
当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序可以不用修改,称为【物理独立性】。
3、栈和队列
★★栈是一种特殊的线性表,是只能在一端进行插入和删除的线性表,特点是FILO(FirstInLastOut)。
★★栈是【先进后出】的线性表;栈具有记忆作用;对栈的插入与删除操作中,不需要改变【栈底指针】。
假定让元素1、2、3、A、B依次入栈,则出栈的顺序是:
B、A、3、2、1。
◆栈与队列都是线性结构,树是非线性结构。
支持子程序调用的数据结构是【栈】。
◆栈与队列的共同点是,都只允许在【端点处】插入和删除元素。
◆栈只能顺序存储的描述是错误的。
栈可以有【顺序和链式】两种存储方式。
★★队列是允许在一段插入,在另一端进行删除的线性表,其特点是【先进先出】。
◆循环队列中元素的个数是由队头指针和队尾指针共同决定。
循环队列的头指针为front,尾指针为rear,容量为maxSize,则循环队列中元素的个数是【(rear-front+maxSize)modmaxSize】。
4、线性链表
◆线性链表是线性表的链式存储结构。
用链表表示线性表的优点是【便于插入和删除操作】。
◆线性链表的存储空间不一定连续,且个元素的存储顺序是任意的。
5、树与二叉树
◆在树结构中,一个结点所拥有的后件(继)的个数称为该结点的度,所有结点中最大的度称为树的度。
二叉树各结点的度只可能取值0、1、2,不可能是其它值。
换言之,知道了度为1结点数量的前提下,叶子结点或度为2的结点中知道其一,就可以求出总的结点数。
★★★下面关于计算结点数量的几个性质,非常重要:
(1)对任意的二叉树,叶子结点的数量,比度为2的结点数量多一个(换言之,已知叶子结点的数量,减去1则是度为2的结点数量;已知度为2的结点数量,加上1就是叶子结点数量)
(2)完全二叉树如果有N个结点,当N为奇数的时候,叶子结点数为(N+1)/2,此时二叉树只有度为0的叶子结点及度为2的结点,没有度为1的结点;当N为偶数的时候,叶子结点的数量为N/2。
(注意条件,必须是完全二叉树,当然包括满二叉树)
(3)满二叉树第K层上的结点数量为2K-1;深度为K的满二叉树,结点总数为2K-1。
上述的计算公式,关键要能够应用,例如,深度为7的满二叉树,度为2的结点数量是多少?
既然是满二叉树,叶子结点的数量就是第7层的结点数量,也就是26,可以算出叶子结点为64,因此度为2的结点数是63(叶子结点数减去1)。
★★★二叉树的前序遍历、中序遍历、后续遍历:
前中后三个词是相对于根来讲的,前序是【根-->左-->右】,中序是【左-->根-->右】,后续是【左-->右-->根】。
具体操作为:
先序遍历(DLR):
访问根结点,按先序遍历左子树,按先序遍历右子树。
中序遍历(LDR):
按中序遍历左子树,访问根结点,按中序遍历右子树。
后序遍历(LRD):
按后序遍历左子树,按后序遍历右子树,访问根结点。
下面以中序遍历为例,来讲解实际的解题方法:
对一棵树,将根结点下的左子树用一个椭圆圈起来,右子树也用一个椭圆圈起来。
之后,在左子树上标记上1,在根结点标记上2,在右子树上标记上3。
对在左边椭圆内的左子树,现在把它单独拿出来分析。
把它的左子树圈起来标上1.1,根结点标记上1.2,右子树标上1.3。
按照上述方法依次往下,直到树不能拆分,然后按照“左-->根--->右”的顺序写出结点的访问先后即可。
6、查找技术
◆对于长度为n的线性表,顺序查找最坏情况下需要比较n次。
(对数据是否有序没有要求)。
◆顺序查找最好情况下查询次数是1,最坏情况下是n,平均为(1+n)/2。
★★对于长度为n的有序线性表,二分法最坏情况下只需要比较log2n次。
(数据必须有序)
◆能用二分法进行查找的是【顺序存储的有序线性表】。
7、排序技术
★★对于长度为n的线性表,【冒泡排序、快速排序、简单插入排序、简单选择排序】这四种排序方式在最坏情况下的比较次数相同,都是【n(n-1)/2】。
堆排序的效率最高,是【nlog2n】。
★★希尔排序最坏情况下需要次比较【n1.5】。
希尔排序属于【插入类排序法】。
◆已知数据表A中每个元素距最终位置不远,为节省时间,应该采用的算法是【直接插入排序】。
选择排序、插入排序、快速排序、归并排序中对内存要求最大的是【归并排序】。
第二部分软件工程基础(历年比例27%)
1、软件工程基本概念
★★软件是包括【程序】、【数据】及【相关文档】的完整集合,软件是一种逻辑产品。
软件工程三要素包括【方法、工具和过程】,其中【过程】支持软件开发的各个环节的控制和管理。
◆软件工程的核心思想:
把软件产品当作是一个工程产品来处理,强调在软件开发过程中应用【工程化】原则。
◆从工程管理角度,软件设计一般分为两步完成,它们是【概要设计】和【详细设计】。
★★软件生命周期可分为多个阶段,一般分为【定义】阶段、【开发】阶段和【维护】阶段,编码和测试属于【开发阶段】
◆需求分析阶段产生的主要文档是【软件需求规格说明书】。
软件需求的规格说明书应该有完整性、无歧义性、正确性、可验证性、可修改性等特征,其中最重要的是【正确性】。
2、结构化分析与设计
★★需求分析的分发有:
【结构化】需求分析方法,【面向对象】的分析方法。
DFD是【需求分析阶段】可以使用的工具之一。
◆结构化分析的常用工具:
数据流图(DFD);数据字典;判定树;判定表。
◆在结构化分析使用数据流图(DFD)时候,利用【数据字典】对其中的图形元素进行确切的解释。
【数据字典】是结构化分析的核心。
◆典型的数据流类型有两种,【交换性】和【事务型】。
◆常见的过程设计工具有:
图形工具(程序流程图、N-S,PAD,HIPO)、表格工具(判定表)、语言工具(PDL伪码)。
◆内聚性是模块内部的联系,耦合性模块之间的相互联系的紧密程度。
★★★追求目标是:
模块的内聚程度要高,模块间的耦合程度要尽量弱。
即高内聚低耦合。
★★程序流程图中带有箭头的线段表示的是【控制流】。
【平行四边形】代表输入输出,【矩形】代表处理,菱形代表【判断】(注意,数据流图中的箭头,代表【数据流】)。
◆符合结构化原则的三种基本控制结构是:
【顺序结构】,【选择结构】和【循环结构】。
3、软件测试与维护
★★软件测试的目的是尽可能多的发现程序中的错误,但是不包括改正错误。
(软件调试的目的才是改正错误)
★★软件测试分为静态测试和动态测试,其中【静态测试】是指不执行程序,只对程序文本进行检查。
软件的动态测试主要包括【黑盒测试】和【白盒测试】。
◆黑盒测试的方法有等价类划分法,边界值分析法,错误推测法,因果图;白盒测试主要方法有逻辑覆盖、基本路径测试。
(考试时给出一种方法的名字,你要知道属于白盒还是黑盒)
【白盒测试】的原则之一是保证所测模块的每一个独立路径至少要执行一次。
白盒测试将程序看做是【路径的集合】。
◆软件测试一般按照四个步骤进行:
单元测试,集成测试,验收测试和系统测试。
集成测试应该在【单元测试】之后进行。
◆在模块测试中,需要为每个被测试的模块设计【驱动模块】和【承接模块】。
其中,驱动模块的作用是将测试的数据传给被测试的模块,并显示结果。
◆【测试用例】是为某个目标而编制的一组测试输入、执行条件及预期结果。
测试用例包括输入值集和【输出值集】。
★★诊断和改正程序中的错误称为【程序调试】(或软件调试),通常也称为Debug。
软件调试可分为【静态调试】和【动态调试】。
◆在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程称为【软件维护】。
注意软件维护不属于软件生命周期【开发阶段】的任务。
第三部分数据库设计基础(历年比例24%)
1、数据库系统基本概念
◆数据库设计的根本目标是要解决【数据共享问题】。
在数据库管理技术发展的三个阶段中,数据共享最好的是【数据库系统阶段】。
数据独立性最高的阶段是【数据库系统阶段】。
◆数据库系统与文件系统的区别是前者具有【特定的数据模型】。
◆数据库系统常见的数据模型有层次模型,网络模型和【关系模型】。
★★数据库系统的核心是【数据库管理系统】。
◆DBS包括DB和DBMS。
完整讲,数据库系统DBS由数据库DB、数据库管理系统DBMS、数据库管理员DBA、硬件平台和软件平台组成。
◆数据库应用系统的核心是【数据库维护】。
◆数据库系统的三级模式结构:
内模式处于最底层,它反映了数据在计算机物理结构中的实际存储形式;概念模式处于中层,它放映了设计者的数据全局逻辑要求,与软硬件环境无关;
外模式处于最外层,它反映了用户对数据的要求。
◆在数据库系统中,用户所见的数据模式为【外模式】。
◆数据库设计的四个阶段是:
需求分析、概念设计、【逻辑设计】和【物理设计】。
将E-R图转换成关系数据模型属于【逻辑设计】阶段。
◆数据库管理系统提供的数据语言:
数据定义语言DDL,数据操纵语言DML,数据控制语言DCL。
SQL的全称是StructuredQueryLanguage,中文意思是【结构化查询语言】。
2