1、上机操作题模拟试卷 116 及答案与解析 一、基本操作题 1 在考生文件夹下完成如下简单应用: 1在 SCORE_MANAGER数据库中查询学生的姓名和年龄 (计算年龄的公式:2003一 Year(出生日期 ),年龄作为字段名 ),结果保存在一个新表 NEW_TABLE1中。使用报表向导建立报表 NEW_REPORT1,用报表显示 NEW_TABLEl的内容。报表中数据按年龄升序排列,报表标题是 “姓名 -年龄 ”,其余参数使用缺省参数。 2在 SCORE_MANAGER数据库中查询没有选修任何课程的学生信息,查 询结果包括 “学号 ”、 “姓名 ”和 “系部 ”字段,查询结果按学号升序保存在
2、一个新表NEW_TABLE2中。 二、简单应用题 2 在考生文件夹下完成如下操作: 1建立菜单 QUERY_MENU。该菜单只有 “查询 ”和 “退出 ”两个主菜单项 (条形菜单 ),其中单击菜单项 “退出 ”时,返回到 VFP 系统菜单 (相应命令写在命令框中,不要写在过程中 )。 2将 COURSE表的 “开课系部 ”字段名改为 “开课单位 ”,其余不变。 3从数据库 SCORE_MANAGER中移去表 TEMP2.DBF(不是删除 )。 4将 SCORE1表中记录按学号从低到高排序,在学号相同的情况下再按成绩从高到低排序,排序结果存入表 NEW_ORDER中。 三、综合应用题 3 在考生
3、文件夹下完成如下简单应用: 1在 SCORE_MANAGER数据库中统计选修了课程的学生人数 (选修多门时,只计算 1次 ),统计结果何存在一个新表 NEW_TABLE中,表中只有一个字段,字段名为学生人数。 2在 SCORE_MANAGER数据库中查询没有学生选修的课程,查询结果含 “课程名 ”和 “开课单位 ”字段,结果按课程名升序保存在一个新表 NEW_TABLE2中 (注意:字段名 “开课单位 ”是在基本操作中根据 “开课系部 ”修改后的字段名 )。 上机操作题模拟试卷 116 答案与解析 一、基本操作题 1 【正确答案】 1在 Visual FoxPro的命令窗口中输入下列命令: S
4、ELECT 姓名 ,2003-Year(出生日期 ) as 年龄; FROM student: INTO TABLE new_table1.dbf 启动报表向导可在 “文件 ”菜单中选择 “新建 ”或者单击工具栏上的 “新建 ”按钮,打开 “新建 ”对话框,文件类型选择 报表,单击 “向导 ”按钮。或者在 “工具 ”菜单中选择“向导 ”子菜单,选择 “报表 ”,或直接单击工具栏上的 “报表向导 ”图标按钮。然后按照向导提示操作即可。 2在 Visual FoxPro的命令窗口中输入下列命令: SEIJECT student.学号, student.姓名, student.系部; FROM co
5、urse right OUTER JOIN score1; RIGHT OUTER JOIN student: ON Student.学号 =Score1.学号; ON Course.课程号 =Score1.课程号; WHERE Student.学号 !=Score1.学号; ORDER BY Student.学号; INTO TABLE new_table2.dbf 【知识模块】 上机操作题 二、简单应用题 2 【正确答案】 1新建菜单可按下列步骤:选择 “文件 ”菜单中的 “新建 ”命令,在“新建 ”对话框中选择 “菜单 ”,单击 “新建文件 ”按钮。在 “新建菜单 ”对话框中选择 “菜单
6、 ”按钮,调出 “菜单设计器 ”。也可用 CREATE MENU命令直接调出菜单设计器。在菜单名称中填入 “查询 ”、 “退出 ”, “退出 ”结果为命令,其命令设置为 SET SYSMENU TO DEFAULT。 2打开 COURSE表表设计器,将光标移动到 “开课系部 ”字段格中,将其改为 “开课单位 ”。 3打开考生文件夹下的 “SCORE_MANAGER”数据库,在 “SCORE_MANAGER”数据库设计器中,选中 “TEMP2”表,单击主菜单 “数据库 ”下的 “移去 ”,在弹出的对话框中单击 “移去 ”按钮,在随后弹出的对话框中单击 “是 ”按钮,至此便完成了从数据库 “SCO
7、RE_MANAGER”中移去表 TEMP2(不是删除 )的操作。 4在 Visual FoxPro的命令窗口中输入下列命令: select*from score1 order by 学号,成绩 desc into table new_order 【知识模块】 上机操作题 三、综合应用题 3 【正确答案】 1在 Visual FoxPro的命令窗口中输入下列命令: SELECT Student.姓名; FROM course INNER JOIN score1 INNER JOIN student; ON Student.学号 =Score1.学号; ON Course.课程号 =Score1.
8、课程号; WHERE Course.课程号 =score1.课程号; GROUP BY Student.姓名; INTO CURSOR temp SELECT count(姓名 )AS 学生人数 FROM temp INTO TABLE NEW_TABLE 2在 Visual FoxPro的命令窗口中输入下列命令: SELECT Course.课程名, Course.开课单位; FROM course LEFT OUTER JOIN score1; LEFT OUTER JOIN student; ON Student.学号 =Score1.学号; ON Course.课程号 =Score1.课程号; WHERE Course.课程号 !=Score1.课程号; ORDER BY Course.课程名; INTO TABLE new_table2.dbf 【知识模块】 上机操作题