问答题
说明:1.启动VFP后在命令窗口中执行下列命令,以设置默认的工作目录:
SET DEFA TO T:
2.除非题目要求,否则不要对T盘上的文件进行重命名、复制和删除操作。
问答题
项目、数据库和表操作。
打开项目文件jxgl,在该项目中已有一个数据库jxsj。根据以下要求进行操作:
(1)在jxsj数据库中按如下表格中所示的结构创建ab.dbf表,并设置相关属性。
|
字段名
|
数据类型
|
宽度
|
字段标题
|
|
pm
|
C
|
20
|
片名
|
|
yz
|
C
|
10
|
语种
|
|
sc
|
N
|
3
|
时长
|
|
rkrq
|
D
|
|
入库日期
|
①设置表的注释:影视记录。 ②设置片名字段的格式:删除字段值的前导空格。 ③设置时长字段的有效性规则:大于或等于30。 ④设置语种字段的显示类:列表框。 ⑤创建普通索引,索引名为abcd,要求按“语种”排序,相同时按“时长”排序。 (2)在ab表中输入如下记录:
|
pm
|
yz
|
sc
|
rkrq
|
|
Avatar
|
英语
|
150
|
2010-5-15
|
(3)将自由表cjb中的所有记录彻底删除(即物理删除)。
(4)kc表已存在主索引kcdm,索引表达式为kcdm;cj表已存在普通索引kcdm,索引表达式为kcdm。以kc表为主表、cj表为子表,根据kcdm建立永久关系,并设置两表之间的参照完整性:更新级联、删除级联、插入限制。
【正确答案】
【答案解析】项目、数据库和表操作
字段输入格式:.T.
索引表达式:yz+STR(sc)
sc字段有效性规则:sc>=30
问答题
设计查询。
已知课程表(kc)含有课程代码(kcdm,C)、学分(xf,N)和课程名称(kcmc,C)等字段;成绩表(cj)含有成绩(cj,N)、课程代码(kcdm,C)和备注(bz,M)等字段,成绩等级信息存放在备注字段的前7个字节中。按如下要求修改jxgl项目中的查询chaxun:
基于kc表和cj表查询每门课成绩优秀和不及格的学生信息。要求:查询输出字段为kcmc、xh、学分、成绩等级、补考日期;查询结果按“课程名称”排序,相同时按“成绩等级”排序;仅输出成绩等级为“A优秀”或“F不及格”的记录。
注:当cj.cj>=60时,学分为xf字段的值,否则为0;当cj.cj<60时,补考日期的值为“2010.09.06”,否则为10个字节的空字符串。
【正确答案】
【答案解析】设计查询
SELECT kc.kcmc, cj.xh, IIF(cj.cj=>60, kc.xf, 0) AS学分, ;
LEFT(cj.bz, 7) AS成绩等级, ;
IIF(cj.cj<60, "2010.09.06", SPACE(10)) AS补考日期;
FROM jxsj! kc INNER JOIN jxsj! cj;
ON kc.kcdm=cj.kcdm;
HAVING成绩等级="A".OR.(成绩等级="F");
ORDER BY kc.kcmc, 4
问答题
设计菜单。
jxgl项目中已存在菜单MENU,其中已定义了“文件”菜单栏及其中的“退出菜单”项。按如下要求设计菜单,菜单运行后的效果如图所示。
【正确答案】
【答案解析】设计菜单
“使用说明”菜单项命令代码:MODI COMM操作说明.TXT
菜单清理代码:CLOSE TABLES ALL
问答题
设计表单。
表单F102E用来按小组查看世界杯球队信息。按下列要求修改表单,修改后表单运行时如图所示。
【正确答案】
【答案解析】设计表单
|
题号
|
对象名
|
属性/事件/方法名
|
属性值/代码
|
|
1
|
grdFifa
|
DeleteMark属性
|
.F.
|
|
ScrollBars属性
|
0
|
|
RowHeight属性
|
27
|
|
2
|
grdFifa3Column3.Text1
|
|
(删除控件操作)
|
|
grdFifa.Column3.Oleboundcontrol1
|
|
(添加控件操作)
|
|
Stretch属性
|
1
|
|
3
|
Form1
|
Init事件
|
SET FILTER TO组别=cGroup
GO TOP
|
|
4
|
OptionGroup1
|
InteractiveChange事件
|
THISFORM.Init()
THISFORM.Refresh()
|
问答题
程序改错。
下列程序用来产生20个0~100之间不重复的随机整数,并将结果输出。要求:
①项目中有一个程序文件Pcode,将下列程序代码复制到其中并进行修改。
②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
(1) CLEAR
(2) DIMENSION a(20)
(3) a=0
(4) FOR i=1 TO 20
(5) x=INT(RAND()*100)
(6) iscf=.F.
(7) FOR i=0 TO i-1
(8) IF a(j)=x
(9) iscf=.T.
(10) EXIT
(11) ENDIF
(12) ENDFOR
(13) IF iscf=.F.
(14) a(i)=x
(15) OTHERWISE
(16) i=i-1
(17) ENDIF
(18) ENDFOR
(19) DISPLAY MEMORY LIKE a*
【正确答案】
【答案解析】程序改错
第7行改为:FOR j=1 TO i-1
第15行改为:ELSE