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

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

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

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

一、 项目、数据库和表操作(12分)
打开软盘根目录下的项目文件TEST,在该项目中已有一数据库SJK。
1. 按如下要求修改SJK中教师(JS)表的结构;
(1) 设置工作日期(gzrq)字段的有效性(验证)规则:工作日期的年份必须小于或等于2001年;
(2) 设置gzrq字段的有效性(验证)信息:输入的工作日期必须合理;
(3) 将简历(jl)字段的字段名改为bz;
(4) 为工号(gh)字段设置输入掩码和格式:接受5个字节的字符,且第一个字符必须为大写字母,后4个字符只接受数字字符;
(5) 创建一个普通索引xdhzc,要求先按系代号(xdh)字段排序,系代号相同的再按职称代号(zcdh)字段排序。
2. 把软盘根目录中的表文件GZB.DBF添加为TEST项目中的自由表,并为其添加说明信息为“职工工资信息”。
3. 将GZB表中所有讲师的其它(qt)工资项增加50元。
4. 为JS设置删除触发器:仅允许删除1955年(含1955年)以前参加工作的教师记录。
5. SJK中JS表已存在主索引jsgh,索引表达式为gh,GZ表已存在普通索引gzgh,索引表达式为gh。以JS表为主表,GZ表为子表按gh建立永久关系,并设置JS表和GZ表之间的参照完整性:删除级联。

二、 设计查询(8分)
在TEST项目中已存在查询chaxun,按如下要求修改该查询:
基于学生(XS)表和成绩(CJ)表查询所有学生的选课门数、总成绩、平均成绩。要求输出字段为:xh、xm、xb、选课门数、总成绩、平均成绩,查询结果按xh升序排序。

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


1. 创建“数据处理”菜单栏;
2. 创建“数据处理”菜单中的菜单项:“查询”和“统计”;
3. 为“统计”菜单设置快捷键“CTRL+T”;
4. 创建“查询”菜单的子菜单,其中包含“学生成绩”、“课程成绩”和“教师工资”菜单项;
5. 在“课程成绩”和“教师工资”菜单项之间插入分组线。

四、 设计表单(10分)
TEST项目中已存在表单formF,用来浏览学生信息,数据源是学生表(XS)。按如下要求修改表单,完成后的运行界面如图2所示。
1. 将表单数据环境中的xs表的主控索引设置为“xdh”;
2. 将表单的窗口类型(WindowType)设置为“模式”窗口,将表单数据的缓冲模式设置为“开放式”;
3. 在表单的空白处创建一个名为“LBLZP”标签控件,使其能根据内容长度自动调节尺寸,创建一个名为“OLBZP”的OLE绑定型控件,使其能显示学生表照片字段(xs.zp);
4. 编写表格控件的有关事件代码,要求:当光标在表格的行之间移动后,能使LBLZP标签能动态显示学生的姓名,刷新表单以使OLBZP控件能动态显示学生的照片。

五、 程序改错(5分)
下列程序的功能是计算分数数列2/1,3/2,5/3,……,m/n,m+n/m的前20项之和。要求:(1)项目中有一个程序文件Pcode,将下列程序输入到其中并进行修  (2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
nSum=0
m=2 &&数列中第一项的分子
n=1 &&数列中第一项的分母
FOR x=1 TO 20
  nSum=nSum+m/x
  y=m
  m=m+n
  n=y
ENDDO
WAIT WINDOWS’前20项之和为’+STR(nSum,10,2)