VFP上机试题(2011春)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011(春)二级VFP上机试题(试卷代号VFP01)
(本试卷完成时间70分钟)
一、项目、库和表操作(12分)
打开T盘根目录中的项目文件JXGL,在该项目中已有一数据库JXSJ。
1.在JXSJ数据库中按如下表格所示的结构创建AB.DBF表,并按表格中的要求设置相关属性。
(1)设置表的注释:蔬菜批发价格表;
(2)设置RQ字段的默认值:当前系统日期;
(3)设置单位字段的显示类:选项按钮组;
(4)设置表的更新触发器:日期字段的值等于当前系统日期时可以更新记录;
(5)创建普通索引,索引名为ABCD,要求按日期排序,日期相同时按单价排序。
2
3
4.KC表已存在主索引KCDM,索引表达式为KCDM;CJ表已存在普通索引KCDM,索引表达式为KCDM。以KC表为主表,CJ表为子表,根据KCDM建立永久关系,并
设置两表之间的参照完整性:删除级联、插入限制。
二、设计查询(8分)
已知自由表图书表(TSB)含有分类号(flh,C)、册数(cs,N)、价格(jg,N)等字段。
按如下要求修改JXGL项目中的查询CHAXUN:
基于TSB表查询图书类别、藏书册数等信息。要求:查询输出字段为图书类别、藏书册数和平均单价;查询结果按藏书册数降序排序,相同时按平均单价升序排序;输出去向为文本文件TEMP。
注:图书类别为分类号(flh)中“.”前的内容(可用LEFT(…,AT(“.”,…))形式的表达式求得),藏书册数为同一图书类别册数之和。
三、设计菜单(5分)
JXGL项目中已存在菜单MENU,其中已定义了“文件”菜单栏及其中的“退出菜单”项。
按如下要求设计菜单,菜单运行后的效果如图1所示。
1.在“文件”菜单栏右侧创建“图书管理系统”菜单栏。
2.为“图书管理系统”菜单栏创建子菜单“预约”、“借书”和“还书”。
3.在菜单项“预约”、“借书”和“还书”之间插入分组线。
4.为“借书”菜单项设置命令代码:DO FORM js
5.在文件菜单栏下插入系统菜单“全部关闭”。
图1
四、设计表单(10分)
表单F102F用来按小组查看世界杯球队信息,按下列要求修改表单,修改后表单运行时如图2所示。
1. 设置表格Grid1的数据只读,无滚动条,删除“组别”列。
2. 在“组别”标签下方添加一个列表框控件List1(用来选择组别),设置其数据源类型
为“3-SQL语句”,数据源为“SELECT DIST 组别FROM fifa into cursor tmp”
3. 编写表单的Load事件代码,实现:定义一个全局变量sGroup,并赋初值为字符“A”。
4. 世界杯球队信息存贮在自由表fifa中,表结构如下:组别(C,1)、编号(C,1)、
国旗(G)、国家(C,12)、简介(M),且fifa表已添加在表单的数据环境中。编写List1的InterActiveChange事件代码,实现:(1)将List1中当前选定的值赋给变量sGroup,并对当前工作区中的fifa表设置筛选条件:按sGroup变量中的值对“组别”字段进行记录筛选;(2)将记录指针指向首行记录,并刷新表单。
图2
五、程序改错(5分)
回文数是指正读和反读都一样的数,例如1001、1221等,下列程序的功能是:求出1000——2000之间的所有回文数,并将它们打印出来(每行打印5个数,最后一行打印总的个数)。要求:
1.将下列程序输入到项目中的程序文件Pcode中,并对其中的2条错误语句进行修改;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
ENDFOR
?’小于2000的回文数共’+STR(n)+’个’
2011(春)二级VFP上机试题(试卷代号VFP02)
(本试卷完成时间70分钟)
一、项目、库和表操作(12分)
打开T盘根目录中的项目文件JXGL,在该项目中已有一数据库JXSJ。
1.在JXSJ数据库中按如下表格所示的结构创建AB.DBF表,并按表格中的要求设置相
(2)设置片名字段的格式:删除字段值的前导空格;
(3)设置时长字段的有效性规则:大于或等于30;
(4)设置语种字段的显示类:列表框;
(5)创建普通索引,索引名为ABCD,要求按语种排序,语种相同时按时长排序。2.
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表查询每门课成绩优秀和不及格的学生信息。要求:查询输出字段为kcmc、xh、学分、成绩等级、补考日期;查询结果按课程名称排序,课程名称相同时按成绩等级排序;仅输出成绩等级为“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。