2005 年(春)二级Visual FoxPro (试卷代号VFP05) |
|||||||||||
江苏省高等学校非计算机专业学生 (本试卷完成时间 70分钟)
一、项目、数据库和表操作(12分) 打开软盘要目录下的项目文件TEST,在该项目中已有一数据库SJK。 1. 按如下要求修改SJK中工资(gz)表的结构: (1)为个人所得税(grsds)字段设置标题:个人所得税。 (2)设置个人所得税(grsds)字段的注释:基本工资1000元以上征税; (3)设置gz表的记录有效性(验证)规则:如果jbgz小于1000元,grsds的值为0,否则grsds的值为jbgz的5%(该规则对表中已有的数据不做验证); (4)设置gz表的记录有效性信息:个人所得税按基本工资的5%收取; (5)创建一个普通索引gzsy,要求按jbgz排列。 2. 设置test项目信息:作者为”张三”,单位为”淮海工学院”。 3. 向kc表中添加一条记录,记录内容为:
4.修改js表中简历(jl)字段的值,要求:所有xdh为”02”的记录的简历都改为”计算机系的教师”。 5.设置js表的插入触发器:gh字段的值必须为5个字节的字符串(除去首尾空格),否则不允许插入。 6.JS表中已存在主索引jsgh,索引表达式为gh;rk表已存在普通索引rkgh,索引表达式为gh。以JS表为主表、rk表为子表,按gh 建立永久关系,并设置JS表和rk表之间的参照完整性:删除级联。 二、设计查询(8分) 在TEST项目中已存在查询chaxun,且在SJK中学生(xs)表包含学号(xh)、姓名(xm)、性别(xb)、班级编号(bjbh)、系代号(xdh)和专业代号(zydh)字段,专业(zy)表含有专业代号(zydh)和专业名称()zymc)字段,按如下要求修改查询: 基于xs表和zy表查询“01”年级每个专业女生所占比例。要求输出字段为:zydh,zymc,年级,女生人数和女生所占比例,查询结果按女生所占比例从高到低排序(假定bjbh字段值的前二位表示年级)。 三、设计菜单(5分) 项目TEST中已存在菜单MenuM,利用菜单设计器按如下要求修改菜单: 1、如图所示,在“表操作”菜单栏下增加一个“删除记录”菜单项及其子菜单; 2、为“表操作”菜单栏下的“记录定位”菜单项编写过程,其功能是:打开学生(XS)表,并将记录指针定位在最后一条记录; 3、将下列代码加到菜单的适当位置,使菜单运行时最后执行它。 CLOSE TABLES ALL CLEAR 四、设计表单(10分) 软盘上TEST项目中已经存在表单FormR,该表单的功能是根据选择的系,浏览和统计教师信息,按下列要求修改该表单,修改完成后运动表单,其效果如图所示。 1、修改表单的有关属性,使得表单的标题为“教师信息浏览”; 2、修改表格控件的有关属性,使得表格数据只读,第1列和第3列中显示的数据居中: 3、列表框控件的Enabled属性为.F.,修改其有关属性,使得运行时其列表数据为蓝色; 4、为表单的lnit事件编写代码,使得表单运动后首先能显示所有教师的统计信息(提示:调用下拉组合框控件的InterActiveChange事件代码)。 5、为表单的Load事件编写代码,需要完成的功能是:设置日期格式为ANSI,且年份为4位 。 五、 程序改错(5分) 下列程序的功能是:显示10000以内所有回文数的个数及其平均值。所谓回文数是指左右数字完全对称的自然数。例如:11、121、1221等都是回文数。要求: STORE 0 TO nCount,nSum FOR n=11 to 10000 c1=STR(n) c2=SPACE(0) FOR m=1 TO LEN(c1) C2=SUBSTR(c1,m,1)+c2 ENDFOR IF c1=c2 nCount=nCount+1 nSum=nSum+c1 ENDIF ENDFOR WAIT WINDOW "回文数个数及其平均值分别为:"+STR(nCount)+","+STR(nSum/nCount) |
|||||||||||