江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
江苏计算机二级VFP2011春上机真题2

  2011()江苏省计算机等级考试二级VFP上机试卷(02)

    (考试时间为70分钟)

说明同前

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

    打开T盘根目录中的项目文件jxgl,在该项目中已有一数据库jxsj

1.jxsj数据库中按如下表格中所示的结构创建ab.dbf,并按表格中的要求设置相关属件。

   

    字段名

    数据类型

    宽度

    字段标题

    pm

 

 

    C

 

    20

 

    片名

    yz

 

 

    C

 

    10

 

    语种

    SC

 

 

    N

 

    3

 

    时长

    rkrq

    D

 

    入库日期

 

    (1)设置表的注释:影视记录;

    (2)设置片名字段的格式:删除字段值的前导空格;

    (3)设置时长字段的有效性规则:大于或等于30;

    (4)设置语种字段的显示类:列表框;

    (5)创建普通索引,索引名为abcd,要求按语种排序,语种相同时按时长排序。

2.ab表中输入如下记录:

 pm

    yz

    SC

    rkrq

 Avatar

    英语

    150

  2010-5-15

 

3.将自由表cjb中的所有记录彻底删除(即物理删除)

4.kc表已存在主索引kcdm,索引表达式为kcdm;cj表已存在普通索引kcdm,索引表达式为kcdm。以kc表为主表、cj表为子表,根据kcdm建立永久关系,并设置两表之间的参照完整性:更新级联、删除级联、插入限制。

二、设计查询(8)

    已知课程表(kc)含有课程代码(kcdm,C)、学分(xf,N)和课程名称(kcmc,C)等字段;成绩表(cj)含有成绩(cj,N)、课程代码(kcdm,c)和备注(bz,M)等字段,成绩等级信息存放在备注字段的前7个字节中。按如下要求修改jxgl项目中的查询chaxun:

    基于kc表和cj表查询每门课成绩优秀和不及格的学生信息。要求:查询输出字段为

kcmcxh、学分、成绩等级、补考日期;查询结果按课程名称排序,课程名称相同时按成绩等级排序;仅输出成绩等级为"A优秀""F不及格"的记录。

 

    :cj.cj>=60,学分为xf字段的值,否则为0;cj.cj<60,补考日期的值为

"2010.09.06",否则为10个字节的空字符串。

三、设计菜单(5)

  jxgl项目中已存在菜单MENU,其中已定义了"文件"菜单栏及其中的"退出菜单"项。按

如下要求设计菜单,菜单运行后的效果如图1所示。

1."文件"菜单栏下插入系统菜单"发送(D)..."

2."文件"菜单栏右侧创建"管理信息系统"菜单栏。

3."管理信息系统"菜单栏创建子菜单"使用说明""主程序"

4."使用说明"菜单项设置命令代码:MODI COMM 操作说明.TXT

5.设置有关选项,使菜单运行时执行"清理"代码:

    CLOSE TABLES  ALL

 

四、设计表单(10)

    表单F102E用来按小组查看世界杯球队信息。按下列要求修改表单,修改后表单运行时如图2所示。

1.设置表格grdFifa不显示删除标记列,不显示滚

  动条,行高设置为27

2.在表格grdFifa"国旗"列中,删除文本框控件Text1,添加一个OLE绑定型控件,并设置该控件在显示图像时按"等比填充"方式显示。

3.世界杯球队信息存储在自由表fifa,表结构如下:组别(C,1)、编号(C,1)、国旗(G)、国家(C,

  12)、简介(M)。该表已添加在表单的数据环境中。表单中的选项按钮组OptionGroup1用来选择小组赛的组别。在表单的Init事件代码中,已定义了一个全局变量cGroup,用来存  储当前选定的组别,完善Init事件代码,实现:(1)对当前数据工作区中的fifa表设置筛选条件:cGroup变量中的值对"组别"字段进行筛选;(2)将记录指针指向首行记录。编写选项按钮组OptionGroup1Interactivechange事件代码,以实现如下功能:调用表单Init事件的方法程序,并刷新表单。

五、程序改错(5)

  下列程序用来产生200100之间不重复的随机整数,并将结果输出。要求:

  ①将下列程序输入到项目中的程序文件PCODE,并对其中的2条错误语句进行修改;

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

    CLEAR

    DIMENSION a(20)

    a=0

    FOR i=1 T0 20

       X=INT(RAND()*100)

       iscf=.F.

       FOR i=0 T0 i-1

         IF a(j)=X

           iscf=.T.

           EXIT

         ENDIF

       ENDFOR

       IF iscf=.F.

          a(i)=X

       OTHERWISE

          i=i-1

       ENDIF

   ENDFOR

  DISPlAY MEMORY LiKE a*