秋vfpvfp上机试题答案.docx
《秋vfpvfp上机试题答案.docx》由会员分享,可在线阅读,更多相关《秋vfpvfp上机试题答案.docx(16页珍藏版)》请在冰豆网上搜索。
秋vfpvfp上机试题答案
2011秋-vfp01
一、项目,数据库与表操作
打开T盘根目录中的项目文件JXGL,在该项目中已经有一个数据库JXSJ。
1.在JXSJ数据库中按如下表格中所示的结构创建AB01.DBF表,并按照表格中的要求设置相关属性。
字段名
数据类型
宽度
字段标题
CG
C
20
场馆
WZ
C
1
位置
SJZT
M
设计主题
ZDMJ
N
10(小数2位)
占地面积
(1)设置表的注释:
世博会场馆简介一览表;
(2)设置CG字段的有效性规则:
不能为空字符串;
(3)设置ZDMJ字段的输入掩码:
整数部分从右至左每3位用“,”字符隔开;
(4)设置WZ字段的有效性规则:
只能是“A,B,C,D,E”中的一个;
(5)创建索引名为ABCD的普通索引,要求按位置排序,位置相同时按占地面积排序。
【操作解析】
在项目管理器中,选择【数据库】→【JXSJ】→【表】,单击“新建”按钮,利用表设计器,创建AB01.DBF表。
(1)在表设计器中,选择【表】选项卡,在【表注释】中,输入:
世博会场馆简介一览表;
(2)CG字段的有效性规则:
NOTEMPTY(CG)
(3)ZDMJ的输入掩码:
9,999,999.99
(4)WZ字段的有效性规则:
wz$“ABCDE”
或者:
WZ=’A’ORWZ=’B’ORWZ=’C’ORWZ=’D’ORWZ=’E’
(5)索引表达式:
wz+str(zdmj,10,2)
2.
在AB01表中输入如下记录:
3.设置项目的图标为:
PC.ICO
【操作解析】
右击项目管理器,在弹出的快捷菜单中,选择【项目信息】,选中“附加图标”,在打开的对话框中,查找指定的图标文件PC.ICO,如下图所示。
4.KC表与CJ表具有相同字段kcmc,以KC表为主表,CJ表为子表,根据kcmc建立永久性关系,并设置两表之间的参照完整性:
删除级联,插入限制。
【操作解析】
在KC表中,以kcmc字段建立主索引或者候选索引;
在CJ表中,以kcmc字段建立普通索引;
在数据库设计器中,从KC表的kcmc主(候选)索引拖动鼠标至CJ表的kcmc普通索引,建立永久性关系连线,双击该永久性关系连线,设置“参照完整性”,注意,初次设置时,需要“清理数据库”。
二、设计查询
【操作解析】
SELECTKc.kcdm,Kc.kcmc,count(*)as人数,avg(cj.cj)as平均成绩,;
sum(iif(cj<60,1,0))as不及格人数;
FROMjxsj!
kcINNERJOINjxsj!
cj;
ONKc.kcdm=Cj.kcdm;
GROUPBYKc.kcdm;
ORDERBY4DESC
TotableABC.DBF
【操作步骤如下列图】
三、设计菜单
JXGL项目中已存在菜单MENU,其中已定义了”文件”菜单栏及其中的”退出菜单”项。
按如下要求设计菜单,完成后的运行效果如图1所示。
(1)创建“人员管理”菜单栏,并创建其子菜单“录入”、“修改”、“浏览”;
(2)在菜单项“录入”与“修改”,“修改”与“浏览”之间插入分组线
(3)为“浏览”菜单设置访问键“B”
(4)为”浏览”菜单项设置快捷键ctrl+B
(5)为”浏览”菜单设置命令:
select*fromjs
【操作解析】
(2)分组线用“\-”表示
(3)访问键表示为:
浏览(\
(4)快捷键在【选项】中设置:
CTRL+B
四、设计表单
表单FRM11A用于学生选课等操作。
按下列要求修改表单,修改后表单运行时如下图所示。
1、修改表单的有关属性,使表单的标题为“选课表单”
【操作提示】修改表单的caption属性为“选课表单”
2、在表单右侧添加一个列表框list2,用于显示学号和被选课程代码;
【操作提示】直接从控件工具栏中,向表单中添加一个列表框
3、修改“命令”按钮的click事件代码:
在最后添加一条语句,其功能是将mxh+thisform.LIST1.VALUE的值添加到list2中。
【操作提示】Thisform.LIST2.ADDLISTITEM(mxh+Thisform.LIST1.Value)
4、添加一个命令按钮,如图2所示,“退出”按钮的功能是释放表单,为其click事件编写代码,实现释放表单的功能。
【操作提示】Thisform.RELEASE
五、程序改错
2011秋-vfp02
一、项目,数据库与表操作
打开T盘根目录中的项目文件JXGL,在该项目中已经有一个数据库JXSJ。
1.在JXSJ数据库中按如下表格中所示的结构创建AB02.DBF表,并按照表格中的要求设置相关属性。
字段名
数据类型
宽度
字段标题
RQ
D
日期
CG
C
20
场馆
SCRS
N
10
参观人数
PJSJ
N
4(小数2位)
平均排队时间
(1)设置表的注释:
世博会参观人数统计表;
(2)设置RQ字段的默认值:
当前系统日期;
(3)设置PJSJ字段的有效性规则:
排队最长时间不能超过12小时
【操作提示】有效性规则表达式为:
pjsj<=12.0
(4)设置表的删除触发器:
只有场馆为空的记录可以删除;
【操作提示】删除触发器表达式为:
empty(CG)
(5)创建索引名为ABCD的普通索引,要求按日期排序,日期相同时按平均排队时间排序。
【操作提示】索引表达式:
DTOC(RQ,1)+STR(PJSJ,4,2)
2.在AB02表中输入如下记录:
【操作提示】在AB表中输入记录时,因为rq是默认当前系统日期,所以将计算机系统中的当前系统日期改为2010-7-15,就可以正确输入。
3.将自由表GZB设置为包含。
【操作提示】右击自由表GZB,弹出快捷菜单,选择包含
4.KC表与CJ表具有相同字段kcmc,以KC表为主表,CJ表为子表,根据kcmc建立永久性关系,并设置两表之间的参照完整性:
更新级联,插入限制。
二、设计查询
【操作解析】
数据源:
XS,CJ
联接:
内联接,联接条件XS.XH=CJ.XH
输出字段:
XS.XH
XS.XM
count(*)as考试门数
Avg(cj.cj)as平均成绩
sum(iif(cj<60,1,0))as不及格门数
分组依据:
XS.XH
满足条件:
平均成绩>=75
排序条件:
Avg(cj.cj)as平均成绩降序
三、设计菜单
JXGL项目中已存在菜单MENU,其中已定义了”文件”菜单栏及其中的”退出菜单”项。
按如下要求设计菜单,完成后的运行效果如图1所示。
图1
(1)创建“成绩处理”菜单栏,并创建其子菜单“录入”、“查询”,并设置分组线;
(2)为在菜单项“查询”创建其子菜单“不及格成绩”,“各门课平均成绩”,并设置分组线;
(3)为”不及格成绩”菜单项设置快捷键ctrl+B
(4)为”不及格成绩”菜单项设置跳过条件:
该菜单项不可用
【操作解析】在选项中设置,跳过条件为.T.
(5)为“各门课平均成绩”菜单项设置命令:
selectkcdm,avg(cj)aspjcjfromcjgroupby1
四、设计表单
表单FRM11B用于学生选课等操作。
按下列要求修改表单,修改后表单运行时如下图所示。
(1)修改表单的相关属性,使表单运行时,不显示控制菜单框;
【操作提示】
表单的controlbox=.F.,minbutton=.F.maxbutton=.F.closable=.F.
(2)如上图所示,在表单上添加一个命令按钮,并修改相关属性;
(3)为“移去“按钮的click事件编写代码:
移去list2中选定的行;
【操作提示】
“移去”按钮的click代码:
thisform.list2.removeitem(thisform.list2.listindex)
(4)为下拉组合框combo1编写interactivechange事件代码,实现将下拉组合框当前的值赋值给内存变量mxh
【操作提示】下拉组合框的interactivechange事件代码:
mxh=this.value
五、程序改错
STORE'101011001011'TOcBin1,cBin2
nLen=LEN(cBin1)
N=CEILING(nLen/4)&&CEILING()函数返回大于或等于指定表达式的最小整数
cHex=SPACE(0)
FORi=1TOn
cBit4=RIGHT(cBin1,4)
cBin1=LEFT(cBin1,ABS(nLen-4*i))
cHex=DOBinToHexWITHcBit4&&改为DOBinToHexWITHcBit4+chex
ENDF
WAITWIND'二进制数:
'+cBin2+'的十六进制形式是:
'+cHex
FUNCTIONBinToHex
PARApBin
LOCALBit,Hex,Dec
Dec=0
FORi=1TOLEN(pBin)
Bit=SUBS(pBin,i,1)
Dec=Dec+VAL(Bit)*2^(LEN(pBin)-i)
ENDFOR
Hex=IIF(Dec<10,STR(Dec,1),CHR(Dec+55))
RETURNDec&&改为returnhex
2011秋-vfp03
一、项目,数据库与表操作
打开T盘根目录中的项目文件JXGL,在该项目中已经有一个数据库JXSJ。
1.在JXSJ数据库中按如下表格中所示的结构创建AB03.DBF表,并按照表格中的要求设置相关属性。
(1)设置表的注释:
世博会门票销售统计表
(2)设置XSRQ字段的默认值:
当前系统日期;
(3)设置DJ字段的默认值:
160
(4)设置MPLB字段的显示类:
选项按钮组
(5)设置表的删除触发器:
禁止删除
【操作提示】删除触发器规则:
.F.
(6)创建索引名为ABCD的普通索引,要求按销售日期排序,销售日期相同时按数量排序。
【操作提示】索引表达式:
DTOC(XSRQ,1)+STR(SL,6)
【操作提示】
浏览gzb表,【表】---【替换字段】
4.XS表与CJ表具有相同字段XH,以XS表为主表,CJ表为子表,根据XH建立永久性关系,并设置两表之间的参照完整性:
更新级联,插入限制。
二、设计查询
【操作解析】
数据源:
JS,KCAP,KC
联接:
内联接,联接条件JS.GH=KCAP.GH
KCAP.KCDM=kc.KCDM
输出字段:
JS.XH
JS.XM
count(*)as任课次数
sum(kc.KSS)as总课时数
分组依据:
JS.GH
满足条件:
任课次数>=2
排序条件:
count(*)as任课次数降序
三、设计菜单
JXGL项目中已存在菜单MENU,其中已定义了”文件”菜单栏及其中的”退出菜单”项。
按如下要求设计菜单,完成后的运行效果如图1所示。
【操作解析】
运行程序文件dopppp.prg
四、设计表单
图2-1图2-2
【操作解析】
1.form1.caption=“计算圆面积”
2.shape1.width=1,shape1.HEIGHT=1,Text1.alignment=1
3.valid事件代码:
X=THIS.VALUE
IFX<10ORX>100
THISFORM.SHAPE1.VISIBLE=.F.
THISFORM.TEXT2.VALUE=""
=MESSAGEBOX("半径取值必须在10~~100之间!
",48,"提示窗口")
THISFORM.command1.VISIBLE=.F.
ELSE
THISFORM.command1.VISIBLE=.t.
ENDIF
4.click事件代码:
X=THISform.text1.VALUE&&文本框当前值
THISFORM.TEXT2.VALUE=3.1415926*x*x
THISFORM.SHAPE1.VISIBLE=.t.
THISFORM.SHAPE1.width=THISFORM.TEXT1.VALUE*2
THISFORM.SHAPE1.HEIGHT=THISFORM.TEXT1.VALUE*2
五、程序改错
【操作解析】
N=n-1改为N=n+1
Endwhile----改为enddo