2005年(秋)vfp上机(3) |
|
江苏省高等学校非计算机专业学生 (本试卷完成时间 70分钟)
一、项目、数据库和表操作(12分) 打开软盘根目录中的项目文件TEST,在该项目中已有一数据库SJK及若干表。 1. 按以下要求修改SJK数据库中TS表: (1) 为TS表设置编辑说明:教学图书表。 (2) 修改价格(jg)字段的宽度,要求该字段最多能存储整数3位、小数1位。 (3) 设置作者(zz)字段的标题属性,使该字段的字段名在浏览窗口中显示为“作者”。 (4) 创建一个普通索引abcd,要求以入库日期(rkrq)字段进行排序,相同时以价格(jg)字段排序。 (5) 设置价格(jg)字段的有效性规则,要求:其值不能小于1。 (6) 将分类号(flh)以G字母开头的记录彻底删除。 2、 在项目中管理器删除XIM表。 3、 将图标文件NET.ICO添加到项目中的合适位置,并修改项目TEST的项目信息:附加图标NET.ICO。 4、 XS表和CJ表已存在以学号(xh)字段为索引表达式的主索引xsxh和普通索引cjxh。以XS表为主表,CJ表为子表按xh建立永久关系,并根据以下要求设置参照完整性规则:在XS表中删除记录时,若CJ表中有相对应的记录(xh字段的值),则同时删除CJ表相应记录。 二、 设计查询(8分) 在TEST项目中已经存在查询chaxun,SJK数据库中的JSJY视图包括工号(gh)、借阅日期(jyrq)、还书日期(hsrq),SJK数据库中的教师(JS)表含有工号(gh)、姓名(xm)、系代号(xdh)。按如下要求修改查询: 基于JS表和JSJY视图查询每个系每个教师借书本数、罚款金额。要求输出字段为:Js.xdh,Js.gh,Js.xm,借书本数、罚款金额。查询结果按xdh排序,xdh相同的,按Js.gh排序。 注:每本书的借阅时限为60天,每超过一天罚款0.05元;同一本书借 三、 设计菜单(5分) 已知项目TEST中已存在菜单menu,利用菜单设计器,按如下要求修改菜单。 1、 按图1所示要求为“表操作”菜单栏下的“添加记录”菜单项增加一个子菜单(分组线); 2、 在“添加记录”菜单栏下的“课程”添加过程代码; 图 1 当执行该菜单项时,选择课程表(KC)为当前使用表(若该表未打开,则首先打开之),并在课程表中添加一条空指令。 3、 为“文件”菜单栏下插入VFP系统菜单项“另存为”。 四、 设计表单(10分) 项目管理器中已经存在表单FC。根据下列要求修改表单,设计时和运行时的效果分别如图2和图3所示。 1、 将微调框控件spnWidth的Value属性值设置为300,最大和最小值分别设置为600和200。 2、 创建表单集,并在表单集中填假第二个表单Form2; 3、 为表单集添加新的方法程序:SetSize,并编写方法程序代码,要求能奖第二个表单Form2的宽度和高度设置为第一个表单Form1中微调框控件spnWidth和spnHeight的值; 4、 编写spnWidth控件和spnHeigh控件的InterActiveChange事件代码,在代码中调用表单集的SetSize方法: 图2 设计时 五、 程序改错题(5分) 下列程序的功能是找出两个正正数的最大公约数。可以用辗转相除发来求最大公约数。例如27核,先用27除以6,余数为3,由于余数不为0,再奖6作为被除数,3作为除数,得到余数为0,则3就是27和6的最大公约数。要求: (1) 项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改; (2) 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目 CLEAR m=27 n=6 IF m t=m m=n n=t ENDIF r=MOD(m,n) DO WHILE r=0 m=n n=r r=MOD(m,n) ENDDO WAIT WINDOWS '最大公约数为'+STR(r)
|
|