1、二级 VISUAL+FOXPRO 机试 8 及答案解析(总分:100.00,做题时间:90 分钟)一、B一 基本操作题/B(总题数:1,分数:30.00)1.(1)在考生文件夹下建立数据库 ks7,并将自由表 SCOt 加入数据库中。 (2)按下面给出的表结构。给数据库添加表 stud: 字段 字段名 类型 宽度 小数 1 学号 字符型 2 2 姓名 字符型 8 3 出生日期 日期型 8 4 性别 字符型 2 5 院系号 字符型 2 (3)为表 stud 建立主索引,索引名为“学号”,索引表达式为“学号”,为表 scor 建立普通索引,索引名为“学号”,索引表达式为“学号”。 (4)stud
2、表和 scor表必要的索引已建立,为两表建立永久性的联系。(分数:30.00)_二、B二 简单应用题/B(总题数:1,分数:40.00)2.(1)考生文件夹下有一个分数表,使用菜单设计器制作一个名为 my 的菜单,菜单只有一个菜单项“信息查看”。该菜单中有“查看学生信息”, “查看课程信息”和“关闭”3 个子菜单: “查看学生信息”子菜单按“学号”排序查看成绩; “查看课程信息”子菜单按“课程号”排序查看成绩; “关闭”子菜单负责返回系统菜单。 (2)在考生文件夹下有一个数据库 mydb,其中有数据库表“购买情况”,在考生文件夹下设计一个表单 myf,该表单为“购买情况”表的窗口输入界面,表单
3、上还有一个标题为“关闭”的按钮,单击该按钮,则退出表单。(分数:40.00)_三、B三 综合应用题/B(总题数:1,分数:30.00)3.现有医院数据库 doct3,包括 3 个表文件:yisheng.dbf(医生)、yao.dbf(药品)、chufang.dbf(处方)。设计一个名为 chufang3 的菜单,菜单中有两个菜单项“查询”和“退出”。 程序运行时,单击“查询”应完成下列操作:查询同一处方中,包含“感冒”两个字的药品的处方号、药名和生产厂,以及医生的姓名和年龄,把查询结果按处方号升序排序存入 jg9 资料表中。jg9 的结构为(姓名,年龄,处方号,药名,生产厂)。最后统计这些医生
4、的人数(注意不是人次数),并在 jg9 中追加一条记录,将人数填入该记录的处方号字段中。 单击“退出”菜单项,程序终止运行。 (注:相关资料表文件存在于考生文件夹下)(分数:30.00)_二级 VISUAL+FOXPRO 机试 8 答案解析(总分:100.00,做题时间:90 分钟)一、B一 基本操作题/B(总题数:1,分数:30.00)1.(1)在考生文件夹下建立数据库 ks7,并将自由表 SCOt 加入数据库中。 (2)按下面给出的表结构。给数据库添加表 stud: 字段 字段名 类型 宽度 小数 1 学号 字符型 2 2 姓名 字符型 8 3 出生日期 日期型 8 4 性别 字符型 2
5、5 院系号 字符型 2 (3)为表 stud 建立主索引,索引名为“学号”,索引表达式为“学号”,为表 scor 建立普通索引,索引名为“学号”,索引表达式为“学号”。 (4)stud 表和 scor表必要的索引已建立,为两表建立永久性的联系。(分数:30.00)_正确答案:()解析:(1)在命令窗口输入命令:MODIFY DATABASE ks7,新建数据库,右击数据库设计器,选择“添加表”快捷菜单命令,将考生文件夹下的 scor.dbf 自由表添加到数据库 ks7 中。 (2)在数据库设计器中单击右键,在弹出的快捷菜单中选择“新建表”菜单命令,以 stud 为文件名保存在考生文件夹下。根据
6、题意,在表设计器的“字段”选项卡中,依次输入每个字段的字段名、类型和宽度。 (3)在数据库设计器中,右键单击数据库表 stud.dbf,选择“修改”快捷菜单命令,进入 stud.dbf 表设计器,在“字段”选项卡中为“学号”字段选择一个索引排序,然后单击“索引”选项卡,此选项卡中,系统已建立默认的索引名“学号”,将“索引”下拉列框中的索引类型改为“主索引”。以同样的方法为 scor 表建立普通索引。 (4)在数据库设计器中,将 stud 表中“索引”下面的“学号”主索引字段拖到 scor 表中“索引”下面的“学号”索引字段上,建立 stud 和 scor 两个表之间的永久性联系。 解析 本大题
7、主要考查的是数据库和数据表之间的联系,以及字段索引的建立。新建数据库可以通过菜单命令、工具栏按钮或直接输入命令来建立,添加、新建或修改数据库中的数据表可以通过数据库设计器来完成,建立表索引可以在数据表设计器中完成。二、B二 简单应用题/B(总题数:1,分数:40.00)2.(1)考生文件夹下有一个分数表,使用菜单设计器制作一个名为 my 的菜单,菜单只有一个菜单项“信息查看”。该菜单中有“查看学生信息”, “查看课程信息”和“关闭”3 个子菜单: “查看学生信息”子菜单按“学号”排序查看成绩; “查看课程信息”子菜单按“课程号”排序查看成绩; “关闭”子菜单负责返回系统菜单。 (2)在考生文件
8、夹下有一个数据库 mydb,其中有数据库表“购买情况”,在考生文件夹下设计一个表单 myf,该表单为“购买情况”表的窗口输入界面,表单上还有一个标题为“关闭”的按钮,单击该按钮,则退出表单。(分数:40.00)_正确答案:()解析:(1)在命令窗口中输入命令:CREATE MENU my,系统弹出一个“新建”对话框,在对话框中单击“菜单”按钮,进入菜单设计器环境。输入主菜单名称“信息查看”,在“结果”下拉框中选择子菜单,接着单击“信息查看”菜单项同一行中的“创建”按钮进入下级菜单的设计界面,此设计窗口与主窗口大致相同,然后编写每个子菜单项的名称“查看学生信息”、“查看课程信息”和“关闭”,在前
9、两个子菜单的“结果”下拉框中选择“过程”选项,“关闭”的“结果”下拉框中选择“命令”选项。如图 3-17所示。 分别单击前两个菜单命令行中的“创建”按钮,进入程序设计的编辑窗口,在命令窗口中输入如下程序段: *“查看学生信”菜单命令的程序段* SELECT * FROM 分数 ORDER BY 学号 * *“查看课程信息”菜单命令的程序段* SELECT * FROM 分数 ORDER BY 课程 * 在“退出”菜单项的命令文本框中编写程序代码:SET SYSMENU TO DEFAULT。选择菜单命令“菜单”“生成”,生成一个菜单文件 my.mpr。 (2)在命令窗口输入命令:CREATE
10、FORM myf,打开表单设计器新建表单。 在表单设计器中,鼠标右键单击空白表单,选择“数据环境”快捷菜单命令,打开表单的数据环境,将数据表文件“购买情况”添加到数据环境中,将数据环境中的“购买情况”拖放到表单中,可看到在表单中出现一个表格控件,此时实现了“购买情况”表的窗口式输入界面。最后在“表单控件”工具栏中,选中命令按钮控件添加到表单中,在“属性”面板中修改该命令按钮的 Caption 属性值为“关闭”,双击该命令按钮,在 Click 事件中输入代码:Thisform.Release。 保存表单设计,在命令窗口输入命令:DO FORM myf,表单运行结果如图 3-18 所示。 解析 本
11、大题 1 小题主要考查的是菜单设计器的“结果”下拉框中各项的使用功能,例如要建立下级菜单,在“结果”下拉框中就必须选择“子菜单”,而要执行某条菜单命令,就应该选择“命令”或“过程”。2 小题考查的是在表单中设定数据环境,通过表单的数据环境快速建立表单控件和数据之间的联系。三、B三 综合应用题/B(总题数:1,分数:30.00)3.现有医院数据库 doct3,包括 3 个表文件:yisheng.dbf(医生)、yao.dbf(药品)、chufang.dbf(处方)。设计一个名为 chufang3 的菜单,菜单中有两个菜单项“查询”和“退出”。 程序运行时,单击“查询”应完成下列操作:查询同一处方
12、中,包含“感冒”两个字的药品的处方号、药名和生产厂,以及医生的姓名和年龄,把查询结果按处方号升序排序存入 jg9 资料表中。jg9 的结构为(姓名,年龄,处方号,药名,生产厂)。最后统计这些医生的人数(注意不是人次数),并在 jg9 中追加一条记录,将人数填入该记录的处方号字段中。 单击“退出”菜单项,程序终止运行。 (注:相关资料表文件存在于考生文件夹下)(分数:30.00)_正确答案:()解析:在命令窗口输入命令:CREATE MENU chufang3,系统弹出一个“新建菜单”对话框,在对话框中单击“菜单”按钮,进入菜单设计器环境。根据题目要求,首先输入两个主菜单名称“查询”和“退出”,
13、接着在“查询”菜单行的“结果”下拉列表中选择“过程”选项(用于编写程序),在“退出”菜单行的“结果”下拉列表中选择“命令”选项。 单击“查询”菜单行中的“查询”按钮,进入程序设计的编辑窗口,在命令窗口中输入如下程序段: *“查询”菜单命令的程序设计* SET TALK OFF SET SAFETY OFF SELECT 姓名,年龄,处方号,药名,生产厂; FROM yisheng,yao,chufang; WHERE chufang.药编号=yao.药编号; AND chufang.职工号=yisheng.职工号 AND 药名 IN(“感冒“); ORDER BY 处方号; INTO TABL
14、E js9 SELECT * FROM jg9 GROUP BY 姓名 INTO cursor curtable INSERT INTO jg9(处方号)VALUES(J) 在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT。 选择菜单命令“菜单”“生成”,生成一个菜单文件 chufang3.mpr。关闭设计窗口,在命令窗口输入命令:DO chufang3.mpr,看到 Visual FoxPro 的菜单栏被新建的菜单所代替,单击“退出”菜单命令将恢复系统菜单。 执行“查询”菜单命令后,系统将查询结果自动保存到表 jg9.dbf 中。 解析 本大题考查的主要是利用 SQL 语句进行多表查询,其中只要注意每两个表之间进行的关联字段即可,部分语句可以参考第二大题 2 小题的设计,最后还要注意的是人数的统计,因为要统计的人数,不是人次数,因此可以通过姓名字段的排序,将排序结果存放到一个临时表中,然后通过 COUNT 函数统计出人数(此函数不统计相邻的重复出现的数据)。