江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
2002年(秋)Visual FoxPro二级考试上机试卷 (VFP05)

2002年(秋)Visual FoxPro二级考试上机试卷 (VFP05)

(本试卷上机考试时间为70分钟)

说明:1.考试语言环境为Visual FoxPro 5.0/6.0
2. 运行考试软盘A中的“上机考试”应用程序文件以输入考生的准考证号、姓名、试卷代号。
3. 启动VFP系统后,首先在命令窗口中执行命令:
set default to A:
以设置默认的工作目录,然后再开始作题。

一、 项目、数据库和表操作(12分)
打开软盘根目录下的项目文件TEST,在该项目中已有一数据库SJK。
1. 按如下要求修改SJK中课程(KC)表的结构:
(1) 将必修课(bxk)字段的标题设置为“必修课”;
(2) 设置学分(xf)字段的有效性(验证)规则:大于等于0小于等于6;
(3) 设置xf字段的有效性(验证)信息:某一门课的学分不能大于6。
(4) 为课程代号(kcdh)字段设置输入掩码:接受4个字节的字符,且只接受数字字符;
(5) 创建一个普通索引xfkcdh,要求先按xf字段排序,xf相同的再按kcdh字段排序;
2. 为KC表添加编辑说明为“课程基本信息表”。
3. 把软盘根目录中的表文件GZB.DBF添加为TEST项目中的自由表。
4. 修改GZB表中所有记录的住房公积金(zfgj)字段的值,规定为:住房公积金为基本工资(jbgz)的8%。
5. 为KC表设置删除触发器:不允许删除。
6. SJK中KC表已存在主索引kcdh,索引表达式为kcdh,CJ表已存在普通索引cjkcdh,索引表达式为kcdh。以KC表为主表,CJ表为子表按kcdh建立永久关系,并设置KC表和CJ表之间的参照完整性:更新级联。

二、 设计查询(8分)
在TEST项目中已存在查询chaxun,按如下要求修改该查询:
基于教师(JS)表和工资(GZ)表查询每个教师的基本工资(JBGZ)、岗位津贴(GWJT)、综合津贴(ZHJT)以及前三项之和(即,基本工资、岗位津贴及综合津贴之和)。要求输出字段为:gh、xm、xb、jbgz、gwjt、zhjt、前三项之和,查询结果按gh的降序排序,且只输出前三项之和大于等于3000的记录。

三、 设计菜单(5分)
TEST项目中已存在菜单menu,其中已定义了“文件”菜单栏及其中的“恢复系统菜单”项。按如下要求设计菜单,完成后的运行效果如图1所示。


1. 在“文件”菜单中创建“浏览表”菜单项;
2. 为“浏览表”菜单项创建子菜单,子菜单中包含“教师表”、“课程表”和“学生表”菜单项;
3. 为“教师表”菜单项创建过程,执行如下两行命令:
USE JS
BROWSE
4. 在“浏览表”和“恢复系统菜单”菜单项之间插入分组线;
5. 创建“编辑”菜单栏,并设置热键“ALT+E”。

四、 设计表单(10分)
TEST项目中已存在表单formE,用来浏览学生信息,数据源是学生表(XS)。按如下要求修改表单,完成后表单的运行界面如图2所示。
1. 修改表格,使表格不显示删除标记,表格数据只读;
2. 将表格第一列的列标头的标题“xh”改为“学号”,居中对齐,前景色为蓝色(0,0,255)
3. 已知学生表已建有按学号排序的索引xsxh。设置表格第一列列标头的有关事件代码,使得当单击该列标头时完成如下功能:(1)表格中的数据按xsxh索引的顺序排序;(2)表格中的数据指向第一行;(3)将表单的标题改为:“按学号顺序浏览学生信息”;
4. 项目中已包含Mylib类库,将类库中的cmdClose类添加到表单中适当位置。

五、 程序改错(5分)
下列程序的功能是将二进制转换成十进制数表示。要求:
(1) 项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;
(2) 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
nNumber=1011001 &&赋初值(认定它为二进制数)
cNumber=ALLTRIM(STR(nNumber))
nResult=0
FOR n=LEN(cNumber) TO 1
  c=LEFT(cNumber,1)
    IF c=’0’
    nResult=nResult*2+1
  ELSE
    nResult=nResult*2
  ENDIF
  cNumber=SUBSTR(cNumber,2)
ENDFOR
WAIT WINDOWS’十进制数表示为’+STR(nResult)