2011春VFP上机试卷含答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2011年春VFP上机试卷

2011C VFP01

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

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

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

(1)

(2)设置RQ字段的默认值:当前系统日期;Date()

(3)设置单位字段的显示类:选项按钮组;OptionGroup

(4)设置表的更新触发器:日期字段的值等于当前系统日期时可以更新记录;

Rq =Date()

(5)创建普通索引,索引名为abcd,要求按日期排序,日期相同时按单价排序。

2、在

3、为项目设置项目信息:项目的图标为PC.ICO文件。右击项目管理器

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

二、设计查询

已知自由表图书表(TSB)含有分类号(flh,C)、册数(cs,N)、价格(jg,N)等字段。按如下要求修改JXGL项目中的查询CHAXUN;

基于TSB表查询图书类别、藏书册数等信息。要求:查询输出字段为图书类别、藏书册数和平均单价;查询结果按藏书册数降序排序,相同时按平均单价升序排序;输出去想为文本文件TEMP。

注:图书类别为flh中“.”前的内容(可用LEFT(…, A T(“.”, …)) 形式的表达式求得),藏书册数为同一图书类别册数之和。

LEFT(flh, AT(“.”,flh)-1) as 图书类别

Sum(cs) as 藏书册数

Avg(jg) as 平均单价

分组:图书类别

排序:自己写

去向:自己写

三、设计菜单

JXGL项目中已存在菜单MENU,其中已定义了“文件”菜单栏及其中的“退

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

1、在“文件”菜单栏右侧创建“图书管理系统”菜单栏。

2、为“图书管理系统”菜单栏创建子菜单“预约”、“借书”和“还书”。

3、在菜单项“预约”、“借书”和“还书”之间插入分组线。

4、为“借书”菜单项设置命令代码:DO FORM js

5、在“文件”菜单栏下插入系统菜单“全部关闭”。

四、设计表单

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

1、设置表格Grid1的数据只读,无滚动条,删除“组别”列。

ReadOnly .T.

在“属性”窗口中,选择组别这一列(Column3还是Column2来着?),然后在组别这一列的Text处点一下,再按键盘上的“Delete”删除键即可

2、在“组别”标签下方添加一个列表框控件List1(用来选择组别),设置其数据源类型为“3-SQL语句”,数据源为“SELECT DIST 组别FROM fifa INTO CURSOR tmp”。

RowSourceType RowSource里把代码抄进去,不要引号

3、编写表单的Load事件代码,实现:定义一个全局变量sGroup,并赋初值为字符“A”。

Public sGroup

sGroup=‟A‟

4、世界杯球队信息存储在自由表fifa中,表结构如下:组别(C,1)、编号(C,1)、国旗(G)、国家(C,12)、简介(M),且fifa表已添加在表

单的数据环境中。编写List1的InterActiveChange事件代码,

实现:(1)将List1中当前选定的值赋给变量sGroup,并对当

前数据工作区中的fifa标设置筛选条件;按sGroup变量中的

值对“组别”字段进行记录筛选;(2)将记录指针指向首行记

录,并刷新表单。会哪行写哪行,不会的空一行

sGroup=Thisform.List1.Value

Set Filter to 组别=sGroup

Go top

Thisform.Refresh

五、程序改错

回文数是指正读和反读都是一样的数,例如1001、1221

等。下列程序的功能是:求出大于1000小于2000的所有回文

数,并将它们打印出来(每行打印5个数,最后一行打印总个数)。要求:

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

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

FOR i=1000 TO 2000

s=ALLT(STR(i))

n1=LEN(s)

n2=INT(n1/2)

s1=‟‟

FOR j=1 TO n2

s1=s1+RIGHT(s, 1)

s=LEFT(s, n1-1)

ENDFOR

IF LEFT(s, n1)=s1

n=n+1

??i

IF INT(n/5)=n/5

?

ENDIF

ENDFOR &&改为ENDIF

ENDFOR

?‟小于2000的回文数共‟+STR(n)+‟个‟

2011C VFP02

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

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

1、在JXSJ数据库中按如下表格中的结构创建AB.DBF表,并按表格中的要求设置相关属性。

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

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

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

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

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

第一种方法:浏览cjb表,在命令窗口中输入ZAP

第二种方法:(1)浏览cjb表,“表”菜单-“删除记录”,范围写ALL,FOR不写

(2)“表”菜单-“彻底删除”

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

二、设计查询

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

相关文档
最新文档