二级VFP机试试题9.docx
- 文档编号:9466398
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:8
- 大小:17.51KB
二级VFP机试试题9.docx
《二级VFP机试试题9.docx》由会员分享,可在线阅读,更多相关《二级VFP机试试题9.docx(8页珍藏版)》请在冰点文库上搜索。
二级VFP机试试题9
计算机等级考试二级VFP机试试题9
2008-08-0116:
14:
10来源:
考试大作者:
佚名[打印][评论]
一、基本操作题(共四小题,第1和2题是7分、第3和4题是8分)
1、在考生文件夹下打开数据库CUST_M,为CUST表建立主索引,索引名为客户编号,
索引表达式为客户编号。
2、CUST表和ORDER1表中必要的索引已经建立,为两表建立永久性联系。
3、为CUST表增为字段:
客户等级C
(2),字段值允许为空。
4、为ORDER1表"金额"字段增加有效性规则:
金额大于零,否则提示:
金额必须
大于零。
本题的主要考核点:
主索引的建立、为已建立索引的表建立联系、字段的添加、字段有效性规则的建立。
解题思路:
1.在表设计器中的索引页面,建立索引名索引表达式都为客户编号的主索引。
2.建立两个表的联系。
在父表中选中主索引,按住鼠标拖动至子表相应的普通索引上,释放鼠标,联系即已建立。
3.增加字段的方法:
打开CUST表的表设计器,将光标移动到最后的空字段格中,输入新的字段名、字段类型及长度。
字段值允许为空,则选中"NULL"项。
4.建立有效性规则比较简单直接的方法是在表设计器中建立。
在表设计器中首先选中要定义有效性规则的字段"金融",在"规则"一栏中输入"金额>0"(或用表达式生成器生成),在"信息"栏中输入:
"金额必须大于零"。
二、简单应用(2小题,每题20分,计40分)
1、在考生文件夹中有一个数据库SDB,其中有数据库表STUDENT2,SC和
COURSE2。
三个表如下所示:
STUDENT2(学号,姓名,年龄,性别,院系编号)
SC(学号,课程号,成绩,备注)
COURSE2(课程号,课程名,先修课号,学分)
在考生文件夹下有一个程序dbtest3.prg,该程序的功能是定义一个视图VS1,
检索选课门数是3门以上的每个学生的学号、姓名、平均成绩、最低分、选
课门数和院系编号,并按平均成绩降序排序。
请修改程序中的错误,并调试
该程序,使之正确运行。
不得增加或删减程序行。
2、在考生文件夹下有一个数据库CUST_M,数据库中有CUST和ORDER1两个表。
请
使用菜单设计器制作一个名为MY_MENU的菜单,菜单只有"浏览"一个菜单
项。
浏览菜单项中有"客户"、"订单"和"退出"三个子菜单:
客户子菜单使用SELECT*FROMCUST命令对CUST表查询;
订单子菜单使用SELECT*FROMORDER1命令对ORDER1表查询;
退出子菜单使用SETSYSMENUTODEFAULT命令返回系统菜单。
第1题,本题是一个程序修改题。
第一个错误是在"USEDATABASESDB"行,打开数据库的命令错误,应该是"OPENDATABASESDB"。
第二个错误是在"FROMSTUDENT2,COURSE2",按题目所给程序下一行"WHERESTUDENT2.学号=SC.学号",可知此处应在STUDENT2和SC表中选择,应把COURSE2改为SC。
第三个错误在"ORDERBY成绩"行中,因要求按平均成绩降序排序,所以应改为"ORDERBY平均成绩DESC"。
第2题,本题的主要考核点是建立菜单。
新建菜单可按下列步骤:
选择"文件"菜单中的"新建"命令,在"新建"对话框中选择"菜单",单击"新建文件"按钮。
在"新建菜单"对话框中选择"菜单"按钮,调出"菜单设计器"。
也可用CREATEMENU命令直接调出菜单设计器。
在菜单名称中填入"浏览",结果为子菜单,单击编辑;在子菜单的菜单名称中分别输入"客户"、"订单"和"退出",结果都为命令。
分别在对应的命令栏内输入相应的命令,保存为MY_MENU。
三、综合应用(1小题,计30分)
在考生文件夹下有学生管理数据库stu_3,数据库中有score_fs表,其表结构是
学号C(10)、物理I、高数I、英语I和平均分N(6.2)。
成绩如果用-1表示,说明
学生没有选学该门课程。
其中,该表前四项已有数据。
请编写并运行符合下列要求的程序:
设计一个名为form_my的表单,表单中有两个命令按钮,按钮的名称分别为
cmdYes和CmdNo,标题分别为"统计"和"关闭"。
程序运行时,单击"统计"按钮应完成下列操作:
(1)计算每一个学生的平均分存入平均分字段。
注意:
分数为-1不记入平均分,
例如一个学生的三门成绩存储的是90,-1,70,平均分应是80。
(2)根据上面的计算结果,生成一个新的表PJF,该表只包括学号和平均分两
项,并且按平均分的降序排序,如果平均分相等,则按学号升序排序。
单击"关闭"按钮,程序终止运行。
本题主要考核点:
表单的建立、程序设计中循环结构、条件结构的应用、SELECT语句的应用等知识点
解题思路:
第一步:
利用表单设计器建立所要求的表单,将在表单上添加两个按钮控件。
分别设置两个按钮控件的标题和名字属性。
第二步:
双击标题为"统计"的按钮控件,在新打开的窗口中添加此按钮的CLICK事件代码:
SETTALKOFF &&在程序中要关闭命令结果的显示
SETSAFETYOFF &&关闭当生成的文件出现重名时的提示
OPENDATABASESTU_3 &&打开数据库文件STU_3(也可以直接将数据库文件加入到表单的数据环境之中)
USESCORE_FS
GOTOP
DOWHILENOTEOF() &&遍历每一条记录
STORE0TORS,PJF &&RS表示参加了几个科目的考试,PJF表示参加考试科目的成绩之和
IF物理<>-1THEN &&判断是否参加了物理科的考试
RS=RS+1 &&如果参加了物理科的考试,则考试科目加1
PJF=PJF+物理 &&如果参加了物理科的考试,成绩加上物理科的成绩
ENDIF
IF高数<>-1THEN
RS=RS+1
PJF=PJF+高数
ENDIF
IF英语<>-1THEN
RS=RS+1
PJF=PJF+英语
ENDIF
IFRS<>0THEN &&在有参加科目考试的情况下计算出平均成绩
REPLACE平均分WITHPJF/RS &&计算出平均成绩并写入当前记录的"平均分"字段
ENDIF
SKIP
ENDDO
SELECT学号,平均分FROMSCORE_FSORDERBY平均分DESC,学号INTOTABLEPJF
&&利用SELECT语句中的ORDERBY子句进行查询的排序,ORDERBY子句默认的排序是升序,如果要指
&&写为降序需用DESC,如果有多个排序的依据,则按排序依据的优先顺序依次放在ORDERBY子句的后面,
&&相互之间用,隔开;可以利用INTOTABLE子句将查询的结果生成一个永久表,也可以生成一个临时表
&&格式为:
INTOCURSOR临时表名
CLOSEALL &&关闭打开的数据库等
SETSAFETYON &&恢复原来的设置
SETTALKON
第三步:
用同样的方法为标题为"退出"的按钮控件添加如下的CLICK的事件代码:
thisForm.release &&退出此表单。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 VFP 试试