2003年(春)Visual FoxPro 江苏省等级考试上机试卷 |
2003年(春)江苏省等级考试上机试卷 二级 Visual FoxPro (VFP03) 一、项目、数据库和表操作(12分) 打开软盘根目录下的项目文件TEST, 在该项目中已有一数据库SJK。 1.按如下要求修改SJK中工资(GZ)表的结构: (1) 设置住房公积金(zfgj)字段的标题:住房公积金; (2 (2) 设置GZ表的有效性(验证)规则:zfgj的值是基本工资(jbgz)的80%,该规则对表中已有的数据不作对照; (3) 设置GZ的记录有效性(验证)信息:住房公积金按基本工资的8%提取; (4) 设置zfgj字段的默认值:jbgz的8%; (5) 按zfgj创建一个普通索引,索引名zfgj,要求按zfgj降序排序。 2.把软盘根目录中的表文件GZB.DBF添加为TEST项目中的自由表。 3. 对项目TEST中的自由表GZC进行数据调整,调整办法是:1990年(含1990年)以前参加工作的副教授的岗位津贴(gw)增加100元。 4.为RK表设置插入触发器:工号为T开头的记录不允许插入。 6.SJK中KC表已存在主索引kcdh,索引表达式为kcdh:RK表已存在普通索引kcdh,索引表达式为kcdh。以KC表为主表,RK表为子表按kcdh建立永久关系,并设置KC表和RK表之间的参照完整性:更新限制。 二、设计查询(8分) 在TEST项目中已存在查询chaxun,且在SJK中包含一个名为RKVIEW的视图,该视图中包含教师的任课情况,其中有教师任课的专业代号(zydh)、专业名称(zymc)、教师所上课的课程代号(kcdh)、课程名称(kcm)等字段。按如下要求修改查询: 基于RKVIEW视图和教师(JS)表查询工号为‘A0001’的教师上了哪些课程.要求输出字段为:gh、xm、xb,kcdh、kcm,查询结果按gh的升序排序,gh相同的按kcdh的升序排序。 三、设计菜单(5分) TEST项目中已存在菜单menu,其中已定义了“文件”菜单栏及其中的“恢复系统菜单”项。按如下要求设计菜单,完成后的运行效果如下图所示。 1. 创建“成绩管理”菜单栏,并为“成绩管理”菜单设置访问键“ALT+M”; 2. 为“成绩管理”菜单创建子菜单“课程维护”和“统计”; 3.创建“统计”菜单的子菜单,其中包含“各课成绩”和“学生总分”菜单项; 4.设置“课程维护”菜单的命令为:DO FORM KC.SCX; 5.设置“课程维护”菜单项的废止条件为:.NOT.FILE("KC.SCX") 四、设计表单(10分) TEST项目中已存在表单formN,是一个未完成的图片浏览器程宁。按如下要求修改表单,完成后的运行效果如图2所示。 1. 在表单空白处添加一宽度和高度 分别为303和175的图象控件,名为Imagel; 2. 将文本框设置为废止; 3. 3. 选项按钮组opg是用来控制图象的伸缩模式(Stretch)的,在选项按钮组opg中增加一个选项按钮,并将增加的按钮的标题设置为“变比填充”; 4. 4. 在表单Refresh方法代码中已包含三行代码,功能是根据图片的大小调整表单窗口的大小,现根据如下要求完善代码:① 使用IF结构语句来控制这三行代码的执行,执行的条件是图象控件的Stretch 属性值为0;② 让文本框Textl动态显示图象控件的Picture属性值。 图2
五、程序改错(5分) 下列程序的功能是将一个字符串中的各个单词的首字母组成其缩写形式(大写字母),其中,字符串由多个英文单词组成,且各单词之间用一个空格分隔。其基本算法是:从字符串中的单词中取其第一个字母,然后去掉该单词,如此重复直到字符串长变为0。例如,对于字符串“central processing unit”,生成其缩写形式“CPU”。要求: ① 项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改; ② 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 cString=’Central proceSSing unit’ &&赋初值 cString=ALLTRIMtUPPER(cString)) cResult=SPACE(0) IF LEN(CString)=0 DO WHILE LEN(cString)>0 CResult=cReSUlt+LEFT(CStrlng) n=AT(SPACE(1),cString) cString=ALLTRIM(SUBSTR(cString,n)) END ENDIF WAIT WINDOWS’缩写形式为’+cResult |