VFP08q上机试卷前两套答案

更新时间:2023-09-18 18:54:01 阅读量: 幼儿教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

08年秋VFP01

一、

项目、数据库和表操作

打开T盘根目录中的项目文件JXGL,在该项目中已有一数据库JXSJ。

1、按下列要求在数据库JXSJ中新建一个表名为AB的数据库表。 (1) 按下表所示创建AB表的表结构(包括字段的标题属性):

字段名 标题 类型 宽度 小数位数 FLH 分类号 C 10 TSMC 图书名称 C 20 JG 价格 N 5 1 YZ 印张 N 5 2 (2) 设置FLH的字段格式:删除字段输入前导空格。 (3) 为表设置记录有效性规则:JG小于印张数的1.5倍。

(4) 以FLH的前三位为表达式,为表创建唯一索引,索引名为abcd。 2、在项目中,将JS表设置为“包含”状态。

3、为课程安排(KCAP)表增加一个主讲教师字段(字段名为ZJJS,类型为字符型,宽度为20),并设置有效性规则:不能为空(即必须含有非空格字符),此规则对现有数据不对照。 4、已知院系专业(YXZY)表和学生(XS)表存在相同的院系专业代码(YXZYDM)字段,以YXZY表为主表,XS表为子表,按YXZYDM建立永久关系,并设置YXZY表和XS表之间的参照完整性:删除级联。

二、 设计查询

已知教师(JS)表存储了每名教师的基本信息,其中含有文化程度代码(WHCD,C)、出生日期(CSRQ,D)等字段,视图WHCD为文化程度代码与名称对照表,含文化程度代码(DM,C)和文化程度名称(MC,C)字段。按如下要求修改JXGL项目中的查询CHAXUN:

基于JS表和WHCD视图,统计各类文化程度的人数和平均年龄。要求:输出文化程度名称、人数和平均年龄(字段名依次分别为MC、RS和PJNL),查询结果按人数降序排列,人数相同时按平均年龄升序排列。(注:教师的年龄为当前日期的年份减去出生日期的年份)。 三、 设计菜单

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

1、 在“系统管理”菜单栏中插入VFP系统菜单“退出”,并为其设置快捷键CLTRL+T; 2、 创建“教师管理”菜单栏,其访问键为T,并创建子菜单“浏览”和“统计”,分组线如图1所示;

3、 为“统计”菜单项设置SELECT-SQL命令,其功能是统计并显示JS表中各类职称(字段名为ZC)的人数,输出字段名为ZC、RS。

Select zc, count(*) as rs from js group by 1 四、 设计表单

表单F081A用于对KC表进行插入、删除等操作。按下列要求修改后表单运行时如图2所示。 1、 修改表单的有关属性,使表单的标题为“数据维护”,图标为PC.ICO文件。

2、 首先将KC表添加到数据环境中,然后从数据环境中将KC表拖到表单上以生成一个表格控件,并设置该表格的有关属性,使得表格无删除标记列、无水平滚动条。

3、 添加一个命令按钮组,按图2所示为命令按钮组设置有关属性,并编写Click事件代码,其功能是:首先将命令按钮组当前的Value属性值赋给变量n,然后调用表单的新方法XXX。 N=this.value Thisform.xxx 五、程序改错

下列程序的功能是:第一个循环随机生成10个大写英文字母,并且存放到数据组C中,第二个循环将数组C中10个元素排序(从小到大)。要求:

(1) 将下列程序输入到项目的程序文件PCODE中,并对其中的2条错误语句进行修改; (2) 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 CLEAR n=10

DIMENSION c(n) FOR i=1 TO n

c(i)=CHR(65+INT(RAND()*26)) ENDFOR FOR j=2 TO n m=c(j)

FOR t=1 TO j-1 IF m

FOR k=j TO t+1 STEP -1 c(k)=c(k+1) ENDFOR c(t)=m EXIT ENDIF ENDFOR ENDDO

DISPLAY MEMO LIKE C*

08年秋VFP02

一、项目、数据库和表操作

打开T盘根目录中的项目文件JXGL,在该项目中已有一数据库JXSJ。

1、将DMB表中LX字段值为“民族”的记录复制到AB表(注:可使用COPY TO … FOR …命

令),并添加到JXSJ数据库。在此基础上,根据下列要求修改AB表: (1) 修改AB表的表结构:删除LX字段;

(2) 设置AB表的DM字段的标题属性:民族代码;

(3) 设置MC字段格式,使得在该字段中输入数据时自动删除其前导空格;

(4) 为AB表创建一个主索引abcd,要求民族代码(字段名为DM)不能重复录入。 2、为教材(JC)表设置编辑说明(即表注释):教材信息表。

3、为JS表增加一个备注字段(字段名为BZ,类型为备注型)并为它赋值:如果年龄小于或等于

35,则BZ字段的值为“青年教师”。(注:年龄为当前系统日期的年份减去出生日期(CSRQ字段)的年份。) 4、已知民族(AB)表和学生(XS)表存在相同的民族代码字段(但字段名分别为DM和MZDM),

以AB表为主表,XS表为子表,以MZDM为表达式为XS表创建普通索引MZDM,按民族代码建立永久关系,并设置AB表和XS表之间的参照完整性:更新限制。 二、设计查询

已知教师(JS)表存储了每名教师的基本信息,其中含性别(XB,C)、文化程度代码(WHCD,C)、出生日期(CSRQ,D)等字段,视图WHCD为文化程度代码与名称对照表,含文化程度代码(DM,C)和文化程度名称(MC,C)字段。按如下要求修改JXGL项目中的查询CHAXUN:

基于JS表和WHCD视图,根据文化程度和性别分组统计年龄小于或等于45岁的教师人数。要求:输出文化程度名称、性别和人数(字段名依次分别为MC、XB、RS),查询结果按文化程度名称排序,文化程度相同时按性别排序。(注:教师的年龄为当前日期的年份减去出生日期的年份) 三、设计菜单

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

图1

1、在“系统管理”菜单栏中插入VFP系统菜单“页面设置”,并为其设置快捷键CTRL+G; 2、创建“教师管理”菜单栏,其访问键为J,并创建其子菜单“浏览”、“统计”和“打印”,分组线如图所示; 3、为“统计”菜单项设置提示信息“统计男女教师人数”。并

设置SELECT-SQL命令,其功能是统计并显示JS表中男女教师的人数,输出字段的字段名为XB、RS。

Select xb, count(*) as rs from js group by 1 四、设计表单

表单F081A用于对CJ表数据浏览。按下列要求修改表单,修改后表单运行时如图2所示。 1、修改表单的有关属性,使表单的标题为“数据浏览”,背景色为淡蓝色(RGB参数是(0,255,255)),

表单运行时自动居中。 Caption:数据浏览

Backcolor: =rgb(0,255,255)

2.首先将CJ表添加到数据环境中,然后从数据环境中将CJ表拖到表单上以产生一个表格控件,并设置该表格的有关属性,使得表格无删除标记列、不显示水平线。 Deletemark:.f. Scrollbars:2

2、添加标签控件和一个命令按钮组控件,并按图2所示命令按钮组设置有关属性。

图2

命令按扭组利用生成器做

3、为命令按钮组编写Click事件代码,要求:首先将表单新方法YYY程序代码复制过来,然后

在末尾添加一条命令,使标签控件显示被选中记录的学号(XH)。

先复制后在末尾添加: thisform.label1.caption=xh 五、程序改错

下列程序的功能是:第一个循环随机生成20个大写英文字母,并且存放到数组C中,第二个循环将数组C中20个元素排序(从小到大)。要求:

(1) 将下列程序输入到项目的程序文件PCODE中,并对其中的2条错误语句进行修改; (2) 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 CLEAR n=20

DIMENSION c(n)

FOR i=1 TO n &&第一个循环

c(i)=CHR(65+INT(RAND()*26)) ENDFOR Lcontinue=.F.

FOR i=1 TO n-1 STEP 1

FOR j=n TO i+1 STEP 1 IF c(j)< c(j-1) m=c(j-1) c(j-1)=c(j) c(j)=m

Lcontinue=.F.

ENDIF ENDFOR

IF Lcontinue=.F. EXIT ENDIF ENDFOR

DISPLAY MEMO LIKE C*

08年秋VFP03

一、项目、数据库和表操作

打开T盘根目录中的项目文件JXGL,在该项目中已有一数据库JXSJ。

1、DMB表中LX字段值为“文化程度”的记录复制到AB表(注:可使用COPY TO … FOR …命令),并将AB表添加到JXSJ数据库。在此基础上,根据下列要求修改AB表:

(2) 将AB表的DM字段名修改为WHCD;

(3) 设置AB表的WHCD字段的标题属性:文化程度;

(4) 设置MC字段格式,使得在该字段中输入数据时自动删除其前导空格; (5) 创建一个主索引abcd,要求WHCD字段值不能重复录入。 2、为文化程度(AB)表设置编辑说明(即表注释):文化程度信息表。

3、为JS表增加一个备注字段(字段名为BZ,类型为备注型)并为它赋值:如果年龄大于或等于55,则BZ字段的值为“老教师”。(注:年龄为当前系统日期的年份减去出生日期(CSRQ字段)的年份。)

4、已知文化程度(AB)表和教师(JS)表存在相同的文化程度字段(WHCD)。以WHCD为表达式,为JS表创建普通索引WHCD,以AB表为主表,JS表为子表,按文化程度代码建立永久关系,并且设置AB表和JS表之间的参照完整性:更新级联。 二、设计查询

已知教师(JS)表存储了每名教师的基本信息,其中含院系专业代码(YXZYDM,C)、职称(ZC,C)等字段,院系专业(YXZY)表为院系专业代码与院系专业名称对照表,含院系专业代码(YXZYDM,C)、院系名称(YXMC,C)等字段。按如下要求修改JXGL项目中的查询CHAXUN:

基于JS表和YXZY表统计各院系人数及职称为教授的人数。要求:输出院系名称、人数和教授人数(字段名依次分别为YXMC、RS和JSRS),且仅输出教授人数占院系人数的比例大于或等于20%的记录,查询结果按教授人数降序排序。 三、设计菜单

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

图1

1、在“系统管理”菜单栏中插入VFP系统菜单项“页面设置”,并将其访问键修改为P; 2、创建“教师管理”菜单栏,其访问键为T,并创建其子菜单“检索”、“统计”和“打印”,分组线如图所示;

3、为“打印”菜单项设置快捷键CTRL+P,为“统计”菜单项设置提示信息“统计教师人数”,并为“统计”菜单项设置命令,其功能是运行查询文件CHAXUN.QPR。

Do chaxun.qpr 四、设计表单

表单F081B用于浏览表数据。按下列要求修改表单,修改后表单运行时如图2所示。 1、修

改表单的有关属性,使其运行时自动居中。

2、将XS、CJ、JS、KC表添加到数据环境中。

3、在表单上添加一个选项按钮组和一个标签控件。 4、将表格下方左边的命令按钮换为标签控件。

5、使用生成器按图2所示修改选项按钮组的有关属性。 6、将选项按钮组的Value属性设置为“A”,并编写其Click事件代码,要求:第1条命令为

c=THIS.VALUE;第2条命令的功能是将表格数据源属性设置为C;第3条命令按图2所示设置标签控件的标题属性,显示被选中表的表名和“表浏览”信息。 c=THIS.VALUE

thisform.grid1.recordsource=c

thisform.label1.caption=this.value+\表浏览\ 图2 五、程序改错

下列程序的功能是:比较两个字符串的差异,并将差异的位置显示出来。例如:C1=”AbCDEFGHTP”,C2=”ABCDETG大P”,则比较以后显示位置差异:2,6,8,9。要求: (1) 将下列程序输入到项目的程序文件PCODE中,并对其中的2条错误语句进行修改; (2) 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 CLEAR

c1=”Visual FoxPro系统” c2=”visual foxpro数据库” n=MAX(LEN(c1),LEN(c2)) FOR i=1 TO n

Str1=SUBSTR(c1,i,1)

Str2=SUBSTR(c2,i,1) IF Str1== Str2

IF CHR(‘Str1’)>127 ??i,i+1 ENDIF ??i ENDIF ENDIF ENDFOR 08年秋VFP04

一、项目、数据库和表操作

打开T盘根目录中的项目文件JXGL,在该项目中已有一数据库JXSJ。 1、按下列要求在数据库JXSJ中新建一个表名为AB的数据库表。 (1) 按下表所示创建AB表的表结构(包括字段的标题属性):

字段名 标题 类型 宽度 小数位数 BH 编号 N 4 XM 姓名 C 20 BMRQ 报名日期 D KSRQ 考试日期 D (2) 为表设置记录有效性规则:要求先报名、后考试; (3) 为BH字段设置默认值:为当前记录号;

(4) 创建一个普通索引abcd,要求按BMRQ字段排序,BMRQ相同时按BH字段排序。

2、为学生(XS)表设置插入触发器:班级编号(BJBH字段)的前二位必须为入学年份(来源于

入学日期(RXRQ)字段。例如,2008年入学的学生BJBH必须以“08”开头)。 3、为学生(XS)表增加一个是否转专业字段(字段名为ZZY,类型为逻辑型),并为其赋值:如

果院系专业代码(YXZYDM字段)的前四位与学号(XH字段)中第3~6位不一致,则ZZY字段的值设置为.T.。

4、已知课程(KC)表和课程安排(KCAP)表存在相同的课程代码字段,以KC表为主表,KCAP

表为子表,按KCDM建立永久关系,并设置KC表和KCAP表之间的参照完整性:更新级联、删除限制。 二、设计查询

已知教师(JS)表存储了每名教师的基本信息,其中含院系专业代码(YXZYDM,C)、性别(XB,C)等字段,院系专业(YXZY)表为院系专业代码与院系专业名称对照表,含院系专业代码(YXZYDM,C)、院系名称(YXMC,C)等字段。按如下要求修改JXGL姓名中的查询CHAXUN:

基于JS表和YXZY表统计各院系人数及男教师人数。要求:输出院系名称、人数和男教师人数(字段名依次分别为YXMC、RS和NANRS),且查询结果按男教师人数降序排列,输出去向为文本文件TEMP.TXT。 三、设计菜单

JXGL项目中已存在菜单MENU,已定义了“系统管理”菜单栏及其中的“恢复系统菜单”

菜单项。按如下要求设计菜单,完成后的运行效果如图1所示。 1、在“系统管理”菜单栏中插入VFP系统菜单“导出”,并为其设置逃过条件:当前工作区中无表打开时,该菜单跳过,即菜单项不可用(提示:使用ALIAS()函数可以测试当前工作区中有无

表打开);

2、创建“教师管理”菜单栏,其访问键为T,并创建其子菜单“录入”、“编辑”、“浏览”和“打印预览”,分组线如图1所示; 3、“打印预览”菜单项设置命令,其功能是预览报表文件RTEST。 四、设计表单

表单F081B用于口令输入。按下列要求修改表单,修改后表单运行时如图所示。

1、将左边命令按钮的标题设置为“确定”,且2个命

令按钮的TOP属性均设置为82.

2、修改表单的有关属性,使其运行时自动居中,高

度为120,宽度为280.

3、在表单上添加一个标签控件和一个文本框控件,

并按图2所示设置标签和文本框控件的有关属性(文本框的“占位符”属性为“*”)。

4、编写“确定”命令按钮的Click事件代码,其功能是使用IF…ELSE…ENDIF结构实现:若文

本框的Value值等于”ABC”,则利用MESSAGEBOX()函数显示“OK!”,否则显示“口令不正确!”。 五、程序改错

下列程序的功能是:将二进制数字字符串转换成十进制数字字符串(转化结果小数点后保持3位)。其基本算法是:将每一位二进制数字乘以其相应的权,并将乘积相加。二进制数字的权为:以小数点为界,整数部分从右向左依次为20、21、22、……;小数部分从左向右依次为2-1、2-2、2-3……。要求:(1)将下列程序输入到项目的程序文件PCODE中,并对其中的2条错误语句进行修改;(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 CLEAR

cstr=”1000.111” n=AT(‘.’, cstr)

cstr=IIF(n=0, cstr+’.’, cstr) c1=SUBSTR(cstr,1,n-1) c2=SUBSTR(cstr,n+1) m1=0 m2=0 m=0

FOR i=1 TO LEN(c1)

m1=m1+VAL(LEFT(RIGHT(c1,i),1))*2**(i-1) ENDFOR

FOR j=1 TO LEN(c2)

m2=m2+VAL(SUBSTR(c2,j,1))*2**(j) ENDFOR m=m1+m2

?’二进制数’+ cstr+’十进制表示为:’+VAL(m,10,3) 08年秋VFP05

一、项目、数据库和表操作

打开T盘根目录中的项目文件JXGL,在该项目中已有一数据库JXSJ。 1、按下列要求在数据库JXSJ中新建一个表名为AB的数据库表。 (1) 按下表所示创建AB表的表结构(包括字段的标题属性):

字段名 标题 类型 宽度 小数位数 ZKZH 准考证号 C 16 YSWZF 语数外总分 N 3 XK1 选课1 C 1 XK2 选课2 C 1 (2) 为字段XK1设置有效性规则:XK1取值在’A’~”C”之间; (3) 为AB表设置更新触发器:禁止更新;

(4) 创建一个普通索引abcd,要求按YSWZF字段排序,YSWZF相同时按ZKZH字段排序。 2、为教材(JC)表设置插入触发器:国际标准图书编号(ISBN字段)必须以”IS”开头,否则不允

许插入。

3、为学生(XS)表增加一政治情况字段(字段名为ZZQK,类型为C型,宽度为26),并为其

赋值:如果政治面貌代码(ZZMMDM字段)的值为“03”,则ZZQK字段的值为“共青团员”。 4、已知课程(KC)表和教材(JC)表存在相同的课程代码(KCDM)字段,以KC表为主表,

JC表为子表,按KCDM建立永久关系,并设置KC表和JC表之间的参照完整性:删除级联、插入限制。 二、设计查询

已知教师(JS)表存储了每名教师的基本信息,其中包含姓名(XM,C)、性别(XB,C)等字段。教师姓名最多可以为6个汉字,且假设姓名所用汉字均为双字节编码。按如下要求修改JXGL项目中的查询CHAXUN:

基于JS表按性别和姓名中汉字个数统计人数。要求:输出性别、姓名所用汉字个数和人数(字段名依次分别为XB、ZS和RS),且查询结果按性别降序排列,性别相同时按人数降序排列,输出去向屏幕(即主窗口)。(注:可用STRTRAN(XM,SPACE(1),SPACE(0))将XM字段值中的空格去除。) 三、设计菜单

JXGL项目中已存在菜单MENU,已定义了“系统管理”菜单栏及其中的“恢复系统菜单”

菜单项。按如下要求设计菜单,完成后的运行效果如图1所示。

图1

1、在“系统管理”菜单栏中插入VFP系统菜单“Microsoft主页”,并为其设置快捷键CTRL+M,将其访问键修改为菜单名的第一个字母M,如图1所示;

2、创建“教师信息”菜单栏,其访问键为J,其子菜单为“档案”、“工资”,并为“档案”菜单项创建子菜单“浏览”和“统计”,分组线如图1所示;

3、为“统计”菜单项设置过程,其功能是首先清除屏幕,然后运行查询文件CHAXUN。 四、设计表单

表单F081C用于输入表名能浏览表数据。按下列要求修改表单,修改后表单运行时如图2所示。 1、修改表单的有关属性,使其运行时自动居中,且最大化、最小化按钮不可用,标题为“输入表

名浏览表”。

2、将标签控件的字号设置为10;

完善文本框控件的Valid事件代码,其功能是使用IF…ELSE…ENDIF结构实现:若输入的文件不

存在,则利用MESSAGEBOX()函数显示“文件不存在!”,否则将X作为表格的数据源,并且设

置表格控件宽度为400。

五、程序改错

下列程序的功能是:统计一个字符串中有多少个不同的字符及汉字,以及每个字符或汉字出现的次数。要求:

(1) 将下列程序输入到项目的程序文件PCODE中,并对其中的2条错误语句进行修改; (2) 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 CLEAR

cStr=’数据库管理系统(DBMS)’ DO WHILE LEN(cStr)>0

nlen1=Len((cStr)) x=ASC(LEFT(cStr,1)) IF x>127

cStr1=LEFT(cStr,2) ELSE

cStr1=LEFT(cStr,1) ENDIF

cStr=STRTRAN(cStr, cStr1,SPACE(0)) nlen2=LEN(cStr1) IF x>127

本文来源:https://www.bwwdw.com/article/zk8h.html

Top