江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
江苏省计算机二级vfp2005年秋上机5

江苏省高等学校非计算机专业学生
2005 ()计算机基础知识和应用能力等级考试上机试卷
二级Visual  FoxPro (试卷代号VFP05)

(本试卷完成时间 70分钟)

说明:1、首先运行考试软盘中的“上机考试”应用程序以输入考生的准考证号、姓名和试卷代号;
   2、启动Visual FoxPro系统后,首先在命令窗口中执行命令;
      SET DEFAULT TO A
    以设置默认的工作目录,然后再开始做题。

 

一、项目、数据库和表操作(12分)

打开软盘根目录中的项目文件TEST,在该项目中已有一数据库SJK及若干表。

1. 按以下要求修改SJK数据库中JS表:

1) 添加一个字段,字段名为zp,其类型应适用于存储教师的照片,并为其设置标题“照片”。

2) 设置系代号(xdh)字段和职称代号(zcdh)字段的有关属性,使这两个字段的值只能由数字字符组成。

3) 设置xdh字段的有关属性,使得将该字段从表单的数据环境中拖放到表单上时,生成的响应控件为下拉组合框控件。

4) 设置表的记录级有效性规则,要求工作日期(gzrq)字段的值比出生日期(csrq)字段的值大。

5) 创建一个普通索引abcd,要求以xdh字段进行排序,相同时以zcdh字段排序。

2、 计算GZ表中住房补贴(zfbt)字段的值:zfbt=jbgz*10%

3、 利用项目管理器操作:将数据库表XIM改为自由表,并将其添加到项目中。

4、 JS表和RK表已存在以工号(gh)字段为索引表达式的主索引jsgh和普通索引rkgh。以JS表为主表,RK表为子表按gh建立永久关系,并根据以下要求设置参照完整性规则:在JS表中修改和删除记录时,若RK表中有相对应的记录(gh字段的值),则同时修改和删除RK表相应记录。

二、 设计查询(8分)

   在TEST项目中已经存在查询chaxun,已知在SJK的图书(TS)表中含有分类号(flh)、书名(sm)字段,借阅(JY)表中含有分类号(flh)、借阅日期(jyrq)和还书日期(hsrq)字段。按如下要求修改查询:

   基于JS表和JY表查询每本书的被借阅次数、借出总天数。输出字段包括:Ts.flhTs.sm、借阅次数、借出总天数。借出总天数为.NULL.者不输出。

三、 设计菜单(5分)

   已知项目TEST中已存在菜单menu,利用菜单设计器,按如下要求修改菜单。

1、 按图1所示要求为“表操作”菜单栏前增加一个“编辑”菜单栏及它的子菜单;

2、 在“编辑”菜单栏下的“学生”菜单项设置访问键;                                       1

当执行该菜单项时,选择课程表(KC)为当前使用表(若该表未打开,则首先打开之),并在课程表中添加一条空指令。

3、 为“编辑”菜单栏下的“学生”菜单项添加过程代码:当执行该菜单项时,选择学生表为当前使用表(若该表未打开,则首先打开之),并将学生表中籍贯(jg)为“江苏南京”的记录全部修改为“江苏省南京”。

四、 设计表单(10分)

    项目管理器中已经存在表单FE。该表单用来预览DBF表记录。根据下列要求修改表单,完成以后运行表单,效果如图2所示。

    1、 设置命令按钮组cmg中“打开表”按钮的访问键【ALT+F】,并设置“关闭表”按钮为禁用。

    2、 设置表单的标题为“表记录浏览器”。

    3、 在Grid1下放添加一标签控件1b1DBF,将标题清除,并设置为自动调整大小。

    4、 完善“打开表”命令按钮的Click事件代码(提示:在原代码的空行出添加适当的代码)。要求:根据原代码中存储表文

件名的变量,将该变量的值设置为上述所添加的标签控件的标题。

5、 为“退出”命令按钮编写Click事件代码:关闭表单。

 图2

五、 程序改错题(5分)

   下列程序的功能是求函数f(x)的值,同时分别求出x=-2、x=2和x=6时函数的值。函数表达式为:

1) 项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;

2) 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目

     CLEAR

     ?f(-2)

     ?f(2)

     ?f(6)

     FUNCTION f

     PARAMETERS x

     IF x<2

         y=2*x^2+3*x+4

     ELSE

         IF x=2

             Y=0

         ENDIF

             y=-2*x^2+3*x-4

         ENDIF

     ENDIF

     RETURN x