当前位置:文档之家› 《数据库原理与系统》习题解答

《数据库原理与系统》习题解答

《数据库原理与系统》习题解答
《数据库原理与系统》习题解答

《数据库原理与系统》习题解答

习题一

一、名词解释

DB、DBMS、DBS、DBA、数据冗余、数据异常

二、单项选择题

1.DBMS是

A、数据库

B、数据库系统

C、数据库应用系统C、数据库管理软件2.DB、DBMS和DBS三者之间的关系是

A、DB包括DBMS和DBS

B、DBMS包括DBS和DB

C、DBS包括DB和DBMS

D、DBS与DB和DBMS无关

3.关系数据模型的基本数据结构是

A、树

B、图

C、索引

D、关系

4.层次数据模型的基本数据结构是

A、树

B、图

C、索引

D、关系

5.层次模型实现数据之间联系的方法?

A、连接

B、指针

C、公共属性

D、关系

6.常见的数据模型是

A、层次模型、网状模型、关系模型

B、概念模型、实体模型、关系模型

C、对象模型、外部模型、内部模型

D、逻辑模型、概念模型、关系模型7.提供数据库定义、数据操纵数据控制和数据库维护功能的软件称为

A、OS

B、DS

C、DBMS

D、DBS

三、简答题

1.数据库系统的组成部分

2.DBA的主要职责

3.文件系统的数据管理方法

4.文件系统的主要缺陷

5.数据库系统的主要优点

6.什么是数据模型

7.层次结构的特点

8.DBTG提出的关于数掂库的3个重要规范

9.关系数据模型的基本结构

10.关系数据模型实现数据联系的方法

习题二

一、概念题

1.解释下列事业术语的合义:关系、元组、属性、属性域、超码、候选码、主码、外码。2.简述关系的性质。

3.说明关系数据库实现数据之间联系的方法。

4.什么是实体完整性和参照完整性?

5.什么是数据字典和系统目录?

6.什么是关系代数的选锈、投影、并、差、笛卡儿积、交和连接运算?

7.什么是自然连接?

8.什么是左外连接、右外连接和全外连接?

9.外连接与自然连接的区别是什么?

二、单项选择题

1.下面对关系性质的描述中,错误的是

A、表中的—行称为一个元组

B、行与列交叉点不允许有多个值

C、表中的一列称为一个属性

D、表中任意两行可能相同

2.“元数据”是指

A、数据结构的描述

B、数据项的描述

C、数据的来源

D、系统自身的各种有用信息,包括数据结构的描述

3.在数据库系统中,空值是

A、0

B、空格

C、空字符串

D、不确定

4.实体完整性是指关系中

A、不允许有空行

B、主码不允许空值

C、属性值外码取空值

D、外码允许取空值

5.已知关系R与S如图2.25所示:

在关系S中,违反参照完整性约束的元组是

A、(11,21)

B、(22,NULL)

C、(33,33) A、(44,11)

6.已知关系R和S,R∩S等价于

A、(R-S)-S

B、S-(S-R)

C、(S-R)-R

D、S-(R-S)

7.关系R和S各有10个元组,则关系R×S的元组个数为

A、10

B、20

C、100

D、不确定

8.从关系中选择指定的属性组成新关系的关系运算是

A、选取

B、投影

C、连接

D、笛卡儿乘积

9.有关系:学生(学号,姓名,性别,专业,宿舍编号,宿舍地址),主码是

A 、宿合编号

B 、学号

C 、宿舍地址,姓名

D 、宿舍编号,学号

10.有两个关系:部门(编号,部门名称,地址.电话)和职工(职工号,姓名,性别,职务.编号)。职工关系的外码是

A 、职工号

B 、编号

C 、职工号,编号

D 、编号,部门名称

11.若关系R1和R2的结构相同,各有10个元组,则R1?R2的元组个数为

A 、10

B 、小于等于10

C 、20

D 、小于等于20

12.设关系R 和S 的属性个数分别为2和3,则与关系代数表达式S R ||2

1>?等价的是

A 、

B 、

C 、

D 、

13.当关系R 和S 自然连接时,能够把R 和S 中不满足连接条件的元组保留在结果关系中的运算是

A 、左外连接

B 、右外连接

C 、全外连接

D 、等值连接

14.设关系R(A ,B)和S(B ,C)中分别有10个和15个元组,属性B 是R 的主码.则R|×| S 中元组数目的范围是

A 、(0,15)

B 、(10,15)

C 、(10,25)

D 、(0,150)

l 5.设有关系R 和S 如图2.26所示,则关系

的元组数目是

A 、6

B 、7

C 、8

D 、9

16.设有关系R 和S ,如图2.27所示,R 的主码是编号,S 的主码是学号、外码是编号。若有如下4个元组:

ⅠI(S 3李林,C 2),Ⅱ(S l ,江荷,C 1),Ⅲ (S 4,白玉.C 4),Ⅳ (S 5,康嘉,NULL),能够插入关系3的元组是

A 、I ,Ⅱ,Ⅳ

B 、I ,Ⅲ

C 、I ,Ⅱ

D 、I ,Ⅳ

]7.已知关系R如图2.28所示,可以作为R主码的属性组是

A、XYZ

B、XYW

C、XZW

D、YZW

]8.关系R和S分别有20、15个元组,则R?S、R-S、R∩S的元组数不可能是

A、29,13,6

B、30,15,5

C、35,20,0

D、28,13,7

R-S=R-(R∩S)

]9.设关系R和S的属性数目分别是a和b、则关系R?S的属性数目是

A、a十b

B、a—b

C、a×b

D、a/b

三、解答题

1.设有4个关系模式:

供应商关系:S(SNO,SNAME,CITY),属性依次是供应商号、供应商名称和所在城市

零件关系:P(PNO,PNAME,COLOR),属性依次是是产品号、品名和颜色

工程关系:J(JNO,JNAME,CITY),属性依次是是工程号、工程名和所在城市

供应关系:SPJ(SNO,PNO,JNO,QTY),属性依次是供应商号、产品号、工程号和数量试用关系代数完成下列操作:

(])J1工程零件的所有供应商号i

(2)求供应J1工程P1零件的供应商号;

(3)求供应J1工程红色零件的供应商号;

(4)求没有使用天津供应商生产的红色零件的工程号;

(5)求S1供应商供应零件的所有工程号。

2.设有3个关系模式:

学生(学号,姓名,性别,专业)

课程(课程号,课程名称,学分)

成绩(学号,课程号,分数)

试用关系代数表达式完成下列操作:

(1)所有学生成绩获得满分(100分)的课程号、课程名称;

(2)检索至少有一门课程的分数达到95分以上的学生信息,包括学号、姓名和专业

(3)检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业

(4)检索”英语”专业学生所学课程的信息,包括学号、姓名、课程名称和分数;

(5)检索“数据库原理“课程分数高于90分的所有学生的学号、姓名、专业和分数;

(6)检索没有不及格分数的学生的信息,包括学号、姓名和专业;

(7)检索“国际贸易”专业选修“数据库原理”课程的学号和姓名。

答案:

(1)所有学生成绩获得满分(100分)的课程号、课程名称;

π课程号,课程名称(σ分数=100(成绩)|×| 课程)

(2)检索至少有一门课程的分数达到95分以上的学生信息,包括学号、姓名和专业

π学号,姓名,专业(σ分数>=95(成绩)|×| 学生)

(3)检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业

π学号,姓名,专业(学生)-π学号,姓名,专业(σ分数<80(成绩)|×| 学生)

(4)检索”英语”专业学生所学课程的信息,包括学号、姓名、课程名称和分数;

π学号,姓名,课程名称,分数(课程|×| 成绩|×| σ专业=‘英语’(学生))

(5)检索“数据库原理“课程分数高于90分的所有学生的学号、姓名、专业和分数;

π学号,姓名,专业,分数(σ课程名称=‘数据库原理’(课程)|×| σ分数>90( 成绩)|×|学生) (6)检索没有不及格分数的学生的信息,包括学号、姓名和专业;

π学号,姓名,专业(学生)-π学号,姓名,专业(σ分数<60(成绩)|×| 学生)

(7)检索“国际贸易”专业选修“数据库原理”课程的学号和姓名。(三表连接,投影)

π学号,姓名,专业(σ课程名称=‘数据库原理’(课程)|×| 成绩|×| σ专业=‘国际贸易’(学生))

3、设有3个关系模式:

员工(职工姓名,街道,城市)

工作(职工姓名,公司名称,工资)

公司(公司名称,城市)

用关系代数表达式来表达下列问题:

(1)列出泰斗公司所有员工的姓名;

(2)列出泰斗公司所有员工的姓名和居住的城市;

(3)列出泰斗公司所有年收入在10万元以上的员工姓名、居住的街道和城市

(4)列出所有居住地与工作的公司在同一城市的员工姓名;

(5)列出不在泰斗公司的所有员工的姓名

答案:

(1)列出泰斗公司所有员工的姓名;

π职工姓名(σ公司名称=‘泰斗公司’(工作))

(2)列出泰斗公司所有员工的姓名和居住的城市;

π职工姓名,城市(σ公司名称=‘泰斗公司’(员工|×|工作)

(3)列出泰斗公司所有年收入在10万元以上的员工姓名、居住的街道和城市

π职工姓名,街道,城市(σ公司名称=‘泰斗公司’AND 工资>100000(员工|×|工作)

(4)列出所有居住地与工作的公司在同一城市的员工姓名;

π职工姓名(σ员工.城市=公司.城市(员工|×|工作|×|公司)

(5)列出不在泰斗公司的所有员工的姓名

π职工姓名(员工)- π职工姓名(σ公司名称=‘泰斗公司’(员工|×|工作|))

习题三

一、单项选择题

1.SQL语言是

A、高级语言

B、宿主语言

C、汇编语言

D、非过程化语言

2.在SQL语言查询语句中,SELECT子句实现关系代数的

A、投影运算

B、选择运算

C、连接运算

D、交运算

3.在SQL语言查询语句中,WHERE子句实现关系代数的

A、投影运算

B、选择运算

C、连接运算

D、交运算

4.为在查询结果中去掉重复元组.应该使用保留字

A、UNIQUE

B、UNION

C、COUNT

D、DISTINCT

5.当关系R和S做自然连接时,能够保留R中不满足连接条件元组的操作是

A、左外连接

B、右外连接

C、内部连接

D、全外连接

6.SQL语言中,更新表结构的的命令是

A、UPDATE TABLE

B、MODIFY TABLE

C、ALTER TABLE

D、CHANGE TABLE

7.下列聚合函数中不忽略空值(NULL)的是

A、SUM(列名)

B、MAX(列名)

C、A VG(列名)

D、COUNT(*)

8.SQL语言中,下列涉及空值操作的短语,不正确的是(VFP全部正确, SQL SERVER中C错)

A、AGE IS NULL

B、AGE IS NOT NULL

C、AGE=NULL

D、NOT (AGE IS NULL)

9.SQL语言中,删除一个表的命令是

A、CLEAR TABLE C、DROP TABLE

C、DELETE TABLE

D、REMOVE TABLE

10.设有一个关系:DEPT(DNO,DNANE).如果要找出倒数第三个字母为W.并且至少包含4个字母的DNAME,则查询条件子句应写成WHERE DNANC LIKE //有疑问A.’_ _W_%’,B.’ _W_%’,C.’_ _W_’D.’_%W_ _’

SELECT * FROM STUDENT WHERE SNAME LIKE '__林_%'

11 已知班级和学生关系如图3.11所示。

执行下列语句,在学生关系中插入新的数据:

I INSERT INTO 学生V ALUES(101,”李玲”,”女”,”C01”)

ⅡINSERT INTO 学生V ALUES(103,”田京”,”男”,”C03”)

ⅢINSERT INTO 学生V ALUES(106,”康雨”,”男”,NULL)

ⅣINSERT INTO 学生V ALUES(105,”何光”,”男”,”C02”)

能正确执行的语句是

A、I,Ⅱ

B、Ⅲ,Ⅳ

C、I,Ⅱ,Ⅲ

D、I,Ⅱ,Ⅲ,Ⅳ

二、解答题

1.没有3个关系模式:

业务员(业务员编号,业务员姓名,性别,年龄,月薪)

订单(订单号,日期,客户编号,业务员编号,金额)

客户(客户编号,客户姓名,地址,类别)

用SQL语句解答下列(1)-(12)题。

(1)显示所有50岁以上女业务员的姓名和年龄;

(2)检索年龄最大的业务员姓名和年龄;

(3)显示所有业务员的姓名和月薪.要求按照月薪降序排列;

(4)检索月薪在2000元到3000元之间的业务员姓名。用BETWEEN关键词;

(5)统计每个客户签定订单的数目和总金额;

(6)检索所有经办客户王明订单的业务员姓名(分别用连接和子查询实现)

(7)统计每个业务员签定500元以上订单的数目;

(8)检索签定2个以上订单的业务员姓名;

(9)将所有业务员的月薪增加10%;

(10)将业务员关悦的月薪改为3500元;

(11)检索超过平均月薪的业务员姓名和年龄;

(12)将签定订单总金额超过2万元的月薪增加5%。

答案:

(1)显示所有50岁以上女业务员的姓名和年龄;

SELECT 业务员姓名, 年龄FROM 业务员WHERE 年龄>50 AND 性别=‘女’

(2)检索年龄最大的业务员姓名和年龄;

SELECT 业务员姓名, 年龄FROM 业务员WHERE 年龄=(SELECT MAX(年龄) FROM 业务员)

(3)显示所有业务员的姓名和月薪.要求按照月薪降序排列;

SELECT 业务员姓名,月薪FROM 业务员ORDER BY月薪DESC

(4)检索月薪在2000元到3000元之间的业务员姓名。用BETWEEN关键词;

SELECT 业务员姓名FROM 业务员WHERE 月薪BETWEEN 2000 AND 3000

(5)统计每个客户签定订单的数目和总金额;

SELECT客户编号,COUNT(*) 订单数目,SUM(金额) 总金额FROM 订单GROUP BY 客户编号

(6)检索所有经办客户王明订单的业务员姓名(分别用连接和子查询实现)

SELECT 业务员.业务员姓名FROM 业务员,订单,客户WHERE 业务员.业务员编号=订单.业务员编号AND 订单.客户编号=客户.客户编号AND 客户.客户姓名=‘王明’SELECT 业务员.业务员姓名FROM 业务员inner join 订单inner join 客户on 业务员.业

务员编号=订单.业务员编号on 订单.客户编号=客户.客户编号where 客户.客户姓名=‘王明’

SELECT 业务员姓名FROM 业务员WHERE 业务员.业务员编号IN(SELECT 业务员编号FROM 订单WHERE 客户编号IN(SELECT 客户编号FROM 客户WHERE 客户姓名=‘王明’))

(7)统计每个业务员签定500元以上订单的数目;

SELECT 业务员编号,COUNT(*) 订单数目FROM 订单where 金额>500 GROUP BY 业务员编号

(8)检索签定2个以上订单的业务员姓名;

SELECT 业务员姓名FROM 业务员WHERE 业务员编号IN(SELECT 业务员编号FROM 订单GROUP BY 业务员编号HA VING COUNT(*)>2)

(9)将所有业务员的月薪增加10%;

UPDATE 业务员SET 月薪=月薪*1.1

(10)将业务员关悦的月薪改为3500元;

UPDATE 业务员SET 月薪=3500 WHERE业务员姓名=‘关悦’

(11)检索超过平均月薪的业务员姓名和年龄;

SELECT 业务员姓名, 年龄FROM 业务员WHERE月薪>(SELECT A VG(月薪) FROM 业务员)

(12)将签定订单总金额超过2万元的月薪增加5%。

UPDATE 业务员SET 月薪=月薪*1.05 WHERE 业务员编号IN(SELECT 业务员编号FROM 业务员GROUP BY 业务员编号HA VING SUM(金额) >20000)

2.设有3个关系模式:

学生(学号,姓名,性别,专业,籍贯)

课程(课程号,课程名,学时,性质)

成绩(学号,课程号,分数)

回答下列(1)-(10)题。

(1)检索所有女同学的姓名。试写出实现该查询的关系代数表达式;

(2)检索选修“数据库”课程的学生姓名。要求写出关系代数表达式和实现这个查询的SQL 语句;

(3)检索课程号等于“C101”,且分数90分以上(含90分)学生的姓名。要求写出关系代数表达式和实现这个查询的SQL语句;

(4)写出SQL语句,检索学习“Cl01”课程中分数最高的学生姓名;

(5)写出SQL语句,检索所有未选修“Cl01”课程的学生姓名;

(6)写出SQL语句,在成绩表中增加“学分”列,并根据学分=学时/18的算法,填上每门课程的学分;

(7)写出SQL语句,实现关系代数表达式:成绩- 分数>=60(成绩);

(8)写出SQL语句,检索选修5门以上课程的学生姓名;

(9)创建一个查询成绩的视图VSK,其属性有姓名、课程名和分数;

(10)检索学生选课情况,显示姓名、课程名和分数,其中包括没有选课的学生。

答案:

(1)检索所有女同学的姓名。试写出实现该查询的关系代数表达式;

π姓名(σ性别=‘女’(学生))

(2)检索选修“数据库”课程的学生姓名。要求写出关系代数表达式和实现这个查询的SQL

语句;

π姓名(σ课程名= ‘数据库’(课程|×|成绩)|×|学生)

SELECT姓名FROM 课程,成绩,学生WHERE课程.课程名=‘数据库’AND 课程.课程号=成绩.课程号AND 成绩.学号=学生.学号

(3)检索课程号等于“C101”,且分数90分以上(含90分)学生的姓名。要求写出关系代数表达式和实现这个查询的SQL语句;

π姓名(σ课程号= ‘C101’ 分数>=90(成绩)|×|学生)

SELECT姓名FROM 成绩,学生WHERE 成绩.课程号=‘C101’AND 成绩.分数> =90 AND成绩.学号=学生.学号

(4)写出SQL语句,检索学习“Cl01”课程中分数最高的学生姓名;

SELECT姓名FROM 学生WHERE 学号IN (SELECT 学号FROM 成绩WHERE 课程号=‘C101’AND 分数=(SELECT MAX(分数) FROM 成绩WHERE 课程号=‘C101’)) (5)写出SQL语句,检索所有未选修“Cl01”课程的学生姓名;

SELECT姓名FROM 学生WHERE 学号NOT IN (SELECT 学号FROM 成绩WHERE 课程号=‘C101’)

SELECT姓名FROM 学生WHERE 学号IN (SELECT 学号FROM 成绩WHERE NOT 课程号=‘C101’)

(6)写出SQL语句,在成绩表中增加“学分”列,并根据学分=学时/18的算法,填上每门课程的学分;

ALTER TABLE 成绩ADD 学分INTEGER

UPDATE 成绩SET 学分=课程.学时/18 FROM成绩INNER JOIN 课程ON 成绩.课程号= 课程.课程号

(7)写出SQL语句,实现关系代数表达式:成绩- 分数>=60(成绩);

SELECT * FROM 成绩WHERE NOT 分数<60

SELECT * FROM 成绩MINUS SELECT * FROM 成绩WHERE 分数>=60

(8)写出SQL语句,检索选修5门以上课程的学生姓名;

SELECT姓名FROM 学生WHERE 学号IN (SELECT 学号FROM 成绩GOUP BY 学号HAVING COUNT(*)>5)

(9)创建一个查询成绩的视图VSK,其属性有姓名、课程名和分数;

CREATE VIEW VSK AS SELECT学生.姓名,课程.课程名,成绩.分数FROM 课程,成绩,学生WHERE 课程.课程号=成绩.课程号AND 成绩.学号=学生.学号

(10)检索学生选课情况,显示姓名、课程名和分数,其中包括没有选课的学生。SELECT学生.姓名,课程.课程名,成绩.分数FROM 学生left outer join 成绩inner join课程on 成绩.学号=学生.学号ON 课程.课程号=成绩.课程号(错误的写法)

SELECT学生.姓名,课程.课程名,成绩.分数FROM 学生left outer join 成绩on 成绩.学号=学生.学号inner join课程ON 课程.课程号=成绩.课程号inner、outer可省略

SELECT student.sname,https://www.doczj.com/doc/af1025528.html,ame,sc.grade

FROM student left outer join sc on

sc.sno=student.sno inner join course

ON https://www.doczj.com/doc/af1025528.html,o=https://www.doczj.com/doc/af1025528.html,o

习题四

一、名词解释

实体、实体集、属性、属性域、主码、单值属性、多值属性、派生属性、基数

二、单项选择题

1.数据库设计中,概念模型

A、依赖于计算机的硬件

B、依赖于DBMS

C、独立于DBMS

D、独立于计算机的硬件和DBMS

2.将E-R模型转换为关系数据模型属于数据库的

A、概念设计

B、物理设计

C、逻辑设计

D、运行设计

3.设在某个公司环境中,一个部门有多名职工,一名职工只能属于一个部门,则部门与职工之间的联系是

A、—对一

B、一对多

C、多对多

D、不确定

4.概念结构设计的主要目标是真实地反映

A、企业对信息的需求

B、DBA的管理信息需求

C、数据库系统的维护需求

D、应用程序员的编程需求

5.数据库设计人员和用户之间沟通信息的桥梁是

A、程序流程图

B、实体-联系图

C、模块结构图

D、数据结构图

6.在E-R模型转换成关系模型的过程中,下列不正确的做法是

A、每个联系均转换成一个关系

B、每个实体集均转换成一个关系

C、1:N联系不必转换成关系

D、M:N联系转换成—个关系

7.假设任一个E-R模型中,存在10个不同的实体集和12个不同的二元联系(二元联系是指两个实体集之目的联系),其中3个1:1联系、4个1:N联系、5个M:N联系,则这个E-R模型转换成关系的数目可能是

A、14

B、15

C、19

D、22

8.当同一个实体集内部实体之间存在着一个M:N的关系时,根据E-R模型转换成关系模型的规则,转换成关系的数目为

A、1

B、2

C、3

D、4

三、简答题

1.简述数据库设计的基本步骤。

2.概念设计的主要内容有哪些?

3.使用派生属性有什么好处?

4.确定基数的依据是什么?基数的用途是什么?

5.举例说明一元、二元、三元和N元联系。

6.举例说明实体之间的联系方式?

7.简述E-R模型转换为关系模型的规则。

四、设计题

1.假设图书馆业务规则:

(1)读者需要凭借书证借阅图书,借书证有借书证号、姓名、年龄、单位等属性;

(2)每一本图书有书号、书名、作者、出版社等属性;

(3)每一本借出的图书有借书证号、书号、借出日期、应还日期。

试:

①根据上述业务规则设计E-R模型,要求E-R图中注明属性和联系的类型。

②将E-R模型转换成关系模型。

③用SQL语句创建表、定义完整性规则。

答案:

②三个关系模式:

借书证(借书证号,姓名,年龄,单位),主码为{借书证号};

图书(书号,书名,作者,出版社),主码为{书号};

借阅(借书证号,书号,借出日期,应还日期),主码为{借书证号,书号},{借书证号}为外码,{书号}为外码。

③略

2.假设城市交通管理业务规则:

(1)每个驾车者必须有驾驶执照,驾照有编号、姓名、性别、年龄、身份证号、工作单位、发证日期等属性

(2)每个机动车要有一个牌照,牌照有车号、型号、制造商、生产日期、所有者等属性;(3)如果司机违反交通规则,将受到惩罚,惩罚记录有日期、车号、驾照编号、违章情节记载、处罚方式等属性。

试:

①根据上述业务规则设计E-R模型,要求E-R图中注明属性和联系的类型。

②将E-R模型转换成关系模型。

③用SQL语句创建表、定义完整性规则。

答案:

②三个关系模式:

③略

3.假设某集团公司生产多种产品,公司在全国没有多个代理两,由代理商经销本公司的所有产品。每个代理商可以经销公司的多种产品,且在每一个代理商处都能够买到公司的任何一种产品。代理商有编号、代理商名称和地址等属性;产品有产品号、品名、规格、单价等属性。代理商与产品之间存在供货联系,每次供货将记录供贷日期、产品号、数量、单价和经办人。

试:

①根据上述业务规则设计E-R模型,要求E-R图中注明属性和联系的类型。

②将E-R模型转换成关系模型。

③用SQL语句创建表、定义完整性规则。

答案:

习题五

一、单项选择题

1.如果关系模式R属于1NF,且每个非主属性都完全函数依赖于R的主码,则R属于

A、2NF

B、3NF

C、BCNF

D、4NF

2.有关系R(P,Q,M,N),F是R上成立的函数依赖集,F={(P→Q,Q→M)|,则R的候选码是

A、P

B、Q

C、PQ

D、PN

3.有学生关系R(学号,姓名,系名称,系地址),每一名学生属于一个系,每一个系有一个地址,则R属于

A、1NF

B、2 NF

C、3 NF

D、4 NF

4.下列陈述中.错误的是

A、2NF必然属于1NF

B、3NF必然属于2NF

C、3NF必然属于BCNF

D、BCNF必然属于3NF

5.已知关系R(A,B,C,D),F是R上成立的函数依赖集,F={(A,B→C,D),B→D},则R应分解成

A、R1(A,B)和R2(C,D)

B、R1(A,B,C) 和R2(B,D)

C、R1 (A,C)和R2(B,D)

D、R1(A,B,D) 和R2(B,C)

6.在订单管理中,客户—次购物(一张订单)可以订购多种商品。设有订单关系R(订单号,日期,客户名称,商品编码,数量),则R的主码是

A、订单号

B、订单号,客户名称

C、商品编码

D、订单号,商品编码

7.第6题中的关系R最高属于

A、1NF

B、2NF

C、3NF

D、4NF({商品编码,数量,日期}多值依赖于{订单号},但是{订单号}不是候选码)

8.设有关系模式R(A,B,C,D).F是R上的函数依赖集,F={D→A,D→B},R的候选码是

A、AD

B、BC

C、BD

D、CD

9.设有关系模式R(A,B,C,D,M,N),R上的函数依赖集F={ M→D,C→B,B→A,(C,M)→N},则R最高达到//推出{C,M}为候选码,推出(C,M)→D,推出M→D 为部分函数依赖

A、1NF

B、2NF

C、3NF

D、4NF

二、综合设计题

解题步骤:

1)分析问题中包含的基本概念(即实体)

2)假设一个实体对应一个关系模式,确定每个关系模式的主码

3)由上述基本关系模式的主码合并成一个超码

4)剔除超码中的部分属性,得到给定关系模式的候选码

5)由每个关系模式的主码、给定关系模式的候选码识别出属性间的基本函数依赖关系

6)识别出部分依赖关系、传递依赖关系

1.假设某商业集团数据库中有一个关系模式:

R(商店编号,商品编号,数量,部门编号,负责人)

如果规定:

(1)每个商店的每种商品只在一个部门销售;

(2)每个商店的每个部门只有一个负责人;

(3)每个商店的每种商品只有一个库存数量。

试回答下列问题:

①根据上述规定写出R的基本函数依赖;

②找出R的候选码;

③试问R最高达到第几范式?为什么?

④如果R不属于3NF,请将分解成3NF模式集。

答案:R中包含三个基本概念:商店,商品,部门

①R的基本函数依赖包括:{商店编号,商品编号→数量},{商店编号,商品编号→部门编号},{商店编号,商品编号→负责人}//传递依赖,{部门编号→负责人}

②R的候选码为{商店编号,商品编号}

③R最高达到2范式。因为非主属性都完全函数依赖于候选码,但存在传递函数依赖{商店编号,商品编号→负责人}

④可将R分解为两个关系模式:

商店商品(商店编号,商品编号,数量,部门编号)

部门(部门编号,负责人)

2.假设当前使用一个手工操作的学生文档,其文档的格式如图5.13所示

假设规定:

(1)一名学生可以选修多门课程,且一门课程有多人选修;

(2)一门课程仅有一个教师讲授,—名教师可以讲多门课程;

(3)学生学习一门课程有一个分数;

(4)每一名教师有一个办公室,一个办公室有多么教师;

如果依据上述文档和规定,设计一个关系模式R:

R(学号,学生姓名,课程号,课程名,分数,教师姓名,教师办公室)

试:

①找出R的候选码;

②写出关系R的基本函数依赖集,并画出函数依赖图;

③判断R最高达到第几范式,说明理由;

④如果有必要,将R分解成3NF模式集。

答案:R中包含三个基本概念:学生,课程,教师

(学号,学生姓名,课程号,课程名,分数,教师姓名,教师办公室

①R的候选码为{学号,课程号}

②R的基本函数依赖包括:

{学号,课程号→学生姓名},//部分函数依赖

{学号,课程号→课程名},//部分函数依赖

{学号,课程号→分数},

{学号,课程号→教师姓名},//部分函数依赖

{学号,课程号→教师办公室},//传递依赖

{学号→学生姓名},

{课程号→课程名},

{教师姓名→教师办公室},

{课程号→教师姓名},

{课程号→教师办公室}

③R最高达到1范式。因为存在非主属性部分函数依赖于主码,如学号→学生姓名

④可将R分解为五个关系模式:

学生(学号,学生姓名)

课程(课程号,课程名)

教师(教师姓名,教师办公室)

成绩(学号,课程号,分数)

教师课程(教师姓名,课程号)

函数依赖图略

3.假设公司的订单业务规定:

(1)订单号是惟一的,每一张订单对应一个订单号;

(2)一张订单可以订购多种产品,每一种产品可以在多个订单中出现;

(3)一张订单有一个客户,且一个客户可以有多张订单;

(4)每一个产品编号对应一种产品的品名和单价;

(5)每一个客户有一个确定的名称和电话号码。

根据上述规定设计一个关系模式:

R(订单号,日期,客户名称,电话号码,产品编码,品名,价格,数量)

试:

①找出R的候选码;

②写出关系R的基本函数依赖集,并画出函数依赖图;

③判断R最高达到第几范式,说明理由;

④给出一个可能的3NF模式集。

答案:

①{订单号,客户名称,产品编码}为一个超码,由于“一张订单有一个客户”,所以{订单号,产品编码}为一个候选码

②关系R的基本函数依赖集为{(订单号→日期),(客户名称→电话号码),(产品编码→品名),(产品编码→价格),(订单号,产品编码→数量),(订单号→客户名称),(订单号→电话号码)//传递依赖,(订单号,产品编码→日期)//部分依赖,(订单号,产品编码→客户名称),(订单号,产品编码→电话号码),(订单号,产品编码→品名),(订单号,产品编码→价格),(订单号,产品编码→数量)}

函数依赖图略

③R最高达到第几范式1NF,因为非主属性日期部分函数依赖于主码{订单号,产品编码} ④

一个可能的3NF模式集为:

订单(订单号,客户名称,产品编码,日期,数量),主码为{订单号,产品编码}

客户(客户名称,电话号码),主码为{客户名称}

产品(产品编码,品名,价格),主码为{产品编码}

习题六

一、简答题

1.什么是局部变量和全局变量?

2.局部变量与全局变量的主要区别是什么?

3.在SQL程序设计中,游标的用途是什么?

4.简述SQL程序设计中游标的使用方法。

5.什么是存储过程?其优点是什么?

6.什么是数据库触发器?其作用是什么?

7.INSERTED和DELETED表的用途是什么?

8.简述INSERT触发器的工作原理。

9.简述DELETE触发器的工作原理。

10.简述UPDATE触发器的工作原理。

11.简述INSTEAD OF触发器的工作原理。

12.简述嵌入式SQL的预处理过程。

二、SQL程序设计

1. 编写一个SQL程序,完成将新生信息插入到学生档案表,并将其中一部分信息再插入借书证表、学生贷款、学生医疗表,要求插入之后显示插入的数据。

2. 在学生档案表上创建一个触发器,实现下列任务:当新生信息插入到学生档案表中时,将其中一部分信息再插入借书证表、学生贷款、学生医疗表,要求插入之后显示插入的数据。CREATE TRIGGER TRIGGER_学生档案表_INSERT

ON 学生档案表FOR INSERT

AS

BEGIN

insert into 借书证表(学号) select学号from inserted

insert into 学生贷款(学号) select学号from inserted

insert into 学生医疗表(学号) select学号from inserted

select * from inserted

END

GO

3. 在某出版社数据厍中,有图书关系R(书号,书名,类别,定价)。如果教材类图书的平均定价大于30,则显示“平均价格超过30元”,反之显示“平均价格不超过30元”,并列出所有教材类的书名。编写一个SQL程序完成这个任务。

USE 出版社

GO

IF(SELECT A VG(定价) FROM R WHERE类别=’教材’)>30

PRINT ‘平均价格超过30元’

ELSE

BEGIN

PRINT ‘平均价格不超过30元’

SELECT书名FROM R WHERE类别=’教材’

END

GO

4. 在某出版社数据厍中,有图书关系R(书号,书名,类别,定价)。如果教材类图书的平均定价大于30,则执行循环,将高于平均值的教材类图书的定价下调1%,直至所有教材类图书的平均定价小于或等于30元为止。编写一个SQL程序完成这个任务。

USE 出版社

GO

DECLARE @PJDJ Float

WHILE (select @PJDJ = A VG(定价) FROM R WHERE类别=’教材’) >30

UPDATE R SET定价=定价*0.99 WHERE类别=’教材’ AND定价> @PJDJ

GO

5. 假设有银行账户关系R(账号,客户姓名,余额)。转账业务规定,当一个账户余额大于等于转账金额时,则执行转账业务,并通知客户转账的金额和账面余额;否则不执行转账操作。通知客户不执行转账的理由。试编写转账业务的存储过程,该存储过程有转出账号、转入账号和转账金额3个参数,要求保证事务的原子性。

6. 有学生和成绩关系如下:

S(学号,姓名,性别,专业)

R(学号,课程号,课程名称,分数)

试编写一个查询成绩的存储过程,存储过程带有学号和课程号2个参数。

CREATE PROCEDUE PRO_GRADE @XH CHAR(10),@KCH CHAR(8)

AS

SELECT S.学号S.姓名,R.课程号,R.课程名称,R.分数FROM S,R

WHERE S.学号=R.学号AND S.学号=@XH AND R.课程号=@KCH

GO

7. 有产品关系R(产品号,品名,厍存量),在R上创建一个触发器。实现当修改厍存量时,测试修改后的值,若低于100,则发出采购该产品的通知,若高于1000,则发出"积压"的消息。同时要求设计一个SQL程序,验证触发器的作用。

8. 有系和学生2个关系:

系(系名称,系主任,电话号码,地址)

学生(学号,姓名,性别,专业,系名称)

设计一个存储过程,根据学号(参数),查询学生和所在系的信息。

9. 假设有职工工资表:

R(职工号,姓名,基本工资,附加工资,房租,水电,应发工资,税款,实发工资)

缴纳个人所得税的规定如下:

●个人收入>5000,税率20%;

●个人收入>2000且<=5000,税率10%;

●个人收入>800且<=2000,税率5%;

●个人收入<=800,免税。

工资的计算方法

(1)应发工资=基本工资+附加工资。

(2)采取分段计算税款的算法,超过5000元部分收20%;2000-5000之间部分收10%;800-2000之间部分收5%;800下免税。具体算法如图6.13所示。

(3)实发工资=应发工资-税款。

试编写一个简单的SQL脚本程序,创建工资表并完成计算实发工资的任务。

CREATE TABLE R(职工号CHAR(6),姓名CHAR(8),基本工资FLOAT,附加工资FLOAT,房租FLOAT,水电FLOAT,应发工资FLOAT,税款FLOAT,实发工资FLOAT)

GO

UPDATE R SET应发工资=基本工资+附加工资

UPDATE R SET税款=

(

CASE

WHEN 应发工资>5000 THEN (应发工资-5000)*0.2+(5000-2000)*0.1+(2000-800)*0.05 WHEN 应发工资<=5000 AND应发工资>2000 THEN (应发工资

-2000)*0.1+(2000-800)*0.05

WHEN 应发工资<=2000 AND应发工资>800 THEN (应发工资-800)*0.05

WHEN 应发工资<=800 THEN 0

END

)

UPDATE R SET实发工资=应发工资-税款

GO

习题七

一、名词解释

事务、封锁、X封锁、活锁、死锁、可串行化调度、不可串行化调度、两段封锁协议。

二、单项选择题

1.事务“要么不做,要么全做”的性质称为事务的

A、持久性

B、隔离性

C、一致性

D、原子性

2.SQL的COMMIT和ROLLBACK语句的主要用途是实现事务的

A、原子性

B、隔离性

C、一致性

D、持久性

3.“授权机制”用于数据库系统的

A、完整性控制

B、安全性控制

C、一致性控制

D、并发控制

4.“视图”可用于数据库系统的

A完整性控制B、安全性控制C、一致性控制D、并发控制

5.事务“使数据库从一个一致状态转变到另一个一致状态”的性质称为事务的

A、原子性

B、隔离性

C、一致性

D、持久性

6.在数据库系统中,利用封锁机制实现

A、完整性控制

B、安全性控制

C、一致性控制

D、并发控制

7.数据库系统的恢复子系统实现事务的

A、原于性

B、隔离性

C、一致性

D、持久性

8.数据库系统的并发控制保证了事务的

A、原子性

B、隔离性

C、一致性

D、持久性

9.在加锁协议中规定“先申请先服务”的原则,可以避免数据库系统出现

A、活锁

B、死锁

C、读-写冲突

D、写-写冲突

10.如果事务T获得数据项Q上S锁,则T对Q

A、不能读不能写

B、只能读不能写

C、不能读只能写

D、既可读又可写

11.如果事务T获得数据项Q上X锁,则T对Q

A、不能读不能写

B、只能读不能写

C、不能读只能写

D、既可读又可写

12.事务的隔离性由DBMS的

A、安全性子系统实现

B、完整性子系统实现

C、并发控制子系统实现

D、恢复子系统实现

13.事务的持久性由DBMS的

A、安全性子系统实现

B、完整性子系统实现

C、并发控制子系统实现

D、恢复子系统实现

14.在数据库系统中,“脏数据”是指一个事务读了另一个事务

A、未更新的数据

B、更新之后末提交但是后来撤销的数据

C、末提交的数据

D、末刷新的数据

15.数据库系统安排多个事务并发执行的过程称为

A、步骤

B、进程

C、调度

D、优先级

16.封锁可以避免数据的不一致性,但可能会引起系统

A、崩溃

B、死锁

C、故障

D、数据丢失

17.SQL的GRANT和REVOKE语句用于数据库的

A、安全性控制

B、一致性控制

C、完整性控制

D、并发控制

18.事务日志用于数据库的

A、安全

B、恢复

C、审计

D、跟踪

三、填空题

1.DBMS并发控制的任务是保证事务的执行是可串行的。

2.事务的隔离性是由DBMS的并发控制实现的。

3.完全恢复模型是以后援副本和事务日志副本为基础的恢复方法。

4.在数据库系统中,角色管理机制可以简化为多个具有相同权限的用户授权和回收权限(授权)的工作量

5.只转储上次备份后变化数据的方法称为增量备份。

6.两段封锁协议规定事务在锁增长阶段阶段可以获得锁。

7.数据库的完整性是指数据的正确性、有效性和相容性。

8.SQL中,域检查子句是CHECK。

9.在数据库系统中,域完整性约束是对属性值有效性的约束

10.允许用户把获得的权限再转授给他人的SQL短语是WITH GRANT OPTION

五、设计题

1. 设教学数据库的模式如下:

S(S#,SNAME,AGE,SEX)

SC(S#,C#,GRADE)

C(C#,CNAME,TEACHER)

试用多种方式定义下列完整性约束:

(1)在关系S中插入学生年龄值应在16~25岁之间

(2)在关系SC中插入元组时,其S#值和C#值必须分别在S和C中出现。

(3)在关系SC中修改GRADE值时,必须仍在0~100之间。

(4)在删除关系C中一个元组时,首先要把关系SC中具有同样C#的元组全部删去。

(5)在关系S中把某个S#值修改为新值时,必须同时把关系SC中那些同样的S#值也修改为新值。

解:

(1) CREATE TABLE S(

S# CHAR(4),

SNAME CHAR(10) NOT NULL ,

AGE SMALLINT,

PRIMARY KEY(S#),

CHECK (AGE>=16 AND AGE<=25))

(2) 采用外键子句约束

CREATE TABLE SC

(

S# CHAR(4),

C# CHAR(4),

GRADE SMALLINT,

FOREIGN KEY(S#) REFERENCE S(S#),

FOREIGN KEY(C#) REFERENCE C(C#)

)

(3) 采用元组检查

CREATE TABLE SC(

S# CHAR(4),

C# CHAR(4),

GRADE SMALLINT,

FOREIGN KEY(S#) REFERENCE S(S#),

FOREIGN KEY(C#) REFERENCE C(C#),

CHECK (GRADE>=0 and AGE<=100))

(4) 采用外键约束

CREATE TABLE SC(

S# CHAR(4),

C# CHAR(4),

GRADE SMALLINT,

FOREIGN KEY(S#) REFERENCE S(S#),

第4章指令系统层习题参考解答-汇编语言与计算机组成原理 答案

1.什么是“程序可见”的寄存器? 程序可见寄存器是指在用户程序中用到的寄存器,它们由指令来指定。 2. 80x86微处理器的基本结构寄存器组包括那些寄存器?各有何用途? 基本结构寄存器组按用途分为通用寄存器、专用寄存器和段寄存器3类。 通用寄存器存放操作数或用作地址指针;专用寄存器有EIP和EFLAGS,分别存放将要执行的下一条指令的偏移地址和条件码标志、控制标志和系统标志;段寄存器存放段基址或段选择子。 3.80x86微处理器标志寄存器中各标志位有什么意义? 常用的7位: CF进位标志: 在进行算术运算时,如最高位(对字操作是第15位,对字节操作是第7位)产生进位或借位时,则CF置1;否则置0。在移位类指令中,CF用来存放移出的代码(0或1)。 PF奇偶标志: 为机器中传送信息时可能产生的代码出错情况提供检验条件。 当操作结果的最低位字节中1的个数为偶数时置1,否则置0。 AF辅助进位标志: 在进行算术运算时,如低字节中低4位(第3位向第4位)产生进位或借位时,则AF置1;否则AF置0。 ZF零标志:如指令执行结果各位全为0时,则ZF置1;否则ZF置0。 SF符号标志:其值等于运算结果的最高位。 如果把指令执行结果看作带符号数,就是结果为负,SF置1;结果为正,SF置0。 OF溢出标志: 将参加算术运算的数看作带符号数,如运算结果超出补码表示数的范围N,即溢出时,则OF置1;否则OF置0。 DF方向标志: 用于串处理指令中控制处理信息的方向。 当DF位为1时,每次操作后使变址寄存器SI和DI减小;当DF位为0时,则使SI和DI增大,使串处理从低地址向高地址方向处理。 4.画出示意图,简述实模式下存储器寻址的过程。 20位物理地址如下计算(CPU中自动完成):10H×段基址+偏移地址=物理地址 5. 画出示意图,简述保护模式下(无分页机制)存储器寻址的过程。 采用对用户程序透明的机制由选择子从描述子表中选择相应的描述子,得到欲访问段的段基址、段限等有关信息,再根据偏移地址访问目标存储单元。

数据结构习题解答

第一章概论自测题答案 一、填空题 1. 数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科。 2. 数据结构被形式地定义为(D, R),其中D是数据元素的有限集合,R是D上的关系有限集合。 3. 数据结构包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容。 4. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构。 5. 线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。 6.在线性结构中,第一个结点没有前驱结点,其余每个结点有且只有1个前驱结点;最后一个结点没有后续结点,其余每个结点有且只有1个后续结点。 7. 在树形结构中,树根结点没有前驱结点,其余每个结点有且只有1个前驱结点;叶子结

点没有后续结点,其余每个结点的后续结点数可以任意多个。 8. 在图形结构中,每个结点的前驱结点数和后续结点数可以任意多个。 9.数据的存储结构可用四种基本的存储方法表示,它们分别是顺序、链式、索引和散列。 10. 数据的运算最常用的有5种,它们分别是插入、删除、修改、查找、排序。 11. 一个算法的效率可分为时间效率和空间效率。 二、单项选择题 (B)1. 非线性结构是数据元素之间存在一种: A)一对多关系B)多对多关系 C)多对一关系D)一对一关系 ( C )2. 数据结构中,与所使用的计算机无关的是数据的结构; A) 存储B) 物理 C) 逻辑D) 物理和存储 (C)3. 算法分析的目的是:

A) 找出数据结构的合理性 B) 研究算法中的输入和输出的关系 C) 分析算法的效率以求改进 D) 分析算法的易懂性和文档性 (A)4. 算法分析的两个主要方面是: A) 空间复杂性和时间复杂性 B) 正确性和简明性 C) 可读性和文档性 D) 数据复杂性和程序复杂性 ( C )5. 计算机算法指的是: A) 计算方法 B) 排序方法 C) 解决问题的有限运算序列 D) 调度方法 (B)6. 计算机算法必须具备输入、输出和等5个特性。 A) 可行性、可移植性和可扩充性 B) 可行性、确定性和有穷性 C) 确定性、有穷性和稳定性 D) 易读性、稳定性和安全性

verilog数字系统设计教程习题答案

verilog 数字系统设计教程习题答案第二章 HDL 既是一种行为描述语言,也是一种结构描述语言。如果按照一定的规则和风格编写代码,就可以将功能行为模块通过工具自动转化为门级互联的结构模块。这意味着利用Verilog 语言所提供的功能,就可以构造一个模块间的清晰结构来描述复杂的大型设计,并对所需的逻辑电路进行严格的设计。 2.模块的基本结构由关键词module和endmodule构成。 3.一个复杂电路系统的完整Verilog HDL 模型是由若干个Verilog HDL模块构成的,每一个模块又可以由若干个子模块构成。其中有些模块需要综合成具体电路,而有些模块只是与用户所设计的模块交互的现存电路或激励信号源。利用Verilog HDL语言结构所提供的这种功能就可以构造一个模块间的清晰层次结构来描述极其复杂的大型设计,并对所作设计的逻辑电路进行严格的验证。 HDL和VHDL乍为描述硬件电路设计的语言,其共同的特点在于:能形式化地抽象表示电路的结构和行为、支持逻辑设计中层次与领域的描述、可借用高级语言的精巧结构来简化电路的描述、具有电路仿真与验证机制以保证设计的正确性、支持电路描述由高层到低层的综合转换、硬件描述与实现工艺无关(有关工艺参数可通过语言提供的属性包括进去)、便于文档管理、易于理解和设计重用。 5.不是

6.将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。 7.综合工具可以把HDL变成门级网表。这方面Synopsys工具占有较大的优势,它的Design Compile 是作为一个综合的工业标准,它还有另外一个产品叫Behavior Compiler ,可以提供更高级的综合。 另外最近美国又出了一个软件叫Ambit ,据说比Synopsys 的软件更有效,可以综合50万门的电路,速度更快。今年初Ambit 被Cadence 公司收购,为此Cade nee放弃了它原来的综合软件Syn ergy。随着FPGA 设计的规模越来越大,各EDA公司又开发了用于FPGA设计的综合软件,比较有名的有:Sy nopsys 的FPGAExpress,Cade nee 的Syn plity ,Mentor的Leonardo,这三家的FPGA综合软件占了市场的绝大部分。 8.整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件 进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。用于适配,适配将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如JEDEC Jam格式的 文件 9.在FPGA设计中,仿真一般分为功能仿真(前仿真)和时序仿真(后仿真)。功能仿真又叫逻辑仿真,是指在不考虑器件延时和布线延时的理想情况下对源代码进行逻辑功能的验证;而时序仿真是在布局布线后进行,它与

寻址方式及指令系统习题与解答

寻址方式及指令系统习题与解答 计算机科学与工程学院黄洪波2012年3月 一、单项选择题 1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为()。 A.5000H B.5008H C.23008H D.32008H 2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理址为()。 A.13000H B.23000H C.33000H D.3000H 3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为()。 A.20200H B.30200H C.50200H D.200H 4.指令MOV MEM[BX],AX中的MEM是()。 A.原码B.反码C.补码D.移码 5.用来作为寄存器间接寻址的寄存器有()个。 A.8 B.6 C.5 D.4 6.指令MOV [BX+SI],AL中的目的操作数使用()段寄存器。 A.CS B.DS C.SS D.ES 7.指令MOV BX,[BP+5]中的源操作数使用()段寄存器。 A.CS B.DS C.SS D.ES 8.段内间接寻址只改变()中的内容。 A.CS B.IP C.CS和IP D.PSW 9.段间间接寻址只改变()中的内容。 A.CS B.IP C.CS和IP D.PSW 10.下述指令中不改变PSW的指令是()。 A.MOV AX,BX B.AND AL,0FH C.SHR BX,CL D.ADD AL,BL 11.下述指令中不影响CF的指令是()。 A.SHL AL,1 B.INC CX C.ADD [BX],AL D.SUB AX,BX 12.两个整数补码9CH和7AH相加运算后,会产生()。 A.无溢出且无进位B.无溢出但有进位

数据结构课后习题及答案

填空题(10 * 1’ = 10’) 一、概念题 .当对一个线性表经常进行的是插入和删除操作时,采用链式存储结构为宜。 .当对一个线性表经常进行的是存取操作,而很少进行插入和删除操作时,最好采用顺序存储结构。 .带头结点的单链表L中只有一个元素结点的条件是L->Next->Next==Null。 .循环队列的引入,目的是为了克服假溢出。 .长度为0的字符串称为空串。 .组成串的数据元素只能是字符。 .设T和P是两个给定的串,在T中寻找等于P的子串的过程称为模式匹配,又称P为模式。 .为了实现图的广度优先搜索,除一个标志数组标志已访问的图的结点外,还需要队列存放被访问的结点实现遍历。 .广义表的深度是广义表中括号的重数 .有向图G可拓扑排序的判别条件是有无回路。 .若要求一个稠密图的最小生成树,最好用Prim算法求解。 . 直接定址法法构造的哈希函数肯定不会发生冲突。 .排序算法所花费的时间,通常用在数据的比较和交换两大操作。 .通常从正确性﹑可读性﹑健壮性﹑时空效率等几个方面评价算法的(包括程序)的质量。 .对于给定的n元素,可以构造出的逻辑结构有集合关系﹑线性关系树形关系﹑图状关系四种。 .存储结构主要有顺序存储﹑链式存储﹑索引存储﹑散列存储四种。 .抽象数据类型的定义仅取决于它的一组逻辑特性,而与存储结构无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部使用。 .一个算法具有五大特性:有穷性﹑确定性﹑可行性,有零个或多个输入﹑有一个或多个输入。 .在双向链表结构中,若要求在p指针所指的结点之前插入指针为s所指的结点,则需执行下列语句:s->prior= p->prior; s->next= p; p->prior- next= s; p->prior= s;。 .在单链表中设置头结点的作用是不管单链表是否为空表,头结点的指针均不空,并使得对单链表的操作(如插入和删除)在各种情况下统一。 .队列是限制在表的一端进行插入和在另一端进行删除的线性表,其运算遵循先进先出原则。 .栈是限定尽在表位进行插入或删除操作的线性表。 .在链式队列中,判定只有一个结点的条件是(Q->rear==Q->front)&&(Q->rear!=NULL)。 .已知链队列的头尾指针分别是f和r,则将x入队的操作序列是node *p=(node *)malloc(node); p->next=x; p->next=NULL; if(r) {r->next=p; r=p;} else {r=p; f=p;}。 .循环队列的满与空的条件是(rear+1)%MAXSIZE==fornt和(front=-1&&rear+1==MAXSIZE)。 .串是一种特殊的线性表,其特殊性表现在数据元素都是由字符组成。 .字符串存储密度是串值所占存储位和实际分配位的比值,在字符串的链式存储结构中其结点大小是可变的。 .所谓稀疏矩阵指的是矩阵中非零元素远远小于元素总数,则称该矩阵为矩阵中非零元素远远小于元素总数,则称该矩阵为稀疏矩阵。 .一维数组的逻辑结构是线性结构,存储结构是顺序存储结构;对二维或多维数组,分别按行优先和列优先两种不同的存储方式。 .在有向图的邻接矩阵表示中,计算第i个顶点入度的方法是求邻接矩阵中第i列非0元素的个数。 网中,结点表示活动,边表示活动之间的优先关系,AOE网中,结点表示事件,边表示活动。 .按排序过程中依据不同原则对内部排序方法进行分类,主要有选择排序﹑交换排序﹑插入排序归并排序等4类。 .在堆排序、快速排序和归并排序中若只从排序结果的稳定性考虑,则应选择归并排序方法;若只从平均情况下排序最快考虑,则应选择快速排序方法;若只从最坏情况下排序最快且要节省类存考虑,则应选择堆排序方法。 .直接插入排序用监视哨的作用是存当前要的插入记录,可又省去查找插入位置时对是否出界的判断。 .设表中元素的初始状态是按键值递增的,则直接插入排序最省时间,快速排序最费时间。 .下列程序判断字符串s是否对称,对称则返回1,否则返回0;如?(“abba”)返回1,?(”abab”)返回0. Int f (char*s) { Int i=0,j=0; 求串长*/

习题解答

第1章汇编语言基础知识习题解答 1.1 什么是汇编语言?汇编语言的特点是什么? 答:为了克服机器语言难以记忆、表达和阅读的缺点,人们采用具有一定含义的符号作为助忆符,用指令助忆符、符号地址等组成的符号指令称为汇编格式指令(或汇编指令)。汇编语言是汇编指令集、伪指令集和使用它们规则的统称。汇编语言的特点是: (1)执行速度快。(2)程序短小。 (3)可以直接控制硬件。 (4)可以方便地编译。 (5)辅助计算机工作者掌握计算机体系结构。 (6)程序编制耗时,可读性差。(7)程序可移植性差。 1.2 把下列十进制数转换成二进制数、八进制数、十六进制数。 ① 127 ② 1021 ③ 0.875 ④ 6.25 答: ① 1111111B;177Q;7FH ② 1111111101;1775Q;3FDH ③ 0.111 B;0.7Q;0.EH ④ 110.01B;6.2Q;6.4H 1.3把下列二进制数转换成十进制数。 ① 1001.11 ② 101011.10011 ③ 111.011 ④ 1011.1 答: ① 9.75D ② 43.59375D ③ 7.375D ④ 11.5D 1.4 把下列八进制数转换成十进制数。 ① 573.06 ② 75.23 ③ 431.7 ④ 123.45 答: ① 379.09375D ② 61.296875D ③ 281.875 ④ 83.578125 1.5 把下列十六进制数转换成十进制数。 ① 0D5.F4 ② 8BA.7C ③ 0B2E.3A ④ 6EC.2D 答: ① 213.953125D ②2234.484375 ③2862.2265625 ④1772.17578125 1.6 把下列英文单词转换成ASCII编码的字符串。 ① Upper ② Blow ③ Computer ④ What 答: ① 55H,70H,70H,65H,72H ② 53H,6CH,6FH,77H ③ 43H,6FH,6DH,70H,75H,74H,65H,72H ④ 57H,68H,61H,74H 1.7求下列带符号十进制数的8位基2码补码。 ① +127 ②?2 ③?128 ④ +2 答: ① 01111111B ② 11111110B ③ 10000000B ④ 00000010B 1.8 求下列带符号十进制数的16位基2码补码。 ① +628 ②?9 ③?1234 ④ +3249 答: ① 0000001001110100B ② 1111111111110111B ③ 1111101100101110B ④ 110010110001B 1.9 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十 六进制数表示其运算结果。 ① 68+(―53)② 68―53 ③ 68―(―53)④(―68)―53 答: ① 0FH ②0FH ③ 0A1H ④87H 1.10 汉字在输入、存储、输出过程中所使用的汉字编码是否一样?使用的是什么编码? 答: 在汉字的输入、存储、输出过程中所使用的汉字编码是不一样的,输入时有输入编码,存储时有汉字机内码,输出时有汉字字形码。

数据结构习题及参考答案 .

习题1 一、单项选择题 1.数据结构是指()。 A.数据元素的组织形式 B.数据类型 C.数据存储结构 D.数据定义 2.数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为()。 A.存储结构 B.逻辑结构 C.链式存储结构 D.顺序存储结构 3.树形结构是数据元素之间存在一种()。 A.一对一关系 B.多对多关系 C.多对一关系 D.一对多关系 4.设语句x++的时间是单位时间,则以下语句的时间复杂度为()。 for(i=1; i<=n; i++) for(j=i; j<=n; j++) x++; A.O(1) B.O(2n) C.O(n) D.O(3n) 5.算法分析的目的是(1),算法分析的两个主要方面是(2)。 (1) A.找出数据结构的合理性 B.研究算法中的输入和输出关系 C.分析算法的效率以求改进 D.分析算法的易懂性和文档性 (2) A.空间复杂度和时间复杂度 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 6.计算机算法指的是(1),它具备输入,输出和(2)等五个特性。 (1) A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法 (2) A.可行性,可移植性和可扩充性 B.可行性,确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性,稳定性和安全性 7.数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要()。 A.低 B.高 C.相同 D.不好说 8.数据结构作为一门独立的课程出现是在()年。 A.1946 B.1953 C.1964 D.1968 9.数据结构只是研究数据的逻辑结构和物理结构,这种观点()。 A.正确 B.错误 C.前半句对,后半句错 D.前半句错,后半句对

数字电路与系统设计课后习题答案

(此文档为word格式,下载后您可任意编辑修改!) 1.1将下列各式写成按权展开式: (352.6)10=3×102+5×101+2×100+6×10-1 (101.101)2=1×22+1×20+1×2-1+1×2-3 (54.6)8=5×81+54×80+6×8-1 (13A.4F)16=1×162+3×161+10×160+4×16-1+15×16-2 1.2按十进制0~17的次序,列表填写出相应的二进制、八进制、十六进制数。 解:略 解:分别代表28=256和210=1024个数。 (1750)8=(1000)10 (3E8)16=(1000)10 1.5将下列各数分别转换为二进制数:(210)8,(136)10,(88)16 1.6将下列个数分别转换成八进制数:(111111)2,(63)10,(3F)16 解:结果都为(77)8 解:结果都为(FF)16 1.8转换下列各数,要求转换后保持原精度: (0110.1010)余3循环BCD码=(1.1110)2 1.9用下列代码表示(123)10,(1011.01)2: 解:(1)8421BCD码: (123)10=(0001 0010 0011)8421BCD (1011.01)2=(11.25)10=(0001 0001.0010 0101)8421BCD (2)余3 BCD码 (123)10=(0100 0101 0110)余3BCD (1011.01)2=(11.25)10=(0100 0100.0101 1000)余3BCD (1)按二进制运算规律求A+B,A-B,C×D,C÷D, (2)将A、B、C、D转换成十进制数后,求A+B,A-B,C×D,C÷D,并将结果与(1)进行比较。 A-B=(101011)2=(43)10 C÷D=(1110)2=(14)10 (2)A+B=(90)10+(47)10=(137)10 A-B=(90)10-(47)10=(43)10 C×D=(84)10×(6)10=(504)10 C÷D=(84)10÷(6)10=(14)10 两种算法结果相同。

8086指令系统精析解析

8086指令系统精析 3.1基本数据类型 1.IA-32结构的基本数据类型是字节(8位)、字(16位)、双字(32位)、四字 (64位,486中引入的)和双四字(128位,Pentium3中引入的)。 2.低字节占用内存中的最低地址,该地址也是此操作数的地址。图:P44 图3-1 3.字、双字、四字的自然边界是偶数编号的地址,字的自然边界是偶数编号的 地址,双字和四字的自然边界地址要分别能被4和8除尽。 4.数据结构要尽可能在自然边界上对齐 5.对于不对齐的存储访问,处理器要求做两次存储访问操作;而对于对齐的访 问,只要进行一次存储访问操作。 6.数字数据类型(学生自学)PPT 3.28086的指令格式 一、指令格式 Label(标号):mnemonic(助记符)argument1(参数1),argument2(参数2),argument3(参数3)其中: 1.标号是一个标识符,后面跟有冒号 2.助记符是一类具有相同功能的指令操作码的保留名 3.操作数的三个参数是任选的,可以有零到三个操作数,操作数参数的数量取 决于操作码 4.操作数参数可能是文字或数据项的标识符,也可能是寄存器的保留名或在程 序的另一部分声明的赋予数据项的标识符。 5.在算术和逻辑指令中存在两个操作数时,右边的操作数是源,左边的操作数 是目的。例如:LOADREG: MOV AX, SUBTOTAL 功能是把由SUBTOTAL表示的源操作数传送至AX寄存器。 3.38086/8088指令的操作数寻址方式

寻找操作数,操作数能定位在指令中、寄存器中、存储单元中以及I/O端口中。 1.立即数 用包含在指令中的操作数作为源操作数,这些操作数即为立即操作数。 立即数可以是8位或16 例1 MOV AX , 2056H 结果( AH ) = 20H ( AL ) = 56H 例2 MOV AL , 78 H 结果( AL ) = 78H 2.寄存器操作数 操作数在寄存器中,指令中指定寄存器名 8 位操作数,用8 位寄存器: AH、AL、BH、BL、CH、CL、DH、DL 16 位操作数,用16 位寄存器: AX、BX、CX、DX、SP、BP、SI、DI CS、DS、SS、ES 例1 MOV AX , 2056H 执行后:(AX)=2056H 例2 MOV BL , AH 执行前:(BL) = 12H, (AH) = 78H 执行后:(BL) = 78H (AH) = 78H ▲立即数寻址、寄存器寻址的操作数,不用在取完指令后再到内存中取数。 ▲以下的 5 中寻址方式,操作数存放在内存中,取完指令后,还需到内存取数。指令中给出的是该操作数的地址,包括段地址和偏移地址。 3. 内存操作数 ▲指令MOV DS: [ DI ] , CL 完成将CL寄存器中的内容传送到以DS为段值,DI为偏移值的内存单元中。例编程将CL寄存器的内容传送到21000H单元中。PPT 地址21000H=2000:1000H ,编程时,DS 存放段地址2000H,DI 存放偏移地址1000H MOV AX, 2000H MOV DS, AX ; (DS) = 2000H

习题1——指令系统 参考答案

《汇编语言》习题1——指令系统参考答案 习题1-1 在8086CPU中,如果SS的内容设置为1A4BH,堆栈的长度为100H字节,问SP寄存器的初始化值为多少?SP初始指向哪个主存物理地址? 答:SP寄存器的初始化值为:100H SP初始指向的主存物理地址是:1A5B0H 习题1-2 分别说明下述8086指令中的源操作数和目的操作数的寻址方式。 指令目的操作数源操作数 (1) MOV ES, AX 寄存器寻址寄存器寻址 (2) ADD DS:[12H],AL 直接寻址寄存器寻址 (3) SUB BX,1200H 寄存器寻址立即寻址 (4) SHR AX,1 寄存器寻址立即寻址 (5) AND -28H[BP][DI], AX 基址变址寻址寄存器寻址 (6) MOV CX,LAB1[BX] 寄存器寻址基址/变址寻址 (7) SBB AX, [BX] 寄存器寻址寄存器间接寻址 (8) OR DX,-360H[SI] 寄存器寻址基址/变址寻址 (9) ADC VAR1,CX 直接寻址寄存器寻址 (10) XOR [DI],AX 寄存器间接寻址寄存器寻址 习题1-3分别说明下述指令语句的语法正确与否,如果有错,说明其错误。 指令正误 (1)MOV DS, 1234H 错误,立即数不能直接传送到段寄存器中 (2)ADD AH,AL 正确 (3)SUB CS,AX 错误,不能对CS直接操作 (4)MOV BX,[BX][SI] 正确 (5)ADC VAR1,[BP][DI] 错误,两个操作数不能同时都在存储器中 (6) SBB [BX][BP],AX 错误, 基址变址寻址方式中不能两个寄存器都是基址寄存器 (7)PUSH 5678H 错误,立即数不能作为源操作数直接压入堆栈 (8)SHL [BP][SI],CL 错误,目的操作数没有明确指明是字还是字节 (9)ROR AX,2 错误,移位次数大于1时,需将其提前存入CL中 (10)NEG AX,BX 错误,操作数个数错误 (11)LEA CS,AX 错误,目的操作数只能是16位通用寄存器 (12)MOV AL,BX 错误, 操作数位数不一致 (13)ADD DS:200H,AX 正确 (14)AND [BX][BP],AH 错误, 基址变址寻址方式中不能两个寄存器都 是基址寄存器 (15)OR BH,-16H[BP] 正确 (16)CLC AX 错误,操作数个数错误 (17)MUL AX,BX 错误,操作数个数错误 (18)DIV 12H 错误,源操作数不能是立即数 习题1-4 在8086中,如果(DS)=1A26H,(SS)=20B0H,(BX)=1200H,(SI)=0034H, (BP)=5700H(1B484H)=1234H,(26200H)=5678H,给出下面各指令或指令组执行后相应寄存器/存储单元的结果。

数字逻辑与数字系统设计习题参考答案

数字逻辑与数字系统设计 第1章习题解答 1.3 (1)86 (2)219 (3)106.25 (4)0.6875 1.4 (1)101111 (2)1001000 (3)100001l.11 (4)0.101 1.5 (1)(117)10=(165)8=(1110101)2=(75)16 (2)(3452)10=(6574)8=(1)2=(D7C)16 (3)(23768.6875)10=(56330.54)8=(.1011)2=(5CD8.B)16 (4)(0.625)10=(0.5)8=(0.101)2=(0.A)16 1.6 (1)(117)8=(1001111)2=(79)10 (2)(7456)8=(1)2=(3886)10 (3)(23765.64)8=(10 0111 1111 0101.1101)2=(10229.8125)10 (4)(0.746)8=(0.11111)2=(0.96875)10 1.7 (1) (9A)16=()2=(154)10 (2) (3CF6)16=(111)2=(15606)10 (3) (7FFE.6)16=(.011)2=(32766.375)10 (4) (0.C4)16=(0.110001)2=(0.765625)10 1-8 (1)(125)10=(0001)8421BCD (2)(7342)10=(0)8421BCD (3)(2018.49)10=(00011000.01001001)8421BCD (4)(0.785)10=(0.0)8421BCD 1.9 (1)(106)10=(1101010)2原码=反码=补码=01101010 (2)(-98)10=(-1100010)2 原码= 反码= 补码= (3)(-123)10=(-1111011)2 原码= 反码= 补码= (4)(-0.8125)10=(-0.1101)2 原码=1.1101000 反码=1.0010111 补码=1.0011000 1.10 (1)(104)10=(1101000)2 [1101000]补=01101000 (-97)10=(-1100001)2 [-1100001]补= + 01001111 01101000 + 00000111

第二章8086习题答案

第二章8086习题答案

微机原理第二章习题与分析解答 1.单项选择题 (1)8086工作最大方式时应将引脚MN/MX接() A.负电源 B.正电源 C.地 D.浮空 分析:8086规定工作在最小方式下MN/MX接+5V,工作在最大方式下MN/MX 接地。 答案:C (2)8086能寻址内存储器的最大地址范围为() A.64KB B.1MB C.16MB D.16KB 分析:8086有A 0~A 19 20条地址总线,220=1MB。 答案:B (3)在总线周期,8086CPU与外设需交换() A.地址信息 B.数据信息 C.控制信息 D.A、B、C 分析在总线周期,CPU必须发出地址信息的控制信息以后,才能实现与外设进行交换数据。 答案:D (4)8086用哪种引脚信号来确定是访问内存还是访问外设() A.RD B.WR C.M/IO D.INTA 分析:引脚信号M/IO是Memory or Input Output的缩写,当M/IO=0时,用以访问外设;当M/IO=1,用以访问外设。 答案:C (5)在8086指令系统中,下列哪种寻址方式不能表示存储器操作数()A.基址变址寻址B.寄存器寻址C.直接寻址D.寄存器间接寻址 分析:8086指令系统共有七种寻址方式,只有立即寻址方式和寄存器寻址方式不是表示存储器操作数的。 答案:B (6)当CPU时钟频率为5MHz,则其总线周期() A.0.8 s B.500ns C.200ns D.200μs 分析:时钟周期T=1/?=200ns,而一个总路线周期通常由4个T状态组成,有4╳T=4╳200ns=0.8μs. 答案:A (7)8086工作在最大方式下,总路线控制器使用芯片() A.8282 B.8286 C.8284 D.8288 分析:在最大方式下,系统中主要控制信号是由总路线控制器产生,而只有芯片8288才有这方面的功能。 答案:D (8)取指令物理地址=() A.(DS)╳10H+偏移地址 B.(ES)╳10H+偏移地址 C.(SS)╳10H+(SP) D.(CS)╳10H+(IP) 分析:每当8086CPU取指令时,总是根据CS:IP的所指的存贮单元去取指令。 答案:D (9)一个数据的有效地址是2140H、(DS)=1016H,则该数据所在内存单元

数据结构各章习题及答案

数据结构习题及解答 第1章 概述 【例1-1】分析以下程序段的时间复杂度。 for(i=0;i

得:T(n)=O( n 2 log) 【例1-4】有如下递归函数fact(n),分析其时间复杂度。 fact(int n) { if(n<=1) return(1);① else return(n*fact(n-1));② } 解:设fact(n)的运行时间函数是T(n)。该函数中语句①的运行时间是O(1),语句②的运行时间是T(n-1)+ O(1),其中O(1)为常量运行时间。 由此可得fact(n)的时间复杂度为O(n)。 习题1 一、单项选择题 1.数据结构是指(1. A )。 A.数据元素的组织形式 B.数据类型 C.数据存储结构 D.数据定义 2.数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为(2. C )。 A.存储结构 B.逻辑结构 C.链式存储结构 D.顺序存储结构 3.树形结构是数据元素之间存在一种(3. D )。 A.一对一关系 B.多对多关系 C.多对一关系 D.一对多关系 4.设语句x++的时间是单位时间,则以下语句的时间复杂度为(4. B)。 for(i=1; i<=n; i++) for(j=i; j<=n; j++) x++; A.O(1) B.O(2 n) C.O(n) D.O(3n) 5.算法分析的目的是(5. C、),算法分析的两个主要方面是(A)。 (1) A.找出数据结构的合理性 B.研究算法中的输入和输出关系 C.分析算法的效率以求改进 D.分析算法的易懂性和文档性 (2) A.空间复杂度和时间复杂度 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 6.计算机算法指的是(6. C、),它具备输入,输出和(B)等五个特性。 (1) A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法 (2) A.可行性,可移植性和可扩充性 B.可行性,确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性,稳定性和安全性 7.数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要(7. B)。

数字电路与系统设计课后习题答案

. 1.1将下列各式写成按权展开式: (352.6)10=3×102+5×101+2×100+6×10-1 (101.101)2=1×22+1×20+1×2-1+1×2-3 (54.6)8=5×81+54×80+6×8-1 (13A.4F)16=1×162+3×161+10×160+4×16-1+15×16-2 1.2按十进制0~17的次序,列表填写出相应的二进制、八进制、十六进制数。 解:略 1.3二进制数00000000~11111111和0000000000~1111111111分别可以代表多少个数?解:分别代表28=256和210=1024个数。 1.4将下列个数分别转换成十进制数:(1111101000)2,(1750)8,(3E8)16 解:(1111101000)2=(1000)10 (1750)8=(1000)10 (3E8)16=(1000)10 1.5将下列各数分别转换为二进制数:(210)8,(136)10,(88)16 解:结果都为:(10001000)2 1.6将下列个数分别转换成八进制数:(111111)2,(63)10,(3F)16 解:结果都为(77)8 1.7将下列个数分别转换成十六进制数:(11111111)2,(377)8,(255)10 解:结果都为(FF)16 1.8转换下列各数,要求转换后保持原精度: 解:(1.125)10=(1.0010000000)10——小数点后至少取10位 (0010 1011 0010)2421BCD=(11111100)2 (0110.1010)余3循环BCD码=(1.1110)2 1.9用下列代码表示(123)10,(1011.01)2: 解:(1)8421BCD码: (123)10=(0001 0010 0011)8421BCD (1011.01)2=(11.25)10=(0001 0001.0010 0101)8421BCD

第二章8086习题答案

微机原理第二章习题与分析解答 1.单项选择题 (1)8086工作最大方式时应将引脚MN/MX接() A.负电源 B.正电源 C.地 D.浮空 分析:8086规定工作在最小方式下MN/MX接+5V,工作在最大方式下MN/MX 接地。 答案:C (2)8086能寻址内存储器的最大地址范围为() A.64KB B.1MB C.16MB D.16KB 分析:8086有A 0~A 19 20条地址总线,220=1MB。 答案:B (3)在总线周期,8086CPU与外设需交换() A.地址信息 B.数据信息 C.控制信息 D.A、B、C 分析在总线周期,CPU必须发出地址信息的控制信息以后,才能实现与外设进行交换数据。 答案:D (4)8086用哪种引脚信号来确定是访问内存还是访问外设() A.RD B.WR C.M/IO D.INTA 分析:引脚信号M/IO是Memory or Input Output的缩写,当M/IO=0时,用以访问外设;当M/IO=1,用以访问外设。 答案:C (5)在8086指令系统中,下列哪种寻址方式不能表示存储器操作数()A.基址变址寻址B.寄存器寻址C.直接寻址D.寄存器间接寻址 分析:8086指令系统共有七种寻址方式,只有立即寻址方式和寄存器寻址方式不是表示存储器操作数的。 答案:B (6)当CPU时钟频率为5MHz,则其总线周期() A.0.8 s B.500ns C.200ns D.200μs 分析:时钟周期T=1/?=200ns,而一个总路线周期通常由4个T状态组成,有4╳T=4╳200ns=0.8μs. 答案:A (7)8086工作在最大方式下,总路线控制器使用芯片() A.8282 B.8286 C.8284 D.8288 分析:在最大方式下,系统中主要控制信号是由总路线控制器产生,而只有芯片8288才有这方面的功能。 答案:D (8)取指令物理地址=() A.(DS)╳10H+偏移地址 B.(ES)╳10H+偏移地址 C.(SS)╳10H+(SP) D.(CS)╳10H+(IP) 分析:每当8086CPU取指令时,总是根据CS:IP的所指的存贮单元去取指令。 答案:D (9)一个数据的有效地址是2140H、(DS)=1016H,则该数据所在内存单元

数据结构习题及参考答案

习题1 一、单项选择题 1. 数据结构是指()。 A.数据元素的组织形式 B.数据类型 C.数据存储结构 D.数据定义 2. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为()。 A.存储结构 B.逻辑结构 C.链式存储结构 D.顺序存储结构 3. 树形结构是数据元素之间存在一种()。 A.一对一关系 B.多对多关系 C.多对一关系 D.一对多关系 4. 设语句x++的时间是单位时间,则以下语句的时间复杂度为()。 for(i=1; i<=n; i++) for(j=i; j<=n; j++) x++; A.O(1) B.O(2n) C.O(n) D.O(3n) 5. 算法分析的目的是(1),算法分析的两个主要方面是(2)。 (1)A.找出数据结构的合理性 B.研究算法中的输入和输出关系

C.分析算法的效率以求改进 D.分析算法的易懂性和文档性 (2)A.空间复杂度和时间复杂度 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 6. 计算机算法指的是(1),它具备输入,输出和(2)等五个特性。 (1)A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法 (2)A.可行性,可移植性和可扩充性 B.可行性,确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性,稳定性和安全性 7. 数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要()。 A.低 B.高 C.相同 D.不好说 8. 数据结构作为一门独立的课程出现是在()年。 A.1946 B.1953 C.1964 D.1968 9. 数据结构只是研究数据的逻辑结构和物理结构,这种观点()。 A.正确 B.错误 C.前半句对,后半句错 D.前半句错,后半句对 10. 计算机内部数据处理的基本单位是()。 A.数据 B.数据元素 C.数据项 D.数据库

数字电路与系统设计课后习题答案

1、1将下列各式写成按权展开式: (352、6)10=3×102+5×101+2×100+6×10-1 (101、101)2=1×22+1×20+1×2-1+1×2-3 (54、6)8=5×81+54×80+6×8-1 (13A、4F)16=1×162+3×161+10×160+4×16-1+15×16-2 1、2按十进制0~17的次序,列表填写出相应的二进制、八进制、十六进制数。 解:略 1、3二进制数00000000~11111111与0000000000~1111111111分别可以代表多少个数?解:分别代表28=256与210=1024个数。 1、4将下列个数分别转换成十进制数:(1111101000)2,(1750)8,(3E8)16 解:(1111101000)2=(1000)10 (1750)8=(1000)10 (3E8)16=(1000)10 1、5将下列各数分别转换为二进制数:(210)8,(136)10,(88)16 解:结果都为:(10001000)2 1、6将下列个数分别转换成八进制数:(111111)2,(63)10,(3F)16 解:结果都为(77)8 1、7将下列个数分别转换成十六进制数:(11111111)2,(377)8,(255)10 解:结果都为(FF)16 1、8转换下列各数,要求转换后保持原精度: 解:(1、125)10=(1、0010000000)10——小数点后至少取10位 (0010 1011 0010)2421BCD=(11111100)2 (0110、1010)余3循环BCD码=(1、1110)2 1、9用下列代码表示(123)10,(1011、01)2: 解:(1)8421BCD码: (123)10=(0001 0010 0011)8421BCD (1011、01)2=(11、25)10=(0001 0001、0010 0101)8421BCD (2)余3 BCD码 (123)10=(0100 0101 0110)余3BCD (1011、01)2=(11、25)10=(0100 0100、0101 1000)余3BCD 1、10已知A=(1011010)2,B=(101111)2,C=(1010100)2,D=(110)2 (1)按二进制运算规律求A+B,A-B,C×D,C÷D, (2)将A、B、C、D转换成十进制数后,求A+B,A-B,C×D,C÷D,并将结果与(1)进行比较。解:(1)A+B=(10001001)2=(137)10 A-B=(101011)2=(43)10 C×D=(111111000)2=(504)10 C÷D=(1110)2=(14)10 (2)A+B=(90)10+(47)10=(137)10 A-B=(90)10-(47)10=(43)10 C×D=(84)10×(6)10=(504)10 C÷D=(84)10÷(6)10=(14)10 两种算法结果相同。 1、11试用8421BCD码完成下列十进制数的运算。 解:(1)5+8=(0101)8421BCD+(1000)8421BCD=1101 +0110=(1 0110)8421BCD=13

相关主题
文本预览
相关文档 最新文档