问答题
说明:1.启动VFP后在命令窗口中执行下列命令,以设置默认的工作目录:
SET DEFA TO T:
2.除非题目要求,否则不要对T盘上的文件进行重命名、复制和删除操作。
问答题
项目、数据库和表操作。
打开项目文件JXGL,在该项目中已有一个数据库JXSJ。根据以下要求进行操作:
(1)在JXSJ数据库中按如下表格中所示的结构创建AB.DBF表,并设置相关属性。
字段名
数据类型
宽度
字段标题
rq
D
日期
qcph
C
8
汽车牌号
dd
C
20
地点
tp
G
图片
①设置表的注释:汽车违停记录。 ②设置日期字段的默认值:当前系统日期减1。 ③设置地点字段的显示类:列表框。 ④设置汽车牌号字段的有效性规则:不能为空。 ⑤创建普通索引,索引名为abcd,要求按“地点”排序,相同时根据“汽车牌号”排序。 (2)在AB表中输入如下记录:
rq
qcph
dd
(默认值)
苏A88888
世纪广场
(3)修改jc表数据:所有记录的单价字段的值取整。
(4)js表已存在主索引gh,索引表达式为gh;kcap表已存在普通索引gh,索引表达式为gh。以js表为主表、kcap表为子表,根据gh建立永久关系,并设置两表之间的参照完整性:更新限制、插入限制。
【正确答案】
【答案解析】 项目、数据库和表操作
rq字段的默认值:DATE()-1
有效性规则:!EMPTY(qcph)
索引表达式:dd+qcph
问答题
设计查询。
已知学生表(xs)含有学号(xh,C)、姓名(Xm,C)等字段;自由表图书借阅表(jyb)含有读者号(dzh,C)、分类号(flh,C)、借阅日期(jyrq,D)和还书日期(hsrq,D)等字段,其中学生的读者号与学号相同。按如下要求修改JXGL项目中的查询chaxun:
基于xs表和jyb表查询学生借书情况,计算过期罚款信息。要求:查询输出字段为dzh、xm、罚款;查询结果按“罚款”降序排序;输出去向为文本文件temp。
注:罚款计算方法为30天以上超过部分每本每天0.05元,未还书者(即还书日期为空的记录)不统计。
【正确答案】
【答案解析】 设计查询
SELECT jyb.dzh, xs.xm, ;
SUM(IIF(hsrq-jyrq-30<=0, 0, (hsrq-jyrq-30)*0.05)) AS罚款;
FROM jxsj! xs INNER JOIN jyb;
ON xs.xh=jyb.dzh;
WHERE EMPTY(hsrq)<>.T.; 或WHERE! EMPTY(hsrq);
GROUP BY jyb.dzh;
ORDER BY 3 DESC;
TO FILE temp.txt
问答题
设计菜单。
JXGL项目中已存在菜单MENU,其中已定义了“文件”菜单栏及其中的“退出菜单”项。按如下要求设计菜单,菜单运行后的效果如图所示。
【正确答案】
【答案解析】 设计菜单
命令/过程:SELECT * FROM cj
跳过条件:!USED("cj")
问答题
设计表单。
表单FORM01用于数据的录入。按下列要求修改表单,修改后表单运行时如图所示。
【正确答案】
【答案解析】 设计表单
题号
对象名
属性/事件/方法名
属性值/代码
1
Text1
InputMask
9999
FontBold
.T.
2
Check1
(添加控件操作)
Caption
自动排序
Value
.F.
AutoSize
.T.
3
Check1
Click
THISFORM.List1.Sorted=THIS.Value
4
Command3
Click
THISFORM.List1.Clear()
THISFORM.Text1.Value=0
问答题
程序改错。
我国古代数学家张丘建在《算经》一书中曾提出著名的“百钱买百鸡”问题,该问题是:1只公鸡5元、1只母鸡3元、3只仔鸡1元,若用100元恰好买100只鸡,则公鸡、母鸡和仔鸡各有多少只?
以下程序功能是用来解决这一问题的,但程序中存在错误,修改该程序以实现其功能,要求:
①项目中有一个程序文件Pcode,将下列程序代码复制到其中并进行修改。
②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
(1) CLEAK
(2) cString=""
(3) FOR i=0 TO 100/5
(4) FOR i=0 TO 100/3
(5) FOR k=0 TO 3 * 100
(6) IF accord(i, j, k)=1
(7) cString="公鸡:"+ALLT(STR(i))+"只, 母鸡:"
(8) +ALLT(STR(j)); +"只, 小鸡:"+ALLT(STR(k))
(9) +"只"
(10) ? cString
(11) ENDIF
(12) ENDFOR
(13) ENDIF
(14) ENDFOR
(15) FUNCTION accord
(16) PARA i, j, k
(17) IF 5 * i+3 * j+k/3=100 OR i+j+k=100
(18) RETURN 1
(19) ELSE
(20) RETURN 0
(21) ENDIF
(22) ENDFUNC
【正确答案】
【答案解析】 程序改错
第12行改为:ENDFOR
第16行改为:IF 5 * i+3 * j+k/3=100 AND i+j+k=100
提交答案
关闭