数据库与VFP程序设计课程考试说明

一、课程的性质及考试要求

《数据库与VFP程序设计》是现代教育技术专业的一门技术基础课,是一门面向应用的,理论性和实践性联系较为紧密的课程。本课程的主要考试内容和任务(即软件开发模块对学生的培养目标)是:通过本课程的学习,使学生从理论上掌握数据库工作的基本原理,学会数据库的实际应用方法,掌握程序设计的基本思想与基本方法。能利用一种常用的数据库系统软件(Visual FoxPro)进行数据库应用软件的开发,发展学生程序设计的能力,培养学生进行数据库程序设计的能力。培养学生分析问题解决问题的能力,并为后继课程及今后在工作中应用它去解决管理信息系统(MIS)的问题奠定基础。通过本课程的教学,应使学生达到下列基本要求:

1 .掌握数据库系统语言的特点、语句构成和数据结构,能读懂源程序,并绘制流程图,编写和调试程序。掌握结构化程序设计和面向对象程序设计的方法。

2 .了解Visual FoxPro的七种用户界面,使学生能使用窗口、菜单、对话框、设计器、生成器、工具栏、向导去自动建立库()、查询(SQL)、表单、报表等。

3 .了解项目管理器,将编程调试好的程序与上面自动建立的库()、查询、表单、报表文件等统起来,生成可执行的.EXE文件,或其它文件。

4 .能用软件工程学的方法设计和完成一个结构合理、层次分明、界面友好、清晰易懂的小型MIS系统。

本课程的考试基本要求是:数据库基础及应用一门理论性、实践性和技能性较强的课程,在教学中,应突出“三基”内容的教学,使学生对教学内容全面掌握,融会贯通,达到课程培养目标规定的要求。在教学中应突出实践环节,重点放在程序设计方法的教学和学生编程能力培养方面,安排上机编程实验,增强学生的实际操作技能和应用程序开发能力,使学生在经过课程的学习后,能为后续其它计算机专业课程学习打下良好的基础,并在今后能较好地适应实际工作的需求。

二、考试内容

第一章 VISUAL FOXPRO6.0数据库系统概述

一、   考试内容及要求:

掌握数据库的基本概念和VISUAL FOXPRO6.0 的性能与特点,学习VISUAL FOXPRO6.0 的基本操作方法。设计工具、向导和项目管理器的功能与使用方法。VISUAL FOXPRO6.0中的文件类型。

二、   考试知识点:

1、      数据库,数据库管理系统,数据库系统。

2、      关系数据模型

3、      VISUAL FOXPRO6.0 的特点和基本操作

4、      VISUAL FOXPRO6.0 的常用工具和向导

5、      VISUAL FOXPRO6.0 项目管理器

6、      VISUAL FOXPRO6.0 使用的文件类型

第二章      Visual Foxpro 6.0基本命令使用

一、考试内容及要求:

        掌握Visual Foxpro 6.0命令的基本格式、功能,能正确使用常用基本命令对数据库进行管理。

二、考试知识点:

       1 Visual Foxpro 6.0命令的基本格式和书写规则

2Visual Foxpro 6.0常用基本命令(CREATEUSECLOSEAPPENGOSKIP

    INSERTDELETEPACKRECALLZAPEDITDISPLAYREPLACESUMCOUNT

    LOCATELISTCOPY TOSORTINDEXAVERAGESEEKFINDTOTALSET INDEX TOBROWSESELECT

第三章      数据库的操作

一、考试内容及要求:

掌握数据库、数据表间的概念和它们之间的关联,数据库建立的方法过程,数据库中表的管理和数据库文件的操作。

二、考试知识点:

  1  数据库设计的步骤

2  数据库中的表操作

3. 数据库表间的关联

4. 数据库文件的操作

第四章      数据库表和索引的使用

       一、考试内容及要求:

  掌握数据数据库表的作用,学会设计、管理和使用数据库表。掌握数据库表中的记录管理和控制方法,定制表的用途和数据库表的索引方法。

二、考试知识点:

     1  数据库表的创建、修改和浏览

2  数据库表中记录的管理

3  数据库表记录的控制

4  定制表

5  数据库表的索引

第五章      菜单设计

一、考试内容的及要求:

   掌握菜单的基本作用和设计步骤,学会使用菜单设计器制作菜单。

二、考试知识点:

1  菜单和菜单设计

2  菜单设计器

3  快捷菜单创建

      4  定制菜单

5  菜单的集成与运行

第六章      表单和表单设计

一、考试内容及要求:

      掌握表单的作用和创建的方法。学会用向导和表单设计器建立表单。掌握表单控件的意义、属性,事件和方法,表单数据环境的设置和表单的运行。

二、考试知识点:

1  表单的概念

2  用向导创建表单

3  表单设计器

4  表单控件

6  用表单设计器创建表单

7         表单的运行

第七章      查询和视图使用

一、考试内容及要求:

掌握查询的方法,学会使用查询向导和查询设计器进行查询设计。掌握结构化查询的基本概念和结构化查询语句的应用,学习建立多表查询的方法。掌握视图的定义和使用视图时的主要操作方法。

二、考试知识点:

    1 查询向导使用

2 查询设计器使用

3 结构化查询

    4 结构化查询语句SELECT-SQL应用

5 视图创建、更新和定制

6 多表查询

第八章      报表和标签

一、考试内容及要求:

掌握报表和标签设计器的使用,学会运用向导功能设计报表和标签。掌握报表与数据库中表及表字段连接、添加、删除方法,报表数据的处理和报表与标签的输出。

二、考试知识点:

1  报表布局

2  报表设计器

3  报表向导

4  标签向导

5  标签设计器

6  报表和标签的预览与打印

第九章      Visual Foxpro 6.0程序设计

一、考试内容及要求:

掌握VISUAL FOXPRO6.0 程序文件的创建、修改、编译、发布和运行过程,掌握结构化程序设计的基本技术。学会运用可视化技术编写程序的基本方法。

二、考试知识点:

1. Visual Foxpro 6.0程序编写方法

2. 常量、变量、表达式和函数

3. 常用命令的使用

4. 结构化程序设计方法

5. 顺序、分支和循环结构程序设计

6. 过程和自定义函数的设计与调用

三、综合练习题

一、填空题

1、在Visual FoxPro 6.0中最多可同时打开__________个数据库表与自由表。

2、使用SEEK命令与FIND命令的前提条件为___________________________

3、进行分类汇总的表,必须按照适当的表达式进行索引或____________

4Visual FoxPro 6.0总共可开启__________个工作区,然而一次仅可处理________个工作区,所有指令仅对________工作区有效,若要使用其他工作区必须使用_________工作区命令。

5、删除记录需两个步骤:需先利用__________命令给记录做上删除标记,然后再利用__________命令将已做上删除标记的记录删除。

6Visual FoxPro 6.0的命令由两部分构成:第一部分必须是系统提供的__________,用来表明该命令所要完成的任务,第二部分为命令的补充__________或参数,可根据需要取舍,这部分又称为__________

7、执行USE TM_BMB(回车)SKIP –1后下显示值一定是.T.的命令是__________

8、若Visual FoxPro的命令中同时含有FORWHILE和范围子句,则3个子句执行时的优先级顺序为__________

9、在Visual FoxPro中,表索引文件有____________________两种索引结构。

10、建立索引时,__________字段不能作为索引字段。

11、扩展名为.prg的程序文件在项目管理器______________选项中显示和管理。

12Visual FoxPro 6.0总共可开启32767个工作区,然而一次仅可处理________个工作区,所有指令仅对________工作区有效,若要使用其他工作区必须使用_________工作区命令。

13、打开数据库的操作方法有:在项目管理器中打开数据库、通过_______________,和____________________三种。

14、物理删除当前表中第9号记录到第14号记录的操作序列是:

_____________________________________________________________

_____________________________________________________________

_____________________________________________________________

15、文本框通常是与表的一个_______________或一个内存变量作为自己的数据源。

16、在Visual FoxPro中,项目文件的扩展名是________________

17、要为表单设计下列拉式菜单,首先需要在菜单设计时,在“常规选项”对话框中选择“顶层表单”复选框;其次要将表单的Show Window属性值设置为_____________,使其成为顶层表单;最后需要在表单的_____________事件代码中添加调用菜单程序的命令。

18、删除记录需两个步骤:需先利用________________命令给记录做上删除标记,然后再利用________________命令将已做上删除标记的记录删除。

19、通过链接不同表的________________,在“数据库设计器”中,可以很方便地建立表之间的关系。因为这种在数据库中建立的关系被作为数据库的一部分保存了起来,所以称为________________

20、增加一个新记录,可在浏览窗口里按下快捷键_______________

二、单项选择题

1、用二维表数据来表示实体之间联系的关系模型称为(    )。

AE-R模型                        B、关系模型

C、层次模型                        D、网状模型

2、为当前表所有学生成绩增加5分,应使用命令(    )。

ACHAANGE 成绩  WITH 成绩+5

BCHAANGE ALL  成绩  WITH 成绩+5

CREPLACE  ALL  成绩  WITH 成绩+5

DREPLACE  成绩  WITH 成绩+5

3、表之间的“一对多”关系是指(    )。

A、一个表与多个表之间的关系

B、一个表中的一个记录对应另一个表中的多个记录

C、一个表中的一个记录对应另一个表中的两个记录

D、一个表中的一个记录对应多个表中的多个记录

4、要对已经存在的表建立索引,应该对表进行(    )。

  A、记录浏览   B、记录修改    C、结构修改    D、重建表文件

5、以下关于菜单编辑器中“索引”项的叙述中,错误的是(    )。 

     A、“索引”确定了菜单项显示的顺序

     B、“索引”是控件数组的下标

     C、使用“索引”时,可有一组菜单项具有相同的“名字”

     D、使用“索引”后,在单击菜单项的事件过程中可以通过“索引”引用菜单项

6、在七个查询方向中,(    )是默认的输出方向。

A.浏览窗口      B.表文件     C.图形      D.报表

7、在Visual FoxPro中,表单是指(    )。

A.数据库中各个表的清单     B.一个表中各个记录的清单

C.数据库查询的列表         D.窗口界面

8、.默认情况下,一个空白报表的基本构成是(    )。

A、列标头、细节、列注脚。      B、标题、细节、总结带区

C、组标头、细节、组注脚        D、页标头、细节、页注脚

9、在(    )中能够直接完成菜单项的添加、删除和修改等操作。

A、资源管理器   B、项目管理器   C、菜单设计器   D、表单设计器

10Visual FoxPro 6.0的变量分为两类,它们是(    )。

A、字符变量和数组变量            B、内存变量和字段变量

C、简单变量和数值变量            D、一般变量和下标变量

11项目管理器文档选项用于显示和管理(      )。

A、报表、标签和查询              B、菜单、文本文件和其他文件

C、表单、报表和标签              D、表单、文本文件和其他文件

12、计算表中所有职称为副教授以上的教师的工资总额,并将结果赋予gzze,可使用命令(    )。

    ASUM 工资 TO gzze FOR 职称=“副教授”.AND.“教授”

    BSUM 工资 TO gzze FOR 职称=“副教授”.OR.“教授”

    CSUM 工资 TO gzze FOR 职称=“副教授”.AND.职称=“教授”

    DSUM 工资 TO gzze FOR 职称=“副教授”.OR.职称=“教授”

13、在数据库设计器中,建立两个表之间的一对多联系是通过以下索引实现的(    )。

A、“一方”表的主索引或候选索引,“多方”表的普通索引

B、“一方”表的主索引,“多方”表的普通索引或候选索引

C、“一方”表的普通索引,“多方”表的主索引或候选索引

D、“一方”表的普通索引,“多方”表的候选索引或普通索引

14、自由表是独立于任何数据库的(    )。

A、一维有    B、二维表     C、三维表      D、四维表

15、利用下面哪个函数可判定访问文件时已经到达了文件尾(    )。

   ALOF     BLOC    CEOF    DBOF

16、“查询”文件的扩展名是(    )。

APRG        BFPX           CQPR         DQPX

17、表单中的每一个控件,其属性都可以从(    )中找到相应的参数,修改相应的参数实际就是修改控件的属性。

A.表单向导  B.属性窗口  C.表单设计器   D.控件工具栏

18Visual FoxPro的报表文件.FRX中保存的是(    )。

    A.打印报表的预览格式       B.打印报表本身

    C.报表的格式和数据         D.报表设计格式的定义

19、如果某个菜单项需要包含下一级菜单,应该选择结果类型为(    )。

A、命令         B、过程         C、填充名称     D、子菜单

20、结构化程序设计中常用的三种基本结构是:循环、选择和(    )结构。

A、顺序    B、过程    C、分支    D、函数

21、打开数据库的命令为(    )。

AUSE     BUSE DATABASE      COPEN      DOPEN DATABASE

22、为当前表所有学生成绩增加5分,应使用命令(    )。

ACHAANGE 成绩  WITH 成绩+5

BCHAANGE ALL  成绩  WITH 成绩+5

CREPLACE  ALL  成绩  WITH 成绩+5

DREPLACE  成绩  WITH 成绩+5

23、在Visual FoxPro 6.0中,某个表共有5个字段,其中第一个字段是字符型,宽度为8;第二个字段是数值型,宽度为8;其余3个字段分别是逻辑型、日期型、备注型,则该表中记录的长度是(    )。

A35 B     B50 B      C33 B      D、无法计算

24、下述命令中(    )不能关闭数据库。

AUSE      BCLOSE DATABASE      CCLEAR      DCLEAR ALL

25、某个表中婚姻状况字段为逻辑类型,显示所有未婚者记录的是(    )。

    ALIST FOR 婚姻状况 = .F.      B LIST FOR 婚姻状况 = .N.

    CBROWSE FOR .NOT.婚姻状况     DDISPLAY FOR .NOT. 婚姻关况

26、计算表中所有职称为副教授以上的教师的工资总额,并将结果赋予gzze,可使用命令(    )。

    ASUM 工资 TO gzze FOR 职称=“副教授”.AND.“教授”

    BSUM 工资 TO gzze FOR 职称=“副教授”.OR.“教授”

    CSUM 工资 TO gzze FOR 职称=“副教授”.AND.职称=“教授”

    DSUM 工资 TO gzze FOR 职称=“副教授”.OR.职称=“教授”

27、利用(  )命令,可以游览数据库中的文件。

ALIST           BBROWSE    CMODIFY    DUSE

28、执行USE JSJDJKS! TM_BMB ALISS BM IN B命令后,被打开的表的别名是( )。

ATM_BMB     BBM         CB           DALIAS

29、对于STUDENT表,下面(  )命令显示所有女同不记录

ALIST FOR !性别              BLIST FOR XB

CLSIT FOR 性别=“女”         DLSIT FOR XB=.T.

30STUDENT表包含50条记录,在执行GO TOP命令后( )命令不能显示所有记录。

ALIST ALL              BLIST REST  

CLIST NEXT 50          DLIST RECORD 50

 

 

三、判断题

    1、关系数据库模型表示的是一种层次结构的数据模型。

    2、每次用USE命令打开表时,指针始终指向第一个记录。

    3、由于USE命令可以打开任何一个表文件,因此当前表不止一个。

    4、用于建立或修改数据库文件的命令是MODIFY COMMAND <文件名>

    5、索引的存储方式有两种:独立索引文件与复合索引文件。

    6SQL语句中条件短语的关键字是WHERE

    7、文本框的ControlSource属性指定该文本框能否执行其事件代码。

    8、一个报表的标题可以打印多次。   

    9、快捷菜单与下拉式菜单没有本质上的差别,只是应用的场合不同。

    10、可以激活事件的用户动作有按键、单击鼠标、移动鼠标等。

    11、对象是面向对象程序设计中程序运行的最基本实体。

    12、可以激活事件的用户动作有按键、单击鼠标、移动鼠标等。

    13、为对象的某个事件编写代码就是要将代码写入该对象的该事件过程中。

    14、属性是对象所具有的外部特征,通常用各种类型的数据来表示。

    15、在新建的一个表单里是可以添加新的属性、方法和事件。

    16、用命令DO<过程名>WITH<参数表>调用过程时,过程文件无需打开,就可以调用其中的过程。

    17、同一时刻只能打开一个过程,打开新的过程则旧的过程自动关闭。

    18、正确的嵌套中不能交叉。

    19LOOP语句的作用是把控制转到ENDDO语句。

    20EXIT语句的作用是把控制转到ENDDO语句。

 

四、阅读程序题,阅读经下各题的程序,写出各题的运算结果。

1、在以下程序中的“注释”后进行该程序行的功能说明,并说明整个程序的功能。

SET TALK OFF

CLEAR

INPUT “输入任意三个数:” TO X

INPUT “输入任意三个数:” TO Y

INPUT “输入任意三个数:” TO Z             &&注释1

M=0

DO MAXNUM WITH  X,Y,M                   &&注释2

 N=0

DO MAXNUM WITH M,Z,N

?”最大数是:”,N

CLOSE PROCEDURE

RETURN

NOTE 过程文件

PROCEDURE MAXNUM

PARAMETERS ABC

C=A

 IF A<B                              &&注释3

 C=B

ENDIF

RETURN

程序的功能:________________________________

2、以下程序不完整,在以下程序的【     】中填入适当的内容,完成以下程序,并说明程序的功能。

SET TALK OFF

CLEAR

    INPUT ”请输入学生的分数:” TO AA

      DO         

        CASE AA>89

          ? “

        CASE AA>79

          ? “

        CASE          >69

          ? “

        CASE AA>59

          ? “及格

                        

          ? “不及格

    ENDCASE

RETURN

程序的功能:________________________________

 

3、已知有一程序如下,给出程序运行后的结果。

SET TALK OFF

CLEAR

STORE 1 TO X

STORE 20 TO Y

DO WHILE X=Y

   IF INTX/2)〈 X/2

     X=1+X*X

     Y=Y+1

     LOOP

   ELSE

     X=X+1

   ENDIF

ENDDO

X

Y

RETURN

  程序执行后,X的值是:________________Y的值是:________________

 

4、已知有一程序如下,给出程序的功能。

SET TALK OFF

           CLEAR

           FOR I=100 TO 999

A=INTI/100

B=INT((I-100*A/10

C=I-INTI/10*10

IF I=A^3+B^3+C^3

    ? I

ENDIF

ENDFOR

RETURN

程序的功能是:________________________________

 

5、已知有一程序如下,分别给出执行P1P2P3子程序的条件。

SET TALK OFF

CLEAR

INPUT “请输入数:” TO S

IF S>100

  DO P1

ELSE

  IF S>60

    DO P2

  ELSE

    DO P3

  ENDIF

ENDIF

RETURN

  

      DO P1的条件:________________________________________________

DO P2的条件:________________________________________________

      DO P3的条件:________________________________________________

6、以下程序的功能是求1100之间所有整数的平方和并输出结果,请将程序补充完整。

SET TALK OFF

CLEAR

SUM=0

I=1

DO WHILE I<=100

________________

 ________________ 

ENDDO

? SUM

RETURN

7、已知有一程序如下,给出程序的功能和程序执行后的结果。

SET TALK OFF

CLEAR

X=0

Y=0

DO WHILE .T.

   X=X+1

   Y=Y+X

   IF X>=10

      EXIT

   ENDIF

ENDDO

? “Y=”+STR(Y,3)

RETURN

该程序的功能是:________________,程序执行后的结果是:________________

 

五、程序分析与程序设计题

 

1、已知ST.DBF含有"学号""姓名"等字段,SC.DBF含有"学号""课程号""成绩"等字段,写出下列程序运行结果。

SET TALK OFF

SELECT A

USE ST

SELECT B

USE SC

JOIN WITH A TO STUD FOR 学号=A学号

FIELDS 学号,A姓名,课程号,成绩

SELECT C

USE STUD

LIST FOR 成绩>=60

CLOSE DATABASES

SET TALK ON

RETURN

运行结果:

 

2、已知STUD.DBF库文件结构为:

字段名 类型 宽度 小数位

学号 C 8

姓名 C 8

成绩 N 5 1

该库存在记录数>100,现要求分屏显示该库所有记录,每屏记录数最多为20条。格式为:

学号       姓名   成绩

03120001   李强   496

按任一键继续

用户浏览完一屏后,按任一键显示下一屏,直到显示完所有记录。请编制程序实现之。

3、编程输出3~100之间的所有素数。

4、已知存放学生成绩情况的数据库表Student,它含有学号、姓名、性别、民族、出生时间和平均成绩6个字段。其中学号、平均成绩为数值型字段,姓名、民族为字符型字段,性别为逻辑型字段,出生时间为日期型字段。试编写完成以下功能的程序。

    1)、按性别分类统计平均成绩在500分以上学生人数。

    2)、按学号能任意查找学生的基本情况。

    3)、查找出平均成绩为前3名的学生基本情况。

    4)、按学号能任意修改学生的基本情况。

5、将完成以上功能的程序用过程调用的方式进行编写。