计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机软件水平考试
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
软件设计师(中级)
信息系统项目管理师(高级)
系统分析师(高级)
系统架构设计师(高级)
网络规划设计师(高级)
系统规划与管理师(高级)
软件评测师(中级)
软件设计师(中级)
网络工程师(中级)
多媒体应用设计师(中级)
嵌入式系统设计师(中级)
电子商务设计师(中级)
系统集成项目管理工程师(中级)
信息系统监理师(中级)
信息安全工程师(中级)
数据库系统工程师(中级)
信息系统管理工程师(中级)
软件过程能力评估师(中级)
计算机辅助设计师(中级)
计算机硬件工程师(中级)
信息技术支持工程师(中级)
程序员(初级)
网络管理员(初级)
信息处理技术员(初级)
电子商务技术员(初级)
信息系统运行管理员(初级)
网页制作员(初级)
多媒体应用制作技术员(初级)
PMP项目管理员资格认证
问答题阅读以下说明和数据流图,回答下面问题。[说明]现准备为某银行开发一个信用卡管理系统CCMS,该系统的基本功能为:(1)信用卡申请。非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS。如果信用卡申请被银行接受,CCMS将记录该客户的基本信息,并发送确认函给该客户,告知客户信用卡的有效期及信贷限额;否则,该客户将会收到一封拒绝函。非信用卡客户收到确认函后成为信用卡客户。(2)信用卡激活。信用卡客户向CCMS提交激活请求,用信用卡号和密码激活该信用卡。激活操作结束后,CCMS将激活通知发送给客户,告知客户其信用卡是否被成功激活。(3)信用卡客户信息管理。信用卡客户的个人信息可以在CCMS中进行在线管理。每位信用卡客户可以在线查询和修改个人信息。(4)交易信息查询。信用卡客户使用信用卡进行的每一笔交易都会记录在CCMS中。信用卡客户可以通过CCMS查询并核实其交易信息(包括信用卡交易记录及交易额)。图1和图2分别给出了该系统的顶层数据流图和0层数据流图的初稿。图1顶层数据流图图20层数据流图
进入题库练习
问答题阅读下列说明和C++代码,将应填入空白处的字句写在答题纸的对应栏内。[说明]某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表所示。咖啡及配料表咖啡价格/杯配料价格,份蒸馏咖啡(Espresso)25摩卡(Mocha)10深度烘焙咖啡(DarkRoast)20奶泡(Whip)8现采用装饰器(Decorator)模式来实现计算费用的功能,得到如图所示的类图。类图[C++代码]#include<iostream>#include<string>usingnamespacestd;constintESPRESSO_PRICE=25;constintDRAKROAST_PRICE=20;constintMOCHA_PRICE=10;constintWHIP_PRICE=8;classBeverage{//饮料______:stringdescription;public:______(){returndescription;}______;};classCondimentDecorator:publicBeverage{//配料protected:______;};classEspresso:publicBeverage{//蒸馏咖啡public:Espresso(){description="Espresso";}intcost(){returnESPRESSO_PRICE;}};classDarkRoast:publicBeverage{//深度烘焙咖啡public:DarkRoast(){description*"DardRoast";}intcost(){returnDRAKROAST_PRICE;}};classMocha:publicCondimentDecorator{//摩卡public:Mocha(Beverage*beverage){this->beverage=beverag;}stringgetDescription(){returnbeverage->getDescription()+",Mocha";}intcost(){returnMOCHA_PRICE+beverage->cost();}};classWhip:publicCondimentDecorator{//奶泡public:Whip(Beverage*beverage){this->beverage=beverage;}stringgetDescription(){returnbeverage->getDescription()+",Whip";}intcost(){returnWHIP_PRICE+beverage->cost();}};intmain(){Beverage*beverage=newDarkRoast();beverage=newMocha(______);beverage=newWhip(______);cout<<beverage->getDeScription()<<"¥"<<beverage->cost()endl;return0;}编译运行上述程序,其输出结果为:DarkRoast,Mocha,Whip¥38
进入题库练习
问答题阅读下列说明和C代码,回答问题1至问题3,将解答写在对应栏内。[说明]堆数据结构定义如下:对于n个元素的关键字序列a1,a2,…,an),当且仅当满足下列关系时称其为堆。在一个堆中,若堆顶元素为最大元素,则称为大顶堆;若堆顶元素为最小元素,则称为小顶堆。堆常用完全二叉树表示,图21-16是一个大顶堆的例子。堆数据结构常用于优先队列中,以维护由一组元素构成的集合。对应于两类堆结构,优先队列也有最大优先队列和最小优先队列,其中最大优先队列采用大顶堆,最小优先队列采用小顶堆。以下考虑最大优先队列。假设现已建好大顶堆A,且已经实现了调整堆的函数heapify(A,n,index)。对C代码中需要完善的3个函数说明如下。(1)heapMaximum(A):返回大顶堆A中的最大元素。(2)heapExtractMax(A):去掉并返回大项堆A的最大元素,将最后一个元素“提前”到堆顶位置,并将剩余元素调整成大顶堆。(3)maxHeapInsert(A,key):把元素key插入到大顶堆A的最后位置,再将A调整成大顶堆。优先队列采用顺序存储方式,其存储结构定义如下:#definePARENT(i)i/2typedefstructarrayint*int_arrav;//优先队列的存储空间首地址intarray_size;//it先队列的长度intcapacity;//优先队列存储空间的容量ARRAY;[C代码](1)函数heapMaximumintheapMaximum(ARRAY*A)return(1);(2)函数heapExtractMaxintheapExtractMax(ARRAY*A)intmax;max=A->int_array[0];(2);A->array_size--;heapify(A,A->array_size,0);//将剩余元素调整成大顶堆returnmax;(3)函数maxHeapInsertintmaxHeapInsert(ARRAY*A,intkey)inti,*p;if(A->array_size==A->capacity)//存储空间的容量不够时扩充空间p=(int*)realloc(A->int_array,A->capacity*2*sizeof(int));if(!p)return-1;A->int_array=p;A->capacity=2*A->capacity;A->array_size++;i=(3);while(i>0&&(4))A->int_array[i]=A->int_array[PARENT(i)];i=PARENT(i);(5);return0;
进入题库练习
问答题【问题2】 创建Customers表时,cid使用INTEGER数据类型,cname使用CHAR(80)数据类型,address使用CHAR(200)数据类型,cardnum使用CHAR(16)数据类型并且要求此列值唯一。请在下列用于创建表Customers的SQL语句空缺处填入正确的内容。 CREATE TABLE Customers(cid INTEGER NOT NULL, cname CHAR(80) NOT NULL, address CHAR(200), eardnum CHAR(16) NOT NULL, {{U}}(1) {{/U}}, {{U}}(2) {{/U}})
进入题库练习
问答题阅读下列说明,回答下面问题。[说明]某集团公司在全国不同城市拥有多个大型超市,为了有效管理各个超市的业务工作,需要构建一个超市信息管理系统。[需求分析结果](1)超市信息包括:超市名称、地址、经理和电话,其中超市名称能唯一确定超市关系的每一个元组,每个超市只有一名经理。(2)超市设有计划部、财务部、销售部等多个部门,每个部门只有一名部门经理,有多名员工,每个员工只属于一个部门。部门信息包括:超市名称、部门名称、部门经理和联系电话。超市名称、部门名称能唯一确定部门关系的每一个元组。(3)员工信息包括:员工号、姓名、超市名称、部门名称、职位、联系方式和工资。其中,职位信息包括:经理、部门经理、业务员等。员工号能唯一确定员工关系的每一个元组。(4)商品信息包括:商品号、商品名称、型号、单价和数量。商品号能唯一确定商品关系的每一个元组。一名业务员可以负责超市内多种商品的配给,一种商品可以由多名业务员配给。[概念模型设计]根据需求分析阶段收集的信息,设计的实体联系图和关系模式(不完整)如下图所示。实体联系图[关系模式设计]超市(超市名称,经理,地址,电话)部门((a),部门经理,联系电话)员工((b),姓名,联系方式,职位,工资)商品(商品号,商品名称,型号,单价,数量)配给((c),配给时间,配给数量,业务员)
进入题库练习
问答题【问题1】 根据E-R图中给出的词汇,按照“有关模式名(属性,属性,...)”的格式,将此E-R图转换为4个关系模式,并指出每个关系模式中的主键和外键,其中模式名根据需要取实体名或联系名。
进入题库练习
问答题阅读下列说明,回答下面问题。 [说明] 现需在某城市中选择一个社区建一个大型超市,使该城市的其他社区到该超市的距离总和最小。用图模型表示该城市的地图,其中顶点表示社区,边表示社区间的路线,边上的权重表示该路线的长度。现设计一个算法来找到该大型超市的最佳位置:即在给定图中选择一个顶点,使该顶点到其他各项点的最短路径之和最小。算法首先需要求出每个顶点到其他任一顶点的最短路径,即需要计算任意两个顶点之间的最短路径;然后对每个顶点,计算其他各项点到该顶点的最短路径之和;最后,选择最短路径之和最小的顶点作为建大型超市的最佳位置。
进入题库练习
问答题阅读下列说明和图,回答下面问题。[说明]某会议策划公司为了方便客户,便于开展和管理各项业务活动,需要构建一个基于网络的会议预定系统。[需求分析](1)会议策划公司设有受理部、策划部和其他部门,部门信息包括部门号、部门名称、部门主管、电话和邮箱号,每个部门有多名员工处理部门的日常事务,每名员工只能在一个部门工作,每个部门有一名主管负责管理本部门的事务和人员。(2)员工信息包括员工号、姓名、部门号、职位、联系方式和工资;其中,职位包括主管、业务员、策划员等。业务员负责受理会议申请,若申请符合公司规定,则置受理标志并填写业务员的员工号,策划部主管为已受理的会议申请制定策划任务,包括策划内容、参与人数、要求完成时间等。一个已受理的会议申请对应一个策划任务,一个策划任务只对应一个已受理的会议申请,但一个策划任务可由多名策划员参与执行,且一名策划员可以参与多项策划任务。(3)客户信息包括客户号、单位名称、通信地址、所属省份、联系人、联系电话、银行账号。其中,一个客户号唯一标识一个客户。一个客户可以提交多个会议申请,但一个会议申请对应唯一的一个客户号。(4)会议申请信息包括申请号、开会日期、会议地点、持续天数、会议人数、预算费用、会议类型、酒店要求、会议室要求、客房类型、客房数、联系人、联系方式、受理标志和业务员的员工号等。客房类型有豪华套房、普通套房、标准间、三人间等,且申请号和客房类型决定客房数。[概念模型设计]根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下图所示。实体联系图[关系模式设计]部门(部门号,部门名称,主管,电话,邮箱号)员工(员工号,姓名,(a),联系方式,工资)客户(客户号,单位名称,通信地址,所属省份,联系人,联系电话,银行账号)会议申请((b),开会日期,会议地点,持续天数,会议人数,预算费用,会议类型,酒店要求,会议室要求,客房数,联系人,联系方式,受理标志,员工号)策划任务((c),策划内容,参与人数,要求完成时间)执行策划((d),实际完成时间)
进入题库练习
问答题阅读下列说明和图,回答下面问题。[说明]某家电销售电子商务公司拟开发一套信息管理系统,以方便对公司的员工、家电销售、家电厂商和客户等进行管理。[需求分析](1)系统需要维护电子商务公司的员工信息、客户信息、家电信息和家电厂商信息等,员工信息主要包括:工号、姓名、性别、岗位、身份证号、电话、住址,其中岗位包括部门经理和客服等;客户信息主要包括:客户ID、姓名、身份证号、电话,住址、账户余额;家电信息主要包括:家电条码、家电名称、价格、出厂日期、所属商;家电厂商信息包括:厂商ID、厂商名称、电话、法人代表信息、厂址。(2)电子商务公司根据销售情况,由部门经理向家电厂商订购各类家电,每个家电厂商只能由一名部门经理负责。(3)客户通过浏览电子商务公司网站查询家电信息,与客服沟通获得优惠后,在线购买。[概念模型设计]根据需求阶段收集的信息,设计的实体联系图(不完整)如下图所示。[逻辑结构设计]根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整)。●客户(客户ID、姓名、身份证号、电话、住址、账户余额)●员工(工号、姓名、性别、岗位、身份证号、电话、住址)●家电(家电条码、家电名称、价格、出厂日期、(1))●家电厂商(厂商ID、厂商名称、电话、法人代表信息、厂址、(2))●购买(订购单号、(3)、金额)
进入题库练习
问答题阅读下列说明和图,回答问题。[说明]某运输公司决定为新的售票机开发车票销售的控制软件。图10.8给出了售票机的面板示意图以及相关的控制部件。售票机相关部件的作用如下所述。(1)目的地键盘用来输入行程目的地的代码(例如,200表示总站)。(2)乘客可以通过车票键盘选择车票种类(单程票、多次往返票和坐席种类)。(3)继续/取消键盘上的取消按钮用于取消购票过程,继续按钮允许乘客连续购买多张票。(4)显示屏显示所有的系统输出和用户提示信息。(5)插卡口接受MCard(现金卡),硬币口和纸币槽接受现金。(6)打印机用于输出车票。假设乘客总是支付恰好需要的金额而无需找零,售票机的维护工作(取回现金、放入空白车票等)由服务技术人员完成。系统采用面向对象方法开发,使用UML进行建模。系统的顶层用例图和类图分别如图10.9和图10.10所示。[问题1]根据说明中的描述,给出图10.9中A1和A2所对应的参与者,U1所对应的用例,以及(1)、(2)处所对应的关系。[问题2]根据说明中的描述,给出图10.10中缺少的C1~C4所对应的类名以及(3)~(6)处所对应的多重度。[问题3]图10.10中的类图设计采用了中介者(Mediator)设计模式,请说明该模式的内涵。
进入题库练习
问答题阅读下列说明和Java代码,将应填入______处的字句写在下面。[说明]某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。咖啡价格/杯(¥)配料价格/杯(¥)蒸馏咖啡(Espresso)25摩卡(Mocha)10深度烘焙咖啡(DarkRoast)20奶泡(Whip)8现采用装饰器(Decorator)模式来实现计算费用的功能,得到如下图所示的类图。[Java代码]importjava.util.*:______classBeverage{//饮料Stringdescription="UnknownBeverage";public______(){returndescription;}public______;}abstractclasscondimentDecoratorextendsBeverage{//配料______;}classEspressoextendsBeverage{//蒸馏咖啡privatefinalintESPRESSOPRICE=25;publiCEspresso(){description="Espresso";}publicintcost(){returnESPRESSOPRICE;}}classDarkRoastextendsBeverage(//深度烘焙咖啡privatefinalintDARKROASTPRICE=20;publicDarkRoast(){description="DarkRoast";}publicintcost(){rcturnDARKROASTPRICE;}}classMochaextendsCondimentDecorator{//摩卡privatefinalintMOCHAPRICE=10;publicMocha(Beveragebeverage){this.beverage=beverage;}publicStringgetDescription(){returnbeverage.getDeScription0+",Mocha";}publicintcost(){returnMOCHA_PRICE+beverage.cost();}}classWhipextendsCondimentDecorator{//奶泡privatefinalintWHIPPRICE=8;publicWhip(Beveragebeverage){this.beverage=beverage;}publicStringgetDescription(){returnbeverage.getDescription()+",Whip";}publicintcost(){returnWHIP_PRICE+beverage.cost();}}publicclassCoffee{publicstaticvoidmain(Stringargs[]){Beveragebeverage=newDarkRoast();beverage=newMocha(______);beverage=newWhip(______);System.out.print1n(beverage.getDescription()+"¥"+beverage.cost());}}编译运行上述程序,其输出结果为:DarkRoast,Mocha,Whip¥38
进入题库练习
问答题阅读下列说明和C代码,回答下面问题。[说明]用两台处理机A和B处理n个作业。设A和B处理第i个作业的时间分别为ai和bi。由于各个作业的特点和机器性能的关系,对某些作业,在A上处理时间长,而对某些作业在B上处理时间长。一台处理机在某个时刻只能处理一个作业,而且作业处理是不可中断的,每个作业只能被处理一次。现要找出一个最优调度方案,使得n个作业被这两台处理机处理完毕的时间(所有作业被处理的时间之和)最少。算法步骤:(1)确定候选解上界为最短的单台处理机处理所有作业的完成时间m,(2)用p(x,y,k)=1表示前k个作业可以在A用时不超过x且在B用时不超过y时间内处理完成,则p(x,y,k)=p(x-ak,y,k-1)||p(x,y-bk,k-1)(||表示逻辑或操作)。(3)得到最短处理时间为min(max(x,y))。[C代码]下面是该算法的C语言实现。(1)常量和变量说明●n:作业数。●m:候选解上界。●a:数组,长度为n,记录n个作业在A上的处理时间,下标从0开始。●b:数组,长度为n,记录n个作业在B上的处理时间,下标从0开始。●k:循环变量。●p:三维数组,长度为(m+1)*(m+1)*(n+1)。●temp:临时变量。●max:最短处理时间。(2)C代码#include<stdio.h>intn,m;inta[60],b[60],p[100][100][60];voidread(){/*输入n、a、b,求出m,代码略*/)voidSchedule(){/*求解过程*/intx,y,k;for(x=0;x<=m;x++){for(y=0;y<m;y++){______for(k=1;k<n;k++)p[x][y][k]=0;}}for(k=1;k<n;k++){for(x=0;x<=m;x++){for(y=0;y<=m;y++){if(x-a[k-1]>=0)______;if(______)P[x][y][k]=(p[x][y][k]||p[x][y-b[k-1]][k-1]);}})}voidwrite()(/*确定最优解并输出*/intx,y,temp,max=m;for(x=0;x<=m;x++){for(y=0;y<=m;y++){if(______){temp=______;if(temp<max)max=temp;}}}printf("\n%d\n",max);}voidmain(){read();Schedule();write();}
进入题库练习
问答题阅读下列说明和Java代码,将应填入空白处的字句写在答题纸的对应栏内。[说明]某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图1所示。图1纸巾售卖机的状态图采用状态(State)模式来实现该纸巾售卖机,得到如图2所示的类图。其中类State为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState和HasQuarterState分别对应图1中纸巾售卖机的4种状态:售出纸巾、纸巾售完、没有投币、有2元钱。图2类图[Java代码]importjava.util.*;interfaceState{publicvoidinsertQuarter();//投币publicvoidejectQuarter();//退币publicvoidturnCrank();//按下取纸巾按钮publicvoiddispense();//出纸巾}classTissueMachine{______soldOutState,noQuarterState,hasQuarterState,soldState,state;state=soldOutState;intcount=0;//纸巾数publicTissueMachine(intnumbers){/*实现代码省略*/}publicStategetHasQuarterState(){returnhasQuarterState;}publicStategetNoQuarterState(){returnnoQuarterState;}publicStategetSoldState(){returnSoldState;}publicStategetSoldOutState(){returnsoldOutState;}publicintgetCount(){returncount;}//其余代码省略}classNoQuarterStateimplementsState{TissueMachinetissueMachine;publicvoidinSertQuarter(){tiSsueMachine.setState(______);}//构造方法以及其余代码省略}classHasQuarterStateimplementsState{TissueMachinetissueMaehine;publicvoidejectQuarter(){tissueMachine.setState(______);}//构造方法以及其余代码省略}classSoldStateimplementsState{TissueMachinetissueMachine;publicvoiddispense(){if(tissueMachine.getCount()>0){tissueMachime.setState(______);}else{tissueMachine.setState(______);}}}
进入题库练习
问答题阅读下列说明和图,回答问题1至问题4,将解答填入对应栏内。[说明]某大型企业的数据中心为了集中管理、控制用户对数据的访问并支持大量的连接需求,欲构建数据管理中间件,其主要功能如下:(1)数据管理员可通过中间件进行用户管理、操作管理和权限管理。用户管理维护用户信息,用户信息(用户名、密码)存储在用户表中;操作管理维护数据实体的标准操作及其所属的后端数据库信息,标准操作和后端数据库信息存放在操作表中;权限管理维护权限表,该表存储用户可执行的操作信息。(2)中间件验证前端应用提供的用户信息。若验证不通过,则返回非法用户信息;若验证通过,中间件将等待前端应用提交操作请求。(3)前端应用提交操作请求后,中间件先对请求进行格式检查。如果格式不正确,则返回格式错误信息;如果格式正确,则进行权限验证(验证用户是否有权执行请求的操作),若用户无权执行该操作,则返回权限不足信息,否则进行连接管理。(4)连接管理连接相应的后台数据库并提交操作。连接管理先检查是否存在空闲的数据库连接,如果不存在,则新建连接;如果存在,则重用连接。(5)后端数据库执行操作并将结果传给中间件,中间件对收到的操作结果进行处理后,将其返回给前端应用。现采用结构化方法对系统进行分析与设计,获得如图15-22所示的顶层数据流图和如图15-23所示的第0层数据流图。
进入题库练习
问答题阅读下列说明和图,回答问题。[说明]在线会议审稿系统(ORS:OnlineReviewingSystem)主要处理会议前期的投稿和审稿事务,其功能描述如下。(1)用户在初始使用系统时,必须在系统中注册(register)成为作者或审稿人。(2)作者登录(login)后提交稿件和浏览稿件审阅结果。提交稿件必须在规定提交时间范围内,其过程为先输入标题和摘要、选择稿件所属主题类型、选择稿件所在位置(存储位置)。上述几步若未完成,则重复;若完成,则上传稿件至数据库中,系统发送通知。(3)审稿人登录后可设置兴趣领域、审阅稿件给出意见以及罗列录用和(或)拒绝的稿件。(4)会议委员会主席是一个特殊审稿人,可以浏览提交的稿件、给审稿人分配稿件、罗列录用和(或)拒绝的稿件以及关闭审稿过程。其中关闭审稿过程须包括罗列录用和(或)拒绝的稿件。系统采用面向对象方法开发,使用UML进行建模,在建模用例图时,常用的方式是先识别参与者,然后确定参与者如何使用系统来确定用例,每个用例可以构造一个活动图。参与者名称、用例和活动名称分别参见表10.7、表10.8和表10.9。系统的部分用例图和提交稿件的活动图分别如图10.23和图10.24所示。表10.7参与者列表名称说明名称说明User用户Author作者Reviewer审稿人PCChair委员会主席表10.8用例名称列表名称说明名称说明login登录系统register注册submitpaper提交稿件browsereviewresults浏览稿件审阅结果closereviewingprocess关闭审稿过程assignpapertoreview分配稿件给审稿人setpreferences设定兴趣领域enterreview审阅稿件给出意见listaccepted/rejectedpaper罗列录用或/和拒绝的稿件browsesubmittedpapers浏览提交的稿件表10.9活动名称列表名称说明名称说明selectpaperlocation选择稿件位置uploadpaper上传稿件selectsubjectgroup选择主题类型sendnotification发送通知entertitleandabstract输入标题和摘要[问题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对应的活动。
进入题库练习
问答题阅读下列说明和Java代码,将应填入______的字句写在下面。[说明]某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据,当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observer)模式来开发该系统,观察者模式的类图如下图2所示。[Java代码]importjava.uti1.*interfaceObserver{Publicvoidupdate(floattemp,floathumidity,floatcleanness);}interfaceSubject{PublicvoidregisterObserver(Observero);//注册对主题感兴趣的观察者PublicvoidremoveObserver(Observero);//删除观察者Publicvoidnotifyobservers0;//当主题发生变化时通知观察者}ClassEnvironmentDataimplements______{PrivateArrayListobservers;Privatefloattemperature,humidity,cleanness;PublicEnvironmentData0{observers=newArrayList0;}PublicvoidregisterObserver(Observero){observers.add(o);}PublicvoidremoveObserver(Observero){/*代码省略*/}publicvoidnotifyObserVers(){For(inti=0;i<observers.size();i++){Observerobserver=(Observer)observers.get(i);______;}publicvoidmeasurementsChanged(){______;}publicvoidsetMeasurements(floattemperature,floathumidity,floatcleanness){this.temperature=temperature;this.humidity=humidity;this.cleanness=cleanness;______;}}ClassCurrentConditionsDisplayimplements______privatefloattemperature;privatefloathumidity;privatefloatcleanness;privateSubjectenvData;publicCurrentConditionsDisplay(SubjectenvData){this.envData=envData;______;}Publicvoidupdate(floattemperature,floathumidity,floatcleanness){this.temperature=temperature;this.humidity=humidity;this.cleanness=cleanness;Display();}Publicvoiddisplay0(/*代码省略*/)}ClassEnvironmentMonitor{Publicstaticvoidmain(String[]args){EnvironmentDataenvData=newEnvironmentData0;CurrentCondit\onsDisplaycurrentDisplay=newCnrrentConditionsDisplay(envOata);envData.setMeasurements(80,65,30.4f);}Publicvoiddisplay()(/*代码省略*/)}ClassEnvironmentMonitor{Publicstaticvoidmain(String[]args){EnvironmentDataenvData=newEnvironmentData0;CurrentConditionsDisplaycurrentDisplay=newCnrrentConditionsDisplay(envData);envData.setMeasurements(80,65,30.4f);}}
进入题库练习
问答题阅读下列说明和C++代码,将应填入横线处的字句写在下面。[说明]某实验室欲建立一个实验室环境监测系统,能够显示实验室的温度、湿度以及洁净度等环境数据,当获取到最新的环境测量数据时,显示的环境数据能够更新现在采用观察者(observer)模式来开发该系统,观察者模式的类图如下图所示。C++代码如下。#include<iostream>#include<vector>Usingnamespacestd;ClassObserver{Public:Virtualvoidupdate(floattemp,floathumidity,floatcleanness)=0;};ClassSubject{Public:VirtualvoidregisterObserver(Observer*o)=0;//注册对主题感兴趣的观察者VirtualvoidremoveObserver(Observer*o)=0;//删除观察者VirtualvoidnotifyObservers()=0;//当主题发生变化时通知观察者}ClassEnvironmentData:public______{Private:Vector<Observer*>observers;Floattemperature,humidity,cleanness;Public:VoidregisterObserver(Observer*o){observers.push_back(0);}VoidremoveObserver(Observer*o){/*代码省略*/)Voidnotifyobservers(){for(vector<Observe*>::constiteratorit=observers.begin();it!=observems.end();it++){______;}}VoidmeasurementsChanged(){______;}VoidsetMeasurements(floattemperature,floathumidity,floatcleanness){this->temperature=temperature;this->humidity=humidity;this->cleanness=cleanness;______;}};ClassCurrentConditionsDisplay:public______{private:floattemperature,humidity,cleanness;Subject-envData;Public:CurrentConditionsDisplay(Subject*envData){this->envData=envData;______;}Voidupdate(floattemperature,floathumidity,floatcleanness){this->temperature=temperature;This->humidity=humidity;This->cleanness=cleanness;display();}Voiddisplay(){/*代码省略*/)};intmain(){EnvironmentData*envData=newEnvironmentData0;CurrentConditionsDisplay*currentDisplay=newCurrentConditionsDisplay(envData);envData->setMeasurements(80,65,30.4f);return0;}
进入题库练习
问答题阅读下列说明和C代码,回答下面问题。 [说明] 某应用中需要对100000个整数元素进行排序,每个元素的取值在0~5之间。排序算法的基本思想是:对每一个元素x,确定小于等于x的元素个数(记为m),将x放在输出元素序列的第m个位置。对于元素值重复的情况,依次放入第m-1、m-2……个位置。例如,如果元素值小于等于4的元素个数有10个,其中元素值等于4的元素个数有3个,则4应该在输出元素序列的第10个位置、第9个位置和第8个位置上。算法具体的步骤如下。 步骤1:统计每个元素值的个数。 步骤2:统计小于等于每个元素值的个数。 步骤3:将输入元素序列中的每个元素放入有序的输出元素序列。 下面是该排序算法的C语言实现。 (1)常量和变量说明 R:常量,定义元素取值范围中的取值个数,如上述应用中R值应取6 i:循环变量 n:待排序元素个数 a:输入数组,长度为n b:输出数组,长度为n c:辅助数组,长度为R,其中每个元素表示小于等于下标所对应的元素值的个数 (2)函数sort void sort(intn, int a[], intb[]){ intc[R], i; for (i=0; i<______; i++){ c[i]=0; } for(i=0; i<n; i++){ c[a[i]]=______; } for(i=1; i<R; i++){ c[i]=______; } for(i=0; i<n; i++){ b[c[a[i]]-1]=______; c[a[i]]=c[a[i]]-1; } }
进入题库练习
问答题【问题4】 原来的“职员”关系模式存在什么问题?在不增加新关系模式的前提下,请给出修改后的“职员”和“部门”关系模式。
进入题库练习
问答题【问题3】 如下的SQL语句是书店用于查询“所有订购了bid为‘123-456’图书的用户订购其他图书的情况”的不完整语句,请在空缺处填入正确的内容。 Select bid From orderlist A Where not exists (Select * from Orders B where A.ordemum=B.ordemum and B.cid {{U}}(3) {{/U}} (Select cid from orderlist C,orders D where {{U}}(4) {{/U}}.bid='123-456' and {{U}}(5) {{/U}}=D.ordemum))
进入题库练习