阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】现要求实现一个能够自动生成求职简历的程序,简历的基本内容包括求职者的姓名、性别、年龄及工作经历。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。现采用原型模式(Prototype)来实现上述要求,得到如图17—1所示的类图。[Java代码]ClassWorkExperience(1)Cloneable(//工作简历PrivateStringworkDate;PrivateStringcompany;PublicObjectClone(){(2);obj.workDate=this.workDate;Obj.company—this.company;Returnobj;}}ClassResume(3)Cloneable(//简历PrivateStringname;PrivateStringsexjPrivateStringage;PrivateWorkExperiencework;PublicResume(Stringname){This.name=name;work=newWorkExperience();}PrivateResume(WorkExperiencework){This.woek=(4);}PublicvoidSetPersonalInfo(Stringsex,Stringage)(/*代码省略*/)PublicvoidSetWorkExperience(StringworkDate,Stringcompany)(/*代码省略*/)PublicObjectClone()(Resumeobj=(5);//其余代码省略Returnobj;}}ClassWorkResume(Publicstaticvoidmain(String[]args)(Resumea=newResume(“张三”);@A@SetPersonalInfo(“男”,“29”);a.setworkExperience(“1998~2000”,“XXX公司”);Resumeb=(6);b.SetWorkExperience(”2001~2006”,”YYY公司”};}}
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某网上药店允许顾客凭借医生开具的处方,通过网络在该药店购买处方上的药品。该网上药店的基本功能描述如下:(1)注册。顾客在买药之前,必须先在网上药店注册。注册过程中需填写顾客资料以及付款方式(信用卡或者支付宝账户)。此外顾客必须与药店签订一份授权协议书,授权药店可以向其医生确认处方的真伪。(2)登录。已经注册的顾客可以登录到网上药房购买药品。如果是没有注册的顾客,系统将拒绝其登录。(3)录入及提交处方。登录成功后,顾客按照“处方录入界面”显示的信息,填写开具处方的医生的信息以及处方上的药品信息。填写完成后,提交该处方。(4)验证处方。对于已经提交的处方(系统将其状态设置为“处方已提交”),其验证过程为:①核实医生信息。如果医生信息不正确,该处方的状态被设置为“医生信息无效”,并取消这个处方的购买请求;如果医生信息是正确的,系统给该医生发送处方确认请求,并将处方状态修改为“审核中”。②如果医生回复处方无效,系统取消处方,并将处方状态设置为“无效处方”。如果医生没有在7天内给出确认答复,系统也会取消处方,并将处方状态设置为“无法审核”。③如果医生在7天内给出了确认答复,该处方的状态被修改为“准许付款”。系统取消所有未通过验证的处方,并自动发送一封电子邮件给顾客,通知顾客处方被取消以及取消的原因。(5)对于通过验证的处方,系统自动计算药品的价格并邮寄药品给已经付款的顾客。该网上药店采用面向对象方法开发,使用UML进行建模。系统的类图如图13一13所示。
阅读下列说明和图,回答问题1至问题3。【说明】某会议策划公司为了方便客户,便于开展和管理各项业务活动,需要构建一个基于网络的会议预定系统。【需求分析】(1)会议策划公司设有受理部、策划部和其他部门。部门信息包括部门号、部门名称、部门主管、电话和邮箱号。每个部门有多名员工处理部门的日常事务,每名员工只能在一个部门工作。每个部门有一名主管负责管理本部门的事务和人员。(2)员工信息包括员工号、姓名、部门号、职位、联系方式和工资。其中,职位包括主管、业务员、策划员等。业务员负责受理会议申请。若申请符合公司规定,则置受理标志并填写业务员的员工号。策划部主管为已受理的会议申请制定策划任务,包括策划内容、参与人数、要求完成时间等。一个已受理的会议申请对应一个策划任务,一个策划任务只对应一个已受理的会议申请,但一个策划任务可由多名策划员参与执行,且一名策划员可以参与多项策划任务。(3)客户信息包括客户号、单位名称、通信地址、所属省份、联系人、联系电话、银行账号。其中,一个客户号唯一标识一个客户。一个客户可以提交多个会议申请,但一个会议申请对应唯一的一个客户号。(4)会议申请信息包括申请号、开会日期、会议地点、持续天数、会议人数、预算费用、会议类型、酒店要求、会议室要求、客房类型、客房数、联系人、联系方式、受理标志和业务员的员工号等。客房类型有豪华套房、普通套房、标准间、三人间等,且申请号和客房类型决定客房数。【概念模型设计】根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如图13-1所示。【关系模式设计】部门(部门号,部门名称,主管,电话,邮箱号)员工(员工号,姓名,(a),联系方式,工资)客户(客户号,单位名称,通信地址,所属省份,联系人,联系电话,银行账号)会议申请((b),开会日期,会议地点,持续天数,会议人数,预算费用,会议类型,酒店要求,会议室要求,客房数,联系人,联系方式,受理标志,员工号)策划任务((c),策划内容,参与人数,要求完成时间)执行策划(d),实际完成时间)
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某城市的各国家公园周边建造了许多供游客租用的小木屋和营地,为此,该城市设置了一个中心售票处和若干个区域售票处。游客若想租用小木屋或营地,必须前往中心售票处进行预定并用现金支付全额费用,所有的预定操作全部由售票处的工作人员手工完成。现欲开发一信息系统,实现小木屋和营地的预定及管理功能,以取代手工操作。该系统的主要功能描述如下:(1)管理预定申请。游客可以前往任何一个售票处提出预定申请,系统对来自各个售票处的预定申请进行统一管理。(2)预定。预定操作包含登记游客预定信息、计算租赁费用、付费等步骤。(3)支付管理。游客付费时可以选择现金和信用卡付款两种方式。使用信用卡支付可以享受3%的折扣,现金支付没有折扣。(4)游客取消预定。预定成功之后,游客可以在任何时间取消预定,但需支付赔偿金,剩余部分则退还给游客,赔偿金的计算规则是,在预定入住时间之前的48小时内取消,支付租赁费用10%的赔偿金;在预定入住时间之后取消,则支付租赁费用50%的赔偿金。(5)自动取消预定。如果遇到恶劣天气(如暴雨、山洪等),系统会自动取消所有的预定,发布取消预定消息,全额退款。(6)信息查询。售票处工作人员查询小木屋和营地的预定情况和使用情况,以判断是否能够批准游客的预定申请。现采用面向对象方法开发上述系统,得到如表13—2所示的用例列表和表13—3所示的类列表,对应的用例图和类图分别如图13—5和图13—6所示。
现准备为某银行开发一个信用卡系统CCMS,该系统的基本功能如下。(1)信用卡申请。非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS。如果信用卡申请被银行接受,CCMS将记录该客户的基本信息,并发送确认函给该客户,告知客户信用卡的有效期及信贷限额;否则该客户将会收到一封拒绝函。非信用卡客户收到确认函后成为信用卡客户。(2)信用卡激活。信用卡客户向CCMS提交激活请求,用信用卡号和密码激活该信用卡。激活操作结束后,CCMS将激活通知发送给客户,告知客户其信用卡是否被成功激活。(3)信用卡客户信息管理。信用卡客户的个人信息可以在CCMS中进行在线管理。每位信用卡客户可以在线查询和修改个人信息。(4)交易信息查询。信用卡客户使用信用卡进行的每一笔交易都会记录在CCMS中。信用卡客户可以通过CCMS查询并核实其交易信息(包括信用卡交易记录及交易额)。图12-1和图12-2分别给出了该系统的顶层数据流图和0层数据流图的初稿。
阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某公司的组织结构图如图17—9所示,现采用组合(Composition)设计模式来设计,得到如图17—10所示的类图。其中Company为抽象类,定义了在组织结构图上添加(Add)和删除(Delete)分公司/办事处或者部门的方法接口。类ConcreteCompany表示具体的分公司或者办事处,分公司或办事处下可以设置不同的部门。类HRDepament和FinanceDepartment分别表示人力资源部和财务部。[Java代码]importjava.util.*:(1)Company{protectedStringname;publicCompany(Stringname)(2)=name;}DublicabstractvoidAdd(Companyc);//增加子公司、办事处或部门DublicabstractvoidDelete(Companyc);//删除子公司、办事处或部门}C1assConcreteCompanyextendsCompany{privateListchildren=newArrayList();//存储子公司、办事处或部门publicConcreteCompany(Stringname){super(name);)publiCvoidAdd(Companyc)((5).addc;)publicvoidDelete(Companyc)((6).remove(C);)}C1assHRDepartmentextendsCompany(publiCHRDepartment(Stringname)(super(name);)//其他代码省略}C1assFinanceDepartmentextendsCompany(publicFinanceDepartment(Stringname)(super(name);)//其他代码省略}publiCClassTest{publicstatiCvoi‘dmain(String[]args)(c。ncretecompanyroot=newconcretecompany(“北京总公司”);root.Add(newHRDepartment(”总公司人力资源部”));root.Add(newFinanceDepartment(“总公司财务部”));concretecompanycomp=newcOncretecompany(“上海分公司”);comp.Add(newHRDepartment(“上海分公司人力资源部”));comp.Add(newFinanceDepartment(“上海分公司财务部”));(7);ConcreteCompanycompl=newconcretecompany(”南京办事处”);compl.Add(newHRDepartment(”南京办事处人力资源部”));compl.Add(newFinanceDepartment(”南京办事处财务部”);(8);//其他代码省略}}
阅读以下说明,根据要求回答问题1~问题3。【说明】某快递公司为了方便管理公司物品运送的各项业务活动,需要构建一个物品运送信息管理系统。【需求分析结果】(1)快递公司有多个分公司,分公司信息包括分公司编号、名称、经理、办公电话和地址。每个分公司可以有多名员工处理分公司的日常业务,每名员工只能在一个分公司工作。每个分公司由一名经理负责管理分公司的业务和员工,系统需要记录每个经理的任职时间。(2)员工信息包括员工号、姓名、岗位、薪资、手机号和家庭地址。其中,员工号唯一标识员工信息的每一个元组。岗位包括经理、调度员、业务员等。业务员根据客户提交的快件申请单进行快件受理事宜,一个业务员可以受理多个客户的快件申请,一个快件申请只能由一个业务员受理。调度员根据已受理的申请单安排快件的承运事宜,例如:执行承运的业务员、运达时间等。一个业务员可以执行调度员安排的多个快件的承运业务。(3)客户信息包括客户号、单位名称、通信地址、所属省份、联系人、联系电话、银行账号。其中,客户号唯一标识客户信息的每一个元组。当客户要寄快件时,先要提交快件申请单,申请号由系统自动生成。快件申请信息包括申请号、客户号、发件人、发件人电话、快件名称、运费、发出地、收件人、收件人电话、收件地址。其中,一个申请号对应唯一的一个快件申请,一个客户可以提交多个快件申请,但一个快件申请由唯一的一个客户提交。【概念模型设计】根据需求阶段收集的信息,设计的实体联系图(图14—4)和关系模式(不完整)如下:【关系模式设计】分公司(分公司编号,名称,经理,办公电话,地址)员工(员工号,姓名,(a),岗位,薪资,手机号,家庭地址)客户(客户号,单位名称,通信地址,所属省份,联系人,联系电话,银行账号)申请单((b),发件人,发件人电话,发件人地址,快件名称,运费,收件人,收件人电话,收件地址,受理标志,业务员)安排承运((c),实际完成时间,调度员)
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】设有n个货物要装入若干个容重为C的集装箱以便运输,这n个货物的体积分别为{s1,s2,…,sn],且有si≤C(1≤i≤n)。为节省运输成本,用尽可能少的集装箱来装运这n个货物。下面分别采用最先适宜策略和最优适宜策略来求解该问题。最先适宜策略(firstfit)首先将所有的集装箱初始化为空,对于所有货物,按照所给的次序,每次将一个货物装入第一个能容纳它的集装箱中。最优适宜策略(bestfit)与最先适宜策略类似,不同的是,总是把货物装到能容纳它且目前剩余容重最小的集装箱,使得该箱子装入货物后闲置空间最小。
【C代码】
下面是这两个算法的C语言核心代码。
(1)变量说明
n:货物数
C:集装箱容量
s:数组,长度为n,其中每个元素表示货物的体积,下标从0开始。
b:数组,长度为n,b[i]表示第n+i个集装箱当前已经装入货物的体积,下标从0开始
i,j:循环变量
k:所需的集装箱数
min:当前所用的各集装箱装入了第i个货物后的最小剩余容量
m:当前所需的集装箱数
temp:临时变量
(2)函数firstfit
intfirs七fit()(
inti,j;
k=0;
for(i=0;i
b[i]=0;
}
for(i=0;i
(1);
while(C—b[j]
j++;
}
(2);
k=k>(j+1)?k:(j+1);
}
returnk;
}
(3)函数bestfit
intbestfit(){
inti,j,min,m,temp;
k=0;
for(i=0;i
b[i]=0;
}
for(i=0;i
min=C;
m=k+1:
for(j=0;j
temp=c—b[j]一s[i];
if(temp>O&&temp
(3);
m=j;
}
}
(4) ;
k=k>(j+1)?k:(j+1);
}
return k;
}
阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某医院拟开发一套住院病人信息管理系统,以方便对住院病人、医生、护士和手术等信息进行管理。【需求分析】(1)系统登记每个病人的住院信息,包括:病案号、病人的姓名、性别、地址、身份证号、电话号码、入院时问及病床等信息,每个病床有唯一所属的病区及病房,如表13-4所示。其中病案号唯一标识病人本次住院的信息。(2)在一个病人的一次住院期间,由一名医生对该病人的病情进行诊断,并填写一份诊断书,如表13-5所示。对于需要进行一次或多次手术的病人,系统记录手术名称、手术室、手术日期、手术时间、主刀医生及多名协助医生,每名医生在手术中的责任不同,如表13-6所示,其中手术室包含手术室号、楼层、地点和类型等信息。(3)护士分为两类:病床护士和手术室护士。每个病床护士负责护理一个病区内的所有病人,每个病区由多名护士负责护理。手术室护士负责手术室的护理工作。每个手术室护士负责多个手术室,每个手术室由多名护士负责,每个护士在手术室中有不同的责任,并由系统记录其责任。【概念模型设计】根据需求阶段收集的信息,设计的实体联系图(不完整)如图13-4所示。【逻辑结构设计】根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):病床(病床号,病房,病房类型,所属病区)护士(护士编号,姓名,类型,性别,级别)病房护士((1))手术室(手术室号,楼层,地点,类型)手术室护士((2))病人((3),姓名,性别,地址,身份证号,电话号码,入院时间)医生(医生编号,姓名,性别,职称,所属科室)诊断书((4),诊断,诊断时间)手术安排(病案号,手术室号,手术时间,手术名称)手术医生安排((5),医生责任)
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
设有m台完全相同的机器运行n个独立的任务,运行任务i所需要的时间为t
i
,要求确定一个调度方案,使的完成所有任务所需要的时间最短。假设任务已经按照其运行时间从大到小排序,算法基于最长运行时间作业优先的策略;按顺序先把每个任务分配到一台机器上,然后将剩余的任务一次放入最先空闲的机器。
【C代码】
下面是算法的C语言实现。
(1)常量和变量说明
m:机器数
n:任务数
t[]:输入数组,长度为n,其中每个元素表示任务的运行时间,下标从0开始
s[][]:二维数组,长度为m*n,下标从oF始,其中元素s[i][i]表示机器i运行的任j的编号
d[]:数组,长度为m其中元素d[i]表示机器i的运行时间,下标从0开始
count[]:数组,长度为m,下标从0开始,其中元素count[i一]表示机器i运行的任务数
i:循环变量
i:循环变量
k:临时变量
max:完成所有任务的时间
min:临时变量
(2)函数schedule
void schedule(){
int i,j,k max=0;
for(i=0;id[j])(
( min:d[j];
k=j; //机器k空闲
}
}
(3) ;
count[k]=count[k]+1;
d[k]=d[k]+t[i];
for(i=0;i
阅读下列说明和图,回答问题l至问题3,将解答填入答题纸对应栏内。【说明】某城市拟开发一个基于web的城市黄页,公开发布该城市重要的组织或机构(以F统称为客户)的基本信息,方便城市生活。该系统的主要功能描述如下:(1)搜索信息:任何使用Internet的网络用户都可以搜索发布在城市黄页中的信息,例如客户的名称、地址、联系电话等。(2)认证:客户若想在城市黄页上发布信息,需通过系统的认证。认证成功后,该客户成为系统授权用户。(3)更新信息:授权用户登录系统后,可以更改自己在城市黄页中的相关信息,例如变更联系电话等。(4)删除客户:对于拒绝继续在城市黄页上发布信息的客户,有系统管理员删除该客户的相关信息。系统采用面向对象方法进行开发,在开发过程中认定出如表13一1所示的类。系统的用例图和类图分别如图13一1和图13—2所示。
单选题{{B}}试题1~试题4是必答题{{/B}}阅读以下某建账软件的技术说明和数据流图,根据要求回答问题1~问题6。[说明]某商业银行已有一套基于客户机/服务器(C/S)模式的储蓄系统X和一套建账软件Y。建账软件Y主要用于将储蓄所手工处理的原始数据转换为系统X所需的数据格式。该建账软件具有以下功能。(1)分户账录入:手工办理业务时建立的每个分户账数据均由初录员和复录员分别录入,以确保数据的正确性。(2)初录/复录比对:将初录员和复录员录入的数据进行一一比较,并标记两套数据是否一致。(3)数据确认:当上述两套数据完全一致后,将其中任一套作为最终进入系统X的原始数据。(4)汇总核对和打印:对经过确认的数据进行汇总,并和会计账目中的相关数据进行核对,以确保数据的整体正确性,并打印输出经过确认的数据,为以后核查可能的错误提供依据。该建账软件需要打印的分户账清单样式如表3-8所示。{{B}}表3-8分户账清单样式表{{/B}}{{B}}储蓄所{{/B}}{{B}}账号{{/B}}{{B}}开户日{{/B}}{{B}}户名{{/B}}{{B}}其他分户账数据{{/B}}储蓄所A64361357200820109992008-08-15小郭……………储蓄所A合计共XXXX户,总余额YYYYYYY.YY元储蓄所B84361357200820098882008-08-25小谢…………储蓄所B合计共XXXX户,总余额YYYYYYY.YY元……储蓄所N……………………储蓄所N合计共XXXX户,总余额YYYYYYY.YY元(5)数据转换:将经过确认的数据转换为储蓄系统X需要的中间格式数据。(6)数据清除:为加快初录和复录的处理速度,在数据确认之后,可以有选择地清除初录员和复录员录入的数据。该软件的数据流图如图3-17~图3-19所示,图中部分数据流数据文件的格式如下。初录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质复录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质会计账目=储蓄所号+总户数+总余额操作结果=初录操作结果+比对操作结果+复录操作结果
单选题 阅读下列说明和图,回答问题1到问题3。 [说明]
目前大多数操作系统都采用虚拟存储技术,这样可在较小的可用内存中执行较大的用户程序,可在内存中容纳更多程序并发执行。
引入虚拟存储技术,其基本思想是利用大容量的外存来扩充内存,产生一个比有限的实际空间大得多、逻辑的虚拟内存空间,以便能够有效地支持多道程序系统的实现和大型程序运行的需要,从而增强系统的处理能力。
虚拟存储技术主要分为虚拟页式存储管理和虚拟段式存储管理。
虚拟页式存储管理中,在进程开始运行之前,不是装入全部页面,而是装入一个或零个页面之后根据进程运行的需要,动态装入其他页面:当内存空间已满,而又需要装入新的页面时,则根据某种算法淘汰某个页面,以便装入新的页面。在简单页式存储管理的基础上,增加请求调页和页面置换功能。
使用虚拟页式存储管理时需要在页表中增加以下内容:页号、驻留号、内存块号、外存地址、访问位、修改位。其中,驻留位,又称中断位,表示该页是在内存还是在外存;访问位表示该页在内存期间是否被访问过;修改位表示该页在内存中是否被修改过。访问位和修改位可以用来决定置换哪个页面,具体由页面置换算法决定。
执行指令时,计算页号与页内地址,判断“该页在内存吗”,若在,则进行地址映射过程;若不在内存,则产生缺页中断。当发生缺页中断时,保存当前进程现场,判断“有空闲页面吗”,如有,直接调入所需的页面。若没有,按照某种算法选择一页置换,判断“该页被修改过吗”,如果被修改过,就必须把它写回磁盘以便更新该页在磁盘上的副本;如果该页没有被修改过,那么它在磁盘上的副本已经是最新的了,则不需要写回,调入的所需的页面直接覆盖被淘汰的页。调整页表及内存分配表,恢复被中断进程现场。
补充缺页中断处理流程图4-1中的判断(1)~(3)。 [图4-1]
案例分析题阅读下列说明和图,回答下列提出的问题,将解答填入答题纸的对应栏内
案例分析题阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内
案例分析题试题四
阅读下列说明和C代码,回答问题1至3,将解答写在答题纸的对应栏内
案例分析题阅读下列说明,回答下列提出的问题,将解答填入答题纸的对应栏内
案例分析题阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内
案例分析题试题一
阅读下列说明和图,回答问题,将解答填入答题纸的对应栏内
案例分析题阅读下列说明和图,回答问题1至问题4。
【说明】
某公司欲开发一款二手车物流系统
