2011 年 1 月浙江省高等教育自学考试 VFP 程序设计真题
课程代码:01963
一、判断题(本大题共 10 小题,每小题 1 分,共 10 分)
判断下列各题,正确的在题后括号内打“√,错的打“×。
1.数据库系统包括数据库管理系统、数据库和支撑数据库管理系统的软硬件。( )
2.关系数据模型把数据之间的关系看成一个二维表。( )
3. 在 VFP 中,对于任何特定动词的字句和一些关键字,其顺序不能改变。( )
4.可以通过 VFP 提供的向导来创建数据库和表。( )
5.表达式 CTOD(“04/25/99”)的运行结果是字符型值。( )
6.VFP 允许建立自定义过程和自定义函数。( )
7.VFP 中包含字段变量和内存变量。( )
8.如果一个班只能有一个班长,而且一班长不能同时担任其它班的班长,班级和班长两
个实体之间的关系属于多对一关系。( )
9.VFP 中的删除命令 DELETE 的功能是将表中所有记录从表中删去,只留下表结构。( )
10.VFP 中,参照完整性建立时,对父表的关键字段进行更新、删除、插入操作可以提供级
联规则、限制规则或忽略规则。( )
二、单项选择题(本大题共 20 小题,每小题 2 分,共 40 分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括
号内。错选、多选或未选均无分。
1.下面关于数据库的描述正确的是 ( )
A.数据库是一个表格
B.数据库是一个文件
C.数据库是一组文件
D.数据库是存储在一起的相关数据的集合
2.以下关系代数运算中,属于专门的关系运算的是( )
A.并 B.交
C.差 D.投影
3.在员工关系 P(员工号 Pno,姓名 Pname,性别 Sex,年龄 Page)中,关系运算σPage>35
∧Sex='男'(P)的含义是( )
A.找出所有年龄大于 35 岁的所有元组
B.找出所有年龄大于 35 岁或者为男性的所有元组
C.找出所有年龄大于 35 岁而且为男性的所有元组
D.找出关系 P 在年龄和性别上的投影
4.实体完整性是指 ( )
A.主码不能是空值
B.针对某一具体应用应用环境所决定的数据库的约束条件
C.某关系的外码只能为空或等于以该码为主码的关系中某一元组的主码值
D.属性的取值范围
5.DIMENSION A[5,3],数组 A 中元素的个数是( )
A.24 B.5
C.3 D.15
6.表达式(15>16) .OR. (“ABC” = “AB”)的运算结果是( )
A..F. B..T.
C.12 D.0
7.以下哪个操作可以改变表的物理顺序?( )
A.排序 B.索引
C.查询 D.复制
8.在 VFP 中建立两表之间关联的工具是( )
A.表达式生成器 B.数据工作期窗口
C.程序编辑窗口 D.表设计器
9.建立索引的命令是( )
A.SET INDEX TO B.INDEX ON
C.SET ORDER TO D.ORDER BY
10.如果查找命令找到符合条件的记录,在下列函数中数值为真的是( )
A.RECNO() B.BOF()
C.FOUND() D.EOF()
11.表达式 LEN(SUBSTR("987654321",2,5))的结果是( )
A."87654" B." 54"
C.5 D.2
12.下面哪个命令是 SQL 命令( )
A.BROWSE B.UPDATE
C.REPLACE D.DISPLAY
13.数据表文件的扩展名是 ( )
A..DBF B..DBC
C..PRG D..IDX
14.关于数据库中的表之间的永久性关系,以下哪种说法是错误的( )
A.永久性关系是存储在数据库文件中数据库表之间的关系。
B.没有索引也可以建立数据库中表之间的永久关系
C.使用视图设计器时,永久关系会自动包含进去,不需要每次重建
D.永久关系可以用来存储参照完整性信息
15.下面关于 VFP 数据库提供的数据字典的说法中错误的是( )
A.可以建立字段级规则和记录级规则
B.可以对各字段、表和数据库进行注释
C.可以使用触发器
D.可以建立视图
16.若要建立一张新的数据表,需要打开( )
A.表设计器 B.表单设计器
C.视图设计器 D.数据环境设计器
17.数据环境设计器的作用是( )
A.建立和修改表单等的数据环境 B.新建数据表
C.建立数据查询 D.建立视图
18.下面对象中,属于容器类的对象是( )
A.表单集 B.标签
C.列表框 D.单选按钮
19.有一窗体 form1,其中有命令按钮 cmdbutton1,若要响应用户单击窗体 form1 的操
作,需要在哪个事件过程中添加响应代码( )
A.form1 的 Show 事件过程 B.cmdbutton1 的 click 事件过程
C.cmdbutton1 的 keypress 事件过程 D.form1 的 click 事件过程
20.在 Visual FoxPro 中,使用 SQL 命令将学生 STUDENT 中的学生年龄 AGE 字段的值增
加 1 岁,应该使用的命令是( )
A.REPLACE AGE WITH AGE+1
B.UPDATE STUDENT AGE WITH AGE+1
C.UPDATE SET AGE WITH AGE+1
D.UPDATE STUDENT SET AGE=AGE+1
三、读程序(本大题共 5 小题,每小题 4 分,共 20 分)
认真阅读所给的程序,每段程序后面会根据上面的程序给出几个小题,每小题列出的四
个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内,错选、多选或未
选均无分。
【程序(一)】
*表 S1.DBF,其中有字段变量“编号”,且以它作为关键字已建立索引文件 SA.IDX,在该
表
复的
*中因误操作可能有一些重复的记录,以下程序是实现查询重复记录并判断是否删除重
*记录。
SET TALK OFF
USE S1 INDEX SA
K=“Y”
DO WHILE NOT EOF()
XM=编号
SKIP
IF ______
DELETE
DISPLAY
WAIT“是否立即删除(Y/N)” TO K
IF UPPER(K)=“Y”
PACK
ELSE
RECALL
ENDIF
ENDIF
ENDDO
USE
SET TALK ON
1.本程序中建立并打开索引 SA 的主要作用是( )
A.为了建立循环结构 B.让记录按编号排序
C.为了配合查询命令 D.为了保证该表可编辑
2.本程序中,横线处 IF 语句的条件表达式为 ( )
A.XM == 编号 B.NOT EOF()
C.SEEK D.FOUND()
3.程序中 DISPLAY 命令的作用是( )
A.显示第 1 条记录的信息 B.显示作了删除标记的重复记录的信息
C.显示所有记录的信息 D.显示最后 1 条记录信息
【程序(二)】
* Employee 表中有 姓名、工龄、级别、奖金等字段
SET TALK OFF
USE Employee
LOCATE ALL FOR 级别=“工程师”
DISPLAY
A=工龄
IF A<10
REPLACE 奖金 WITH 奖金*2
ELSE
IF A>20
REPLACE 奖金 WITH 奖金*5
ELSE
REPLACE 奖金 WITH 奖金*3
ENDIF
ENDIF
USE
SET TALK ON
4.本程序的功能是( )
A.显示 employee 表中所有工程师信息,并修改所有工程师奖金,即工龄 10 年以下奖金
翻 2 倍,工龄 20 年以上奖金翻 5 倍,工龄为 10 至 20 年奖金翻 3 倍
B.找到 employee 表中第一个工程师,并修改这个工程师的奖金,即该员工工龄为 10
年以下奖金翻 2 倍,工龄 20 年以上奖金翻 5 倍,工龄为 10 至 20 年奖金翻 3 倍
C.显示 employee 表中所有工程师信息,并修改所有工程师奖金,即工龄 10 年以下奖金
翻 3 倍,工龄 20 年以上奖金翻 2 倍,工龄为 10 至 20 年奖金翻 5 倍
D.找到 employee 表中第一个工程师,并修改这个工程师的奖金,即该员工工龄为 10
年以下奖金翻 3 倍,工龄 20 年以上奖金翻 2 倍,工龄为 10 至 20 年奖金翻 5 倍
5.若已经对“级别”字段建立索引, 且为当前索引,将程序中“ LOCATE ALL FOR 级别
=“工程师” ”,这句查询命令改成 seek 命令,以下哪个选项是正确的 ?( )
A.seek “工程师” B.seek 级别=工程师
C.seek 级别 D.seek 级别=“工程师”
四、书写 VFP 命令序列(本大题共 5 小题,每小题 3 分,共 15 分)
现有数据库表文件 BOOK.DBF,内容如下:
书号
101
105
103
107
110
书名
诚信的力量
飘
计算机应用
软件工程
单价
20.4
64.0
34.5
25.0
电视机维修原理 12.0
库存
出版社
10
10
20
50
12
人民文学出版社
人民文学出版社
电子工业出版社
电子工业出版社
机械工业出版社
为了获得以下信息,写出下列各小题的 VFP 命令序列
(1)显示库存小于 20 本的书;
(2)查询书号为“101”的书名;
(3)单价升序排序,存贮在 BL 文件中;
(4)为该表添加一字段:总价 N(12,2),并为该字段计算值:单价*库存;
(5)为该表添加一条新记录,(“4041”,“数据库原理”,22.8,20,“机械工业出版社”)。
五、SQL 语言命令书写(本大题共 5 小题,每小题 3 分,共 15 分)
设在某商店管理数据库中有三个表
部门表(部门号,部门名称)
供应商表(供应商编号,供应商名称,联系人,联系电话,地址)
商品表(部门号,商品号,商品名称,单价,数量,供应商编号,产地)
根据题意要求,写出相应的 SQL 语言命令
(1) 查询每件商品的名称和部门号、数量并按数量排序;
(2) 查询供应商表中供应商名称为“光华电子”的供应商相关信息;
(3) 查询商品号为“S099”的商品的供应商名称;
(4) 查询部门个数;
(5) 删除商品号为“S3008”的商品记录。