2012秋江苏省计算机二级VFP上机真题1 |
||||||||||||||||||||||||||||
2012秋江苏省高校计算机等级考试 二级Visual Foxpro试卷 (本试卷完成时间为70分钟) 1.首先登录考生信息,然后启动VFP并在命令窗口中执行如下命令,以设置默认的工作 目录: set defa to T: 2.除非题目要求,否则不要对T盘上的文件进行重命名、复制和删除操作。 一、项目、数据库和表操作(12分) 打开T盘根目录中的项目文件JXGL,在该项目中已有一数据库JXSJ。 1.在JXSJ数据库中按下表所示的结构创建TAB.DBF表,并按表格后的要求设置相关属性。
(1)设置TAB表的注释:奥运举办历史表; ‘ (2)设置NF字段验证规则及信息:举办年份必须在1896年至2012年之间; (3)设置NO字段的默认值:表记录个数加1; (4)按N0字段创建主索引,索引名为ABCD。 1 2.在TAB表中输入如下记录:
3.根据成绩字段值修改CJB表中备注字段的数据:若成绩字段值为90—100,则备注字段中写入“优秀”;成绩字段值为80—89,则备注字段中写入“良好”;成绩字段值为60~79,则备注字段中写入“及格”;成绩字段值为0—59,则备注字段中写入“不及格”。 4.设置CJ表的更新触发器,要求课程代码为“ 5.已知JS表已存在主索引GH,索引表达式为GH;KCAP表已存在普通索引GH,索引表达式为GH。以js表为主表、KCAP表为子表,基于GH索引建立永久关系,并设置两表之间的参照完整性:插入限制。 二、设计查询(8分) 已知在JXSJ数据库的学生(XS)表中含有学号(XH)、院系专业代码(YXZYDM)等字段;学生就业(XSJY)表中含有学号(XH)、就业类型(JYLX)等字段。按如下要求修改查询CHAXUN: 基于XS表和XSJY表查询各院系专业04级(学号的前2位为“ 三、设计菜单(5分) 项目JXGL中已存在菜单MENU,利用菜单设计器按如下要求修改菜单,完成后的运行效果如图1所示。 1.为“系统管理”菜单栏设置访问键”S” 2.增加“学生成绩管理”菜单栏及其子菜单“学生成绩录入”和“学生成绩查询”,在菜单项之间设置分组线,并且设置快捷键Ctrl+I和Ctrl+Q. 3.为“学生成绩录入”菜单项设置过程:首先打开学生成绩表(CJB),然后在其中增加条空记录,并以编辑方式显示该记录。 4.为“学生成绩查询”菜单项设置命令:运行根目录下的表单文件XSCJCX.SCX。 四、设计表单(10分) 表单FRMl 1.设置表单的有关属性,使表单的标题为“代码”、图标为PC.ICO文件,并且表单无最大化和最小化按钮。 2.将表格控件设置为只读,且无水平滚动条。 3.在表格控件的左侧添加一个选项按钮组控件,并设置有关属性,使其有3个选项按钮,按钮的标题分别为“政治面貌”、“文化程度”和“民族”,选项按钮的Value属性值为“无”(即初始运行时无选项按钮选中)。 4.为选项按钮组编写InterAetiveChange事件代码,.其功能是根据选项控制表格中显示的数据。要求用三条语句实现: (1)将选项按钮的Value属性值赋给变量x; (2)根据选项(变量x的值)对DMB表进行筛选,仅显示lx为“政治面貌”、“文化程度”或“民族”的记录; (3)刷新表单。 五、程序改错(5分) 下列程序的功能是用数字1~9组成3个三位数(每个数字只能用一次),且每个三位数都是一个平方数。要求: 1.项目中有一个程序文件Pcode,将T盘中VFP01.TXT中的程序代码复制到其中并进行修改。 2.在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 1 CLEAR 2 n=0 3 FOR i=101 TO 999 &&将3位不含数字0的平方数存放在数组中 4 IF SQRT(i)=INT(SQRT(i)) AND !’ 5 n=n+1 6 DIME b(n) 7 b(n)=STR(n,3) 8 ENDIF 9 ENDFOR 10 FOR i=1 To n-2 11 FOR i=i TO n-1 12 FOR k=j TO n 14 FOR m=1 T0 9 15 IF !STR(m,1)$c 17 ENDIF 18 ENDFOR 19 IF m>9 20 ?’三个3位的平方数为:’,b(i),b(j),b(k) 21 ENDIF 22 ENDFOR 23 ENDFOR 24 ENDFOR 参考答案 一、项目、数据库和表操作 NF字段的有效性规则:NF>=“ NO字段的默认值:RECCOUNT()+1 CJ表的更新触发器:.NOT. KCDM=” 主索引表达式:NO 二、设计查询 SELECT XS.YXZYDM,SUM(IIF(ISNULL(JYLX),0,1))/CNT(*) As 就业率; FROM JXSJ!XS LEFT OUTER JOIN JXSJ!XSJY; ON XS.XH=XSJY.XH; WHERE LEFT(XS.BJBH,2)=" GROUP BY XS.YXZYDM; ORDER BY 2 三、设计菜单 学生成绩录入菜单项的过程: USE CJB APPEND BLANK EDIT 学生成绩查询菜单项的命令:DO FORM XSCJCX 五、程序改错 第7行 b(n)=str(n,3) 改为b(n)=STR(i,3) 第16行 END IF 改为EXIT
|
||||||||||||||||||||||||||||