全国计算机技术与软件专业技术资格(水平)考试

全国计算机技术与软件专业技术资格(水平)考试

欢迎访问软件考试网(www.hbsoft.net)

2006年上半年软件设计师上午试卷

●两个同符号的数相加或异符号的数相减,所得结果的符号位SF和进位标志CF进行(1)运算为1时,表示运算的结果产生溢出。

(1)A.与B.或C.与非D.异或

●若浮点数的阶码用移码表示,尾数用补码表示。两规格化浮点数相乘,最后对结果规格化时,右规的右移位数最多为(2)位。

(2)A.1B.2C.尾数位数D.尾数位数-1

(3)A.90B.95C.97D.99

(4)A.488888B.388888C.288888D.188888

(5)A.2×104B.5×104C.2×105D.5×105

连续输入10条指令时的吞吐率为(6)。

(6)A.10/70△tB.10/49△tC.10/35△tD.10/30△t

●相对于DES算法而言,RSA算法的(7),因此,RSA(8)。

(7)A.加密密钥和解密密钥是不相同的B.加密密钥和解密密钥是相同的

C.加密速度比DES要高D.解密速度比DES要高

(8)A.更适用于对文件加密B.保密性不如DES

C.可用于对不同长度的消息生成消息摘要D.可以用于数字签名

(9)A.网上冲浪B.中间人攻击C.DDoS攻击D.MAC攻击

●上海市标准化行政主管部门制定并发布的工业产品的安全、卫生要求的标准,在其行政区域内是(10)。欢迎访问软件考试网(www.hbsoft.net)

(10)A.强制性标准B.推荐性标准C.自愿性标准D.指导性标准

●小王购买了一个“海之久”牌活动硬盘,而且该活动硬盘还包含有一项实用新型专利,那么,小王享有(11)。欢迎访问软件考试网(www.hbsoft.net)

(11)A.“海之久”商标专用权B.该盘的所有权

C.该盘的实用新型专利权D.前三项权利之全部

●MPC(MultimediaPC)与PC的主要区别是增加了(12)。

(12)A.存储信息的实体B.视频和音频信息的处理能力

C.光驱和声卡D.大容量的磁介质和光介质

●人眼看到的任一彩色光都是亮度、色调和饱和度三个特性的综合效果,其中(13)反应颜色的种类。欢迎访问软件考试网(www.hbsoft.net)

(13)A.色调B.饱和度C.灰度D.亮度

●CD上声音的采样频率为44.1kHz,样本精度为16b/s,双声道立体声,那么其未经压缩的数据传输率为(14)。欢迎访问软件考试网(www.hbsoft.net)

(14)A.88.2kb/sB.705.6kb/sC.1411.2kb/sD.1536.0kb/s

●在软件项目管理中可以使用各种图形工具来辅助决策,下面对Gantt图的描述中,不正确的是(15)。欢迎访问软件考试网(www.hbsoft.net)

C.Gantt图反映了各个活动之间的依赖关系

D.Gantt图表现了完成各个活动的进度

●耦合度描述了(16)。欢迎访问软件考试网(www.hbsoft.net)

(16)A.模块内各种元素结合的程度

B.模块内多个功能之间的接口

C.模块之间公共数据的数量

D.模块之间相互关联的程度

●内聚是一种指标,表示一个模块(17)。

(17)A.代码优化的程度B.代码功能的集中程度

C.完成任务的及时程度D.为了与其他模块连接所要完成的工作量

●在软件项目开发过程中,评估软件项目风险时,(18)与风险无关。

(18)A.高级管理人员是否正式承诺支持该项目

B.开发人员和用户是否充分理解系统的需求

C.最终用户是否同意部署已开发的系统

D.开发需要的资金是否能按时到位

●开发专家系统时,通过描述事实和规则由模式匹配得出结论,这种情况下适用的开发语言是(19)。欢迎访问软件考试网(www.hbsoft.net)

(19)A.面向对象语言B.函数式语言C.过程式语言D.逻辑式语言

●高级程序设计语言中用于描述程序中的运算步骤、控制结构及数据传输的是(20)。欢迎访问软件考试网(www.hbsoft.net)

(20)A.语句B.语义C.语用D.语法

●为了解决进程间的同步和互斥问题,通常采用一种称为(21)机制的方法。若系统中有5个进程共享若干个资源R,每个进程都需要4个资源R,那么使系统不发生死锁的资源R的最少数目是(22)。欢迎访问软件考试网(www.hbsoft.net)

(21)A.调度B.信号量C.分派D.通讯

(22)A.20B.18C.16D.15

●在UNIX操作系统中,把输入/输出设备看作是(23)。

(23)A.普通文件B.目录文件C.索引文件D.特殊文件

(24)A.17500msB.15000msC.5000msD.25000ms

●文件系统中,设立打开文件(Open)系统功能调用的基本操作是(25)。

(25)A.把文件信息从辅存读到内存

B.把文件的控制管理信息从辅存读到内存

C.把磁盘的超级块从辅存读到内存

D.把文件的FAT表信息从辅存读到内存

●最主要的软件质量度量指标有正确性、可维护性、完整性和可用性,下面关于这些质量指标的描述中正确的是(26)。

(26)A.软件维护的工作量比开发阶段的工作量小

B.正确性用每千行代码的故障(fault)数来度量

C.软件完整性是指软件功能与需求符合的程度

D.可用性与用户的操作效率和用户对软件的主观评价有关

(27)A.7B.9C.12D.13

●正式的技术评审FTR(FormalTechnicalReview)是软件工程师组织的软件质量保证活动,下面关于FTR指导原则中不正确的是(28)。

(28)A.评审产品,而不是评审生产者的能力

B.要有严格的评审计划,并遵守日程安排

C.对评审中出现的问题要充分讨论,以求彻底解决

D.限制参与者人数,并要求评审会之前做好准备

●两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是(29)个。

(29)A.25B.30C.50D.60

●下面有关测试的说法正确的是(30)。

(30)A.测试人员应该在软件开发结束后开始介入

B.测试主要是软件开发人员的工作

C.要根据软件详细设计中设计的各种合理数据设计测试用例

D.严格按照测试计划进行,避免测试的随意性

●在绘制数据流图时,应遵循父图与子图平衡的原则,所谓平衡是指(31)。

(31)A.父图和子图都不得改变数据流的性质

B.子图不改变父图数据流的一致性

C.父图的输入/输出数据流与子图的输入/输出数据流一致

D.子图的输出数据流完全由父图的输入数据流确定

●下图中的程序由A、B、C、D、E5个模块组成,下表中描述了这些模块之间的接口,每一个接口有一个编号。此外,模块A、D和E都要引用一个专用数据区。那么A和E之间耦合关系是(32)。欢迎访问软件考试网(www.hbsoft.net)

编号

参数

返回值

1

数据项

2

3

功能码

4

列表

(32)A.公共耦合B.数据耦合C.内容耦合D.无耦合

●在C++语言中,若类C中定义了一个方法intf(inta,intb),那么方法(33)不能与该方法同时存在于类C中。

(33)A.intf(intx,inty)B.intf(floata,intb)

C.floatf(intx,floaty)D.intf(intx,floaty)

●已知3个类O、P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受保护的方法F3;类P和类Q是类O的派生类,其继承方式如下所示:

classP:protectedO{…};欢迎访问软件考试网(www.hbsoft.net)

classQ:publicO{…};

关于方法F1的描述中正确的是(34);关于方法F2的描述中正确的是(35);关于方法F3的描述中正确的是(36)。

(34)A.方法F1无法被访问欢迎访问软件考试网(www.hbsoft.net)

B.只有在类O内才能访问方法F1

C.只有在类P内才能访问方法F1

D.只有在类Q内才能访问方法F1

(35)A.类O、P和Q的对象都可以访问方法F2

B.类P和Q的对象都可以访问方法F2

C.类O和Q的对象都可以访问方法F2

D.只有在类P内才能访问方法F2

(36)A.类O、P和Q的对象都可以访问方法F3

B.类O、P和Q的对象都不可以访问方法F3

C.类O和Q的对象都可以访问方法F3

D.类P和Q的对象都可以访问方法F3

●在面向对象软件开发过程中,采用设计模式(37)。

(37)A.允许在非面向对象程序设计语言中使用面向对象的概念

B.以复用成功的设计和体系结构

C.以减少设计过程创建的类的个数

D.以保证程序的运行速度达到最优值

●以下关于单身模式(Singleton)的描述中,正确的是(38)。

(38)A.它描述了只有一个方法的类的集合

B.它能够保证一个类只产生一个唯一的实例

C.它描述了只有一个属性的类的集合

D.它能够保证一个类的方法只能被一个唯一的类调用

●下列关于一个类的静态成员的描述中,不正确的是(39)。

(39)A.该类的对象共享其静态成员变量的值

B.静态成员变量可被该类的所有方法访问

C.该类的静态方法只能访问该类的静态成员变量

D.该类的静态数据成员变量的值不可修改

●在MVC(模型/视图/控制器)模式中,视图部分描述的是(40)。

(40)A.将应用问题域中包含的抽象领域知识呈现给用户的方式

B.应用问题域中所包含的抽象类

C.用户界面对用户输入的响应方式

D.应用问题域中包含的抽象领域知识

●对于如下所示的UML类图,正确的描述是(41)。

(41)A.类B的实例中包含了对类C的实例的引用

B.类A的实例中包含了对类B的实例的引用

C.类A的实例中包含了对类C的实例的引用

D.类B的实例中包含了对类A的实例的引用

●UML中关联的多重度是指(42)。欢迎访问软件考试网(www.hbsoft.net)

(42)A.一个类有多少个方法被另一个类调用

C.一个类的某个方法被另一个类调用的次数

D.两个类所具有的相同的方法和属性

●已知3个类A、B和C,其中类A由类B的一个实例和类C的1个或多个实例构成。能够正确表示类A、B和C之间关系的UML类图是(43)。

(43)A.B.

C.D.

●对于下面的文法G[S],(44)是其句子(从S出发开始推导)。

G[S]:S→M|(S,M)M→P|MPP→a|b|c|...|x|x|z

(44)A.((a,f))B.((fac,bb),g)C.(abc)D.(c,(da))

●与逆波兰式ab+-c*d-对应的中缀表达式是(45)。

(45)A.a-b-c*dB.-(a+b)*c-dC.-a+b*c-dD.(a+b)*(-c-d)

●下面的C程序代码段在运行中会出现(46)错误。

inti=0;欢迎访问软件考试网(www.hbsoft.net)

while(i<10);

{i=i+1;}欢迎访问软件考试网(www.hbsoft.net)

(46)A.语法B.类型不匹配C.变量定义D.动态语义

●设有关系R、S如下所示,则关系代数表达式的结果集为(47)。

关系R

关系S

A

B

C

D

a1

b1

c1

d1

b2

a2

c2

(47)

A.

B.

C.

D.

●某数据库中有员工关系E、产品关系P、仓库关系W和库存关系I,其中:员工关系E(employeeID,name,department)中的属性为:员工编号,姓名,部门;产品关系P(productID,name,model,size,color)中的属性为:产品编号,产品名称,型号,尺寸,颜色;仓库关系W(warehouseID,name,address,employeeID)中的属性为:仓库编号,仓库名称,地址,负责人编号;库存关系I(warehouseID,productID,quantity)中的属性为仓库编号,产品编号和产品数量。a.若要求仓库关系的负责人引用员工关系的员工编号,员工关系E的员工编号、仓库关系W的仓库编号和产品关系P的产品编号不能为空且惟一标识一个记录,并且仓库的地址不能为空,则依次要满足的完整性约束是(48)。

(48)A.实体完整性、参照完整性、用户定义完整性

B.参照完整性、实体完整性、用户定义完整性

C.用户定义完整性、实体完整性、参照完整性

D.实体完整性、用户定义完整性、参照完整性

b.若需得到每种产品的名称和该产品的总库存量,则对应的查询语句为:

SELELCTname,SUM(quantity)

FROMP,I

WHERE(49)欢迎访问软件考试网(www.hbsoft.net)

(49)A.P.productID=I.productID;

B.P.productID=I.productIDORDERBYname;

C.P.productID=I.productIDGROUPBYname;

D.P.productID=I.productIDGROUPBYname,quantity;

c.若需得到在所有仓库中都存在的产品的名称,则对应的查询语句为:

SELECTnameFROMP

WHERE(50)欢迎访问软件考试网(www.hbsoft.net)

(SELECT*FROMW

WHERENOTEXISTS

(SELECT*FROMI

WHEREP.productID=I.productIDANDW.warehouseID=I.warehouseID))

(50)A.EXISTSB.NOTEXISTSC.IND.NOTIN

●对事务回滚的正确描述是(51)。欢迎访问软件考试网(www.hbsoft.net)

(51)A.将该事务对数据库的修改进行恢复

B.将事务对数据库的更新写入硬盘

C.跳转到事务程序的开头重新执行

D.将事务中修改的变量值恢复到事务开始时的初值

●拓扑序列是无环有向图中所有顶点的一个线性序列,图中任意路径中的各个顶点在该图的拓扑序列中保持先后关系,(52)为下图所示有向图的一个拓扑序列。

(52)A.1234567B.1526374C.5126347D.5123764

●为便于存储和处理一般树结构形式的信息,常采用孩子-兄弟表示法将其转换成二叉树(左子关系表示父子、右子关系表示兄弟),与下图所示的树对应的二叉树是(53)。欢迎访问软件考试网(www.hbsoft.net)

(53)

●给定一个有n个元素的有序线性表。若采用顺序存储结构,则在等概率前提下,删除其中的一个元素平均需要移动(54)个元素。

(54)A.B.C.D.1

●在平衡二叉树中,(55)。欢迎访问软件考试网(www.hbsoft.net)

(55)A.任意结点的左、右子树结点数目相同

B.任意结点的左、右子树高度相同

C.任意结点的左右子树高度之差的绝对值不大于1

D.不存在度为1的结点

●在(56)存储结构中,数据结构中元素的存储地址与其关键字之间存在某种映射关系。欢迎访问软件考试网(www.hbsoft.net)

(56)A.顺序(Sequence)B.链表(Link)

C.索引(Index)D.散列(Hash)

(57)A.分治B.贪心C.动态规划D.分支-限界

(58)A.3B.4C.5D.6

(59)A.B.C.D.

(60)A.插入排序B.归并排序C.快速排序D.堆排序

●与多模光纤相比较,单模光纤具有(61)等特点。

(61)A.较高的传输率、较长的传输距离、较高的成本

B.较低的传输率、较短的传输距离、较高的成本

C.较高的传输率、较短的传输距离、较低的成本

D.较低的传输率、较长的传输距离、较低的成本

●CDMA系统中使用的多路复用技术是(62)。我国自行研制的移动通信3G标准是(63)。欢迎访问软件考试网(www.hbsoft.net)

(62)A.时分多路B.波分多路C.码分多址D.空分多址

(63)A.TD-SCDMAB.WCDMA

C.CDMA2000D.GPRS

●“science”是XML中一个元素的定义,其中元素的内容是(64)。欢迎访问软件考试网(www.hbsoft.net)

(64)A.titleB.styleC.italicD.science

●某校园网用户无法访问外部站点210.102.58.74,管理人员在Windows操作系统下可以使用(65)判断故障发生在校园网内还是校园网外。

(65)A.ping210.102.58.74B.tracert210.102.58.74

C.netstat210.102.58.74D.arp210.102.58.74

●OriginallyintroducedbyNetscapeCommunications,(66)areageneralmechanismwhichHTTPServersideapplications,suchasCGI(67),canusetobothstoreandretrieveinformationontheHTTP(68)sideoftheconnection.Basically,Cookiescanbeusedtocompensateforthe(69)natureofHTTP.Theadditionofasimple,persistent,client-sidestatesignificantlyextendsthecapabilitiesofWWW-based(70).

(66)A.BrowsersB.CookiesC.ConnectionsD.Scripts

(67)A.graphicsB.processesC.scriptsD.texts

(68)A.ClientB.EditorC.CreatorD.Server

(69)A.fixedB.flexibleC.stableD.stateless

(70)A.programsB.applicationsC.frameworksD.constrains

●WebSQLisaSQL-like(71)languageforextractinginformationfromtheweb.Itscapabilitiesforperformingnavigationofweb(72)makeitausefultoolforautomatingseveralweb-relatedtasksthatrequirethesystematicprocessingofeitherallthelinksina(73),allthepagesthatcanbereachedfromagivenURLthrough(74)thatmatchapattern,oracombinationofboth.WebSQLalsoprovidestransparentaccesstoindexserversthatcanbequeriedviatheCommon(75)Interface.

(71)A.queryB.transactionC.communicationD.programming

(72)A.browsersB.serversC.hypertextsD.clients

(73)A.hypertextB.pageC.protocolD.operation

(74)A.pathsB.chipsC.toolsD.directories

(75)A.RouterB.DeviceC.ComputerD.Gateway

下午试卷

试题一(15分)欢迎访问软件考试网(www.hbsoft.net)

阅读下列说明以及数据流图,回答问题1、问题2和问题3,将解答填入答题纸的对应栏内。

【说明】欢迎访问软件考试网(www.hbsoft.net)

某学校建立了一个网上作业提交与管理系统,基本功能描述如下:

(3)在线批阅。系统自动在线批改作业,显示作业成绩,并将该成绩记录在作业成绩统计文件中。

【问题1】(3分)欢迎访问软件考试网(www.hbsoft.net)

如果将数据库服务器(记为DB)作为一个外部实体,那么在绘制该系统的数据流图时,还应有哪些外部实体和数据存储?

【问题2】(7分)欢迎访问软件考试网(www.hbsoft.net)

根据说明结合问题1的解答,指出在该系统的顶层数据流图中应有哪些数据流。请采用说明中的词汇给出这些数据流的起点、终点以及数据流名称,下表给出了数据流的部分信息,请填充空缺处。

序号

起点

终点

数据流名称

(1)

网上作业提交与管理系统

作业申请

(2)

提交的作业

(3)

需完成的作业

(4)

(5)

5

(6)

6

(7)

(8)

7

(9)

选课学生名单

8

(10)

(11)

9

(12)

帐号和密码

10

(13)

【问题3】(5分)欢迎访问软件考试网(www.hbsoft.net)

根据数据流图的设计原则,阅读下图所示的数据流图,找出其中的错误之处。

试题二(15分)欢迎访问软件考试网(www.hbsoft.net)

阅读下列说明以及UML类图,回答问题1、问题2和问题3,将解答填入答题纸的对应栏内。

【说明】

某客户信息管理系统中保存着两类客户的信息:

该系统除了可以保存客户信息之外,还具有以下功能:

(1)向系统中添加客户(addCustomer);

(2)根据给定的客户标识,在系统中查找该客户(getCustomer);

(3)根据给定的客户标识,从系统中删除该客户(removeCustomer);

(4)创建新的联系人(addContact);

(5)在系统中查找指定的联系人(getContact);

(6)从系统中删除指定的联系人(removeContact)。

该系统采用面向对象方法进行开发。在面向对象分析阶段,根据上述描述,得到如表2-1所示的类。欢迎访问软件考试网(www.hbsoft.net)

表2-1

类名

说明

CustomerInformationSystem

客户信息管理系统

IndividualCustomer

个人客户

InstitutionalCustomer

集团客户

Contact

联系人

描述该客户信息管理系统的UML类图如图2-1所示。欢迎访问软件考试网(www.hbsoft.net)

图2-1客户信息管理系统的UML类图

【问题1】(3分)

请使用说明中的术语,给出图2-1中类Customer和类Person的属性。

【问题2】(6分)

识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图中的(1)~(6)。

【问题3】(6分)

根据说明中的叙述,抽象出如表2-2所示的方法,请指出图2-1中的类CustomerInformationSystem和InstitutionalCustomer应分别具有其中的哪些方法。

表2-2

功能描述

方法名

向系统中添加客户

addCustomer

根据给定的客户标识,在系统中查找该客户

getCustomer

根据给定的客户标识,从系统中删除该客户

removeCustomer

创建新的联系人

addContact

在系统中查找指定的联系人

getContact

从系统中删除指定的联系人

removeContact

试题三(15分)

阅读下列说明,回答问题1、问题2和问题3,将解答填入答题纸的对应栏内。

某单位资料室需要建立一个图书管理系统,初步的需求分析结果如下:

(1)资料室有图书管理员若干名,他们负责已购入图书的编目和借还工作,每名图书管理员的信息包括工号和姓名;

(3)每部书在系统中对应惟一的一条图书在版编目数据(CIP,以下简称书目),书目的基本信息包括ISBN号、书名、作者、出版商、出版年月,以及本资料室拥有该书的册数(以下简称册数),不同书目的ISBN号不相同;

(4)资料室对于同一书目的图书可拥有多册(本),图书信息包括图书ID、ISBN号、存放位置、当前状态,每一本书在系统中被赋予惟一的图书ID;

某书目的信息如表3-1所示,与该书目对应的图书信息如表3-2所示。

表3-1书目信息

书名

作者

出版商

ISBN号

出版年月

册数

经办人

《数据结构》

严蔚敏

吴伟民

清华大学出版社

ISBN7-302-02368-9

1997.4

01

表3-2图书信息

图书ID

存放位置

状态

C832.1

图书流通室

已借出

C832.2

图书阅览室

不外借

C832.3

未借出

C832.4

已预约

系统的主要业务处理如下:

(1)入库管理:图书购进入库时,管理员查询本资料室的书目信息,若该书的书目尚未建立,则由管理员编写该书的书目信息并录入系统,然后编写并录入图书信息;否则,修改该书目的册数,然后编写并录入图书信息,对于进入流通室的书,其初始状态为“未借出”,而送入阅览室的书的状态始终为“不外借”。

(2)借书管理:读者借书时,若有,则由管理员为该读者办理借书手续,并记录该读者的借书信息,同时将借出图书的状态修改为“已借出”。

(5)通知处理:对于已到期且未归还的图书,系统通过Email自动通知读者;若读者预约的书已到,系统则自动通过Email通知该读者来办理借书手续。

【问题1】(4分)

根据以上说明设计的实体联系图如图3-1所示,请指出读者与图书、书目与读者、书目与图书之间的联系类型。

图3-1图书管理系统的实体联系图

【问题2】(4分)

该图书管理系统的主要关系模式如下,请补充“借还记录”和“预约登记”关系中的空缺。

管理员(工号,姓名)

书目(ISBN号,书名,作者,出版商,出版年月,册数,经办人)

图书(图书ID,ISBN号,存放位置,状态,经办人)

【问题3】(7分)请指出问题2中给出的读者、书目关系模式的主键,以及图书、借还记录和预约登记关系模式的主键和外键。

试题四(15分)

阅读以下说明,回答问题1、问题2和问题3,将解答填入答题纸的对应栏内。

某单位正在使用一套C/S模式的应用软件系统,现在需要升级为B/S应用模式,但需要保持业务的连续性。开发人员提出用WebService作为中间层的接口进行开发。

【问题1】(6分)

【问题2】(3分)

WebService的三个基本技术是WSDL、SOAP、UDDI,它们都是以XML为基础定义的。请用120字以内文字,简要说明WSDL、SOAP和UDDI的作用。

服务注册中心、服务提供者和服务请求者之间的交互和操作构成了WebService的体系结构,如图4-1所示。请用180字以内文字,说明这三者的主要功能及其交互过程。

图4-1WebService的工作模式

试题五(15分)

阅读下列说明、图和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明5-1】

B树是一种多叉平衡查找树。一棵m阶的B树,或为空树,或为满足下列特性的m叉树:

①树中每个结点至多有m棵子树;

②若根结点不是叶子结点,则它至少有两棵子树;

③除根之外的所有非叶子结点至少有棵子树;

④所有的非叶子结点中包含下列数据信息

(n,A0,K1,A1,K2,A2,…,Kn,An)

其中:Ki(i=1,2,……,n)为关键字,且Ki

⑤所有的叶子结点都出现在同一层次上,并且不带信息(可以看作是外部结点或查找失败的结点,实际上这些结点不存在,指向这些结点的指针为空)。

例如,一棵4阶B树如图5-1所示(结点中关键字的数目省略)。

图5-14阶B树示例

B树的阶M、bool类型、关键字类型及B树结点的定义如下:

#defineM4/*B树的阶*/

typedefenum{FALSE=0,TRUE=1}bool;

typedefintElemKeyType;

typedefstructBTreeNode{

intnumkeys;/*结点中关键字的数目*/

structBTreeNode*parent;/*指向父结点的指针,树根的父结点指针为空*/

structBTreeNode*A[M];/*指向子树结点的指针数组*/

ElemKeyTypeK[M];/*存储关键字的数组,K[0]闲置不用*/

}BTreeNode;

函数SearchBtree(BTreeNode*root,ElemKeyTypeakey,BTreeNode**ptr)的功能是:在给定的一棵M阶B树中查找关键字akey所在结点,若找到则返回TRUE,否则返回FALSE。其中,root是指向该M阶B树根结点的指针,参数ptr返回akey所在结点的指针,若akey不在该B树中,则ptr返回查找失败时空指针所在结点的指针。例如,在图5-1所示的4阶B树中查找关键字25时,ptr返回指向结点e的指针。

注:在结点中查找关键字akey时采用二分法。

【函数5-1】

boolSearchBtree(BTreeNode*root,ElemKeyTypeakey,BTreeNode**ptr)

{

intlw,hi,mid;

BTreeNode*p=root;

*ptr=NULL;

while(p){

lw=1;hi=(1);

while(lw<=hi){

mid=(lw+hi)/2;

if(p->K[mid]==akey){

*ptr=p;

returnTRUE;

}

else

if((2))

hi=mid-1;

lw=mid+1;

p=(3);

returnFALSE;

【说明5-2】

在M阶B树中插入一个关键字时,首先在最接近外部结点的某个非叶子结点中增加一个关键字,若该结点中关键字的个数不超过M-1,则完成插入;否则,要进行结点的“分裂”处理。所谓“分裂”,就是把结点中处于中间位置上的关键字取出来并插入其父结点中,然后以该关键字为分界线,把原结点分成两个结点。“分裂”过程可能会一直持续到树根,若树根结点也需要分裂,则整棵树的高度增1。

例如,在图5-1所示的B树中插入关键字25时,需将其插入结点e中,由于e中已经有3个关键字,因此将关键字24插入结点e的父结点b,并以24为分界线将结点e分裂为e1和e2两个结点,结果如图5-2所示。

图5-2在图5-1所示的4阶B树中插入关键字25后的B树

函数Isgrowing(BTreeNode*root,ElemKeyTypeakey)的功能是:判断在给定的M阶B树中插入关键字akey后,该B树的高度是否增加,若增加则返回TRUE,否则返回FALSE。其中,root是指向该M阶B树根结点的指针。

在函数Isgrowing中,首先调用函数SearchBtree(即函数5-1)查找关键字akey是否在给定的M阶B树中,若在则返回FALSE(表明无需插入关键字akey,树的高度不会增加);否则,通过判断结点中关键字的数目考察插入关键字akey后该B树的高度是否增加。

【函数5-2】

boolIsgrowing(BTreeNode*root,ElemKeyTypeakey)

{BTreeNode*t,*f;

if(!SearchBtree((4))){

t=f;

while((5)){

t=t->parent;

if(!t)

试题六(15分)

阅读下列说明、图和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。

某订单管理系统的部分UML类图如图6-1所示。

图6-1订单管理系统的部分UML类图

图6-1中,Product表示产品,ProductList表示产品目录,Order表示产品订单,OrderItem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。

请完善类Order的成员函数getOrderedAmount()和类SalesSystem的statistic()方法,各个类的属性及部分方法定义参见下面的C++代码。

【C++代码】

classProduct{//产品类

private:

stringpid;//产品识别码

stringdescription;//产品描述

doubleprice;//产品单价

public:

voidsetProductPrice(doubleprice);//设置产品单价

stringgetProductId();//获取产品识别码

stringgetProductDescription();//获取产品描述

doublegetProductPrice();//获取产品单价

//其他成员省略

};

classProductList{//产品列表类

vectorproducts;

ProductList();

ProductgetProductByIndex(inti);//获得产品列表中的第i件产品

voidaddProduct(Productt);//在产品列表中加入一件产品

Product*getProductByID(stringpid);//获得识别码为pid的产品指针

unsignedintgetProductAmount();//获得产品列表中的产品数量

classOrderItem{//订单条目类

Product*productPtr;//指向被定购产品的指针

intquantity;//定购数量

OrderItem(Product*,int);

Product*getProductptr();//获取指向被定购产品的指针

intgetQuantity();//获取被定购产品的数量

classOrder{//订单类

unsignedintorderid;//订单识别号

vectoritems;//订单内容(订单项)

Order(unsignedintorderid);

//获得识别码为tid的产品在当前订单中被定购的数量

intgetOrderedAmount(stringtid);

voidadditem(Product*productPtr,unsignedintn);//在订单中增加一个订单项

classOrderList{//订单列表类

vectororders;

OrderList();

//Begin()返回指向订单列表第一个元素的迭代器(指针)

virtualvector::iteratorOrderList::Begin();

//End()返回指向订单列表最后一个元素之后的迭代器(指向一个不存在的元素)

virtualvector::iteratorOrderList::End();

voidaddOrder(Ordert);//在订单列表中加入一份订单

classSalesSystem{

ProductListcatalog;//产品目录

OrderListsales;//订单列表

SalesSystem();

voidstatistic();//统计所有产品的定购情况

//在订单中查找识别码为tid的产品的定购数量,若该产品没有被定购,则返回0

intOrder::getOrderedAmount(stringtid)

{for(intk=0;k

if((1)==tid)

return(2);

return0;

//方法statistic()依次统计产品目录中每个产品的订购总量,并打印输出

//每个产品的识别码、描述、订购总量和订购金额

voidSalesSystem::statistic()

{unsignedintk,t,ordered_qty=0;

vector::iteratorit;Productp;

cout<<"产品识别码\t描述\t\t定购数量\t金额"<

for(k=0;k

p=(3);//从产品列表取得一件产品信息存入变量p

ordered_qty=0;

//通过迭代器变量it遍历订单列表中的每一份订单

for(it=sales.Begin();(4);it++){

//根据产品识别码获得产品p在当前订单中被定购的数量

t=(5)(p.getProductId());

ordered_qty+=t;

cout<

cout<

试题七(15分)

阅读下列说明、图以及Java程序,将应填入(n)处的字句写在答题纸的对应栏内。

某订单管理系统的部分UML类图如图7-1所示。

图7-1订单管理系统的部分UML类图

图7-1中,Product表示产品,ProductList表示所销售产品的列表,Order表示产品订单,OrderItem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。各个类的部分属性和方法说明如表7-1所示。

表7-1

成员

ProductList

ArrayListproducts

Product

Stringcode

产品编号

Stringdescription

产品描述

doubleprice

产品单价

Booleanequals(Objectobject)

若两个产品相同则返回true,否则返回false

OrderItem

Productproduct

订单项中的产品

intquantity

产品的订购数量

ProductgetProduct()

获取订单项中的产品

Order

ArrayListitems

订单中包含的订单项

OrderList

ArrayListorders

订单

voidaddOrder(Orderorder)

向订单列表中添加新订单

intgetNumberOfOrders()

获取订单列表中的订单总数

SalesSystem

ProductListcatalog

产品目录

OrderListsales

订单列表

voidstatistic()

依次统计产品目录中每个产品的订购总量,并打印出每个产品的编号、说明、订购总量和订购金额

可以使用类java.util.ArrayList来实现对象的聚集关系,如图7-1中OrderList与Order之间的聚集关系。

for-each循环提供了一种遍历对象集合的简单方法。在for-each循环中,可以指定需要遍历的对象集合以及用来接收集合中每个元素的变量,其语法如下:

for(用来接收集合中元素的变量:需要遍历的对象集合)

如果要使用for-each循环来遍历对象集合,那么包含该对象集合的类必须实现接口java.util.Iterable

Java程序7-1和Java程序7-2分别给出了类OrderList和方法statistic的Java代码。

【Java程序7-1】

importjava.util.*;

publicclassOrderList(1){

privateArrayListorders;

publicOrderList(){

this.orders=newArrayList();

publicvoidaddOrder(Orderorder){

this.orders.add(order);

publicIteratoriterator(){

publicintgetNumberOfOrders(){

returnthis.orders.size();

【Java程序7-2】

publicclassSalesSystem{

privateProductListcatalog;

privateOrderListsales;

privatestaticPrintWriterstdOut=newPrintWriter(System.out,true);

THE END
1.软件测试培训班软件测试机构软件测试中心学/校/环/境FOCUS ON TRAINING / PROMOTE AWARENESS 软件测试IT培训中心我们IT培训学校专注于IT教育多年,名下课程有软件测试培训、安全测试培训、测试开发培训、java软件开发培训、app测试培训、python开发培训、BI大数据工程师培训、软件培训等,业内客户评价甚高,拥有强大的教师团队,在国内各地都有分校,目前已有上万https://www.xue99.com/dceit
2.软件测试—智慧树网课题5项,承担市级、校级课题6项,发表论文15篇,拥有专利3项、软件著作权1项;出版“十二五”、“十三五”职业教育国家规划教材各1本,负责国家教学资源库项目3项、建设省级精品课程1门,获省级教学成果奖2项,建设国家级、省级、市级重点专业3个,现为青岛西海岸新区拔尖人才,主讲 Python程序设计、软件测试、Java程序设计http://coursehome.zhihuishu.com/courseHome/1000014332
3.2024版软件测试最新系统教程从基础入门开始学习测试工程师速成- 禅道和JIRA:介绍常用的测试管理工具,如禅道和JIRA,并说明如何利用它们进行项目协作和管理。 7. 综合项目实战 - TPshop电商实战:通过实际案例,如TPshop电商平台的前端和后端功能测试,来实践所学知识。 8. 最新软件测试趋势 - 2024版软件测试教程内容更新:了解最新的软件测试教程内容更新,包括新增知识点和改进点。 https://www.94cto.com/search/content/id/127842
4.国内实力排名前十的软件测试培训机构名单榜一览结语 以上就是小编整理的“ 国内实力排名前十的软件测试培训机构名单榜一览”的相关教育资讯,选择我们IT培训机构,老牌机构,师资专业、学员口碑好,如需了解我们IT培训机构的课程安排及费用等问题,请咨询在线客服。https://www.kby19.com/news/14403.html
5.全网最全的软件测试基础知识整理(新手入门必学)软件测试是有局限性的。 5、软件测试的方法 ①、用试题检查法 ②、用新旧两个系统做平行处理检查 ③、软件测试自动化工具测试 6、软件测试阶段有哪些任务 ①、制定测试大纲(测试计划) ②、制作测试数据(测试方案) ③、单元测试(程序测试,一般由开发人员进行) https://zhuanlan.zhihu.com/p/588380792
6.软件测试好学吗?需要学多久?软件测试好学吗大概要学多久软件测试岗位不仅需要编程的熟练度,还需要对业务的熟练、协作等软实力。做软件测试工程师要学功能测试、接口测试、性能测试、自动化测试等相关内容。 关于软件测试相关岗位的要求我们需要提前了解,具体的每一个岗位招聘要求和日常工作的资料网上有很多资料可以参考。我们先了解一下软件测试的相关名词: https://blog.csdn.net/weixin_51689029/article/details/126308328
7.软件测试心得体会(精选22篇)软件测试心得体会 2 通过这次课程设计的实训,增加了我学习软件技术的兴趣,虽然还不明确软件技术包含的具体内容,但从C++语言这门课程开始,已发现程序设计的乐趣,在学习C++语言的过程中也学到了许多计算机应用基础知识,对计算机的机体也有了一个大体的了解。在实际操作过程中犯的一些错误还会有意外的收获,感觉实训很有意https://www.unjs.com/fanwenwang/xdth/20230312120852_6638655.html
8.软件测试实习报告(通用6篇)了解软件测试所用基础知识,掌握软件测试的基本技术,学习软件测试的基础知识及测试流程和有用的相关技术,了解软件开发各阶段的工作。通过实习,巩固大学所学专业的基本知识,提高分析、判 断和处理实际问题的能力,锻炼自己的实际动手能力,增强自己的团队协作意识,了解软件开发的思考角度和主要流程。较好的文字理解、组织和表https://www.oh100.com/a/202303/6377645.html
9.软件测试学习总结包括和程序开发人员的交流,同是测试人员之间的交流,网上技术论坛和网友的交流,和客户的交流等。多思考,多交流,多提问,通过多种沟通交流的途径,可以少走很多弯路,同时可以学到很多东西。 9.善于总结 在测试过程中发现的所有问题,异常情况,发现程序开发人员易犯,常犯的错误,各种有价值的经验教训,使用系统和操作数据库https://mip.wenshubang.com/xuexizongjie/253770.html
10.软件测试课学习心得(精选8篇)1.有位大师曾说过:“软件测试的目的在于发现错误,一个好的测试用例在于发现从来未发现的错误,一个成功的测试是发现了从未发现的错误的测试。” 由此我自认为测试就是为了找到bug,然而一个学期的测试学习经验告诉我这是错误的,如果只是为了找到BUG,那么BUG会成天缠着你。 https://www.360wenmi.com/f/filewe6nn28j.html
11.软件测试心得体会(15篇)在操作过程中,除了复习、巩固所学国贸理论外,另一个重要任务就是想办法赚钱,提高自己企业的盈利水平和生存能力,这就要求必须反应迅速、判断准确,否则会觉得企业经营的举步维艰。 以上就是经过一段时间对国贸软件的操作使用产生的心得体会。 软件测试心得体会3 https://www.jy135.com/xindetihui/1456496.html
12.做了低薪实施4年转行软件测试,两年半经验的我是靠什么拿下年薪50W掘金、牛客网里面的各种面试经验全刷。结合阅读文章出来的实践经验,总结整理了一份面试资料,内容涵盖以下我提到的内容。准备分享给有志于从事软件测试的同学。 这样有什么好处呢,好处就是很多题在你不知不觉中就掌握的很熟练,无论是概念还是原理,基础越来越扎实,学东西越来越快,重要的是面试效果越来越好,导致你的ofhttps://maimai.cn/article/detail?fid=1675999043&efid=mx_HVZE39ls9VK2pTeQIGA
13.软件测试网上课程地址电话授课课程包含各行业真实企业项目实战应用,老师带领学员边学边练,确保学员掌握软件测试技术。 教学体系 拥有完善的教学管理体系,讲师、助教、班主任以及就业老师四个方面,多方位服务,确保学员的学习效果。 深入浅出 授课深入浅出,精讲每个知识点,教师一对一教学和督学服务体系,24小时在线解答问题,及时解决疑难问题。 https://www.qinxue365.com/new/785727.html
14.软件测试工程师职业探索软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),测试软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时发现软件问题并及时督促更正,确保产品的正常运作。按其https://xz.chsi.com.cn/occupation/occudetail.action?id=wxp0kxgjvynecims
15.软件性能测试与LoadRunner实战教程(第2版)这部分是软件测试脚本开发的基础,建议读者认真阅读。 第7章结合LoadRunner 新版本LoadRunner 12.60,介绍了Vugen功能改进与实用操作、同步录制和异步录制,以及如何在Controller中实现对JMeter脚本的支持、应用Vugen开发Selenium脚本等实用方法。 第8章结合作者工作经验、学员以及网上论坛经常提出的问题,总结了关于工具设置、工具https://www.epubit.com/bookDetails?id=UB6c8772be2d47b
16.软件测试国家级软件检测资质,公平、公正、专业的第三方检测团队,多领域的行业测试经验,为软件产品质量保驾护航。中心简介 河南八六三软件评测中心(以下简称:中心)成立于2001年,是经政府授权成立的计算机软件产品质量检测机构,同时也是河南省最早从事第三方软件测试的专业机构。2007年通过中国合格评定国家认可委员会国家级软件测试https://www.863soft.com/cn/softwareTest.html
17.20192020第二学期现代企业运作综合实习在线教学总结通过调查得知,学生均可以正常上网,其中使用电脑上网的学生人数占比在80%-90%之间,且全部可以使用手机上网,网速也能够支持访问实习中使用的网络教学软件,具备了在互联网上开展实践教学的基础条件。 图2 对学生网络和使用设备的调查 2、教学平台与教学软件的测试选取https://emc.cdutetc.cn/c/4e1c54fe-bf27-4a71-a441-d07e7ec5bb95.html
18.什么是软件测试?软件测试去哪学习?每个人都知道IT行业赚钱多,那么其中软件测试行业到底是什么呢?在哪儿能学习软件测试呢?千锋互联机构有专门的培训班进行这方面的学习。 软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。 https://m.thea.cn/mba_px_43695-1.htm