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

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

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

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

一、项目、数据库和表操作(12分)
打开软盘根目录下的项目文件TEST,在该项目中已有一数据库SJK。
1.按如下要求修改SJK中成绩(CJ)表的结构:
(1)将课程代号(kcdh)字段的标题设置为“课程代号”;
(2)设置成绩(cj)字段的有效性(验证)规则:大于等于0小于等于100;
(3)设置cj字段的有效性(验证)信息:学生的成绩必须在0—100之间。
(4)创建一个普通索引xhcj,要求先按学号(xh)字段排序,学号相同的再按cj字段排序;
(5)为cj字段设置字段注释:成绩小于等于60分为不及格
2.为CJ表添加编辑说明为“学生成绩表”。
3.把软盘根目录中的表文件GZB.DBF添加为TEST项目中的自由表。
4.计算GZB表中所有记录的应发工资(yfgz),应发工资的计算公式为:
yfgz(应发工资)=jbgz(基本工资)+gwjt(岗位津贴)+zhjt(综合津贴)+zfbt(住房补贴)+qt(其它)
5.为CJ表设置更新触发器:kcdh的值为06的允许更新,否则不允许更新。
6.SJK中KC表已存在主索引kcdh,索引表达式为kcdh,CJ表已存在普通索引cjkcdh,索引表达式为kcdh.。以KC表为主表,CJ表为子表按kcdh建立永久关系,并设置KC表和CJ表之间的参照完整性:删除限制。

二、设计查询(8分)
在TEST项目中已存在查询chaxun,且在SJK中包含一个名为XSST的视图,该视图中包含有学生所在的系代号(xdh)、系名称(ximing)、专业代号(zydh),另外在SJK的专业(ZY)表中含有专业名称(zymc)字段。按如下要求修改查询:
基于XSST视图和ZY表查询每个系各专业学生的人数。要求输出字段为:xdh、ximing、zydh、zymc、学生人数,查询结果按xdh的升序排序,如果xdh相同,则按zydh的升序排序。

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


1.创建“查询”菜单栏;
2.为“查询”菜单设置热键“ALT+Q”;
3.创建“查询”菜单中的菜单项:“基本信息”、“成绩查询”和“组合查询”;
4.创建“基本信息”的子菜单,其中包含“学生”、“教师”和“课程”菜单项;
5.在“成绩查询”和“组合查询”菜单项之间插入分组线。

四、设计菜单(10分)
  TEST项目中已存在表单formC,按如下要求修改表单,完成后表单的运行界面如图2所示。
1. 设置表单边框为单线边框,标题改为:教师任课情况;
2. 将任课教师组合框改为下拉列表框;
3. 将表格第一列中的组合框cboZydh的列数改为2列;
4. 将表格增加为3列,将第3列的ContrlSource指向kc.kcm,并将该列设置为只读;
5. 为“允许添加”复选框chkAllowAdd添加InterActiveChange一行代码,用来控制“添加”按钮cmdAdd的启用与废止。当chkAllowAdd的值为真时,“添加”按钮可用,并调用“添加”按钮的Click事件代码。

五、程序改错(5分)
下列程序用于计算数列1,1/2,1/3,1/4,1/5,……,1/n之和,当某一数列项的值小于0.01时停止计算。要求:
(1) 项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;
(2) 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
SET DECIMAL TO 2
n=1
nSum=0
Do WHILE.T.
  IF 1/n<0.01
    LOOP
  ENDIF
  nSum=nSum+n
  n=n+1
ENDDO
WAIT WINDOWS’该数列之和为’+STR(nSum,10,2)