2009年春上机试卷
2009年(春)计算机二级VFP上机试卷(VFP03)
一、项目、数据库和表操作(12分)
打开T:盘根目录中的项目文件jxgl,在该项目中已有一数据库jxsj。
1、在jxsj数据库中按如下表格所示的结构创建tab.dbf表,并按表格后的要求设置相关属性。
字段名 xmbh xmmc jps xmjj 数据类型 C C I M 宽度 4 50 字段标题 项目编号 项目名称 金牌数 项目简介 (1)设置tab表的注释:奥运项目信息表;
(2)设置jps字段的有效性规则及信息:金牌数至多100; (3)将jps字段的默认值设置为1;
(4)按xmbh字段创建主索引,索引名为abcd。 2、在tab表中输入如下记录:
xmbh 0001 xmmc 游泳 jps 42 xmjj 游泳项目繁多 3、按照成绩值修改自由表cjb中的备注字段内容:若成绩大于或等于90,则备注字段中的内容设置为“优秀”。
4、设置xs表的更新触发器,要求该表数据只能在上午8:00至下午5:00时间段内进行修改。 5、已知js表已存在主索引gh,索引表达式为gh,kcap表已存在普通索引gh,索引表达式为gh,以js表为主表,kcap表为子表按gh建立永久关系,并设置两个表之间的参照完整性:删除限制。
二、设计查询(8分)
已知学生(xs)表存储了学生的基本信息,其中含学号(xh,C)、姓名(xm,C)等字段;成绩(cj)表存储了学生的考试成绩,其中含学号(xh,C)、成绩(cj,N)等字段,每条记录为一位学生一门课程的考试成绩(成绩以百分计,低于60分为不及格)。按如下要求修改jxgl项目中的查询chaxun:
基于xs表和cj表统计各位学生的考试情况。要求:输出学号、姓名、考试门数和不及格门数(字段名依次分别为xh、xm、ksms和bjgms),查询结果按不及格门数排序,且仅输出bjgms大于或等于1的记录。
三、设计菜单(5分)
jxgl项目中已存在菜单menu,已定义了“系统管理”菜单栏及其中的“恢复系统菜单”菜单项。按如下要求设计菜单,完成后的运行效果如图1所示。
图1
1、在“系统管理”菜单栏中插入VFP系统菜单“导入”和“导出”。 2、创建“成绩管理”菜单栏,其访问键为C,子菜单为“录入”、“编辑”、“查询”和“打印”,分组线如图1所示。
3、为“打印”菜单项设置快捷键“CTRL+Y”,并为其设置命令:预览报表文件rtest。 四、设计表单(10分)
在T盘中有10个图片文件1.BMP、2.BMP、…、10.BMP。表单F081F的功能是:通过连续播
2009年春上机试卷
放BMP文件产生动画效果。按下列要求修改表单,修改后表单运行如图2所示。
1、将命令按钮的Left、Top属性分别修改为100和95。 2、设置表单的有关属性:标题为“播放两幅动画”,高度为140,宽度为210,且使其运行时自动居中。
3、在图像对象(Image1)右方添加一个图像对象(Image2)。 4、在计时器对象的Timer事件代码的末尾添加一个命令,使Image2显示图片的顺序为10.BMP、9.BMP、…、1.BMP。
5、修改“播放”命令按钮的Click事件代码:保留第3条命令,删除其余命令。
五、程序改错(5分) 图2
某学校2007—2008学年第二学期共20周,该学期开学日期为2008年3月2日,即2008年3月2日是该学期校历第一周的第一天(星期日)。下列程序的功能是:按图3所示格式打印出该学期校历,并能根据给定的日期(2008年5月20日)返回该日期是校历中的第几周,星期几。要求:
①将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改; ②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 clear
t1={^2008-03-02} tx={^2008-05-20} n=val(tx-t1) t2=t1+6 for i=1 to 20 ?'第'+str(i)+'周:' ??t1,\ t1=t2+1 t2=t1+6 endfor
x=int(n/7)+1 if x>20 ?'该日期不落在本学期' else y=subs('日一二三四五六',2*dow(tx)-1,2) ? tx+'是第'+str(x)+'周星期'+y Endif
2009年春上机试卷
2009年(春)计算机二级VFP上机试卷(VFP04)
一、项目、数据库和表操作(12分)
打开T:盘根目录中的项目文件jxgl,在该项目中已有一数据库jxsj。
1、在jxsj数据库中按如下表格所示的结构创建tab.dbf表,并按表格后的要求设置相关属性。
字段名 playerid playname nation game 数据类型 C C C C 宽度 4 50 16 20 字段标题 运动员号码 姓名 国籍 参加项目 (1)设置tab表的注释:运动员信息表;
(2)设置playerid字段的输入掩码,要求只允许输入4位数字字符; (3)将nation字段的默认值设置为“中国”;
(4)按playerid字段创建普通索引,索引名为abcd。 2、在tab表中输入如下记录:
playerid 0001 playname 刘翔 nation 中国 game 男子110米跨栏 3、按照成绩值修改自由表cjb表中的备注型字段内容:若成绩大于或等于90,则备注字段中的内容为“A”,若成绩大于或等于80且小于90,则备注字段中的内容为“B”。
4、设置js表的更新触发器,要求工作日期在“1990/09/01”以前的记录才允许修改。
5、已知js表已存在主索引gh,索引表达式为gh,kcap表已存在普通索引gh,索引表达式为gh,以js表为主表,kcap表为子表按gh建立永久关系,并设置两个表之间的参照完整性:插入限制。
二、设计查询(8分)
已知学生(xs)表存储了学生的基本信息,其中含学号(xh,C)、姓名(xm,C)等字段;成绩(cj)表存储了学生的考试成绩,其中含学号(xh,C)、成绩(cj、N)等字段,每条记录为一位学生一门课程的考试成绩。按如下要求修改jxgl项目中的查询chaxun:
基于xs表和cj表查询成绩优良的学生(“成绩优良”是指平均成绩大于或等于80,且最低成绩大于或等于65).要求:输出学号、姓名、平均成绩和最低成绩(字段名依次分别为xh、xm、pjcj和zdcj),查询结果按平均成绩降序排序。 三、设计菜单(5分)
jxgl项目中已存在菜单menu,已定义了“系统管理”菜单栏及其中的“恢复系统菜单”菜单项。按如下要求设计菜单,完成后的运行效果如图1所示。
1、在“系统管理”菜单栏中增加“备份数据”、“恢复数据”和“退出”菜单项、其中“退出”
菜单项为VFP系统菜单,分组线如图1所示。 图1 2、为“备份数据”菜单创建子菜单“所有文件”、“数据库文件”和“表文件”,分组线如图1所示。
3、为“所有文件”菜单项设置快捷键“CTRL+A”,并为“表文件”菜单项设置过程:首先关闭所有的表,然后将xs表复制到T:盘根目录中。 四、设计表单(10分)
表单f081e的功能是:用鼠标在表单上写文字等。按下列要求修改表单,修改后表单运行如图2所示。
1、将表单的标题设置为“鼠标写字与小球移动”,边框样式设置为“固定对话框”。
2009年春上机试卷
2、在表单界面的右下方添加形状控件,并设置形状控件的有关属性,使其形状为圆形,背景颜色为红色。 3、修改表单的MouseDown事件代码,其功能是:使表单前景颜色为蓝色以实现用鼠标在表单界面上写的文字为蓝色,并修改表单的MouseMove事件代码,删除其中的第六行语句(该语句为THISFORM.Coord.Caption=”(”+……)。 4、将表单对象新方法XYZ中的代码复制到哦形状控件
的Click方法程序中。 图2 五、程序改错(5分)
某学校2007—2008学年第二学期共10周,该学期开学日期为2008年3月2日,即2008年3月2日是该学期校历第一周的第一天(星期日)。下列程序的功能是:按图3所示格式打印出该学期校历,并能根据给定的日期(2008年5月1日)返回该日期是校历中的第几周,星期几。要求:
①将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改;
②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 clear
t1={^2008-03-02} tx={^2008-05-01}
cstring1='日一二三四五六' n=tx-t1 for i=1 to 7 ?'星期'+subs(cstring1,i*2+1,2)+space(2) for j=1 to 10 ??t1+(j-1)*7,space(1) endfor t1=t1+1 endfor
x=int(n/7)+1 if x>10 ?'该日期不落在本学期' endif y=mod(n,7) ?dtoc(tx)+'是第'+str(x)+'周星期'+str(y) Endif
2009年春上机试卷
2009年(春)计算机二级VFP上机试卷(VFP05)
一、项目、数据库和表操作(12分)
打开T:盘根目录中的项目文件jxgl,在该项目中已有一数据库jxsj。
1、在jxsj数据库中按如下表格所示的结构创建tab.dbf表,并按表格后的要求设置相关属性。
字段名 bsxm bssj bscd bsxz 数据类型 C T C C 宽度 12 20 6 字段标题 比赛项目 比赛时间 比赛场地 比赛性质 (1)设置tab表的注释:奥运赛程信息表;
(2)设置bsxz字段的有效性规则:比赛性质只能是“预赛”、“半决赛”或“决赛”; (3)将bsxz字段的默认值设置为“预赛”;
(4)创建一普通索引,索引名为abcd,要求按比赛时间和比赛项目排序。 2、在tab表中输入如下记录:
bsxm 男子10米跳台 bssj 2008/08/23 09:00:00 bscd 水立方游泳中心 bsxz 决赛 3、设置kc表的更新触发器,要求只有课程代码长度为4的记录才允许修改。
4、已知kc表已存在主索引kcdm,所以表达式为kcdm,jc表已存在普通索引kcdm,索引表达式为kcdm,以kc表为主表,jc表为子表按kcdm建立永久关系,并设置kc表和jc表之间的参照完整性:更新限制、删除级联。 二、设计查询(8分)
已知学生(xs)表存储了学生的基本信息,其中含学号(xh,C)、姓名(xm,C)、性别(xb,C)等字段;院系专业(yxzy)表为院系专业代码和院系专业名称对照表,含院系专业代码(yxzydm,C)、院系名称(yxmc,C)等字段。按如下要求修改jxgl项目中的查询chaxun:
基于xs表和yxzy表查询各院系的学生人数及男女生人数。要求:输出院系名称、人数、男生人数和女生人数(字段名依次分别为yxmc、rs、nanrs和nvrs),查询结果按人数降序排列,人数相同时按女生人数降序排列。 三、设计菜单(5分)
jxgl项目中已存在菜单menu,已定义了“系统管理”菜单栏及其中的“恢复系统菜单”菜单项。按如下要求设计菜单,完成后的运行效果如图1所示。
图1
1、在“系统管理”菜单栏中增加“账户设置”和“选项”菜单项,其中“选项”菜单项为VFP系统菜单,分组线如图1所示。
2、创建“学生管理”菜单栏,其访问键为X,子菜单为“基本信息”和“统计信息”。 3、为“统计信息”菜单创建子菜单“按性别统计人数”和“按民族统计人数”。
4、为“按性别统计人数”菜单项设置SELECT-SQL命令:查询并显示xs表中男女生人数,要求输出性别和人数(字段名分别为xb和rs)。 四、设计表单(10分)
表单f081g的功能是:表单上显示奥运五环图标和“2008北京”字样等。按下列要求修改表单,修改后表单运行如图2所示。