江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
2013秋江苏省计算机二级VFP上机真题第1套

江苏省高等学校非计算机专业学生

2013()计算机基础知识和应用能力等级考试上机试卷

二级  Visual FoxPro  (试卷代号VFP01)

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

1.首先登录考生信息

2.启动VFP系统后。首先在命令窗口中执行下列命令,以设置默认的工作目录

    SET DEFA TO T

3.除非题目要求,否则不要对T盘上的文件进行重命名、

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

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

1.在JXSJ数据库中按如下表格中所示的结构创建AB.dbf,并按表格后的要求设置相关

  属性

字段名

数据类型

宽度

字段标题

XH

C

12

学号

XM

C

12

姓名

BYRQ

D

 

毕业日期

SFJY

L

      

是否就业

JYDW

C

30

就业单位

 

  (1)设置表的注释:毕业生就业情况一览表;

  (2)设置XH字段的输入掩码:只能输入12位数字;

  (3)设置SFJY的默认值:.F.;

  (4)设置表的插入触发器:只能插入2013年毕业的学生。

  (5)创建普通索引,索引名为abcd,要求按学号的前9位排序,学号前9位相同时将已就业的学生排在前面,未就业的学生排在后面

2.在AB表中输入如下记录:

XH

XM

BYRQ

SFJY

JYDW

200902020001

张红

2013-07-01

.T.

南京晨光科技

3.在项目中新建一个程序文件,文件名为MP,该程序的功能是:打开CJB,并在浏览窗口显示记录

4.已知kc表与CJ表具有相同的字段KCDM。以kc表为主表、cj表为子表,基于kcdm索引建立永久关系,并设置它们之间的参照完整性:删除限制,插入限制

二、设计查询(8分)

   已知JXGL项目管理器中的图书(TSB)表含有分类号(FLH)、书名(SM)等字段,借阅(JYB)表含有分类号(FLH)、读者类型(LX)等字段,LX字段值为”J”表示读者为教师,LX字段值为”X”表示读者为学生。按如下要求修改查询CHAXUN:

  基于TSB表和JYB查询每本图书借阅情况,要求输出字段包括:TSB.FLHTSB.SM、被借次数、教师借阅次数。输出结果按被借次数降序,被借次数相同按FLH排序,查询结果仅输出被借次数在5次以上(包括5)的记录

三、设计菜单(5分)

    项目JXGL中已存在菜单MENU,利用菜单设计器按如下要求修改菜单,完成后的运行效果如图1所示。

 

1.增加"常用工具"菜单栏及其子菜单"记事本""计算器"、和"图片处理",在菜单项之间设置分组线,并且为"计算器"设置快捷键CTRL+Q

2.为"图片处理"菜单创建子菜单"Windows画图软件""Photoshop",在菜单项之间设置分

  组线,并且为两个菜单项分别设置访问键”W””P”

3.为"记事本"菜单项设置命令:启动Windows中的记事本(注:使用RUN命令调用Window

  下的Notepad.exe)。

四、设计表单(10分)

    表单FMQ13a用于选择鼠标形状。按下列要求修改表单,修改后表单运行时如图2所示。

 

1.设置表单的有关属性,使表单标题为选择鼠标形状”, 运行时自动居中、无最大化和最小化按钮。

2.在列表框控件右方添加一个命令按钮控件,然后设置有关属性使其无标题但显示由EXIT.ICO文件指定的图标,再编写其Click事件代码,其功能是释放当前表单

3.修改列表框的RowSource属性值,在列表的末尾增加一个沙漏数据项。

4.完善列表框控件的MouseUp事件代码,其功能是:鼠标选定列表框中某一选项时,使鼠标指针的形状变成该选项内容所指定的形状(如图2所示,选定列表框中的沙漏选项时,鼠标指针位于列表框范围内则鼠标指针形状为沙漏”)

五、程序改错(5分)

下列程序的功能是利用随机函数RAND()随机产生100100以内的整数,统计它们在0--4950--100之间出现的次数,要求:

 1.项目中有一个程序文件Pcode,T盘中VFP01.TXT中的程序代码复制到其中并进行修改

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

 Create Cursor cur1(r  i)

 For i=1  To  100

Insert  Into cur1 Values (Int(Rand()*100))

 EndFor

 Select cur1

 Skip Top

 n=0

 Do while Not Eof()

If cur1.r>49

   n=n-1

EndIf

Skip

 EndDO

 Clear

 ?”小于50的次数是:”+ Str(100-n,2)

 ?”大于或等于50的次数是:”+Str(n,2)

 Use

 

 

参考答案

一、项目、数据库和表操作

XH字段输入掩码: 999999999999

SFJY字段默认值表达式:   .F.

索引表达式:  LEFT(XH,9)+IIF(SFJY,”0”,”1”)

触发器表达式:  YEAR(BYRQ)=2013

MP程序文件代码:

  USE  CJB

  BROWSE

或者

  SELECT * FROM CJB

:设计查询

  SELECT TSB.FLH,  TSB.SM,  COUNT(*) AS 被借次数, ;

      SUM(IIF(LX=’J’,1,0))  AS  教师借阅次数;

   FROM  TSB  INNER JOIN JYB;

       ON  TSB.FLH=JYB.FLH;

   GROUP  BY TSB.FLH;

   HAVING COUNT(*)>=5;

   ORDER  BY  3  DESC,TSB,FLH DESC

三、设计菜单

 

四、设计表单

 

题号

对象名

属性

属性值

 

1

 

FORM

AUTOCENTER

.T.

MaxButton

.F.

MinButton

.F.

Caption

选择鼠标形状

 

2

 

List1

RowSource

沙漏

MouseUp

This.MousePointer=This.ListIndex

 

3

 

Command1

Caption

“”

Picture

exit.ico

Click

ThisForm.Release

 

五、程序改错

  6  SKIP  TOP    修改为      GO   TOP

  10  n=n-1         修改为:  n=n+1