全国大学生计算机二级二级八至二十二套文档格式.docx
- 文档编号:609147
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:26
- 大小:175.95KB
全国大学生计算机二级二级八至二十二套文档格式.docx
《全国大学生计算机二级二级八至二十二套文档格式.docx》由会员分享,可在线阅读,更多相关《全国大学生计算机二级二级八至二十二套文档格式.docx(26页珍藏版)》请在冰点文库上搜索。
******命令按钮Command2(迟到查询)的Click事件代码*****
SELECT工号,员工档案.姓名,职位,出勤天数,迟到次数,性别,工资;
FROM出勤情况,员工档案;
WHERE迟到次数>
1AND员工档案.姓名=出勤情况.姓名;
INTOTABLEtable2
table2"
********************************************************
以同样的方法为"
命令按钮编写Click事件代码:
Thisform.Release。
保存并运行表单,结果如图8-3所示。
第九套
部门信息"
表增加一个新字段"
人数"
,编写满足如下要求的程序:
根据"
雇员信息"
表中的"
部门号"
字段的值确定"
表的"
字段的值,即对"
表中的记录按"
归类。
将"
表中的记录存储到ate表中(表结构与"
表完全相同)。
最后将程序保存为myp.prg,并执行该程序。
MODIFYCOMMANDmyp,在弹出的程序编辑窗口中输入如下程序段:
******程序文件myp.prg中的程序段**********************
ALTERTABLE部门信息ADD人数I
SELECT部门号,COUNT(*)AS人数FROM雇员信息;
GROUPBY部门号;
INTOCURSORatemp
DOWHILENOTEOF()
UPDATE部门信息SET人数=atemp.人数;
WHERE部门信息.部门号=atemp.部门号
SKIP
ENDDO
SELECT*FROM部门信息INTOTABLEate
在命令窗口执行命:
DOmyp,运行程序,通过BROWSE命令可查看查询结果,程序运行结果如图9-2所示。
第十套
二、简单应用题(共2小题,每题20分,计40分)
(2)在考生文件夹下打开命令文件ASP.PRG,该命令文件用来查询各部门的分年度的"
部门编号"
部门名称"
年度"
全年销售额"
全年利润"
利润率"
(全年利润/全年销售额),查询结果先按"
升序、再按"
降序排序,并存储到Li表中。
注意,程序在第5行、第6行、第8行和第9行有错误,请直接在错误处修改。
修改时,不可改变SQL语句的结构和短语的顺序,不允许增加或合并行。
(2)在命令窗口中输入命令:
MODIFYCOMMANDASP.prg,打开程序文件编辑窗口。
******文件中ASP.prg程序段如下*********
*下面的程序在第5行、第6行、第8行和第9行有错误,请直接在错误处修改。
*修改时,不可改变SQL语句的结构和短语的顺序,不允许增加或合并行。
OPENDATABASESALEDB
SELECTPT.部门编号,部门名称,年度,;
一季度销售额+二季度销售额+三季度销售额+四季度销售额AS全年销售额,;
一季度利润+二季度利润+三季度利润+四季度利润AS全年利润,;
一季度利润+二季度利润+三季度利润+四季度利润/一季度销售额+二季度销售额+三季度销售额+四季度销售额AS利润率;
FROMPTDE;
WHEREPT.部门编号=DE.部门编号;
GROUPBY年度利润率DESC;
INTOLI
******************************
根据源程序提供的错误,修改后的程序段如下所示:
******修改后的文件内容****
SELECTPT.部门编号,DE.部门名称,PT.年度,;
PT.一季度销售+PT.二季度销售+PT.三季度销售+PT.四季度销售AS全年销售额,;
((一季度利润+二季度利润+三季度利润+四季度利润)/(一季度销售+二季度销售+三季度销售+四季度销售))AS利润率;
FROMPT,DE;
ORDERBY利润率DESC;
INTOTABLELI
************************************************************
考生文件夹下存在数据库"
销售"
,其中包含表"
购买信息"
和表"
会员信息"
,这两个表存在一对多的联系。
对销售数据库建立文件名为myf的表单,其中包含两个表格控件。
第一个表格控件用于显示表"
的记录,第二个表格控件用于显示与表"
当前记录对应的"
表中的记录。
表单中还包含一个标题为"
的命令按钮,单击此按钮退出表单。
CREATEFORMmyf,打开表单设计器窗口。
从"
表格控件"
工具栏中单击表格控件,添加两个表格到新建的表单中,右击表单,选择"
数据环境"
快捷菜单命令,在数据环境中添加数据表"
,系统自动建立好两表的关联。
返回表单设计器中,右键单击表格Grid1,在弹出的快捷菜单中选择"
生成器"
,弹出表格生成器对话框,在"
1.表格项"
中选择数据表"
,将表中所有字段添加到选定字段中,如图10-2所示。
图10-2
以同样的方法设置第二个表格的生成器,然后再选择"
4.关系"
选项卡,把"
父表中的关键字段"
设置为"
会员信息.会员号"
,把"
子表中的相关索引"
会员号"
,如图10-3所示。
图10-3
从表单控件工具栏中,向表单添加1个命令按钮,修改命令按钮的Caption属性值为"
,在"
命令按钮的Click事件中输入:
运行表单,结果如图1-4所示,保存表单设计到考生文件夹下。
第十一套
(1)使用SQL命令查询2001年(不含)以前进货的商品,列出其"
分类名称"
商品名称"
进货日期"
,查询结果按"
升序排序并存入文本文件infor.txt中,所用命令存入文本文件sql.txt中。
(2)用SQLUPDATE命令为所有"
商品编码"
首字符是"
3"
的商品计算销售价格:
销售价格为在进货价格基础上加22.68%,并把所用命令存入文本文件update.txt中。
(1)在命令窗口中输入命令:
MODIFYFILEsql,在文本编辑器窗口输入如下程序段:
******文件sql.txt中的程序段*****
SELECT分类名称,商品名称,进货日期;
FROM商品,分类;
WHERE分类.分类编码=商品.分类编码;
ANDYEAR(进货日期)<
2001;
TOFILEinfor;
ORDERBY进货日期
*******************************
在命令窗口输入命令:
DOsql.txt,运行程序。
程序运行结果如图11-2所示。
图11-2
MODIFYFILEupdate,在文本编辑器窗口输入如下程序段。
******文件update.txt中的程序段*****
UPDATE商品SET销售价格=进货价格*1.2268;
WHERELEFT(商品编码,1)='
3'
DOUpdate.txt,运行程序。
通过BROWSE命令可直接查看修改结果,结果如图11-3所示。
对考生目录下的数据库rate建立文件名为myf的表单。
表单含有一个表格控件,用于显示用户查询的信息;
表单上有一个按钮选项组,含有"
外币浏览"
个人持有量"
个人资产"
三个选项按钮:
表单上有一个命令按钮,标题为"
浏览"
当选择"
选项按钮并单击"
按钮时,在表格中显示"
汇率"
表的全部字段;
选择"
按钮时,表格中显示"
数量"
,"
外币名称"
持有数量"
;
表中每个人的"
总资产"
(每个人拥有的所有外币中的每种基准价*持有数量的总和)。
按钮退出表单。
工具栏向表单添加1个表格、1个选项按钮组和2个命令按钮。
选中表单,在属性面板顶端的下拉框中选择Command1,修改该命令按钮控件的Caption属性值为"
,以同样的方法将第二个命令按钮设置Caption属性值改为"
,在属性面板顶端的下拉框中选择(Optiongroup1),将其ButtonCount属性值改为3,右击选项按钮组,选择"
编辑"
快捷菜单命令,在此状态下(编辑状态下,控件四周出现蓝色框线),分别修改三个单选项的Caption属性值为"
双击命令按钮"
,编写该控件的Click事件,程序代码如下:
******命令按钮Command1(浏览)的Click事件代码*****
DOCASE
CASEThisform.Optiongroup1.Value=1
SELECT*;
FROM汇率;
INTOCURSORtemp
Thisform.Grid1.RecordSourceType=1
Thisform.Grid1.RecordSource="
temp"
CASEThisform.Optiongroup1.Value=2
SELECT数量.姓名,外币名称,持有数量;
FROM数量,汇率;
WHERE汇率.外币代码=数量.外币代码;
CASEThisform.Optiongroup1.Value=3
SELECT姓名,SUM(持有数量*基准价)AS总资产;
FROM汇率,数量;
GROUPBY姓名;
ENDCASE
*********************************************************
保存表单完成设计,运行结果如图11-4所示。
第十二套
设计一个表单my完成以下功能:
(1)表单上有1个标签,表单运行时标签的Caption属性显示为系统时间,且表单运行期间标签标题动态显示当前系统时间。
标签标题字体大小为25,布局为"
中央"
,字体颜色为"
红色"
,标签"
透明"
(2)表单上另有3个命令按钮,标题分别为"
蓝色"
绿色"
退出"
当单击"
命令按钮时,表单背景颜色变为蓝色;
命令按钮时,表单背景颜色变为绿色;
命令按钮表单退出。
表单的Name属性和表单文件名均设置为my,标题为"
变色时钟"
(1)从菜单栏里单击"
文件"
并选择"
新建"
,或直接单击工具栏上的"
图标,在弹出的对话框中文件类型选择"
表单"
,单击对话框右边的"
新建文件"
图标,弹出了Form1的表单设计器,单击工具栏上的"
保存"
图标,以my命名保存在考生文件夹下。
窗口中的"
标签"
控件,在表单上放置一个标签控件,将其FontSize属性值改为20,调整标签的大小,将其Alignment属性值改为"
2-中央"
,将其ForeColor属性值改为"
255,0,0"
,将其BackStyle属性值改为"
0-透明"
计时器"
控件,在表单上放置一个计时器控件,修改其"
Internal"
属性值为1000(Internal属性值1000表示1秒),双击"
控件,在其Timer事件中输入以下代码:
*******计时器控件的timer事件代码********
Thisform.Label1.Caption=time()
****************************************
保存表单设计并运行。
(2)在命令窗口输入命令:
MODIFYFORMmy,打开刚设计的表单文件,在属性窗口中(注意当前操作对象是"
表单form1"
)修改name属性值为my,修改Caption属性值为"
接着,单击"
工具栏中的"
命令按钮"
控件,在表单上放置三个命令按钮控件,将它们的Caption属性值分别改为"
(Command1),"
(Command2)和"
(Command3)。
双击"
命令按钮,在其Click事件中输入以入代码:
***命令按钮Command1(蓝色)的Click事件代码*****
Thisform.BackColor=rgb(0,0,255)
**************************************************
***命令按钮Command2(绿色)的Click事件代码*****
Thisform.BackColor=rgb(0,255,0)
*************************************************
***命令按钮Command3(退出)的Click事件代码*****
Thisform.Release
DOFORMmy,表单运行结果如图12-1所示:
图12-1
第十三套
在考生文件夹下有学生管理数据库stu_7,该库中有chengji表和xuesheng表,结构如下:
chengji表(学号C(9)、课程号C(3)、成绩N(7,2)),该表用于记录学生的考试成绩,一个学生可以有多项记录(登记一个学生的多门成绩)。
xuesheng表(学号C(9)、姓名C(10)、平均分N(7,2)),该表用于记录学生信息,一个学生只有一个记录(表中有固定的已知数据)。
请编写并运行符合下列要求的程序:
设计一个名为form_stu的表单,表单中有两个命令按钮,按钮的名称分别为cmdyes和cmdno,标题分别为"
统计"
程序运行时,单击"
按钮应完成下列操作:
根据chengji表计算每个学生的平均分,并将结果存入xuesheng表的"
平均分"
字段。
根据上面的计算结果,生成一个新的自由表pingjun,该表的字段按顺序取自xuesheng表的学号、姓名和平均分3项,并且按平均分升序排序,如果平均分相等,则按学号升序排序。
按钮,程序终止运行。
CREATEFORMform_stu,打开表单设计器;
单击表单控件工具栏上的"
控件图标,向表单添加两个命令按钮。
选中第一个命令按钮(Command1),在属性对话框中将命令按钮的Name属性值修改为"
cmdyes"
,将Caption属性值修改为"
,如图13-3所示。
以同样的方法,将第二个命令按钮(Command2)的Name属性值修改为"
cmdno"
图13-3
双击命令按钮cmdyes(统计),在Click事件代码中编写如下程序段:
****"
命令按钮的Click事件代码****
SETTALKOFF
SETSAFETYOFF
OPENDATABASEstu_7
USExuesheng
DOWHILENOTEOF()
SELECTAVG(成绩)FROMchengji;
WHERE学号=xuesheng.学号INTOARRAYatemp
REPLACE平均分WITHatemp(1,1)
SKIP
SELECT学号,姓名,平均分FROMxuesheng;
ORDERBY平均分,学号;
INTOTABLEpingjun
CLOSEALL
SETTALKON
SETSAFETYON
***************************************
双击命令按钮cmdno(关闭),在Click事件代码中编写如下程序段:
ThisForm.Release
保存表单,在命令窗口输入命令:
DOFORMform_stu。
在运行的表单界面中单击"
命令按钮,系统将计算统计结果并保存到新表中。
第十四套
在考生文件夹下有职员管理数据库staff_8,数据库中有yuangong表和zhicheng表。
yuangong的表结构:
职工编码C(4)、姓名C(10)、职称代码C
(1)、工资N(10,2)
zhigong的表结构:
职称代码C
(1)、职称名称C(8)、增加百分比N(10)
然后编写并运行符合下列要求的程序:
设计一个名为staff_m的菜单,菜单中有两个菜单项"
计算"
菜单项应完成下列操作:
在表yuangong中增加一新的字段:
新工资N(10,2)。
现在要给每个人增加工资,请计算yuangong表的新工资字段,方法是根据zhicheng表中相应支撑的增加百分比来计算:
新工资=工资*(1+增加百分比/100)
菜单项对应命令SETSYSMENUTODEFAULT,用于返回到系统菜单,程序终止运行。
CREATEMENUstaff_m,系统弹出一个"
新建菜单"
对话框,在对话框中单击"
菜单"
图形按钮,进入菜单设计器环境。
根据题目要求,首先输入两个主菜单名称"
,接着在"
菜单行的"
结果"
下拉框中选择"
过程"
选项(用于编写程序),在"
命令"
选项。
菜单行中的"
按钮,进入程序设计的编辑窗口,在命令窗口中输入如下程序段:
*****"
菜单命令的程序设计****
USEzhichengIN2
USEyuangongIN1
ALTERTABLEyuangongADD新工资N(10,2)
SELECT2
DOWHILENOTEOF()&
&
遍历zhicheng表中的每一条记录
SELECT1
UPDATEyuangongSET新工资=工资*(1+(zhicheng.增加百分比/100));
WHEREyuangong.职称代码=zhicheng.职称代码
************************************
在"
菜单项的"
文本框中编写程序代码:
SETSYSMENUTODEFAULT。
选择菜单命令"
-"
生成"
,生成一个可执行菜单文件staff_m.mpr。
关闭设计窗口,在命令窗口输入命令:
DOstaff_m.mpr,看到VisualFoxPro的菜单栏被新建的菜单所代替,单击"
菜单命令将恢复系统菜单。
执行"
菜单命令后,系统生成一个新的字段,并将计算结果自动保存到新字段中。
第十五套
(1)用SQL语句查询课程成绩在60分以上的学生姓名,并将结果按姓名降序存入表文件res.dbf中。
(2)编写my.prg程序,实现的功能:
先为"
学生成绩"
表增加一个"
学生平均成绩"
字段,类型为N(6,2),根据"
学生选课"
表统计每个学生的平均成绩,并写入"
表新的字段中。
MODIFYCOMMANDquery1,在程序文件编辑器窗口输入如下程序段:
*******文件query1.prg中的程序段******************
SELECTDISTINCT(姓名)AS姓名;
FROM课程,学生选课,学生成绩;
WHERE学生成绩.学号=学生选课.学号;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国大学生 计算机 二级 八至二 十二