全国计算机等级考试二级VFP课后习题答案
教育部考试中心(编) 高等教育出版社出版
葛绍峰 整理 2004年4月8日
第一章 一、选择题 1)D 2)A 3)B 4)B 5)C 6)B 7)C 8)D 二、填空题 1)事物与事物之间的联系 2)关系数据模型 3)属性 元组 4)选择 联接 投影 5)去掉重复属性的等值联接 6)空值 7)一方 多方 8)两个表的主关键字 9)关系 数据库开发 面向对象
第二章 一、选择题 1)C 2)D 3)D 4)D 5)B 6)C 7)D 8)D 二、填空题 1)设计器 2)控制面板中“添加/删除程序” 3)工具 选项 4)区域 5)文件位置 6).PJX 7)代码 8)从项目中移去,被移去文件仍存在于原目录中 不仅从项目中移去文件,还从磁盘删除
第三章 一、选择题 1)D 2)B 3)C 4)D 5)A 6)C 7)A 8)65.00 9)D 二、填空题 1)337.201 2)15 3)字符型 4)D C 三、上机题 1) (假定系统当前日期是2002年9月21日,则结果为) 今天是:2002年9月21日 (假定系统当前日期是2002年10月1日,则结果为) 今天是:2002年10月01日 2) 2.4+12.4 14.80 3) 7 586个人计算机 奔腾586个人计算机 奔腾586个人计算机 4) 5 100.00 88991 5) (假定系统当前日期是2002年9月21日,则结果为) 2002年□9月21日
习题四 选择题 1)D 2)D 3)D 4)C 5)C 二、填空题 1) 实体 2) 主 普通 3) SET RELATION TO 4) 逻辑表达式 5) 32767
习题五 一、选择题 1)D 2)A 3)C 4)A 二、填空题 1) UNION 2) NULL 3) 逻辑 4) SUM AVG 5) INTO CURS 三、上机题 1) ① SELECT 供应商名 FROM 供应商 WHERE 地址=’北京’
② SELECT 职工号,仓库号 FROM 职工 WHERE 职工号 IN; (SELE 职工号 FROM 订购单 WHERE 供应商号=''S3'')
③ SELE * FROM 供应商 WHERE 地址=''北京'' AND ; (供应商号 IN (SELE 供应商号 FROM 订购单 WHERE 职工号=''E1'')) ; AND (供应商号 IN (SELE 供应商号 FROM 订购单 WHERE 职工号=''E3''))
④ SELECT DIST 城市 FROM 仓库,职工,订购单 WHERE 供应商号=''S4''; AND 订购单.职工号=职工.职工号 AND 职工.仓库号=仓库.仓库号
⑤ SELECT 订购单号 FROM 订购单 WHERE 职工号 IN ; (SELECT 职工号 FROM 职工 WHERE 工资>1230); AND 供应商号 IN (SELECT 供应商号 FROM 供应商 WHERE 地址=''北京'')
⑥ SELECT AVG(面积) FROM 仓库
⑦ SELECT 仓库号,COUNT(*) FROM 职工 WHERE 工资>1220 GROUP BY 仓库号 ⑧ SELECT * FROM 职工 A WHERE ; 工资<(SELECT AVG(工资) FROM 职工 B WHERE A.仓库号=B.仓库号)
2) ① INSERT INTO 供应商 value (''S9'',''智通公司'',''沈阳'')
② DELETE FROM 供应商 WHERE 供应商号 NOT IN ; (SELECT 供应商号 FROM 订购单)
PACK
③DELETE FROM 订购单 WHERE 职工号 IN; (SELECT 职工号 FROM 职工,仓库 WHERE 城市=''上海'' AND; 仓库.仓库号=职工.仓库号)
④ UPDATE 仓库 SET 面积=面积+100 WHERE 城市=''北京''
⑤ UPDATE 职工 SET 工资=工资*1.05 WHERE 工资<(SELECT AVG(工资) FROM 职工)
3) 建立学生管理数据库,其中包含有 学生:(学号(C/2),姓名(C/8),性别(L),出生日期(D)) 【要求】 l 按照学号建立主索引; l 出生日期字段有效性规则为:出生日期应小于系统当前日期,否则提示“出生日期输入错误!” 课程:(课程号(I),课程名(C/20)) 【要求】 l 按照课程号建立主索引 成绩:(学号(C/2),课程号(I),成绩(N/5/1)) 【要求】 l 成绩字段的有效性规则为:成绩应介于0~100分之间,否则提示“成绩应介于0~100之间”,默认值为60分; l 按照学号建立普通索引并与学生表建立联系; l 按照课程号建立普通索引并与课程表建立联系; 命令如下:
CREA DATABASE 学生管理 &&建立须生管理数据库
*建立学生表 CREATE TABLE 学生; ( 学号 C(2) PRIMARY KEY, 姓名 C(8), 性别 L,; 出生日期 D CHECK (出生日期<=DATE()) ERROR "出生日期输入错误!" *
建立课程表 CREATE TABLE 课程; ( 课程号 I PRIMARY KEY,课程名 C(20))
*建立成绩表 CREATE TABLE 成绩( 学号 C(2),课程号 I, ; 成绩 N(6,2) CHECK (成绩>=0 AND 成绩<=100) ; ERROR "成绩应介于0~100之间" DEFAULT 60, ; FOREIGN KEY 学号 TAG 学号 REFERENCES 学生,; FOREIGN KEY 课程号 TAG 课程号 REFERENCES 课程 ) 【提示】操作完成后,可以使用: OPEN DATABASE 学生管理 MODI DATABASE 查看结果。
第五章 关系数据库标准语言SQL
一、选择题:
1.D 2.A 3.C 4.A
二、填空题:
1.union 2. .null. 3. 逻辑
4.avg sum 5.into cursor
三、上机题:
SQL查询:
1. sele 供应商名 from 供应商 wher 地址="北京"
2. sele 职工号,仓库号 from 职工 where 职工号=(sele 职工号 from 订购单 where 供应商号="S3")
3. sele * from 供应商 where 供应商号 in (sele 供应商号 from 订购单 where 职工号='E1') and 供应商号 in (sele 供应商号 from 订购单 where 职工号='E3')
4. sele 仓库.城市 distinct from 仓库,职工,订购单 where 供应商号="S4" and 仓库.仓库号=职工.仓库号 and 职工.职工号=订购单.职工号
5. sele 订购单号 from 订购单,供应商,职工 where 工资>1230 and 地址="北京" and 职工.职工号=订购单.职工号 and 供应商.供应商号=订购单.供应商号
6. sele avg(面积) as 平均面积 from 仓库
7. sele 仓库号,count(*) as 职工个数 from 职工 where 工资>1220 group by 仓库号
8.需分两步走:
*第一步:生成一临时文件curtable,包含每个仓库的最低工资
SET TALK OFF
SET SAFETY OFF
OPEN DATABASE 订货管理
SELECT 仓库号,AVG(工资) AS AvgGZ;
FROM 职工;
GROUP BY 仓库号;
INTO CURSOR CurTable
*第二步:利用职工表和curtable表联接查询小于最低工资的员工
SELECT 职工.仓库号,职工.职工号,职工.工资;
FROM 职工,CurTable;
WHERE 职工.工资<=CurTable.AvgGZ;
AND ZG.仓库号=CurTable.仓库号;
ORDER BY 职工.仓库号,职工号 ;
INTO TABLE EMP1
CLOSE ALL
SET SAFETY ON
SET TALK ON
SQL更新:
1. insert into 供应商 values("S9","智通公司","沈阳")
2. delete from 供应商 where 供应商号 not in (sele 供应商号 from 订购单)
3. dele from 订购单 where 职工号 in (sele 订购单.职工号 from 订购单,仓库,职工 where 仓库.城市="上海" and 仓库.仓库号=职工.仓库号 and 职工.职工号=订购单.职工号)
4. update 仓库 set 面积=面积+100 where 城市="北京"
5. update 职工 set 工资=工资*1.05 where 工资<(sele avg(工资) from 职工)
在考生文件夹下有工资数据库WAGE3,包括数据表文件:ZG(仓库号C(4),职工号C(4),工资N(4))
设计一个名为TJ3的菜单,菜单中有两个菜单项"统计"和"退出"。
程序运行时,单击"统计"菜单项应完成下列操作:检索出工资低于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库号升序,在仓库号相同的情况下再按职工号升序存放到EMP1文件中,该数据表文件和ZG数据表文件具有相同的结构。
单击"退出"菜单项,程序终止运行。
(注:相关数据表文件存在于考生文件夹下)
思路:使用SQL语言检索出各仓库的工资平均值生成一个临时表,再通过ZG表和此临时表找出低于本仓库平均工资的职工号。
统计菜单过程代码如下:
set safe off
close all
use zg
copy stru to emp2
sele 2
use emp2
sele 仓库号,avg(工资)as pjgz from zg group by 仓库号 order by 仓库号 into dbf zg1
sele zg1
do while not eof()
sele * from zg where 工资<=zg1.pjgz and 仓库号=zg1.仓库号 into dbf aa
sele 2
appe from aa
sele zg1
skip
enddo
close all
use emp2
sort to emp1 on 仓库号,职工号
use
use emp1
brow
set safe on
drop tabl aa.dbf
drop tabl emp2
drop tabl zg1
习题六 一、选择题 1)D 2)C 3)A 二、填空题 1) 自动 2) 条件 3) 更新 4) 连接
习题七 一、选择题 1)B 2)C 3)C 4)B 5) C 二、填空题 1)S>10 AND S<=100; S>1 AND S<=10;S<=1 2)115 3)6 4 2
三、上机题目
1) SET TALK OFF
CLEAR
INPUT “请输入考试成绩:” TO CHJ
DO CASE
CASE CHJ<60
DJ=”不合格”
CASE CHJ>=60 AND CHJ<90
DJ=”合格”
CASE CHJ>=90
DJ=”优秀”
ENDCASE
?”成绩等级:”+DJ
SET TALK ON
2) SET TALK OFF
CLEAR
I=1
J=1
S=0
K=3
DO WHILE K<=5
S=I+J
?''第''+str(k)+''个数为:''+str(s) K=K+1
ENDDO
?S
习题八 一、选择题 1)D 2)B 3)B 4)C 5)D 6)C 7)C 8)B 二、上机题 1)【提示】 在对命令按钮“=”的Caption属性设置时,不能在其属性窗口中直接输入半角的“=”,否则提示语法错误。可以输入全角“=”,或在表单FROM1的Init事件中,输入如下代码: thisform.command14.caption="="。 判断文本框字符串内容类型时,可以使用VARTYPE函数和&宏替换函数。 2)~4)略
习题九 一、填空题 1)条形菜单 弹出式菜单 2)SET SYSMENU NOSAVE SET SYSMENU TO DEFAULT 3)常规选项 ShowWindow Init 4)RightClick 二、上机题 略
习题十
一、选择题 1)A 2)D 3)B 4)B 二、填空题 1)数据源 布局 2)图片 通用型字段 3)组标头 组注脚 4)“页面设置”对话框
习题十一
一、 选择题 1)A 2)D 3)C 4)D 5)A 二、填空题 1)应用程序框架 2)可以在桌面上运行的.EXE程序 3)在VF主窗口中运行的.APP程序 3)清理 4)向导选取对话框 应用程序生成器
教育部考试中心(编) 高等教育出版社出版
葛绍峰 整理 2004年4月8日
第一章 一、选择题 1)D 2)A 3)B 4)B 5)C 6)B 7)C 8)D 二、填空题 1)事物与事物之间的联系 2)关系数据模型 3)属性 元组 4)选择 联接 投影 5)去掉重复属性的等值联接 6)空值 7)一方 多方 8)两个表的主关键字 9)关系 数据库开发 面向对象
第二章 一、选择题 1)C 2)D 3)D 4)D 5)B 6)C 7)D 8)D 二、填空题 1)设计器 2)控制面板中“添加/删除程序” 3)工具 选项 4)区域 5)文件位置 6).PJX 7)代码 8)从项目中移去,被移去文件仍存在于原目录中 不仅从项目中移去文件,还从磁盘删除
第三章 一、选择题 1)D 2)B 3)C 4)D 5)A 6)C 7)A 8)65.00 9)D 二、填空题 1)337.201 2)15 3)字符型 4)D C 三、上机题 1) (假定系统当前日期是2002年9月21日,则结果为) 今天是:2002年9月21日 (假定系统当前日期是2002年10月1日,则结果为) 今天是:2002年10月01日 2) 2.4+12.4 14.80 3) 7 586个人计算机 奔腾586个人计算机 奔腾586个人计算机 4) 5 100.00 88991 5) (假定系统当前日期是2002年9月21日,则结果为) 2002年□9月21日
习题四 选择题 1)D 2)D 3)D 4)C 5)C 二、填空题 1) 实体 2) 主 普通 3) SET RELATION TO 4) 逻辑表达式 5) 32767
习题五 一、选择题 1)D 2)A 3)C 4)A 二、填空题 1) UNION 2) NULL 3) 逻辑 4) SUM AVG 5) INTO CURS 三、上机题 1) ① SELECT 供应商名 FROM 供应商 WHERE 地址=’北京’
② SELECT 职工号,仓库号 FROM 职工 WHERE 职工号 IN; (SELE 职工号 FROM 订购单 WHERE 供应商号=''S3'')
③ SELE * FROM 供应商 WHERE 地址=''北京'' AND ; (供应商号 IN (SELE 供应商号 FROM 订购单 WHERE 职工号=''E1'')) ; AND (供应商号 IN (SELE 供应商号 FROM 订购单 WHERE 职工号=''E3''))
④ SELECT DIST 城市 FROM 仓库,职工,订购单 WHERE 供应商号=''S4''; AND 订购单.职工号=职工.职工号 AND 职工.仓库号=仓库.仓库号
⑤ SELECT 订购单号 FROM 订购单 WHERE 职工号 IN ; (SELECT 职工号 FROM 职工 WHERE 工资>1230); AND 供应商号 IN (SELECT 供应商号 FROM 供应商 WHERE 地址=''北京'')
⑥ SELECT AVG(面积) FROM 仓库
⑦ SELECT 仓库号,COUNT(*) FROM 职工 WHERE 工资>1220 GROUP BY 仓库号 ⑧ SELECT * FROM 职工 A WHERE ; 工资<(SELECT AVG(工资) FROM 职工 B WHERE A.仓库号=B.仓库号)
2) ① INSERT INTO 供应商 value (''S9'',''智通公司'',''沈阳'')
② DELETE FROM 供应商 WHERE 供应商号 NOT IN ; (SELECT 供应商号 FROM 订购单)
PACK
③DELETE FROM 订购单 WHERE 职工号 IN; (SELECT 职工号 FROM 职工,仓库 WHERE 城市=''上海'' AND; 仓库.仓库号=职工.仓库号)
④ UPDATE 仓库 SET 面积=面积+100 WHERE 城市=''北京''
⑤ UPDATE 职工 SET 工资=工资*1.05 WHERE 工资<(SELECT AVG(工资) FROM 职工)
3) 建立学生管理数据库,其中包含有 学生:(学号(C/2),姓名(C/8),性别(L),出生日期(D)) 【要求】 l 按照学号建立主索引; l 出生日期字段有效性规则为:出生日期应小于系统当前日期,否则提示“出生日期输入错误!” 课程:(课程号(I),课程名(C/20)) 【要求】 l 按照课程号建立主索引 成绩:(学号(C/2),课程号(I),成绩(N/5/1)) 【要求】 l 成绩字段的有效性规则为:成绩应介于0~100分之间,否则提示“成绩应介于0~100之间”,默认值为60分; l 按照学号建立普通索引并与学生表建立联系; l 按照课程号建立普通索引并与课程表建立联系; 命令如下:
CREA DATABASE 学生管理 &&建立须生管理数据库
*建立学生表 CREATE TABLE 学生; ( 学号 C(2) PRIMARY KEY, 姓名 C(8), 性别 L,; 出生日期 D CHECK (出生日期<=DATE()) ERROR "出生日期输入错误!" *
建立课程表 CREATE TABLE 课程; ( 课程号 I PRIMARY KEY,课程名 C(20))
*建立成绩表 CREATE TABLE 成绩( 学号 C(2),课程号 I, ; 成绩 N(6,2) CHECK (成绩>=0 AND 成绩<=100) ; ERROR "成绩应介于0~100之间" DEFAULT 60, ; FOREIGN KEY 学号 TAG 学号 REFERENCES 学生,; FOREIGN KEY 课程号 TAG 课程号 REFERENCES 课程 ) 【提示】操作完成后,可以使用: OPEN DATABASE 学生管理 MODI DATABASE 查看结果。
第五章 关系数据库标准语言SQL
一、选择题:
1.D 2.A 3.C 4.A
二、填空题:
1.union 2. .null. 3. 逻辑
4.avg sum 5.into cursor
三、上机题:
SQL查询:
1. sele 供应商名 from 供应商 wher 地址="北京"
2. sele 职工号,仓库号 from 职工 where 职工号=(sele 职工号 from 订购单 where 供应商号="S3")
3. sele * from 供应商 where 供应商号 in (sele 供应商号 from 订购单 where 职工号='E1') and 供应商号 in (sele 供应商号 from 订购单 where 职工号='E3')
4. sele 仓库.城市 distinct from 仓库,职工,订购单 where 供应商号="S4" and 仓库.仓库号=职工.仓库号 and 职工.职工号=订购单.职工号
5. sele 订购单号 from 订购单,供应商,职工 where 工资>1230 and 地址="北京" and 职工.职工号=订购单.职工号 and 供应商.供应商号=订购单.供应商号
6. sele avg(面积) as 平均面积 from 仓库
7. sele 仓库号,count(*) as 职工个数 from 职工 where 工资>1220 group by 仓库号
8.需分两步走:
*第一步:生成一临时文件curtable,包含每个仓库的最低工资
SET TALK OFF
SET SAFETY OFF
OPEN DATABASE 订货管理
SELECT 仓库号,AVG(工资) AS AvgGZ;
FROM 职工;
GROUP BY 仓库号;
INTO CURSOR CurTable
*第二步:利用职工表和curtable表联接查询小于最低工资的员工
SELECT 职工.仓库号,职工.职工号,职工.工资;
FROM 职工,CurTable;
WHERE 职工.工资<=CurTable.AvgGZ;
AND ZG.仓库号=CurTable.仓库号;
ORDER BY 职工.仓库号,职工号 ;
INTO TABLE EMP1
CLOSE ALL
SET SAFETY ON
SET TALK ON
SQL更新:
1. insert into 供应商 values("S9","智通公司","沈阳")
2. delete from 供应商 where 供应商号 not in (sele 供应商号 from 订购单)
3. dele from 订购单 where 职工号 in (sele 订购单.职工号 from 订购单,仓库,职工 where 仓库.城市="上海" and 仓库.仓库号=职工.仓库号 and 职工.职工号=订购单.职工号)
4. update 仓库 set 面积=面积+100 where 城市="北京"
5. update 职工 set 工资=工资*1.05 where 工资<(sele avg(工资) from 职工)
在考生文件夹下有工资数据库WAGE3,包括数据表文件:ZG(仓库号C(4),职工号C(4),工资N(4))
设计一个名为TJ3的菜单,菜单中有两个菜单项"统计"和"退出"。
程序运行时,单击"统计"菜单项应完成下列操作:检索出工资低于本仓库职工平均工资的职工信息,并将这些职工信息按照仓库号升序,在仓库号相同的情况下再按职工号升序存放到EMP1文件中,该数据表文件和ZG数据表文件具有相同的结构。
单击"退出"菜单项,程序终止运行。
(注:相关数据表文件存在于考生文件夹下)
思路:使用SQL语言检索出各仓库的工资平均值生成一个临时表,再通过ZG表和此临时表找出低于本仓库平均工资的职工号。
统计菜单过程代码如下:
set safe off
close all
use zg
copy stru to emp2
sele 2
use emp2
sele 仓库号,avg(工资)as pjgz from zg group by 仓库号 order by 仓库号 into dbf zg1
sele zg1
do while not eof()
sele * from zg where 工资<=zg1.pjgz and 仓库号=zg1.仓库号 into dbf aa
sele 2
appe from aa
sele zg1
skip
enddo
close all
use emp2
sort to emp1 on 仓库号,职工号
use
use emp1
brow
set safe on
drop tabl aa.dbf
drop tabl emp2
drop tabl zg1
习题六 一、选择题 1)D 2)C 3)A 二、填空题 1) 自动 2) 条件 3) 更新 4) 连接
习题七 一、选择题 1)B 2)C 3)C 4)B 5) C 二、填空题 1)S>10 AND S<=100; S>1 AND S<=10;S<=1 2)115 3)6 4 2
三、上机题目
1) SET TALK OFF
CLEAR
INPUT “请输入考试成绩:” TO CHJ
DO CASE
CASE CHJ<60
DJ=”不合格”
CASE CHJ>=60 AND CHJ<90
DJ=”合格”
CASE CHJ>=90
DJ=”优秀”
ENDCASE
?”成绩等级:”+DJ
SET TALK ON
2) SET TALK OFF
CLEAR
I=1
J=1
S=0
K=3
DO WHILE K<=5
S=I+J
?''第''+str(k)+''个数为:''+str(s) K=K+1
ENDDO
?S
习题八 一、选择题 1)D 2)B 3)B 4)C 5)D 6)C 7)C 8)B 二、上机题 1)【提示】 在对命令按钮“=”的Caption属性设置时,不能在其属性窗口中直接输入半角的“=”,否则提示语法错误。可以输入全角“=”,或在表单FROM1的Init事件中,输入如下代码: thisform.command14.caption="="。 判断文本框字符串内容类型时,可以使用VARTYPE函数和&宏替换函数。 2)~4)略
习题九 一、填空题 1)条形菜单 弹出式菜单 2)SET SYSMENU NOSAVE SET SYSMENU TO DEFAULT 3)常规选项 ShowWindow Init 4)RightClick 二、上机题 略
习题十
一、选择题 1)A 2)D 3)B 4)B 二、填空题 1)数据源 布局 2)图片 通用型字段 3)组标头 组注脚 4)“页面设置”对话框
习题十一
一、 选择题 1)A 2)D 3)C 4)D 5)A 二、填空题 1)应用程序框架 2)可以在桌面上运行的.EXE程序 3)在VF主窗口中运行的.APP程序 3)清理 4)向导选取对话框 应用程序生成器
回复Comments
作者:
{commentrecontent}