1、二级 VISUAL+FOXPRO机试-132 及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.在考生文件夹下完成如下操作:1建立菜单 QUERY_MENU。该菜单只有“查询”和“退出”两个主菜单项(条形菜单),其中单击菜单项“退出”时,返回到 VFP系统菜单(相应命令写在命令框中,不要写在过程中)。2将 COURSE表的“开课系部”字段名改为“开课单位”,其余不变。3从数据库 SCORE_MANAGER中移去表 TEMP2.DBF(不是删除)。4将 SCORE1表中记录按学号从低到高排序,在学号相同的情况下再按成绩从高到低排序,排序结
2、果存入表 NEW_ORDER中。(分数:30.00)_二、二 简单应用题(总题数:1,分数:40.00)2.在考生文件夹下完成如下简单应用:1在 SCORE_MANAGER数据库中统计选修了课程的学生人数(选修多门时,只计算 1次),统计结果何存在一个新表 NEW_TABLE中,表中只有一个字段,字段名为学生人数。2在 SCORE_MANAGER数据库中查询没有学生选修的课程,查询结果含“课程名”和“开课单位”字段,结果按课程名升序保存在一个新表 NEW_TABLE2中(注意:字段名“开课单位”是在基本操作中根据“开课系部”修改后的字段名)。(分数:40.00)_三、三 综合应用题(总题数:1
3、,分数:30.00)3.SCORE_MANAGER数据库中含有 3个数据库表 STUDENT、SCORE1 和 COURSE。为了对 SCORE_MANAGER数据库数据进行查询,设计一个表单 Myform3(控件名为 form1,表单文件名为Myform3)。表单标题为“成绩查询”;表单有“查询”(名称为 Command1)和“退出”(名称为 Command2)两个命令按钮。表单运行时,单击“查询”按钮,查询每门课程的最高分,查询结果中含“课和名”和“最高分”字段,结果按课程名升序保存在表 NEW_TABLE3中。单击“退出”按钮,关闭表单。(分数:30.00)_二级 VISUAL+FOXP
4、RO机试-132 答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.在考生文件夹下完成如下操作:1建立菜单 QUERY_MENU。该菜单只有“查询”和“退出”两个主菜单项(条形菜单),其中单击菜单项“退出”时,返回到 VFP系统菜单(相应命令写在命令框中,不要写在过程中)。2将 COURSE表的“开课系部”字段名改为“开课单位”,其余不变。3从数据库 SCORE_MANAGER中移去表 TEMP2.DBF(不是删除)。4将 SCORE1表中记录按学号从低到高排序,在学号相同的情况下再按成绩从高到低排序,排序结果存入表 NEW_ORDER中
5、。(分数:30.00)_正确答案:(1新建菜单可按下列步骤:选择“文件”菜单中的“新建”命令,在“新建”对话框中选择“菜单”,单击“新建文件”按钮。在“新建菜单”对话框中选择“菜单”按钮,调出“菜单设计器”。也可用 CREATE MENU命令直接调出菜单设计器。在菜单名称中填入“查询”、“退出”,“退出”结果为命令,其命令设置为 SET SYSMENU TO DEFAULT。2打开 COURSE表表设计器,将光标移动到“开课系部”字段格中,将其改为“开课单位”。3打开考生文件夹下的“SCORE_MANAGER”数据库,在“SCORE_MANAGER”数据库设计器中,选中“TEMP2”表,单击主
6、菜单“数据库”下的“移去”,在弹出的对话框中单击“移去”按钮,在随后弹出的对话框中单击“是”按钮,至此便完成了从数据库“SCORE_MANAGER”中移去表 TEMP2(不是删除)的操作。4在 Visual FoxPro的命令窗口中输入下列命令:select*from score1 order by 学号,成绩 desc into table new_order)解析:二、二 简单应用题(总题数:1,分数:40.00)2.在考生文件夹下完成如下简单应用:1在 SCORE_MANAGER数据库中统计选修了课程的学生人数(选修多门时,只计算 1次),统计结果何存在一个新表 NEW_TABLE中,表
7、中只有一个字段,字段名为学生人数。2在 SCORE_MANAGER数据库中查询没有学生选修的课程,查询结果含“课程名”和“开课单位”字段,结果按课程名升序保存在一个新表 NEW_TABLE2中(注意:字段名“开课单位”是在基本操作中根据“开课系部”修改后的字段名)。(分数:40.00)_正确答案:(1在 Visual FoxPro的命令窗口中输入下列命令:SELECT Student.姓名;FROM course INNER JOIN score1 INNER JOIN student;ON Student.学号=Score1.学号;ON Course.课程号=Score1.课程号;WHERE
8、 Course.课程号=score1.课程号;GROUP BY Student.姓名;INTO CURSOR tempSELECT count(姓名)AS 学生人数 FROM temp INTO TABLE NEW_TABLE2在 Visual FoxPro的命令窗口中输入下列命令:SELECT Course.课程名,Course.开课单位;FROM course LEFT OUTER JOIN score1;LEFT OUTER JOIN student;ON Student.学号=Score1.学号;ON Course.课程号=Score1.课程号;WHERE Course.课程号!=Sc
9、ore1.课程号;ORDER BY Course.课程名;INTO TABLE new_table2.dbf)解析:三、三 综合应用题(总题数:1,分数:30.00)3.SCORE_MANAGER数据库中含有 3个数据库表 STUDENT、SCORE1 和 COURSE。为了对 SCORE_MANAGER数据库数据进行查询,设计一个表单 Myform3(控件名为 form1,表单文件名为Myform3)。表单标题为“成绩查询”;表单有“查询”(名称为 Command1)和“退出”(名称为 Command2)两个命令按钮。表单运行时,单击“查询”按钮,查询每门课程的最高分,查询结果中含“课和名”
10、和“最高分”字段,结果按课程名升序保存在表 NEW_TABLE3中。单击“退出”按钮,关闭表单。(分数:30.00)_正确答案:(第一步:在 Visual FoxPro主窗口中按下组合键 Ctrl+N,系统弹出“新建”对话框,在文件类型中选择“表单”,单击“新建文件”按钮,系统将打开表单设计器;或直接在命令窗口中输入 crea form Myform3。第二步:单击工具栏按钮“表单控件工具栏”,在弹出的“表单控件”工具栏中,选中“命令按钮”控件,在表单设计器中拖动鼠标,这样在表单上得到一个“命令按钮”控件 command1,用同样的方法为表单再加入一个“命令按钮”控件 command2。相关控
11、件的属性值如下:对象 属性 属性值Form1 Caption 成绩查询Command1 Caption 查询Command2 Caption 退出*命令按钮 command1(查询)的 Click 事件代码如下*SELECT Course.课程名,MAX(score1.成绩)AS 最高分;FROM course INNER JOIN score1;INNER JOIN student;ON Student.学号=Score1.学号;ON Course.课程号=Score1.课程号;GROUP BY Course.课程名;INTO TABLE NEW_TABLE3*命令按钮 command2(退出)的 Click事件代码如下*thisform release)解析: