VFP秋上机试题.docx

上传人:b****1 文档编号:1582945 上传时间:2023-05-01 格式:DOCX 页数:16 大小:108.89KB
下载 相关 举报
VFP秋上机试题.docx_第1页
第1页 / 共16页
VFP秋上机试题.docx_第2页
第2页 / 共16页
VFP秋上机试题.docx_第3页
第3页 / 共16页
VFP秋上机试题.docx_第4页
第4页 / 共16页
VFP秋上机试题.docx_第5页
第5页 / 共16页
VFP秋上机试题.docx_第6页
第6页 / 共16页
VFP秋上机试题.docx_第7页
第7页 / 共16页
VFP秋上机试题.docx_第8页
第8页 / 共16页
VFP秋上机试题.docx_第9页
第9页 / 共16页
VFP秋上机试题.docx_第10页
第10页 / 共16页
VFP秋上机试题.docx_第11页
第11页 / 共16页
VFP秋上机试题.docx_第12页
第12页 / 共16页
VFP秋上机试题.docx_第13页
第13页 / 共16页
VFP秋上机试题.docx_第14页
第14页 / 共16页
VFP秋上机试题.docx_第15页
第15页 / 共16页
VFP秋上机试题.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

VFP秋上机试题.docx

《VFP秋上机试题.docx》由会员分享,可在线阅读,更多相关《VFP秋上机试题.docx(16页珍藏版)》请在冰点文库上搜索。

VFP秋上机试题.docx

VFP秋上机试题

上机部分

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

练习1

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

1.在JXSJ数据库中按如下表格所示的结构创建AB表,并表格中的要求设置相关属性。

字段名

数据类型

宽度

字段标题

RQ

D

日期

SCSL

N

6

售出门票数量

SJRS

N

6

实际参观人数

BZ

M

备注

(1)设置AB表的表注释:

参观人数;

(2)设置日期字段的默认值:

当前系统日期;

(3)设置日期字段的显示类:

微调框;

(4)设置记录有效性规则:

实际参观人数小于或等于售出门票数量;

(5)创建普通索引:

索引名为abcd,要求按实际参观人数与售出门票数量之比排序;

2.在AB表中输入如下记录:

RQ

SCSL

SJRS

BZ

(默认值)

240100

198808

全天下雨

3.给KC表中所有学分大于或等于5的记录加删除标记。

4.JS表已存在主索引GH,索引表达式为GH,KCAP表已存在普通索引GH,索引表达式为GH,以JS表为主表,KCAP表为子表并按GH建立永久关系,并设置两表之间的参照完整性:

更新级联、删除级联。

练习2

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

1.在JXSJ数据库中按如下表格所示的结构创建AB表,并表格中的要求设置相关属性。

字段名

数据类型

宽度

字段标题

RQ

D

日期

QCPH

C

8

汽车牌号

DD

C

20

地点

TP

G

图片

(1)设置AB表的表注释:

汽车违停记录;

(2)设置日期字段的默认值:

当前系统日期减1;

(3)设置日期字段的显示类:

列表框;

(4)设置记录有效性规则:

不能为空;

(5)创建普通索引:

索引名为abcd,要求按地点排序,相同时根据汽车牌号排序;

2.在AB表中输入如下记录:

RQ

QCPH

DD

(默认值)

苏A88888

世纪广场

3.修改JC表数据:

所有记录的单价字段的值取整。

4.JS表已存在主索引GH,索引表达式为GH,KCAP表已存在普通索引GH,索引表达式为GH,以JS表为主表,KCAP表为子表并按GH建立永久关系,并设置两表之间的参照完整性:

更新限制、插入限制。

练习3

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

1.在JXSJ数据库中按如下表格所示的结构创建AB表,并表格中的要求设置相关属性。

字段名

数据类型

宽度

字段标题

RQ

D

日期

DW

C

20

报销单位

XM

C

20

开支项目

JE

N

6(小数1位)

金额

(1)设置AB表的表注释:

账目登记;

(2)设置日期字段的默认值:

系统当前日期;

(3)设置日期字段的显示类:

列表框;

(4)设置记录有效性规则:

不能为星期六和星期日(提示:

使用DOW()函数);

(5)创建普通索引:

索引名为abcd,要求按报销单位排序,相同时根据日期排序;

2.在AB表中输入如下记录:

RQ

DW

XM

JE

(系统当前日期)

数学系

机动费

2345.6

3.将DMB表中类型(LX)为“文化程度”的记录复制到新的表中(表名为WHCDB)。

4.XS表已存在主索引XH,索引表达式为XH,CJ表已存在普通索引XH,索引表达式为XH,以XS表为主表,CJ表为子表并按XH建立永久关系,并设置两表之间的参照完整性:

更新限制、插入限制、删除级联。

练习4

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

1.在JXSJ数据库中按如下表格所示的结构创建AB表,并表格中的要求设置相关属性。

字段名

数据类型

宽度

字段标题

RQ

D

日期

DD

C

20

地点

QCPH

C

8

汽车牌号

CS

N

3

图片

(1)设置AB表的表注释:

汽车超速记录;

(2)设置日期字段的默认值:

当前系统日期;

(3)设置日期字段的显示类:

列表框;

(4)设置记录有效性规则:

大于120或小于60;

(5)创建普通索引:

索引名为abcd,要求按地点排序,相同时根据车速排序;

2.在AB表中输入如下记录:

RQ

DD

QCPH

CS

(默认值)

沪宁高速镇江段

苏A88888

142

3.修改JC表数据:

所有记录的单价字段的值增加10%。

4.JS表已存在主索引GH,索引表达式为GH,KCAP表已存在普通索引GH,索引表达式为GH,以JS表为主表,KCAP表为子表并按GH建立永久关系,并设置两表之间的参照完整性:

更新级联、插入限制。

练习5

练习6

练习7

二、设计查询(8分)

在TEST项目中已经存在查询chaxun

练习1

已知教师表(JS)含有工号(gh,C)、姓名(xm,C)等字段;自由表图书借阅表(JYB)含有读者号(dzh,C)、分类号(flh,C)、借阅日期(jyrq,D)、还书日期(hsrq,D)等字段,教师的读者号与工号相同。

按如下要求修改JXGL项目中的查询CHAXUN:

基于JS表和JYB表查询教师借书情况,计算过期罚款信息。

要求:

查询输出字段为dzh、xm、罚款额;查询结果按罚款额降序排序;输出去向为文本文件TEMP。

注:

罚款计算方法为30天以上超过部分每本每天0.10元,未还书者(即还书日期为空的记录)不统计。

练习2

已知学生表(XS)含有工号(xh,C)、姓名(xm,C)等字段;自由表图书借阅表(JYB)含有读者号(dzh,C)、分类号(flh,C)、借阅日期(jyrq,D)、还书日期(hsrq,D)等字段,学生的读者号与学号相同。

按如下要求修改JXGL项目中的查询CHAXUN:

基于XS表和JYB表查询学生借书情况,计算过期罚款信息。

要求:

查询输出字段为dzh、xm、罚款额;查询结果按罚款额降序排序;输出去向为文本文件TEMP.TXT。

注:

罚款计算方法为30天以上超过部分每本每天0.05元,未还书者(即还书日期为空的记录)不统计。

练习3

已知教师表(JS)含有工号(gh,C)、院系专业代码(yxzydm,C)等字段;自由表工资表(GZB)含有工号(gh,C)、基本工资(jbgz,N)、岗位津贴(gwjt,N)、综合津贴(zhjt,N)、住房补贴(zfbt,N)等字段。

按如下要求修改JXGL项目中的查询CHAXUN:

基于JS表和GZB表查询各院系专业教师人数和应发工资总额。

要求:

查询输出字段为yxzydm、人数、应发工资总额;查询结果按应发工资总额降序排序,且仅输出应发工资总额最多的前三个院系专业;输出去向表文件TEMP。

注:

应发工资总额=jbgz+gwjt+zhjt+zfbt。

练习4

已知教师表(JS)含有工号(gh,C)、院系专业代码(yxzydm,C)等字段;自由表图书借阅表(JYB)含有读者号(dzh,C)、分类号(flh,C)、借阅日期(jyrq,D)、还书日期(hsrq,D)等字段,教师的读者号与工号相同。

按如下要求修改JXGL项目中的查询CHAXUN:

基于JS表和JYB表查询各院系专业借书情况。

要求:

查询输出字段为yxzydm、借书本数、最大借阅天数;查询结果按最大借阅天数降序排序;输出去向为临时表TEMP。

注:

借阅天数为hsrq与jyrq之差,未还的图书按当前系统日期计算借阅天数。

练习5

练习6

练习7

三、设计菜单(5分)

练习1

JXGL项目中已存在菜单MENU,其中已定义了“文件”菜单栏及其中的“退出菜单”菜单项。

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

1.在“文件”菜单栏右侧创建“数据管理”菜单栏;

2.在“数据管理”菜单栏下创建子菜单“查询”和“数据备份”;图1

3.为“查询”菜单项设置快捷键:

F12;

4.在菜单项“查询”和“数据备份”之间插入分组线;

5.为“数据备份”菜单项设置过程代码:

d=GETFILE(‘dbf’,’.dbf’)

USE&d

COPYTObf1

练习2

JXGL项目中已存在菜单MENU,已定义了“文件”菜单栏及其中的“退出菜单”菜单项。

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

1.在“文件”菜单栏右侧创建“成绩管理”菜单栏;图1

2.在“成绩管理”菜单栏下创建子菜单“插入”和插入系统菜单“导出(E)”菜单项;

3.为“查询”菜单项设置命令:

SELECT*FROMcj

4.为“导出”菜单项设置跳过条件:

cj表打开时才可操作(启用)。

5.在菜单项“查询”和“导出”之间插入分组线。

练习3

JXGL项目中已存在菜单MENU,已定义了“文件”菜单栏及其中的“退出菜单”菜单项。

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

1.在“文件”菜单栏右侧创建“数据库”菜单栏;

2.在“数据库”菜单栏下创建子菜单“浏览文件;图1

3.为“浏览文件”菜单项设置快捷键“CTRL+D”

4.在“数据库”菜单栏下插入系统菜单“打开”和系统菜单“关闭”。

5.为“浏览文件”菜单项设置命令代码:

DIR*.doc。

练习4

JXGL项目中已存在菜单MENU,已定义了“文件”菜单栏及其中的“退出菜单”菜单项。

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

1.在“文件”菜单栏右侧创建“数据管理”菜单栏;

2.在“数据管理”菜单栏下创建子菜单“教师”和“学生”;图1

3.为“教师”菜单项设置跳过条件:

JS表打开时菜单项才可操作(启用)

4.为“教师”菜单项创建子菜单“浏览”、“复制”,并且插入分组线。

5.为“复制”菜单项设置命令代码:

COPYTObfjs。

练习5

练习6

练习7

四、设计表单(10分)

练习1

表单F101A用于统计输入文本中各类字符的个数。

按下列要求修改表单,修改后表单运行时如图2所示:

1.修改表单的有关属性,使表单的标题为“字符数统计”,并设置字数统计的三个文本框禁用。

2.适当加大Shape1形状的高度,在其区域内增加一个标签控件Label_Sum和一个文本框控件Text4,并设置Label1_Sum的标题为“总字符数:

”。

3.编写“清空”按钮的Click事件代码,用2条语句实现如下功能:

(1)清除编辑框Edit1中的文本;

(2)使“字符数统计”矩形区域内的4个文本框的值均置为零。

4.表单已定义了一个Count()方法,用来对Edit1编辑框中的文本进行字数统计。

编写“统计”按钮的Click事件代码,以实现:

先调用表单的Count()方法,然后将文本框Text1、Text2和Text3的值相加后显示在文本框Text4中。

练习2

表单F101C用于数据的录入。

按下列要求修改表单,修改后表单运行时如图2所示:

1.设置文本框的输入掩码,使其只能接受四位数字,不允许输入字母、汉字或其他字符,并设置文本框中的数字以粗体显示。

2.在表单的空白区域添加一个复选框控件Check1(如图所示),设置其标题为“自动排序”,值为逻辑值假(.F.),并设置有关属性使其能自动调整大小。

3.若复选框Check1被选中,表示列表框List1中的项自动排序,否则不自动排序。

编写Check1的Click事件代码,根据Check1的值,用一条语句设置列表框控件List1的自动排序属性(Sorted)。

4.编写“清除”按钮的Clcik事件代码,用2条语句实现如下功能:

将列表框List1的所有数据项清空,将文本框Text1的值置零。

 

练习3

表单F101G用于实现用户登录。

按下列要求修改表单,修改后表单运行时如图2所示:

1.设置文本框Text1的相关属性,使其最多能输入6个字符,且文本居中显示;设置文本框Text2的密码占位符为“*”。

2.创建一个包含当前表单的表单集FormSet1,然后在该表单中添加一个新表单Form2,并设置Form2的有关属性,使其在初始运行时隐藏。

3.为了使文本框Text1输入的字符数不少于4,可通过其Valid事件进行检验。

编写其Valid事件代码,要求:

当Text1中字符数小于4时返回.F.(表示验证不通过,焦点不会离开)。

4.修改“登录”按钮的Click事件代码,实现如下功能:

如果文本框Text1中输入的用户名为“admin”,且Text2中输入的密码为“123456”,则显示Form2表单,同时关闭Form1表单。

练习4

表单F101D用于实现系列数据的录入。

按下列要求修改表单,修改后表单运行时如图2所示:

1.设置列表框控件List1的列数为2列,并设置2列的宽度分别为30和60。

2.在表单的空白区域添加一个微调框控件Spinner1(如图2所示),用来控制列表框中数据的最大行数。

设置其初值为5,微调可达最小值为5、最大值为50。

3.在“添加”按钮的Click事件代码中增加一条语句,要求实现在向列表中添加一行新的数据后,在该行的第二列显示行号,且行号显示宽度为2个字符。

Thisform.list1.List[Thisform.list1.newindex,2]=str(thisform.list1.listcount,2)

4.将“添加”按钮的Click事件的所有代码放入一个IF。

ENDIF语句结构中,要求根据微调框控件的值来控制向列表框中添加数据,即如果列表框中的数据行数已经达到Spinner1的值,则用MESSAGEBOX()函数给出提示“已经达到最大行数,不能添加!

”,否则执行原来的所有代码。

练习5

练习6

练习7

五、程序改错(5分)

练习1:

下列程序的功能是找出100-999以内同时满足以下条件的数:

1)个位数字与十位数字之和的模等于百位数;2)该数是素数(仅能被1和本身整除的数称为“素数”)。

例如101、211、239等。

要求:

①将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改;

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

CLEAR

FORi=100TO999

yn=.T.

FORj=3TOi-1

IFMOD(j,i)=0

Yn=.F.

EXIT

ENDIF

ENDFOR

IFyn

S=STR(i,3)

S1=SUBS(s,3,1)

S2=SUBS(s,2,1)

S3=SUBS(s,1,1)

IfMOD(VAL(s1)+VAL(s2))=VAL(s3)

?

i

ENDIF

ENDIF

ENDFOR

练习2:

我国古代数学家张丘建在《算经》一书中曾经提出著名的“百钱买百鸡”问题,该问题是:

1只公鸡5元、1只母鸡3元、3只仔鸡1元,若用100元恰好买100只鸡,则公鸡、母鸡和仔鸡各多少只?

修改下列程序以解决上述问题,要求:

①将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改;

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

CLEAR

cString=’’

FORi=0TO100/5

FORj=0TO100/3

FORk=0TO3*100

IFaccord(i,j,k)=1

cString=”公鸡:

”+ALLT(STR(i))+”只,母鸡:

”+ALLT(STR(j));

+”只,小鸡:

”+ALLT(STR(k))+”只”

?

cString

ENDIF

ENDFOR

ENDFOR

ENDFOR

FUNCTIONaccord

PARAI,j,k

If5*i+3*j+k/3=100ori+j+k=100

RETURN1

ELSE

RETURN0

ENDIF

ENDFUNC

练习3:

回文数是指正读和反读都一样的数,例如121,1001,1221等。

下列程序的功能是:

求出小于2000的所有回文数,并将它打印出来(每行打印5个数,最后一行打印总个数)。

要求:

①将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改;

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

STORE0TOn,n1,n2

FORi=1TO2000

S=ALLT(STR(i))

N1=LEN(s)

N2=INT(n1/2)

Istrue=.T.

FORj=1TOn2

IFSUBSTR(s,j1)=SUBSTR(s,n1-j+1,1)

Istrue=.F.

EXIT

ENDIF

ENDFOR

IFistrue

N=n+1

?

?

i

IFINT(n/5)=n/5

?

ENDIF

ENDIF

ENDFOR

?

’小于2000的回文数共’+STR(n)+’个’

 

练习4:

有红、黄、绿三种颜色的球,其中红球3个,黄球3个,绿球6个,现将这12个球混放在一个盒子中,从中人意摸出m个球,问会出现多少种不同情况?

下列程序的功能是解决上述问题,要求:

①将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改;

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

CLEAR

FORm=1TO12

?

”任意取”+ALLT(STR(m))+”球的取法有”+ALLT(STR(solutionCount(m)))+”种”

ENDFOR

FUNCTIONsolutionCount

PARAiNum

sumNum=0

FORi=0TO3

FORj=0TO3

FORk=0TO6

Ifi+j+k=12

sumNum=sumNum+1

ENDIF

ENDFOR

ENDFOR

ENDFOR

EXITsumNum

ENDFUNC

练习5:

练习6:

练习7:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2