2003年(春)江苏省等级考试上机试卷 |
2003年(春)江苏省等级考试上机试卷 二级 Visual FoxPro (VFP01) 一、项目、数据库和表操作(12分) 打开软盘根目录下的项目文件TEST,在该项目中已有一数据库SJK。 1.按如下要求修改SJK中课程(KC)表的结构: (1) 设置课时数(kss)字段的标题:课时数; (2) 设置学分(xf)字段的有效性(验证)规则:大于等于1并且小于等于6; (3) 设置必修课(bxk)字段的默认值: .T. ; (4) 增加一个备注型字段,字段名为bz; (5(5) 创建一个普通索引ksskcdh,要求先按kss字段排序,kss相同的再按课程代号(Kcdh)字段排序。 2.为SJK中的ZY表添加编辑说明:专业代码表 3.项目TEST中存在自由表GZC,假定个人所得税的计算方法是:应发工资(yfgz)小于等于1000不交税;应发工资大于1000的部分,税率为10%。请按上述方法来修改GZC表中所有教授的个人所得税(grsds)字段的值。 4.3. 已知数字“0”的ASCII码为48,“9”的ASCII码为57,为XS表设置插入触发器:学号必须以数字开头,否则不允许插入。 4.4. SJK中表ZY已存在主索引zydh,索引表达式为zydh,XS表已存在普通索引zydh,索引表达式为zydh,以ZY表为主表,XS表为子表按zydh建立永久关系,并设置ZY表和XS表之间的参照完整性:更新级联。 二、设计查询(8分) 在TEST项目中已存在查询chaxun,且在SJK中包含一个名为XSST的视图,该视图中包含学生的性别(xb),所在的系代号(xdh)、系名称(ximing),专业代号(zydh),另外在SJK的专业(ZY)表中含有专业名称(zymc)字段。按如下要求修改查询: 基于XSST视图和专业(ZY)表查询每个系各专业男、女生的人数。要求输出字段为:xdh、ximing,zydh,zymc,xb,学生人数,查询结果按xdh的升序排序,如果xdh相同,则按zydh的升序排序。 三、设计菜单(5分) TEST项目中已存在菜单menu,其中已定义了“文件”菜单栏及其中的“恢复系统菜单”项。按如下要求设计菜单,完成后的运行效果如图所示。 1.创建“成绩管理”菜单栏,并设置热键“ALT+M”; 2 2. 在“成绩管理”菜单中创建子菜单“成绩输入”、“成绩统计”和“浏览成绩表”; 3. 3. 创建“成绩统计”菜单的子菜单,其中包含“按课程”和“按学生”菜单项; 4. 在“成绩统计”和“浏览成绩表”菜单项之间插入分组线; 5. 设置“浏览成绩表”菜单项的废止条件为: .NOT.USED("CJ")。 四、设计表单(10分) TEST项目中已存在表单formL,用来浏览学生基本情况。表单中包含一个页框和一组记录导航命令按钮,页框中只有一个页面,其中文本框的数据源来自学生视图“xsview”,按如下要求修改表单,完成后运行表单的界面如左图所示,选择第二页时界面如右图所示。 1. 设置表单的有关属性,使表单在运行时始终处于其它窗口之上; 2. 设置命令按钮组cmgNav的边框样式为“无”; 3. 在页框Pgf中增加一个页面Page2,设置Page2的标题为“记录列表”: 4.在Page2中添加一个表格控件Gridl,设置Gridl的记录源类型为“别名”,记录源为“xsview”;
五、程序改错(5分) 下列程序的功能用于计算数列1/1!,l/2!,1/4!,1/4!,……,1/n!:之和(注:n!=1*2*3*4....*n),当某一数列项的值小于0.0l时停止计算。要求: ① 项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改; ② 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 SET DECI TO 2 n=l nM=l nSum=O D0 WHILE .T. nM = nM / n IF nM<0.01 LOOP endif nSum=nSum+ nM nM= nM +1 ENDDO WAIT WINDOWS ’该数列之和为’+STR(nSum,10,2) |