09年春VFP上机题.docx
- 文档编号:8101376
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:21
- 大小:27.87KB
09年春VFP上机题.docx
《09年春VFP上机题.docx》由会员分享,可在线阅读,更多相关《09年春VFP上机题.docx(21页珍藏版)》请在冰豆网上搜索。
09年春VFP上机题
一、项目、数据库和表操作(12分)
打开T盘根目录的项目文件JXGL,在该项目已有一数据库JXSJ。
1.在JXSJ数据库中按如下表格中所示的结构创建表,并按表格后的要求设置相关属性。
字段名
数据类型
宽度
字段标题
Cdcs
C
40
传递城市
Cdrq
D
传递日期
Cdrs
I
火炬手人数
Cdlxt
G
传递路线图
(1)设置TAB表的注释:
火炬传递城市信息表;
(2)设置Cdrq字段的有效性规则及信息:
传递日期必须在2008年8月8日前;
(3)将Cdrs字段的默认值设置为100;
(4)按Cdcs字段创建主索引,索引名为abcd。
2.在TAB表中输入如下记录:
Cdcs
Cdrq
Cdrs
Cdlxt
南京
2008/05/27
208
(插入文件)
3.设置CJ表的更新触发器,要求课程代码为“60023”的记录不允许修改。
4.已知JS表已存在主索引gh,索引表达式为gh,KCAP表为子表按gh建立永久关系,并设置两表之间的参照完整性:
插入限制。
二、设计查询(8分)
已知教材(JC)表存储了教材的基本信息,其中含出版社名称(CBSMC,C)、出版年份(CBNF,C)、定价(DJ,N,)等字段。
按如下要求修改JXGL项目中的查询CHAXUN:
基于JC表统计各出版社2000年以后(含2000年)出版的教材种数及平均定价。
要求:
输出出版社名称、教材种数、平均定价(字段名依次分别为CBSMC、JCZS和PJDJ),查询结果按教材种数排序,输出去向为屏幕(即主窗口)。
(注:
JC表中每条记录为一种教材)。
三、设计菜单(5分)
JXGL项目中已存在菜单MENU,已定义了“系统管理”菜单栏及其中的“恢复系统菜单”菜单项。
按如下要求设计菜单,完成后的运行效果如图1所示。
1.创建“教材信息”菜单栏,其访问键为J,子菜单“编辑”、“浏览”和“统计”,分组线如图1所示;
2.为“编辑”菜单项设置跳过条件,使该菜单项不可用;
3.为“统计”菜单创建子菜单“出版社”和“出版年月”;
4.为“出版社”菜单项设置快捷键CTRL+B,并为其设置过程代码:
首先清除屏幕(即主窗口),然后运行查询文件。
图1
四、表单设计(10分)
表单F081E的功能是:
用鼠标在表单上写汉字等操作。
按下列要求修改表单,修改后表单运行时如图2所示。
1.设置表单的有关属性,使其标题为“鼠标写字”,边框样式属性为“固定对话框”,背景颜色为“黄色”。
2.如图2所示,在表单上部添加一个标签控件,用来显示鼠标的位置,并将其对象名修改为COORD,背景样式设置为“透明”。
图2
3.在表单的下部添加一个文本框控件(对象名为Text1)和计时器控件(对象名为Timer1),并设置计时器控件的有关属性,使得表单运行时触发计时器事件的间隔时间为5秒。
4.编写计时器控件的Timer事件代码,实现在文本框中显示当前的系统日期和时间。
五、程序改错(5分)
下列程序的功能是:
删除字符串(不包括汉字)中的空格,并将它按字符从小到大的顺序排列以后输出。
例如,字符串“BCefA”,输出结果为“ABCef”。
要求:
1将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改
2在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
CLEAR
x='BCefA'
y=''
x=STRTRAN(x,SPACE
(1),SPACE(0))
n=LEN(x)
DIMENSIONA(n)
FORi=1TOn
A(i)=LEFT(x,1)
x=SUBSTR(x,i)
ENDFOR
=ASORT(A)&&ASORT()函数的功能是对数组元素进行排序
FORj=1TOn
y=A(j)+y
ENDFOR
y
09年春VFP02
一、项目、数据库和表操作(12分)
打开T盘根目录的项目文件JXGL,在该项目已有一数据库JXSJ。
1.在JXSJ数据库中按如下表格中所示的结构创建表,并按表格后的要求设置相关属性。
字段名
数据类型
宽度
字段标题
Cdcs
C
40
传递城市
Bc
I
棒次
Xm
C
50
火炬手姓名
Jj
M
火炬手简介
(1)设置TAB表的注释:
火炬传递人员信息表;
(2)设置Bc字段的有效性规则及信息:
棒次必须在1至300之间!
;
(3)将Bc字段的默认值设置为1;
(4)创建主索引,索引名为abcd,要求按传递城市和棒次顺序排列。
2.在TAB表中输入如下记录:
Cdcs
Bc
Xm
Jj
南京
1
杨阳
曾被誉为世界羽坛“四大天王”之首
3.修改JC表中的数据,将所有教材名称字段内容的两端加书名号“《》”,要求书名的最后一个字与右书名号“》”之间不允许留有空格。
4.设置JC表的删除触发器,要求只允许删除出版年份在2000年之前的记录。
5.已知YXZY表已存在主索引yxzydm,索引表达式为yxzydm,XS表已存在普通索引yxzydm,索引表达式为yxzydm,以YXZY表为主表,XS表为子表按yxzydm建立永久关系,并设置两表之间的参照完整性:
更新级联。
二、设计查询(8分)
已知教材(JC)表存储了教材的基本信息,其中含出版社名称(CBSMC,C)、出版年份(CBNF,C)、定价(DJ,N,)等字段。
按如下要求修改JXGL项目中的查询CHAXUN:
基于JC表统计各年份(CBNF字段的前6个字符)出版的教材种数及平均定价。
要求:
输出年份、教材种数、平均定价(字段名依次分别为NF、JCZS和PJDJ),查询结果按平均定价降序排序,且输出JCZS大于或等于5的记录,输出去向为文件。
(注:
JC表中每条记录为一种教材)。
三、设计菜单(5分)
JXGL项目中已存在菜单MENU,已定义了“系统管理”菜单栏及其中的“恢复系统菜单”菜单项。
按如下要求设计菜单,完成后的运行效果如图1所示。
1.创建“教材管理”菜单栏,其访问键为B,子菜单“修改”、“浏览”和“统计”,分组线如图1所示;
2.为“修改”菜单项设置跳过条件,使该菜单项不可用;
3.为“统计”菜单创建子菜单“出版社”和“出版年份”;
4.为“出版年份”菜单项设置快捷键CTRL+Y,并为其设置过程代码:
首先运行查询文件,然后利用MESSAGEBOX()函数显示提示信息“结果保存在文件中”。
图1
四、表单设计(10分)
表单F081F的功能是:
通过连续播放BMP位图文件产生动画效果。
按下列要求修改表单,修改后表单运行时如图2-1、图2-2所示。
1.设置表单的有关属性,使其标题为“播放动画”,且无最大化、最小化按钮。
2.在“播放”命令按钮下文添加一个命令按钮,其标题属性设置为“退出”,且编写其Click事件代码,其功能是释放表单。
3.完善“播放”命令按钮的Click事件代码,其功能是:
单击该按钮则其标题在“播放”与“停止”之间切换(即播放动画时显示“停止”,停播时显示“播放”),并且如果单击的是“停止”按钮,则将计时器对象设置为不可使用。
五、程序改错(5分)
下列程序的功能是:
删除字符串(不包括汉字)中的空格,并将它按字符从小到大的顺序排列以后输出。
例如,字符串“BCefA”,输出结果为“ABCef”。
要求:
1将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改
2在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
CLEAR
cStr='ABcdefghijktflq'
FC_order(x)
FUNCTIONFC_order
PARAMETERx
x=STRTRAN(x,SPACE
(1),SPACE(0))&&将x中的空格删除
n=LEN(x)
y=''
DIMENSIONA(n)
FORi=1TOn
A(i)=SUBSTR(x,i,1)
ENDFOR
=ASORT(A)&&ASORT()函数的功能是对数组元素进行排序
FORj=1TOn
y=y+A(j)
ENDFOR
RETURNy
09年春VFP03
一、项目、数据库和表操作(12分)
打开T盘根目录的项目文件JXGL,在该项目已有一数据库JXSJ。
1.在JXSJ数据库中按如下表格中所示的结构创建表,并按表格后的要求设置相关属性。
字段名
数据类型
宽度
字段标题
Xmbh
C
4
项目编号
Xmmc
C
50
项目名称
Jps
I
金牌数
Xmjj
M
项目简介
(1)设置TAB表的注释:
奥运项目信息表;
(2)设置Jps字段的有效性规则及信息:
金牌数至多100;
(3)将Jps字段的默认值设置为1;
(4)按Xmbh字段创建主索引,索引名为abcd。
2.在TAB表中输入如下记录:
Xmbh
Xmmc
Jps
Xmjj
0001
游泳
42
游泳项目繁多
3.按照成绩值修改自由表CJB表中的备注型字段内容:
若成绩大于或等于90,则备注字段中的内容设置为“优秀”。
4.设置XS表的更新触发器,要求该表数据只能在上午8:
00至下午5:
00时间段内进行修改。
5.已知JS表已存在主索引gh,索引表达式为gh,KCAP表已存在普通索引gh,索引表达式为gh,以JS表为主表,KCAP表为子表按gh建立永久关系,并设置两表之间的参照完整性:
删除限制。
二、设计查询(8分)
已知学生(XS)表存储了学生的基本信息,其中含学号(XH,C)、姓名(XM,C)等字段;成绩(CJ)表存储了学生的考试成绩,其中含学号(XH,C)、成绩(CJ,N)等字段,每条记录为一位学生一门课程的考试成绩(成绩以百分制计,低于60分为不及格)。
按如下要求修改JXGL项目中的查询CHAXUN:
基于XS表和CJ表统计各位学生的考试情况。
要求:
输出学号、姓名、考试门数和不及格门数(字段名依次分别为XH、XM、KSMS和BJGMS),查询结果按不及格门数排序,且仅输出BJGMS大于或等于1的记录。
三、设计菜单(5分)
JXGL项目中已存在菜单MENU,已定义了“系统管理”菜单栏及其中的“恢复系统菜单”菜单项。
按如下要求设计菜单,完成后的运行效果如图1所示。
1.在“系统管理”菜单栏中插入VFP系统菜单“导入”和“导出”;
2.创建“成绩管理”菜单栏,其访问键为C,子菜单为“录入”、“编辑”、“查询”和“打印”,分组线如图1所示;
3.为“打印”菜单项设置快捷键CTRL+Y,并为其设置命令:
预览报表文件RTEST。
图1
四、表单设计(10分)
在T盘中有10个图片文件、、……、。
表单F081F的功能是:
通过连续播放BMP文件产生动画效果。
按下列要求修改表单,修改后表单运行时如图2所示。
1.将命令按钮的Left、Top属性分别修改为100和95。
2.设置表单的有关属性:
标题为“播放二幅动画”,高度为140,宽度为210,且使其运行时自动居中。
3.在图像对象(Image1)右方添加一个图像对象(Image2)。
图2
4.在计时器对象的Timer事件代码的末尾,添加一条命令,使Image2显示图片的顺序为、、……、。
5.修改“播放”命令按钮的Click事件代码:
保留第3条命令,删除其余命令。
五、程序改错(5分)
某学校2007—2008学年第二学期共20周,该学期开学日期为2008年3月2日,即2008年3月2日是该学期校历第一周的第一天(星期日)。
下列程序的功能是:
按图3所示要求:
1将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改
2在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
CLEAR
CLEAR
t1={^2008-03-02}
tx={^2008-5-20}
n=VAL(tx-t1)
t2=t1+6
FORi=1TO20
'第'+STR(i)+'周:
'
t1,'—',t2
t1=t2+1
t2=t1+6
ENDFOR
x=INT(n/7)+1
IFx>20
图3
'该日期不落在本学期'
ELSE
y=SUBS('日一二三四五六',2*dow(tx)-1,2)
tx+'是第'+STR(x)+"周星期"+y
ENDIF
09年春VFP04
六、项目、数据库和表操作(12分)
打开T:
盘根目录的项目文件JXGL,在该项目已有一数据库JXSJ。
1.在JXSJ数据库中按如下表格中所示的结构创建表,并按表格后的要求设置相关属性
字段名
数据类型
宽度
字段标题
Playerid
C
4
运动员号码
Playname
C
50
姓名
Nation
C
16
国籍
Game
C
20
参加项目
(1)设置TAB表的注释:
运动员信息表;
(2)设置Playerid字段的输入掩码:
要求只允许输入4位数字字符;
(3)将Nation字段的默认值设置为“中国”;
(4)按Playerid字段创建普通索引,索引名为abcd;
2.在TAB表中输入如下记录:
Playerid
Playername
Nation
Game
0001
刘翔
中国
男子110米跨栏
3.按照成绩值修改自由表CJB表中的备注字段内容:
若成绩大于或等于90,则备注字段中的内容为“A”,若成绩大于或等于80且小于90,则备注字段中的内容为“B”。
4.设置JS表的更新触发器,要求工作日期在“1990/09/01”以前的记录才允许修改。
5.已知院JS表已存在主索引gh,索引表达式为gh,KCAP表已存在普通索引gh,索引表达式为gh,以js表为主表,KCAP表为字表按gh建立永久关系,并设置两个表之间的参照完整性:
插入限制。
七、查询设计
已知学生(XS)表存储了每个学生的基本信息,其中含学号(XH,C)、姓名(XM,C)等字段,成绩(CJ)表存储了学生的考试成绩,其中含学号(XH,C)、成绩(CJ,N)等字段。
,每条记录为一位学生一门课程的考试成绩。
按如下要求修改JXGL项目中的查询CHAXUN:
基于XS表和CJ表查询成绩优良的学生(“成绩优良”是指平均成绩大于或等于80,且最低成绩大于或等于65)。
要求:
输出学号、姓名、平均成绩和最低成绩(字段名依次分别为xh,xm,pjcj和zdcj),查询结果按平均成绩降序排序。
八、菜单设计
JXGL项目中已存在菜单MENU,已定义了“系统管理”菜单栏及其中的“恢复系统菜单”菜单项。
按如下要求设计菜单,完成后的运行效果如右图1所示。
图1
1.在“系统管理”菜单栏中增加“备份数据”、“恢复数据”和“退出”菜单项,其中“退出”菜单项为VFP系统菜单,分组线如图1所示;
2.为“备份数据”菜单创建子菜单“所有文件”、“数据库文件”和“表文件”,分组线如图1所示
3.为“所有文件”菜单项设置快捷键CTRL+A,并为“表文件”菜单项设置过程:
首先关闭所有的表,然后将XS表复制到T:
盘根目录中。
九、表单设计(10分)
表单F081E的功能是:
用鼠标在表单上写文字等。
按下列要求修改,修改后表单运行时如右图2所示。
1.将表单的标题设置为“鼠标写字与小球移动”,边框样式设置为“固定对话框”。
2.在表单界面的右下方添加形状控件,并设置形状控件的有关属性,使其形状为圆形,背景颜色为红色。
3.修改表单的MouseDown事件代码,其功能是:
使表单前景颜色为蓝色以实现用鼠标在表单界面上写的文字为蓝色,并修改表单的MouseMove事件代码,删除其中的第六行语句(该语句为)”+.....)。
4.将表单对象新方法XYZ中的代码复制到形状控件的Click方法程序中。
一十、程序改错
某学校2007-2008学年第二学期共10周,该学期开学日期为2008年3月2日,即2008年3月2日是该学期校历第一周的第一天(星期日)。
下列程序的功能是:
按图3所示格式打印出该学期校历,并能根据给定的日期(2008年5月1日)返回该日期是校历中的第几周、星期几。
要求:
①将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
图3
clear
t1={^2008-03-02}
tx={^2008-05-01}
cString="日一二三四五六"
n=tx-t1
fori=1to7
"星期"+subs(cString,i*2+1,2)+space
(2)
forj=1to10
t1+(j-1)*7,space
(1)
endf
t1=t1+1
endfor
x=int(n/7)+1
ifx>10
"该日期不落在本学期"
endi
y=mod(n,7)
dtoc(tx)+"是第"+str(x)+"周星期"+str(y)
09年春VFP05
一、项目、数据库和表操作(12分)
打开T:
盘根目录的项目文件JXGL,在该项目已有一数据库JXSJ。
1.在JXSJ数据库中按如下表格中所示的结构创建表,并按表格后的要求设置相关属性
字段名
数据类型
宽度
字段标题
Bsxm
C
12
比赛项目
Bssj
T
比赛时间
Bscd
C
20
比赛场地
Bsxz
C
6
比赛性质
(1)设置TAB表的注释:
奥运赛程信息表;
(2)设置Bsxz字段的有效规则:
比赛性质只能是“预赛”、“半决赛”或“决赛”;
(3)将Bsxz字段的默认值设置为“预赛”;
(4)创建普通索引,索引名为abcd,要求按比赛时间和比赛项目排序;
2.在TAB表中输入如下记录:
Bsxm
Bssj
Bscd
Bsxz
男子10米跳台
2008/08/2309:
00:
00
水立方游泳中心
决赛
3.设置KC表的更新触发器,要求只有课程代号长度为4的记录才允许修改。
4.已知KC表已存在主索引kcdm,索引表达式为kcdm,JC表已存在普通索引kcdm,索引表达式为kcdm,以KC表为主表,JC表为字表按KCDM建立永久关系,并设置两个表之间的参照完整性:
更新限制、删除级联。
二、查询设计(8分)
已知学生(XS)表存储了学生的基本信息,其中含学号(XH,C)、姓名(XM,C)、性别(XB,C)等字段,院系专业(YXZY)表为院系专业代码与院系专业名称对照表,含与院系专业代码(YXZYDM,C)、院系名称(YXMC,C)等字段。
按如下要求修改JXGL项目中的查询CHAXUN:
基于XS表和YXZY表查询各院系的学生人数及男女生人数。
要求:
输出院系名称、人数、男生人数和女生人数(字段名依次为YXMC、RS、NANSRS、NVRS),查询结果按人数降序排序,人数相同按女生人数降序排序。
三、菜单设计(5分)
JXGL项目中已存在菜单MENU,已定义了“系统管理”菜单栏及其中的“恢复系统菜单”菜单项。
按如下要求设计菜单,完成后的运行效果如右图1所示。
1.在“系统管理”菜单栏中增加“账户设置”和“选项”菜单项,其中“选项”菜单项为VFP系统菜单,分组线如图1所示;
2创建“学生管理”菜单栏,其访问键为X,子菜单为“基本信息”和“统计信息”;
3.为“统计菜单”菜单创建子菜单“按性别统计人数”和“按民族统计人数”;
4.为“按性别统计人数”菜单项设置SELECT-SQL命令:
查询并显示XS表中男女生人数,要求输出性别和人数(字段名分别为XB和RS)。
四、表单设计(10分)
表单F081G的功能是:
表单上显示奥运会五环图标和“2008北京”字样等。
按下列要求修改,修改后表单运行时如右图2所示。
1.在表单的Activate事件代码的第2条命令后添加一条命令,实现表单运行开始标题从右向左移动显示。
2.分别修改对象名为S1,S2,S3,S4,S5的五个形状控件的有关属性:
形状为“圆形”,边框颜色(Bordercolor属性)分别为蓝色、黄色、黑色、绿色、红色、背景样式(BackStyle属性)为透明,边框宽度为3。
3.在表单的下方添加一个标签控件,并设置有关属性:
标题为“2008北京”,字号为16,前景色为红色。
4.将表单的背景颜色设置为白色。
五、程序改错(5分)
下列程序的功能是:
将二进制数字字符串转化为十进制数字字符串(转换结果小数点后保持3位)。
其基本算法是:
将每一位的二进制数字乘以其相应的权,并将乘积相加。
二进制数字的权为:
以小数点为界,整数部分从右向左依次为20、21、22、……;小数部分从坐向右依次为2-1、2-2、2-3、…..。
要求:
①将下列程序输入到项目中的程序文件PCODE中,并对其中的2条错误语句进行修改②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
clear
fc_transform("")
FUNCTIONFC_transform
para
cStr=iif(atc(".",cStr)=0,cStr+".",cStr)
m=LEN(cstr)-1&&求出除小数点外一共有多少个二进制数字
n=LEN(cstr)-AT(".",cstr)+1&&求出小数点后面有多少位(包括小数点在内)
cstr=strt(cstr,".","")&&将该二进制数字字符串中的小数点删除
s=0
fori=1tom
s=s+val(left(right(cstr,i),1))*2**(i-n)
endfo
returnstr(s,10)
09年春VFP06
一、项目、数据库和表操作(12分)
打开T:
盘根目录的项目文件JXGL,在该项目已有一数据库JXSJ。
1.在JXSJ数据库中按如下表格中所示的结构创建表,并按表格后的要求设置相关属性
字段名
数据类型
宽度
字段标题
Gj
C
18
国家或地区
Jps
I
金牌数
Yps
I
银牌数
Tps
I
铜牌数
(1)设置TAB表的注释:
奥运奖牌榜;
(2)设置Jps字段的有效规则及信息:
金牌数不能超过200枚;
(3)将Jps字段的默认值设置为0;
(4)创建普通索引,索引名为abcd,要求按金、银、铜奖牌总数降序排序;
2.在TAB表中输入如下记录:
Gj
Jps
Yps
Tps
中国
42
50
25
3.设置KC表的更新触发器,要求课程类型为“专业核心课程”的记录不允许修改。
4.已知KC表已存在主索引kcdm,索引表达式为kcdm,JC表已存在普通索引kcdm,索引表达式为kcdm,以KC表为主表,JC表为字表按KCDM建立永久关系,并设置两个表之间的参照完整性:
更新级联制、删除限制。
二、查询设计(8分)
已知学生(XS)表存储了学生的基本信息,其中含学号(XH,C)、姓名(XM,C)、性别(XB,C)、民
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 09 年春 VFP 上机
![提示](https://static.bdocx.com/images/bang_tan.gif)