1、2010秋江苏二级 Visual+FoxPro上机真题 1及答案解析(总分:40.00,做题时间:70 分钟)一、(本试卷完成时间为 70分钟)(总题数:1,分数:0.00)1.项目、数据库和表操作(12 分) 打开 T盘根目录中的项目文件 JXGL,在该项目中已有一数据库 JXSJ。 1.在JXSJ数据库中按如下表格所示的结构创建 AB表,并按表格中的要求设置相关属性。 (1)设置 AB表的表注释:参观人数; (2)设置日期字段的默认值:当前系统日期; (3)设置日期字段的显示类:微调框; (4)设置记录有效性规则:实际参观人数小于或等于售出门票数量; (5)创建普通索引,索引名为 abcd
2、,要求按实际参观人数与售出门票数量之比排序。 2在 AB表中输入如下记录: (分数:12.00)_2.设计查询(8 分) 已知教师表(JS)含有工号(gh,c)、姓名(xm,C)等字段;自由表图书借阅表(JYB)含有读者号(dzh,c)、分类号(flh,C)、借阅日期(jyrq,D)、还书日期(hsrq,D)等字段,教师的读者号与工号相同。按如下要求修改 JXGL项目中的查询 CHAXUN: 基于 JS表和 JYB表查询教师借书情况,计算过期罚款信息。要求:查询输出字段为 dzh、xm、罚款额;查询结果按罚款额降序排序;输出去向为文本文件 TEMP。 注:罚款计算方法为 30天以上超过部分每本
3、每天 0.10元,未还书者(即还书日期为空的 记录)不统计。(分数:8.00)_3.设计菜单(5 分) JXGL 项目中已存在菜单 MENU,其中已定义了“文件“菜单栏及其中的“退出菜单“项。按如下要求设计菜单,菜单运行后的效果如图 1所示。 1.在“文件“菜单栏右侧创建“数据管理“菜单栏。 2.在“数据管理“菜单栏下创建子菜单“查询“和“数据备份“。 3.为“查询“菜单项设置快捷键:F12。 4.在菜单项“查询“和“数据备份“之间插入分组线。 5.为“数据备份“菜单项设置过程代码: d=GETFILE(“dbf“.“*.dbf“) USE (2)使“字数统计“矩形区域内的 4个文本框的值均置
4、零。 4.表单已定义了一个 Count()方法,用来对 Edit1编辑框中的文本进行字数统计。编写“统计“按钮的 Click事件代码,以实现:先调用表单的 Count()方法,然后将文本框 Text1、Text2 和 Text3的值相加后显示在文本框 Text4中。(分数:10.00)_5.程序改错(5 分) 下列程序的功能是找出 100999以内同时满足以下条件的数:个位数字与十位数字之和与 10的模等于百位数;该数是素数(仅能被 1和本身整除的数称为“素数)。例如,101、21l、239 等。要求: (1)将下列程序输入到项目中的程序文件 PCODE中,并对其中的 2条错误语句进行修改;
5、(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 CLEAR FOR i=1 To 999 yn=.T. FOR j=3 TO i-1 IF MOD(j,i)=0 yn=.F. EXIT ENDIF ENDFOR IF yn s=STR(i,3) s1=SUBS(s,3,1) s2=SUBS(s,2,1) s3=SUBS(s,1,1) IF MOD(VAL(s1)+VAL(s2)=VAL(s3) ?i ENDIF ENDIF ENDFOR(分数:5.00)_2010秋江苏二级 Visual+FoxPro上机真题 1答案解析(总分:40.00,做题时间:70 分钟)
6、一、(本试卷完成时间为 70分钟)(总题数:1,分数:0.00)1.项目、数据库和表操作(12 分) 打开 T盘根目录中的项目文件 JXGL,在该项目中已有一数据库 JXSJ。 1.在JXSJ数据库中按如下表格所示的结构创建 AB表,并按表格中的要求设置相关属性。 (1)设置 AB表的表注释:参观人数; (2)设置日期字段的默认值:当前系统日期; (3)设置日期字段的显示类:微调框; (4)设置记录有效性规则:实际参观人数小于或等于售出门票数量; (5)创建普通索引,索引名为 abcd,要求按实际参观人数与售出门票数量之比排序。 2在 AB表中输入如下记录: (分数:12.00)_正确答案:(
7、索引表达式;SJRS/SCSL 有效性规则:SJRS30,(hsrq-jyrq-30)*0.1,0.O) AS 罚款额; FROM jxsj!js iNNER JOIN jyb ON Js.gh=Jyb.dzh; WHERE EMPTY(Jyb.hsrq).T.; GROUP BY Jyb.dzh; ORDER BY 3 DESC; TO FILE temp.txt)解析:3.设计菜单(5 分) JXGL 项目中已存在菜单 MENU,其中已定义了“文件“菜单栏及其中的“退出菜单“项。按如下要求设计菜单,菜单运行后的效果如图 1所示。 1.在“文件“菜单栏右侧创建“数据管理“菜单栏。 2.在“数
8、据管理“菜单栏下创建子菜单“查询“和“数据备份“。 3.为“查询“菜单项设置快捷键:F12。 4.在菜单项“查询“和“数据备份“之间插入分组线。 5.为“数据备份“菜单项设置过程代码: d=GETFILE(“dbf“.“*.dbf“) USE (2)使“字数统计“矩形区域内的 4个文本框的值均置零。 4.表单已定义了一个 Count()方法,用来对 Edit1编辑框中的文本进行字数统计。编写“统计“按钮的 Click事件代码,以实现:先调用表单的 Count()方法,然后将文本框 Text1、Text2 和 Text3的值相加后显示在文本框 Text4中。(分数:10.00)_正确答案:( )
9、解析:5.程序改错(5 分) 下列程序的功能是找出 100999以内同时满足以下条件的数:个位数字与十位数字之和与 10的模等于百位数;该数是素数(仅能被 1和本身整除的数称为“素数)。例如,101、21l、239 等。要求: (1)将下列程序输入到项目中的程序文件 PCODE中,并对其中的 2条错误语句进行修改; (2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 CLEAR FOR i=1 To 999 yn=.T. FOR j=3 TO i-1 IF MOD(j,i)=0 yn=.F. EXIT ENDIF ENDFOR IF yn s=STR(i,3) s1=SUBS(s,3,1) s2=SUBS(s,2,1) s3=SUBS(s,1,1) IF MOD(VAL(s1)+VAL(s2)=VAL(s3) ?i ENDIF ENDIF ENDFOR(分数:5.00)_正确答案:( If Mod(j,i)=0 改为:Mod(i,j) If Mod(Val(s1)+Val(s2)=Val(s3) 改为:Val(s2),10)解析: