1、中级软件设计师下午试题-68 及答案解析(总分:151.00,做题时间:90 分钟)一、试题一(总题数:4,分数:60.00)1.问题 1 把上面用关系表示的实体,实体与实体之间的联系,用 E-R 图表示出来,要求在图中表示联系的类型(1:1,L:N,M:N)。(分数:15.00)填空项 1:_2.问题 2 使用关系代数表达式写出查询所有年龄在 20 岁以下的学生姓名和年龄。(分数:15.00)填空项 1:_3.问题 3 用 SQL 语言写出查询:查询年龄不在 2023 岁(包括 20 岁和 23 岁)之间的学生的姓名,系别和年龄。(分数:15.00)填空项 1:_4.问题 4 用 SQL 语
2、言写出操作:把数学系全体学生的成绩置零。(分数:15.00)填空项 1:_二、试题二(总题数:4,分数:16.00)5.问题 1 该关系模式满足 2NF 吗?为什么?(分数:4.00)填空项 1:_6.问题 2 如果将关系模式 R 分解为:R1(A#,B#,E)R2(B#,C,D) 指出关系模式 R2 的键,并说明该关系模式最高满足第几范式(在 1NFBCNF 之内)(分数:4.00)填空项 1:_7.问题 3 将关系模式 R 分解到 BCNF(分数:4.00)填空项 1:_8.问题 4 在 E-R 模型中,如果实体间是 1:N 的联系,如何设计相应部分的关系模型?(分数:4.00)填空项 1
3、:_三、试题三(总题数:1,分数:15.00)9.#include stdio. hvoid main( )int digit;long in , s;seanf(“ % Id“, (1) ;(2) ;while(in 0) (3) ;s = s + digit* digit;(4) ;pfinff( “sum = % 1dn“, s );(分数:15.00)填空项 1:_四、试题四(总题数:1,分数:15.00)10.说明 某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从 7201 至 7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从 10
4、0 到 300 中任意的数字串。市话号码是以局号和分局号组成。局号可以是 455,466,888,552 中任意一个号码。分局号是任意长度为 4 的数字串。要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。(分数:15.00)_五、试题五(总题数:1,分数:15.00)11.说明 以下函数完成求表达式(分数:15.00)填空项 1:_六、试题六(总题数:1,分数:15.00)12.说明 编写一个学生类 Student,要求:(1) 学生类 Student 属性有:id: long 型,代表学号name: String 类对象,代表姓名age: int 型,代表年龄sex: boole
5、n 型,代表性别(其中:true 表示男,false 表示女)phone: String 类对象,代表联系电话(2) 学生类 Student 的方法有:Student (long i,String n,int a,boolean s,String p):有参构造函数,形参表中的参数分别初始化学号、姓名、年龄、性别和联系电话。int getAge ():获取年龄作为方法的返回值。boolean getSex ():获取性别作为方法的返回值。String getPhone ():获取联系电话作为方法的返回值。public String to String ():以姓名:性别:学号:联系电话的形式作
6、为方法的返import java. applet. Applet;import java. awt.* ;public class Student extends Applet long id;String name, phone;int age;boolean sex;Student(long i, String n, int a, boolean s, String p)id=i;name = n;age = a;sex= s;phone = p;public void paint( Graphics g)Student x= new Student (5000,“ xiaoliu“ ,
7、89, true, “ 8989898“ );(1) ;(2) g. drawstring( x. getPhone( ), 140,140);int getAge( )return age; boolean getsex ( )return sex; String getPhone( )return phone; String ToString( )(3) (分数:15.00)填空项 1:_七、试题七(总题数:1,分数:15.00)13.Private Sub Command1_ Click( )If List1. ListIndex = (1) Then List1. RemoveItem
8、 (2) Label1. Caption = (3) ElseMsgBox “请选择要删除的项目”End IfEnd Sub(分数:15.00)填空项 1:_中级软件设计师下午试题-68 答案解析(总分:151.00,做题时间:90 分钟)一、试题一(总题数:4,分数:60.00)1.问题 1 把上面用关系表示的实体,实体与实体之间的联系,用 E-R 图表示出来,要求在图中表示联系的类型(1:1,L:N,M:N)。(分数:15.00)填空项 1:_ (正确答案: )解析:议题一解答要点 实体联系模型(ER 模型)中的基本语义单位是实体和联系。ER 模型的图形表示称为 ER 图。联系可以同一个或
9、多个实体有关。实体与实体之间的联系可以是一对一,一对多和多对多。利用 ER 模型进行数据库的概念设计,可以分成三步:首先设计局部 ER,然后把各个局部 ER 模型综合成一个全局的模型,最后对全局 ER 模型进行优化,得到最终的 ER 模型。关于 SQI语言,见(13)解析。2.问题 2 使用关系代数表达式写出查询所有年龄在 20 岁以下的学生姓名和年龄。(分数:15.00)填空项 1:_ (正确答案: Sname, Sage ( Sage 20 ( Student ) ))解析:3.问题 3 用 SQL 语言写出查询:查询年龄不在 2023 岁(包括 20 岁和 23 岁)之间的学生的姓名,系
10、别和年龄。(分数:15.00)填空项 1:_ (正确答案:SELECT Shame, Sdept, Sage FROM StudentWHERE Sage NOT BETWEEN 20 AND 23 或 SELECT Shame, Sdept, Sage FROM Student WHERE NOT (Sage BETWEEN 20 AND 23 )或 SELECT Sname, Sdept, Sage FROM Student WHERE (Sage 23))解析:4.问题 4 用 SQL 语言写出操作:把数学系全体学生的成绩置零。(分数:15.00)填空项 1:_ (正确答案:UPDATE
11、 SCSET Grade =0WHERE MA = (SELECT Sdept FROM Student WHERE Student. Sno = SC. Sno))解析:二、试题二(总题数:4,分数:16.00)5.问题 1 该关系模式满足 2NF 吗?为什么?(分数:4.00)填空项 1:_ (正确答案:该关系模式不满足 2NF 的要求)解析:试题二解答要点 第二范式(2NF):如果关系模式 R(U,F)中的所有非主属性都完全依赖于任意一个候选关键字,则称关系 R 是属于第二范式的。第三范式(3NF):如果关系模式 R(U,F)中的所有非主属性对任何候选关键字都不存在传递信赖,则称关系 R
12、 是属于第三范式的。BCNF:如果关系模式 R(U,P)的所有属性(包括主属性和非主属性)都不传递依赖于 R 的任何候选关键字,那么称关系 R 是属于 BCNF 的。由题可知,D 并不依赖 B#,所以不满足 2NF。R2,C 和 D 都依赖于 B#,可以满足 2NF;但 C,D 问存在传递信赖,所以不 B2 不属于第三范式,它最高满足 2NF。将关系模式 R 分解到 BCNF,就意味着要打破传递依赖,所以将 R2 中的 C 和 D 分解到一个新的关系中。6.问题 2 如果将关系模式 R 分解为:R1(A#,B#,E)R2(B#,C,D) 指出关系模式 R2 的键,并说明该关系模式最高满足第几范
13、式(在 1NFBCNF 之内)(分数:4.00)填空项 1:_ (正确答案:R2(B#,C,D)最高满足 2NF)解析:7.问题 3 将关系模式 R 分解到 BCNF(分数:4.00)填空项 1:_ (正确答案:R11(A#,B#,E)R21(B#,C)R22(C,D))解析:8.问题 4 在 E-R 模型中,如果实体间是 1:N 的联系,如何设计相应部分的关系模型?(分数:4.00)填空项 1:_ (正确答案:在 E-R 模型中,一个 1:N 联系可以转换成为一个独立的关系模式,相连的实体的键以及联系本身的属性转换为关系的属性,关系的键为 N 端实体的键。也可以与 N 端对应的关系模式合并,
14、将 1 端实体对应的关系模式的键和联系本身的属性加入到 N 端实体对应的关系模式的属性中。更倾向于后面这种方法。)解析:三、试题三(总题数:1,分数:15.00)9.#include stdio. hvoid main( )int digit;long in , s;seanf(“ % Id“, (1) ;(2) ;while(in 0) (3) ;s = s + digit* digit;(4) ;pfinff( “sum = % 1dn“, s );(分数:15.00)填空项 1:_ (正确答案:if(in2s=03digit=in104in=in/10)解析:解答要点 本题的关键一是要考
15、虑负数,还要将各个位数用模 10 的方法单独取出来。四、试题四(总题数:1,分数:15.00)10.说明 某旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从 7201 至 7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是以区号和市话号码组成。区号是从 100 到 300 中任意的数字串。市话号码是以局号和分局号组成。局号可以是 455,466,888,552 中任意一个号码。分局号是任意长度为 4 的数字串。要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。(分数:15.00)_正确答案:(电话号码=分机号外线号码分机号=72017299外线号码=9+市话号码长话
16、号码长话号码=区号+市话号码区号=100300市话号码=局号+分局号局号=455466888552分局号=4数字4)解析:解答要点 数据字典是关于数据的信息的集合,对数据流图中的各个元素作完整的定义与说明,是数据流图的补充工具。一般说来,数据字典应该由对下列六类元素的定义组成。(1) 数据流(2)数据项(3)数据结构(4)数据存储(5)处理逻辑。(6)外部实体除了数据定义之外,数据字典中还应该包含关于数据的一些其他信息。根据题目所给的信息,需要注意的是最后分局号的写法。五、试题五(总题数:1,分数:15.00)11.说明 以下函数完成求表达式(分数:15.00)填空项 1:_ (正确答案:fl
17、oat t =1.0;i =100- sign * i/( t + sign* i)return s)解析:六、试题六(总题数:1,分数:15.00)12.说明 编写一个学生类 Student,要求:(1) 学生类 Student 属性有:id: long 型,代表学号name: String 类对象,代表姓名age: int 型,代表年龄sex: boolen 型,代表性别(其中:true 表示男,false 表示女)phone: String 类对象,代表联系电话(2) 学生类 Student 的方法有:Student (long i,String n,int a,boolean s,St
18、ring p):有参构造函数,形参表中的参数分别初始化学号、姓名、年龄、性别和联系电话。int getAge ():获取年龄作为方法的返回值。boolean getSex ():获取性别作为方法的返回值。String getPhone ():获取联系电话作为方法的返回值。public String to String ():以姓名:性别:学号:联系电话的形式作为方法的返import java. applet. Applet;import java. awt.* ;public class Student extends Applet long id;String name, phone;int
19、 age;boolean sex;Student(long i, String n, int a, boolean s, String p)id=i;name = n;age = a;sex= s;phone = p;public void paint( Graphics g)Student x= new Student (5000,“ xiaoliu“ , 89, true, “ 8989898“ );(1) ;(2) g. drawstring( x. getPhone( ), 140,140);int getAge( )return age; boolean getsex ( )retu
20、rn sex; String getPhone( )return phone; String ToString( )(3) (分数:15.00)填空项 1:_ (正确答案:g. drawString (x. ToString( ) ,20,100)g. drawString(x, getAge( ) ,80,120);retum(“姓名”+name + “学号:” + id + “联系电话:”“ +phone) ;)解析:七、试题七(总题数:1,分数:15.00)13.Private Sub Command1_ Click( )If List1. ListIndex = (1) Then List1. RemoveItem (2) Label1. Caption = (3) ElseMsgBox “请选择要删除的项目”End IfEnd Sub(分数:15.00)填空项 1:_ (正确答案:0List1. ListIndexList1. ListCount)解析: