首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
【算法说明】 下面是一段插入排序的程序,将R[k+1]插入到R[1...k]的适当位置。 R[0]=R[k+1]; j=k; while(R[j]>R[0]) R[j+1]=R[j...
查看本题答案
包含此试题的试卷
中级软件设计师《问答集》真题及答案
点击查看
你可能感兴趣的试题
下面程序段的功能是inta[]=40231ijt;fori=0;<5;i++t=a[i];j=i;j
对数组a进行插入排序(升序)
对数组a进行插入排序(降序)
对数组a进行选择排序(升序)
对数组a进行选择排序(降序)
已知一个待排序列已经基本有序使用下面______排序算法的效率较高
直接插入排序
冒泡排序
简单选择排序
堆排序
排序是计算机程序设计中的一种重要操作常见的排序方法有插入排序【1】和选择排序等
排序方法中将整个无序序列分割成若干小的子序列并分别进行插入排序的方法称为______
希尔排序
冒泡排序
插入排序
选择排序
下列排序算法中算法可能会出现下面情况在最后一趟开始之前所有元素都不在其最终的位置上
堆排序
冒泡排序
快速排序
插入排序
排序是计算机程序设计中的一种重要操作常见的排序方法有插入排序【1】和选择排序等
下面程序段的功能是inta[]={40231}ijt;fori=0;<5;i++{t=a[i];j=
对数组a进行插入排序(升序)
对数组a进行插入排序(降序)
对数组a进行选择排序(升序)
对数组a进行选择排序(降序)
排序是计算机程序设计中的一种重要操作常见的排序方法有插入排序【1】和选择排序等
当待排序记录规模较小时选用直接插入排序算法比较好
排序方法中将整个无序序列分割成若干小的子序列并分别进行插入排序的方法称______
希尔排序
冒泡排序
插入排序
选择排序
热门试题
更多
当不适合采用生成子类的方法对已有的类进行扩充时可以采用61设计模式动态地给一个对象添加一些额外的职责当应用程序由于使用大量的对象造成很大的存储开销时可以采用62设计模式运用共享技术来有效地支持大量细粒度的对象当想使用一个已经存在的类但其接口不符合需求时可以采用63设计模式将该类的接口转换成我们希望的接口 61处填
阅读下列说明和C++代码在n处填入适当的字句 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图10.29所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图10.29中的类MyApplication和类MyDocument并分别实现Application和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1首先检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd;//使用全局的命名域方式 classDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadstringdocName=0; classApplication private vector<1>docs;/*文档对象集合*/ public boolcanOpenDocumentstringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假值表示不可打开此处代码省略*/ voidaddDocumentDocument*aDocument /*将文档对象添加到文档对象集合中*/ docs.push_back2; virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<endl; return; 4adoc=5 6; 7; 8; ;
开一闭原则Open-ClosedPrincipleOCP是面向对象的可复用设计的基石开一闭原则是指一个软件实体应当对23开放对24关闭里氏代换原则LiskovSubstitutionPrincipleLSP是指任何25可以出现的地方26一定可以出现依赖倒转原则DependenceInversionPrincipleDIP就是要依赖于27而不依赖于28或者说要针对接口编程不要针对实现编程 26处填
当不适合采用生成子类的方法对已有的类进行扩充时可以采用61设计模式动态地给一个对象添加一些额外的职责当应用程序由于使用大量的对象造成很大的存储开销时可以采用62设计模式运用共享技术来有效地支持大量细粒度的对象当想使用一个已经存在的类但其接口不符合需求时可以采用63设计模式将该类的接口转换成我们希望的接口 63处填
21设计模式将抽象部分与它的实现部分相分离使它们都可以独立地变化图10.22为该设计模式的类图其中22用于定义实现部分的接口 22处填
不同的对象收到同一消息可以产生完全不同的结果这一现象叫做35绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程在一般的程序设计语言中绑定在编译时进行叫做36而37则在运行时进行即一个给定的过程调用和执行代码的结合直到调用发生时才进行 35处填
阅读下列说明和图回答问题 [说明] 某网上药店允许顾客凭借医生开具的处方通过网络在该药店购买处方上的药品该网上药店的基本功能描述如下 1注册顾客在买药之前必须先在网上药店注册注册过程中需填写顾客资料以及付款方式信用卡或者支付宝账户此外顾客必须与药店签订一份授权协议书授权药店可以向其医生确认处方的真伪 2登录已经注册的顾客可以登录到网上药房购买药品如果是没有注册的顾客系统将拒绝其登录 3录入及提交处方登录成功后顾客按照“处方录入界面”显示的信息填写开具处方的医生的信息以及处方上的药品信息填写完成后提交该处方 4验证处方对于已经提交的处方系统将其状态设置为“处方已提交”其验证过程为 ①核实医生信息如果医生信息不正确该处方的状态被设置为“医生信息无效”并取消这个处方的购买请求如果医生信息是正确的系统给该医生发送处方确认请求并将处方状态修改为“审核中” ②如果医生回复处方无效系统取消处方并将处方状态设置为“无效处方”如果医生没有在7天内给出确认答复系统也会取消处方并将处方状态设置为“无法审核” ③如果医生在7天内给出了确认答复该处方的状态被修改为“准许付款” 系统取消所有未通过验证的处方并自动发送一封电子邮件给顾客通知顾客处方被取消以及取消的原因 5对于通过验证的处方系统自动计算药品的价格并邮寄药品给已经付款的顾客 该网上药店采用面向对象方法开发使用UML进行建模系统的类图如图10.2所示 [问题1] 根据说明中的描述给出图10.2中缺少的C1~C5所对应的类名以及1~6处所对应的多重度 [问题2] 图10.3给出了“处方”的部分状态图根据说明中的描述给出图10.3中缺少的S1~S4所对应的状态名以及7~10处所对应的迁移transition名 [问题3] 图10.2中的符号“”和“”在UML中分别示类和对象之间的哪两种关系两者之间的区别是什么
下面的UML类图描绘的是32设计模式关于该设计模式的叙述中错误的是33 33处填
开一闭原则Open-ClosedPrincipleOCP是面向对象的可复用设计的基石开一闭原则是指一个软件实体应当对23开放对24关闭里氏代换原则LiskovSubstitutionPrincipleLSP是指任何25可以出现的地方26一定可以出现依赖倒转原则DependenceInversionPrincipleDIP就是要依赖于27而不依赖于28或者说要针对接口编程不要针对实现编程 24处填
如下UML类图表示的是40设计模式以下关于该设计模式的叙述中错误是41 41处填
阅读下列说明和Java代码在n处填入正确的字句 [说明] 某公司的组织结构图如图10.6所示现采用组合Composition设计模式来设计得到如图10.7所示的类图 其中Company为抽象类定义了在组织结构图上添加Add和删除Delete分公司/办事处或者部门的方法接口类ConcreteCompany表示具体的分公司或者办事处分公司或办事处下可以设置不同的部门类HRDepartment和FinanceDepartment分别表示人力资源部和财务部 [Java代码] importjavA.util.*: 1Company protectedStringname; publicCompanyStringname2=name; publicabstractvoidAddCompanyc;//增加子公司办事处或部门 publicabstractvoidDeleteCompanyc;//删除子公司办事处或部门 classConcreteteCompanyextendsCompany privateList<3>children-newArrayList<4>; //存储子公司办事处或部门 publicConcreteCompanyStringnamesupername; publicvoidAddCompanyc5.addc; publicvoidDeleteCompanyc6.removec; classHRDepartmentextendsCompany publicHRDepartmentStringnamesupername; //其他代码省略 classFinanceDepartmentextendsCompany publicFinanceDepartmentStringnamesupername; //其他代码省略 publicclassTest publicstaticvoidmainString[]args ConcreteCompanyroot=newConcreteCompany"北京总公司" root.AddnewHRDepartment"总公司人力资源部" root.AddnewFinanceDepartment"总公司财务部" ConcreteCompanycomp=newConcreteCompany"上海分公司" comp.AddnewHRDepartment"上海分公司人力资源部" comp.AddnewFinanceDepartment"上海分公司财务部"; 7 ConcreteCompanycomp1=newConcreteCompany"南京办事处" comp1.AddnewHRDepartment"南京办事处人力资源部" comp1.AddnewFinanceDepartment"南京办事处财务部" 8;//其他代码省略
已知某子系统为外界提供功能服务但该子系统中存在很多粒度十分小的类不便被外界系统直接使用采用19设计模式可以定义一个高层接口这个接口使得这一子系统更加容易使用当不能采用生成子类的方法进行扩充时可采用20设计模式动态地给一个对象添加一些额外的职责 20处填
阅读下列说明和Java代码在n处填入适当的字句 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图10.32所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图10.32中的类MyApplication和类MyDocument并分别实现Application和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1首先检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [Java代码] abstractclassDocument publicvoidsave/*存储文档数据此处代码省略*/ publicvoidopenStringdocName/*打开文档此处代码省略*/ publicvoidclose/*关闭文档此处代码省略*/ publicabstractvoidreadStringdocName; abstractclassAppplication privateVector<1>docs;/*文档对象集合*/ publicbooleancanOpenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假值表示不可打开此处代码 省略*/ publicvoidaddDocumentDocumentaDocument /*将文档对象添加到文档对象集合中*/ docs.add2 publicabstractDocumentdoCreateDocument/*创建一个文档对象*/ publicvoidopenDocumentStringdocName/*打开文档*/ if3 System.out.println"文档无法打开!"; return; 4adoc=5; 6 7 8
46是把对象的属性和服务结合成一个独立的系统单元并尽可能隐藏对象的内部细节47是指子类可以自动拥有父类的全部属性和服务48是对象发出的服务请求一般包含提供服务的对象标识服务标识输入信息和应答信息等 47处填
在UML的各种视图中10显示外部参与者观察到的系统功能11从系统的静态结构和动态行为角度显示系统内部如何实现系统的功能12显示的是源代码以及实际执行代码的组织结构 12处填
采用50设计模式可保证一个类仅有一个实例采用51设计模式可将对象组合成树型结构以表示“部分一整体”的层次结构使用户对单个对象和组合对象的使用具有一致性采用52设计模式可动态地给一个对象添加一些额外的职责 51处填
阅读下列说明和图回答问题 [说明] 在线会议审稿系统ORSOnlineReviewingSystem主要处理会议前期的投稿和审稿事务其功能描述如下 1用户在初始使用系统时必须在系统中注册register成为作者或审稿人 2作者登录login后提交稿件和浏览稿件审阅结果提交稿件必须在规定提交时间范围内其过程为先输入标题和摘要选择稿件所属主题类型选择稿件所在位置存储位置上述几步若未完成则重复若完成则上传稿件至数据库中系统发送通知 3审稿人登录后可设置兴趣领域审阅稿件给出意见以及罗列录用和或拒绝的稿件 4会议委员会__是一个特殊审稿人可以浏览提交的稿件给审稿人分配稿件罗列录用和或拒绝的稿件以及关闭审稿过程其中关闭审稿过程须包括罗列录用和或拒绝的稿件 系统采用面向对象方法开发使用UML进行建模在建模用例图时常用的方式是先识别参与者然后确定参与者如何使用系统来确定用例每个用例可以构造一个活动图参与者名称用例和活动名称分别参见表10.7表10.8和表10.9系统的部分用例图和提交稿件的活动图分别如图10.23和图10.24所示 [问题1] 根据说明中的描述使用表10.7中的英文名称绘出图10.22中A1~A4所对应的参与者 [问题2] 根据说明中的描述使用表10.8中的英文名称给出图10.22中U1~U3所对应的用例 [问题3] 根据说明中的描述给出图10.22中1和2所对应的关系 [问题4] 根据说明中的描述使用表10.8和表10.9中的英文名称给出图10.23中Action1~Action4对应的活动
下列UML类图表示的是53设计模式该设计模式中54 53处填
若类A仅在其方法Methodl中定义并使用了类B的一个对象类A其他部分的代码都不涉及类B那么类A与类B的关系应为59若类A的某个属性是类B的一个对象并且类A对象消失时类B对象也随之消失则类A与类B的关系应为60 59处填
3是指把数据以及操作数据的相关方法组合在同一个单元中使我们可以把类作为软件中的基本复用单元提高其内聚度降低其耦合度面向对象中的4机制是对现实世界中遗传现象的模拟通过该机制基类的属性和方法被遗传给派生类 4处填
在UML类图中类与类之间存在依赖Dependency关联Association聚合Aggregation组合Composition和继承Inheritance五种关系其中14关系表明类之间的相互联系最弱15关系表明类之间的相互联系最强聚合Aggregation的标准UML图形表示是16 15处填
不同的对象收到同一消息可以产生完全不同的结果这一现象叫做35绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程在一般的程序设计语言中绑定在编译时进行叫做36而37则在运行时进行即一个给定的过程调用和执行代码的结合直到调用发生时才进行 37处填
17限制了创建类的实例数量而18将一个类的接口转换成客户希望的另外一个接口使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 18处填
在面向对象分析与设计中56是应用领域中的核心类一般用于保存系统中的信息以及提供针对这些信息的相关处理行为57是系统内对象和系统外参与者的联系媒介58主要是协调上述两种类对象之间的交互 58处填
在UML的各种视图中10显示外部参与者观察到的系统功能11从系统的静态结构和动态行为角度显示系统内部如何实现系统的功能12显示的是源代码以及实际执行代码的组织结构 10处填
5以静态或动态的连接方式为应用程序提供一组可使用的类6除了提供可被应用程序调用的类以外还基本实现了一个可执行的架构 6处填
开一闭原则Open-ClosedPrincipleOCP是面向对象的可复用设计的基石开一闭原则是指一个软件实体应当对23开放对24关闭里氏代换原则LiskovSubstitutionPrincipleLSP是指任何25可以出现的地方26一定可以出现依赖倒转原则DependenceInversionPrincipleDIP就是要依赖于27而不依赖于28或者说要针对接口编程不要针对实现编程 28处填
阅读下列说明和C++代码在n处填入适当的字句 [说明] 某软件公司现欲开发一款飞机飞行模拟系统该系统主要模拟不同种类飞机的飞行特征与起飞特征需要模拟的飞机种类及其特征如表10.4所示 为支持将来模拟更多种类的飞机采用策略设计模式Strategy设计的类图如图10.11所示 图10.11中AirCraft为抽象类描述了抽象的飞机而类HelicopterAirPlaneFighter和Harrier分别描述具体的飞机种类方法fly和takeOff分别表示不同飞机都具有飞行特征和起飞特征类FlyBehavior与TakeOffBehavior为抽象类分别用于表示抽象的飞行为与起飞行为类SubSonicFly与SuperSonicFly分别描述亚音速飞行和超音速飞行的行为类VerticaITakeOff与LongDistanceTakeOff分别描述垂直起飞与长距离起飞的行为 [C++代码] #include<iostream> usingnamespacestd; classFlyBehavior public:virtualvoidfly=0; classSubSonicFly:publicFlyBehavior public:voidflycout<<"亚音速飞行!"<<end1; ; classSuperSonicFly:publicFlyBehavior public:voidflycout<<超音速飞行!<<endl; ; classTakeOffBehavior public:virtualvoidtakeOff=0; classVerticalTakeOff:publicTakeOffBehavior public:voidtakeOffcout<<"起飞!"<<endl; ; classLongDistanceTakeOff:publicTakeOffBehavior public:voidtakeOffcout<<"长距离起飞!<<endl; ; classAirCraft protected: 1; 2; public: voiclfly3; voidtakeOff4; classHelicopter:publicAirCraft public: Helicopter flyBehavior=new5; takeOffBehavior=new6; 7 if!flyBehaviordeleteflyBehavior; if!takeOffBehaviordeletetakeOffBehavior; //其他代码省略
面向对象分析与设计中的8是指一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的而9是指予类应当可以替换父类并出现在父类能够出现的任何地方 8处填
UML类图中类与类之间的关系有五种依赖关联聚合组合与继承若类A需要使用标准数学函数类库中提供的功能那么类A与标准类库提供的类之间存在42关系若类A中包含了其他类的实例且当类A的实例消失时其包含的其他类的实例也消失则类A和它所包含的类之间存在43关系若类A的实例消失时其他类的实例仍然存在并继续工作那么类A和它所包含的类之间存在44关系 43处填
热门题库
更多
中级信息系统管理工程师
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术