江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
2003年(春)江苏省等级考试上机试卷

2003年(春)江苏省等级考试上机试卷

二级 Visual FoxPro (VFP04)

 

 

一、   项目、数据厍和表操作(12分)

打开软盘根目录下的项目文件TEST,  在该项目中已有一数据库SJK。

1.按如下要求修改SJK中工资(GZ)表的结构:

(1) 为住房补贴(zfbt)字段设置标题:住房补贴;

(2) 设置zfbt字段的有效性(验证)规则:它的值或者为0,或者为基本工资(jbgz)的19%;

(3) 设置zfbt字段的字段注释:1998年以后参加工作的教师才有住房补贴;

(4) 增加一个备注型字段,字段名为bz;

(5) 创建一个普通索引ghsfgz,要求先按工号(gh)字段排序,工号相同的再按实发工资(sfgz)字段排序。

2.为GZ表添加编辑说明:教师工资信息表。

3.把TEST项目中的自由表GZC的包含状态没置为“排除”。

4.修改GZC表中所有记录的实发工资(sfgz),计算实发工资的公式为:

   sfgz=yfgz(应发工资)—zfgj(住房公积金)—ylbx(医疗保险)—grsds(个人所得税)

5.为GZ表设置删除触发器:工号为空的记录允许删除,否则不允许删除。

6. SJK中JS表已存在主索引jsgh,索引表达式为gh; GZ表已存在普通索引gzgh,索引表达式为gh。以JS表为主表,GZ表为子表按gh建立永久关系,并设置JS表和GZ表之间的参照完整性:更新级联。

 

二、设计查询(8分)

TEST项目中已存在查洵chaxun,按如下要求修改该查询:

基于成绩(CJ)表和课程(KC)表查询每门课有多少学生选修、最高成绩、平均成绩。要求输出字段为:kcdh,kcm、选课人数、最高成绩、平均成绩,结果按kcdh的升序排序。

 

三、设计菜单(5分)

TEST项目中已存在菜单menu,其中已定义了“文件”菜单栏及其中的“恢复系统菜单”项。按如下要求设计菜单,完成后的运行效果如图1所示。   

1. 创建“系统”菜单栏,并为“系统”菜单设置访问键“ALT+S”;

2. 在“系统”菜单中添加“数据录入”、“数据维护”和“选项”菜单项;

3. 创建“数据录入”菜单的子菜单,其中包含“成绩”和“教师工资”菜单项;

4. 设置“选项”菜单项为废止。

5. 在“数据维护”和“选项”菜单项之间插入分组线。

图1

 

四、设计表单(10分)

TEST项目中已存在表单formK,功能是从学生表中选择部分字段进行浏览,如图2所示。当从左侧列表中选择部分或全部字段到右侧列表,单击“浏览”按纽后,表单向右侧扩展,并在表格控件中显示选定字段的记录,如图3所示。按如下要求修改表单,完成后表单刚运行时的界面如图2所示,选取部分字段单击“浏览”按扭后,界面如图3所示。

1. 设置表单的标题为“选字段浏览表”,边框类型为“固定对话框”;

2. 2. 两个列表框和四个移动列表项的按钮都包含在同一个容器控件MoverLists1中。设置左侧列表框(lstSource)的RowSourceType属性为“结构”,RowSource属性值为“xs”;

3. 在“浏览”按钮的左侧添加一个标题为“重选”的命令按钮,对象名为“cmdReset”;

4. 编写cmdReset的单击事件代码,以将表单恢复到如图2所示的初始状态,即,

①将表格设置为不可见;②将表单的宽度恢复为初始值(238);③调用MoverListsl容器中的第四个按钮cmdRemoveAll的Click事件代码,以将选在右侧列表中的字段全部移回到左侧列表中。


2  表单刚运行时       图3  运行时单击“浏览”按钮时的情形  

       

五、程序改错(5分)

下列程序的功能是对一个字符串进行加密。其基本算法是对字符串中的每一个字符进行转换,转换后的字符的ASCII码等于原字符的ASCII码值加该字符在字符串中的位置值,例如,字符串“ABC”加密后为“BDF”,其中A—B(第1个字符)、B—D(第2个字符)、C—F(第3个字符),要求:

① 项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;

② 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。

CString=’12345cz’  &&赋初值

cResult=SPACE(0)

IF LEN(CString)=0

FOR n=l T0 Cstring

c=SUBSTR(CString,n,1)

cResult=cResult十CHR(ASC(C)+1)

ENDFOR

ENDIF

WAIT WINDOWS ’加密后为’+cResult