首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
人为的恶意攻击分为被动攻击和主动攻击,在以下的攻击类型中属于主动攻击的是______。
查看本题答案
包含此试题的试卷
中级软件设计师《相同项单选集》真题及答案
点击查看
你可能感兴趣的试题
在网络面临的威胁中是指在不干扰网络信息系统正 常工作的情况下进行侦收截获窃取破译和业务流量分析 及电
人为攻击
被动攻击
恶意攻击
主动攻击
OSI安全体系方案X.800将安全性攻击分为两类即被动攻击和主动攻击主动攻击包括篡改数据流或伪造数据
伪装
消息泄漏
重放
拒绝服务
OSI安全体系X.800将安全性攻击分为两类即被动攻击和主动攻击以下方式中不属于被动攻击的是____
窃听
电磁截获
业务流分析
伪装
在以下人为的恶意攻击行为中属于主动攻击的是
身份假冒
数据窃听
数据流分析
非法访问
是指在不干扰网络信息系统政党工作的情况下进行侦收载获窃取破译和业务流量分析及电磁泄漏等
主动攻击
被动攻击
人为攻击
恶意攻击
在以下人为的恶意攻击行为中属于主动攻击的是______
身份假冒
数据窃听
数据流分析
非法访问
对密码系统的攻击有主动攻击和被动攻击以下不属于主动攻击的是
删除
伪造
增添
窃听
网络攻击可以分为______
主动攻击和被动攻击
黑客攻击和病毒攻击
故意攻击和偶然攻击
恶意攻击和善意攻击
网络攻击可以分为______
主动攻击和被动攻击
黑客攻击和病毒攻击
故意攻击和偶然攻击
恶意攻击和善意攻击
OSIOpenSystemInterconnection安全体系方案X.800将安全性攻击分为两类即
伪装
消息泄露
重放
拒绝服务
在网络面临的威胁中是指以各种方式有选择地破坏 信息如修改删除伪造添加重放乱序冒充制造病 毒等
主动攻击
恶意攻击
被动攻击
人为攻击
在以下人为的恶意攻击行为中属于主动攻击的是________
身份假冒
数据窃听
数据流分析
非法访问
有关主动攻击和被动攻击下列说法错误的是
安全攻击可以分为被动攻击和主动攻击两种
主动攻击很难预防,但可以对攻击进行检测
被动攻击难以检测,但是可以防止
主动攻击的特点是偷听或监视传送
在以下人为的恶意攻击行为中属于主动攻击的是________
身份假冒
数据窃听
流量分析
非法访问
在以下人为的恶意攻击行为中属于主动攻击的是________
身份假冒
数据窃听
流量分析
非法访问
OSIOpenSystemInterconnection安全体系方案X.800将安全性攻击分为两类即
伪装
消息泄漏
重放
拒绝服务
从攻击方式区分攻击类型可分为被动攻击和主动攻击被动攻击难以然而这些攻击是可行的主动攻击难以然而这些攻
阻止,检测,阻止,检测
检测,阻止,检测,阻止
检测,阻止,阻止,检测
上面3项都不是
有关主动攻击和被动攻击下列的说法中错误的是
在X.800中将安全攻击分为两类:主动攻击和被动攻击
信息内容泄露和流量分析就是两种被动攻击
主动攻击分为伪装、重放、消息篡改和分布式拒绝服务
相比较而言,被动攻击更难以检测、难以预防
热门试题
更多
阅读下列说明回答问题1和问题2将解答填入对应栏内 [说明] 0-1背包问题可以描述为有n个物品i=12…n第i个物品价值为vi重量为wivi和wi为非负数背包容量为WW为非负数选择其中一些物品装入背包使装入背包物品的总价值最大即且总重量不超过背包容量即其中xi∈01xi=0表示第i个物品不放入背包xi=1表示第i个物品放入背包 [问题1] 用回溯法求解此0-1背包问题请填充伪代码中的空缺1~4 回溯法是一种系统的搜索方法在确定解空间后回溯法从根结点开始按照深度优先策略遍历解空间树搜索满足约束条件的解对每一个当前结点若扩展该结点已经不满足约束条件则不再继续扩展为了进一步提高算法的搜索效率往往需要设计一个限界函数判断并剪枝那些即使扩展了也不能得到最优解的结点现在假设已经设计了BOUNDvwkw函数其中vwk和W分别表示当前已经获得的价值当前背包的重量已经确定是否选择的物品数和背包的总容量对应于搜索树中的某个结点该函数值表示确定了部分物品是否选择之后对剩下的物品在满足约束条件的前提下进行选择可能获得的最大价值若该价值小于等于当前已经得到的最优解则该结点无须再扩展 下面给出0-1背包问题的回溯算法伪代码 函数参数说明如下 W背包容量n物品个数w重量数组v价值数组fw获得最大价值时背包的重量fp背包获得的最大价值X问题的最优解 变量说明如下 cw当前的背包重量cp当前获得的价值k当前考虑的物品编号Y当前已获得的部分解 BKNAPWnwvfwfpX 1cw←cp←0 21 3fp←-1 4Whiletrue 5whilek≤nandcw+w[k]≤Wdo 62 7cp←cp+v[k] 8Y[k]←1 9k←k+1 10ifk>nthen 11iffp<cpthen 12fp←cp 13fw←cw 14k←n 15X←Y 16elseYk←0 17whileBOUNDcpcwkW≤fpdo 18whilek≠0andYk≠1do 193 20ifk=0thenreturn 21Y[k]←0 22cw←cw←w[k] 23cp←cp←v[k] 244 [问题2] 考虑表21-3所示的实例假设有3个物品背包容量为22图21-12是根据上述算法构造的搜索树其中结点的编号表示搜索树生成的顺序边上的数字I/O分别表示选择/不选择对应物品除了根结点之外每个左孩子结点旁边的上下两个数字分别表示当前背包的重量和已获得的价值右孩子结点旁边的数字表示扩展了该结点后最多可能获得的价值为获得最优解应该选择物品5获得的价值为6 对于表21-3所示的实例若采用穷举法搜索整个解空间则搜索树的结点数为7而采用上述的回溯法搜索树的结点数为8 8处填
[说明] 考务处理系统具有如下功能 1对考生送来的报名单进行检查 2对合格的报名单编好准考证号后将准考证送给考生并将汇总后的考生名单送给阅卷 3对阅卷站送来的成绩清单进行检查并根据考试中心制订的合格标准审定合格者 4制作考生通知单送给考生 5进行成绩分类统计按地区年龄文化程度职业考试级别等分类和试题难度分析产生统计分析表 以下是经分析得到的数据流图及部分数据字典有些地方有待填充假定项层数据流图是正确的图1是顶层数据流图图2是第0层数据流图图3是第1层数据流图其中A是加工1的子图B是加工2的子图 图1 图2 图3 [数据字典] 报名单=地区+序号+姓名+性别+年龄+文化程度+职业+考试级别+通信地址 正式报名单=报名单+准考证号 准考证=地区+序号+姓名+准考证号+考试级别 考生名单=准考证号+考试级别 统计分析表=分类统计表+难度分析表 考生通知单=考试级别+准考证号+姓名+合格标志+通信地址 根据题意指出加工2子图图3B中缺失的数据流的名称并指出该数据流的起点和终点加工2子图图3中有一条数据流是错误的请指出这条数据流的起点和终点
[说明]图书管理系统旨在用计算机对图书进行管理包括图书的购入借阅归还以及注销管理人员可以查询某位读者某种图书的借阅情况还可以对当前图书借阅情况进行一些统计给出统计表格以便掌握图书的流通情况系统要实现以下四方面的功能购入新书读者借书读者还书以及图书注销1购入新书需要为该书编制图书卡片包括分类目录号图书流水号要保证每本书都有唯一的流水号即使同类图书也是如此书名作者内容摘要价格和购书日期等信息写入图书目录文件中2读者借书填写借书单包括读者号欲借图书分类目录号系统首先检查该读者号是否有效若无效则拒绝借书否则进一步检查该读者所借图书是否超过最大限制数若已达到最大借阅数则拒绝借书否则读者可以借出该书登记图书分类目录号图书流水号读者号和借阅日期等写回到借书文件中去3读者还书根据图书流水号从借书占文件中读出和该图书相关的借阅记录表明还书日期再写回借书文件中如果图书逾期未还则处以相应罚款4图书注销将一些过时或无保留价值的图书注销从图书文件中删除相关记录5流通查询管理员可以对图书流通情况进行查询包括某位读者某种图书和全局图书给出流通情况统计表以下是经分析得到的数据流图及部分数据字典有些地方有待填充假定顶层数据流图是正确的图1是顶层数据流图图2是第0层数据流图图3是第1层数据流图图1图2图3[数据字典]1数据流条目图书管理要求=[入库单|借书单|还书单|注销单]入库单=分类目录号+数量+书名+作者+内容摘要+价格+购书日期借书单=读者号+d+借阅日期还书单=e+还书日期2文件说明文件名目录文件组成分类目录号+书名+作者+内容摘要+价格+入库日期+总数+库存数+f根据题意指出数据流图中缺失的数据流a的名称并指出该数据流的起点
[说明]某大型旅店为了便于管理欲开发一个客房管理系统希望实现客房预定入住登记帐务结算退房以及将服务项目记入客人帐单旅客包括散客和团体散客预定或入住时需要提供姓名性别身份证和联系电话团体则提供团体名称负责人的姓名性别身份证和联系电话以及团体人数对于散客还要提供换房旅店还提供了很多服务项目比如早餐对每一个入住客人服务列表记录了住宿期间的各项服务包括服务类型日期数量等当然客人也可以不要任何服务旅店的客房有一个唯一的房间号分为不同的类别不同的房间床位数和价格不同为了有效的管理需要记录每天的客房状态客房的状态有空闲占用已预定和维修·客人入住后客房处于占用状态·客人退房后客房处于空闲状态·客人预定后客房处于已预定状态·预定客人入住后客房处于占用状态·预定客人取消预定后客房处于空闲状态·需要维修时客房处于维修状态·维修完成后客房处于空闲状态该系统采用面向对象方法开发系统中的类以及类之间的关系用UML类图表示图1是该系统的类图的一部分图2描述了客房状态的转变情况图1图2请用图1的属性和方法的名称给出客人类的属性和方法注意团体类中的负责人姓名等与散客的对应属性含义相同不必区分
阅读下列说明回答问题1和问题2将解答填入对应栏内 [说明] 0-1背包问题可以描述为有n个物品i=12…n第i个物品价值为vi重量为wivi和wi为非负数背包容量为WW为非负数选择其中一些物品装入背包使装入背包物品的总价值最大即且总重量不超过背包容量即其中xi∈01xi=0表示第i个物品不放入背包xi=1表示第i个物品放入背包 [问题1] 用回溯法求解此0-1背包问题请填充伪代码中的空缺1~4 回溯法是一种系统的搜索方法在确定解空间后回溯法从根结点开始按照深度优先策略遍历解空间树搜索满足约束条件的解对每一个当前结点若扩展该结点已经不满足约束条件则不再继续扩展为了进一步提高算法的搜索效率往往需要设计一个限界函数判断并剪枝那些即使扩展了也不能得到最优解的结点现在假设已经设计了BOUNDvwkw函数其中vwk和W分别表示当前已经获得的价值当前背包的重量已经确定是否选择的物品数和背包的总容量对应于搜索树中的某个结点该函数值表示确定了部分物品是否选择之后对剩下的物品在满足约束条件的前提下进行选择可能获得的最大价值若该价值小于等于当前已经得到的最优解则该结点无须再扩展 下面给出0-1背包问题的回溯算法伪代码 函数参数说明如下 W背包容量n物品个数w重量数组v价值数组fw获得最大价值时背包的重量fp背包获得的最大价值X问题的最优解 变量说明如下 cw当前的背包重量cp当前获得的价值k当前考虑的物品编号Y当前已获得的部分解 BKNAPWnwvfwfpX 1cw←cp←0 21 3fp←-1 4Whiletrue 5whilek≤nandcw+w[k]≤Wdo 62 7cp←cp+v[k] 8Y[k]←1 9k←k+1 10ifk>nthen 11iffp<cpthen 12fp←cp 13fw←cw 14k←n 15X←Y 16elseYk←0 17whileBOUNDcpcwkW≤fpdo 18whilek≠0andYk≠1do 193 20ifk=0thenreturn 21Y[k]←0 22cw←cw←w[k] 23cp←cp←v[k] 244 [问题2] 考虑表21-3所示的实例假设有3个物品背包容量为22图21-12是根据上述算法构造的搜索树其中结点的编号表示搜索树生成的顺序边上的数字I/O分别表示选择/不选择对应物品除了根结点之外每个左孩子结点旁边的上下两个数字分别表示当前背包的重量和已获得的价值右孩子结点旁边的数字表示扩展了该结点后最多可能获得的价值为获得最优解应该选择物品5获得的价值为6 对于表21-3所示的实例若采用穷举法搜索整个解空间则搜索树的结点数为7而采用上述的回溯法搜索树的结点数为8 4处填
[说明]有个关于运动会的管理系统在该系统中委员会为每一个参赛的运动员赋以一个唯一的编号运动员号同时记录姓名性别年龄和队名姓名和队名必须填写一个运动员属于且只属于一个队一个运动员可以参赛多个项目运动员参加比赛取得一个成绩相应有一个积分第一名积分6分第二名积分4分第三名积分2分其他的没有积分一个队的总积分是该队的所有队员的积分之和下图是该系统的E-R图图中的实体和属性同时给出了中英文两种名字回答问题时只需写出英文名即可创建Athlete表时ANo使用CHAR6并且唯一AName使用CHAR20ASex使用CHAR1ATeam使用CHAR20请在下列用于创建表Athelete的SQL语句空缺处填入正确的内容CREATETABLEAthleteANoCHAR6NOTNULLANameCHAR20ASexCHAR1ATeamCHAR20NOTNULL______;
[说明] 现要编写一个画矩形的程序目前有两个画图程序DP1和DP2DP1用函数draw_a_linex1y1x2y2画一条直线DP2则用drawlinex1x2y1y2画一条直线当实例化矩形时确定使用DP1还是DP2 为了适应变化包括“不同类型的形状”和“不同类型的画图程序”将抽象部分与实现部分分离使它们可以独立地变化这里“抽象部分”对应“形状”“实现部分”对应“画图”与一般的接口抽象方法与具体实现不同这种应用称为Bridge桥接模式图显示了各个类间的关系 这样系统始终只处理3个对象Shape对象Drawing对象DP1或DP2对象以下是JAVA语言实现能够正确编译通过 [Java代码] //DP1.jav__件 publicclassDP1 staticpublicvoiddraw_a_linedoublex1doubley1 doublex2doubley2 //省略具体实现 //DP2.jav__件 publicclassDP2staticpublicvoiddrawlinedoublex1doubley1 doublex2doubley2 //省略具体实现 //mrawing.jav__件 ______publicclassDrawing abstractpublicvoiddrawLinedoublex1doubley1doublex2doubley2; //VlDrawing.jav__件 publicclassVlDrawingextendsDrawing publicvoiddrawLinedoublex1doubley1doublex2doubley2 DP1.draw_a_linex1y1x2y2; //V2Drawing.jav__件 publicclassV2DrawingextendsDrawing publicvoiddrawLinedoublex1doubley1 doublex2doubley2//画一条直线 ______; //Shape.jav__件 abstractpublicclassShape abstractpublicvoiddraw; private_______dp; ShapeDrawingdp _dp=dp; protectedvoiddrawLinedoublex1doubley1 doublex2doubley2 ______; //mectangle.jav__件 publicclassRectangleextendsShape privatedouble_x1_x2_y1_y2; publicRectangleDrawingdp doublex1doubley1 doublex2doubley2 ______; _x1=x1;_x2=x2; _y1=y1;_y2=y2; publicvoiddraw //省略具体实现
[说明]目前大多数操作系统都采用虚拟存储技术这样可在较小的可用内存中执行较大的用户程序可在内存中容纳更多程序并发执行引入虚拟存储技术其基本思想是利用大容量的外存来扩充内存产生一个比有限的实际空间大得多逻辑的虚拟内存空间以便能够有效地支持多道程序系统的实现和大型程序运行的需要从而增强系统的处理能力虚拟存储技术主要分为虚拟页式存储管理和虚拟段式存储管理虚拟页式存储管理中在进程开始运行之前不是装入全部页面而是装入一个或零个页面之后根据进程运行的需要动态装入其他页面当内存空间已满而又需要装入新的页面时则根据某种算法淘汰某个页面以便装入新的页面在简单页式存储管理的基础上增加请求调页和页面置换功能使用虚拟页式存储管理时需要在页表中增加以下内容页号驻留号内存块号外存地址访问位修改位其中驻留位又称中断位表示该页是在内存还是在外存访问位表示该页在内存期间是否被访问过修改位表示该页在内存中是否被修改过访问位和修改位可以用来决定置换哪个页面具体由页面置换算法决定简述Belady异常
[说明]下面给出的是某房产管理系统的一套分层数据流图其功能描述如下1系统随时根据住房送来的入住单更新住户基本信息文件2每月初系统根据物业管理委员会提供的月附加费例如清洁费保安费大楼管理费等表和房租调整表计算每家住户的月租费包括月附加费向住户发出交费通知单住户交费时系统输入交费凭证核对后输出收据给住户3系统定期向物业管理委员会提供住房分配表和交费情况表4住户因分户或换房在更新住户基本信息文件的同时系统应立即对这些住户做月租费计算以了结分户或换房前的房租以下是经分析得到的数据流图及部分数据字典有些地方有待填充假定顶层数据流图是正确的图1是顶层数据流图图2是第0层数据流图图3是第1层数据流图其中A是加工1的细化图B是加工2的细化图假定题中提供的顶层图是正确的请回答下列问题图1图2图3指出在哪些图中遗漏了哪些数据流回答时请用如下形式之一1××图中遗漏了××加工或文件流向××加工或文件的××数据流2××图中加工××遗漏了输入或输出数据流××
[说明]操作系统中死锁Deadlock是指多个进程在运行的过程中因争夺资源而造成的一种僵局当进程处于这种僵持状态时若无外力作用它们都将无法再向前推进面对死锁问题有两个解决方案预防死锁和避免死锁预防死锁是一种较简单和直观的事先预防方法该方法是通过设置某些限制条件去破坏产生死锁的四个必要条件中的一个或多个以此来预防死锁的发生预防死锁由于较易实现已被广泛应用但由于所施加的限制条件往往太严格可能会导致系统资源利用率和系统吞吐量的降低避免死锁同样是属于事先预防的策略但它无须事先采取各种限制措施去破坏产生死锁的四个必要条件而是在资源分配过程中用某种方法去防止系统进入不安全状态从而避免发生死锁银行家算法Banker’salgorithm是Dijkstra于1965年提出的一个经典的避免死锁的算法形象地描述银行发放贷款不能使有限可用资金匮乏而导致整个银行无法运转的思路也就是说每次请求贷款银行要考虑他能否凭着贷款完成项目并还清贷款使银行运转正常令Requesti是进程Pi请求向量如果Requesti[j]=k则进程Pi希望请求j类资源k个具体算法步骤如下1如果Requesti>Needi则出错请求量超过申报的最大量否则转到22如果Requesti>Available则Pi等待否则转33系统对Pi所请求的资源实施试探分配并更改数据结构中的数值4Available=Available-Requesti:Allocationi=Allocationi+Requesti;Needi=Needi-Requesti;5执行安全性算法如果是安全的则承认试分配否则废除试分配让进程Pi继续等待所谓系统是安全的是指系统中的所有进程能够按照某一种次序分配资源并且依次运行完成这种进程序P1P2Pn就是安全序列如果存在这样一个安全序列则系统是安全的如果系统不存在这样一个安全序列则系统是不安全的设系统中有三种类型的资源ABC和五个进程P0P1P2P3P4某时刻的资源分配状态如表所示给出该时刻存在的一个安全序列AllocationMaxAvailableABCABCP0010753P1302322ABCP2302902230p3211222P4002433
[说明]在多道程序系统中各个程序之间是并发执行的共享系统资源CPU需要在各个运行的程序之间来回地切换这样的话要想描述这些多道的并发活动过程就变得很困难为此操作系统设计者提出了进程的概念进程是具有独立功能的程序关于某个数据集合上的一次动态执行过程是系统进行资源分配和调度的独立单位如果单CPU系统中有N个进程运行的进程最多几个最少几个就绪进程最多几个最少几个等待进程最多几个最少几个
[说明]某大型旅店为了便于管理欲开发一个客房管理系统希望实现客房预定入住登记帐务结算退房以及将服务项目记入客人帐单旅客包括散客和团体散客预定或入住时需要提供姓名性别身份证和联系电话团体则提供团体名称负责人的姓名性别身份证和联系电话以及团体人数对于散客还要提供换房旅店还提供了很多服务项目比如早餐对每一个入住客人服务列表记录了住宿期间的各项服务包括服务类型日期数量等当然客人也可以不要任何服务旅店的客房有一个唯一的房间号分为不同的类别不同的房间床位数和价格不同为了有效的管理需要记录每天的客房状态客房的状态有空闲占用已预定和维修·客人入住后客房处于占用状态·客人退房后客房处于空闲状态·客人预定后客房处于已预定状态·预定客人入住后客房处于占用状态·预定客人取消预定后客房处于空闲状态·需要维修时客房处于维修状态·维修完成后客房处于空闲状态该系统采用面向对象方法开发系统中的类以及类之间的关系用UML类图表示图1是该系统的类图的一部分图2描述了客房状态的转变情况图1图2根据题意请指出图2中状态AB分别是什么状态事件CD分别是什么事件
阅读下列说明和C代码回答问题1至问题3将解答写在对应栏内 [说明] 堆数据结构定义如下 对于n个元素的关键字序列a1a2…an当且仅当满足下列关系时称其为堆 在一个堆中若堆顶元素为最大元素则称为大顶堆若堆顶元素为最小元素则称为小顶堆堆常用完全二叉树表示图21-16是一个大顶堆的例子 堆数据结构常用于优先队列中以维护由一组元素构成的集合对应于两类堆结构优先队列也有最大优先队列和最小优先队列其中最大优先队列采用大顶堆最小优先队列采用小顶堆以下考虑最大优先队列 假设现已建好大顶堆A且已经实现了调整堆的函数heapifyAnindex 对C代码中需要完善的3个函数说明如下 1heapMaximumA返回大顶堆A中的最大元素 2heapExtractMaxA去掉并返回大项堆A的最大元素将最后一个元素“提前”到堆顶位置并将剩余元素调整成大顶堆 3maxHeapInsertAkey把元素key插入到大顶堆A的最后位置再将A调整成大顶堆 优先队列采用顺序存储方式其存储结构定义如下 #definePARENTii/2 typedefstructarray int*int_arrav//优先队列的存储空间首地址 intarray_size//it先队列的长度 intcapacity//优先队列存储空间的容量 ARRAY [C代码] 1函数heapMaximum intheapMaximumARRAY*Areturn1 2函数heapExtractMax intheapExtractMaxARRAY*A intmax max=A->int_array[0] 2 A->array_size-- heapifyAA->array_size0//将剩余元素调整成大顶堆 returnmax 3函数maxHeapInsert intmaxHeapInsertARRAY*Aintkey inti*p ifA->array_size==A->capacity//存储空间的容量不够时扩充空间 p=int*reallocA->int_arrayA->capacity*2*sizeofint if!preturn-1 A->int_array=p A->capacity=2*A->capacity A->array_size++ i=3 whilei>0&&4 A->int_array[i]=A->int_array[PARENTi] i=PARENTi 5 return0 根据以上说明和C代码填充C代码中的空1~5
[说明] 考务处理系统具有如下功能 1对考生送来的报名单进行检查 2对合格的报名单编好准考证号后将准考证送给考生并将汇总后的考生名单送给阅卷 3对阅卷站送来的成绩清单进行检查并根据考试中心制订的合格标准审定合格者 4制作考生通知单送给考生 5进行成绩分类统计按地区年龄文化程度职业考试级别等分类和试题难度分析产生统计分析表 以下是经分析得到的数据流图及部分数据字典有些地方有待填充假定项层数据流图是正确的图1是顶层数据流图图2是第0层数据流图图3是第1层数据流图其中A是加工1的子图B是加工2的子图 图1 图2 图3 [数据字典] 报名单=地区+序号+姓名+性别+年龄+文化程度+职业+考试级别+通信地址 正式报名单=报名单+准考证号 准考证=地区+序号+姓名+准考证号+考试级别 考生名单=准考证号+考试级别 统计分析表=分类统计表+难度分析表 考生通知单=考试级别+准考证号+姓名+合格标志+通信地址 根据题意指出0层数据流图图2中缺失的数据流的名称并指出该数据流的起点和终点
[说明]某供销系统接受顾客的订货单当库存中某配件的数量小于订购量或库存量低于一定数量时向供应商发出采货单当某配件的库存量大于或等于订购量时或者收到供应商的送货单时并更新了库存后向顾客发出提货单该系统还可随时向总经理提供销售和库存情况表以下是经分析得到的数据流图及部分数据字典有些地方有待填充假定顶层数据流图是正确的图1是顶层数据流图图2是第0层数据流图图3是第1层数据流图其中A是加工1的子图B是加工2的子图图1图2图3[数据字典]1数据流条目订货单=配件号+配件名+规格+数量+顾客名+地址提货单=订货单+金额采货单=配件号+配件名+规格+数量+供应商名+地址送货单=配件号+配件名+规格+数量+金额2文件说明文件名配件库存组成配件号+配件名+规格+数量+允许的最低库存量根据题意指出图3A中缺失的数据流的名称并指出该数据流的起点和终点
阅读下列说明和C代码回答问题1至问题3将解答写在对应栏内 [说明] 堆数据结构定义如下 对于n个元素的关键字序列a1a2…an当且仅当满足下列关系时称其为堆 在一个堆中若堆顶元素为最大元素则称为大顶堆若堆顶元素为最小元素则称为小顶堆堆常用完全二叉树表示图21-16是一个大顶堆的例子 堆数据结构常用于优先队列中以维护由一组元素构成的集合对应于两类堆结构优先队列也有最大优先队列和最小优先队列其中最大优先队列采用大顶堆最小优先队列采用小顶堆以下考虑最大优先队列 假设现已建好大顶堆A且已经实现了调整堆的函数heapifyAnindex 对C代码中需要完善的3个函数说明如下 1heapMaximumA返回大顶堆A中的最大元素 2heapExtractMaxA去掉并返回大项堆A的最大元素将最后一个元素“提前”到堆顶位置并将剩余元素调整成大顶堆 3maxHeapInsertAkey把元素key插入到大顶堆A的最后位置再将A调整成大顶堆优先队列采用顺序存储方式其存储结构定义如下#definePARENTii/2typedefstructarrayint*int_arrav//优先队列的存储空间首地址intarray_size//it先队列的长度intcapacity//优先队列存储空间的容量 ARRAY [C代码] 1函数heapMaximum intheapMaximumARRAY*Areturn1 2函数heapExtractMax intheapExtractMaxARRAY*A intmax max=A->int_array[0] 2 A->array_size-- heapifyAA->array_size0//将剩余元素调整成大顶堆 returnmax 3函数maxHeapInsert intmaxHeapInsertARRAY*Aintkey inti*p ifA->array_size==A->capacity//存储空间的容量不够时扩充空间 p=int*reallocA->int_arrayA->capacity*2*sizeofint if!preturn-1 A->int_array=p A->capacity=2*A->capacity A->array_size++ i=3 whilei>0&&4 A->int_array[i]=A->int_array[PARENTi] i=PARENTi 5 return0 若将元素10插入到堆A=<151395128740621>中调用maxHeapInsert函数进行操作则新插入的元素在堆A中第个位置从1开始
[说明]图书管理系统旨在用计算机对图书进行管理包括图书的购入借阅归还以及注销管理人员可以查询某位读者某种图书的借阅情况还可以对当前图书借阅情况进行一些统计给出统计表格以便掌握图书的流通情况系统要实现以下四方面的功能购入新书读者借书读者还书以及图书注销1购入新书需要为该书编制图书卡片包括分类目录号图书流水号要保证每本书都有唯一的流水号即使同类图书也是如此书名作者内容摘要价格和购书日期等信息写入图书目录文件中2读者借书填写借书单包括读者号欲借图书分类目录号系统首先检查该读者号是否有效若无效则拒绝借书否则进一步检查该读者所借图书是否超过最大限制数若已达到最大借阅数则拒绝借书否则读者可以借出该书登记图书分类目录号图书流水号读者号和借阅日期等写回到借书文件中去3读者还书根据图书流水号从借书占文件中读出和该图书相关的借阅记录表明还书日期再写回借书文件中如果图书逾期未还则处以相应罚款4图书注销将一些过时或无保留价值的图书注销从图书文件中删除相关记录5流通查询管理员可以对图书流通情况进行查询包括某位读者某种图书和全局图书给出流通情况统计表以下是经分析得到的数据流图及部分数据字典有些地方有待填充假定顶层数据流图是正确的图1是顶层数据流图图2是第0层数据流图图3是第1层数据流图图1图2图3[数据字典]1数据流条目图书管理要求=[入库单|借书单|还书单|注销单]入库单=分类目录号+数量+书名+作者+内容摘要+价格+购书日期借书单=读者号+d+借阅日期还书单=e+还书日期2文件说明文件名目录文件组成分类目录号+书名+作者+内容摘要+价格+入库日期+总数+库存数+f根据题意补充数据字典中def处的空缺
阅读下列说明回答问题1和问题2将解答填入对应栏内 [说明] 0-1背包问题可以描述为有n个物品i=12…n第i个物品价值为vi重量为wivi和wi为非负数背包容量为WW为非负数选择其中一些物品装入背包使装入背包物品的总价值最大即且总重量不超过背包容量即其中xi∈01xi=0表示第i个物品不放入背包xi=1表示第i个物品放入背包 [问题1] 用回溯法求解此0-1背包问题请填充伪代码中的空缺1~4 回溯法是一种系统的搜索方法在确定解空间后回溯法从根结点开始按照深度优先策略遍历解空间树搜索满足约束条件的解对每一个当前结点若扩展该结点已经不满足约束条件则不再继续扩展为了进一步提高算法的搜索效率往往需要设计一个限界函数判断并剪枝那些即使扩展了也不能得到最优解的结点现在假设已经设计了BOUNDvwkw函数其中vwk和W分别表示当前已经获得的价值当前背包的重量已经确定是否选择的物品数和背包的总容量对应于搜索树中的某个结点该函数值表示确定了部分物品是否选择之后对剩下的物品在满足约束条件的前提下进行选择可能获得的最大价值若该价值小于等于当前已经得到的最优解则该结点无须再扩展 下面给出0-1背包问题的回溯算法伪代码 函数参数说明如下 W背包容量n物品个数w重量数组v价值数组fw获得最大价值时背包的重量fp背包获得的最大价值X问题的最优解 变量说明如下 cw当前的背包重量cp当前获得的价值k当前考虑的物品编号Y当前已获得的部分解 BKNAPWnwvfwfpX 1cw←cp←0 21 3fp←-1 4Whiletrue 5whilek≤nandcw+w[k]≤Wdo 62 7cp←cp+v[k] 8Y[k]←1 9k←k+1 10ifk>nthen 11iffp<cpthen 12fp←cp 13fw←cw 14k←n 15X←Y 16elseYk←0 17whileBOUNDcpcwkW≤fpdo 18whilek≠0andYk≠1do 193 20ifk=0thenreturn 21Y[k]←0 22cw←cw←w[k] 23cp←cp←v[k] 244 [问题2] 考虑表21-3所示的实例假设有3个物品背包容量为22图21-12是根据上述算法构造的搜索树其中结点的编号表示搜索树生成的顺序边上的数字I/O分别表示选择/不选择对应物品除了根结点之外每个左孩子结点旁边的上下两个数字分别表示当前背包的重量和已获得的价值右孩子结点旁边的数字表示扩展了该结点后最多可能获得的价值为获得最优解应该选择物品5获得的价值为6 对于表21-3所示的实例若采用穷举法搜索整个解空间则搜索树的结点数为7而采用上述的回溯法搜索树的结点数为8 6处填
[说明]银行的自动柜员机ATM的功能描述如下1金融卡与信用卡识别包含伪卡识别以及密码验证2主菜单项这是一台ATM最主要的人机界面提供各项功能给客户具体有提款转帐更改密码以及存款3结束操作客户执行完菜单项的功能后可以选择打印单据或不打印单据选好后就结束此次交易注意ATM除了能处理本行的银行卡外其他银行的银行卡也应该能处理通过金融中心与其他银行主机进行数据交换另外为了方便ATM还提供快捷提款并提供代交费功能代交费是以转帐的方式处理的该系统采用面向对象方法开发系统中的类以及类之间的关系用UML类图表示ATM机有如下状态空闲银行卡验证业务选择等待取款金额输入密码修改出钞单据打印ATM机一般处于空闲状态当有客户插入银行卡则进行银行卡验证若银行卡无效则结束服务否则进入业务选择等待业务有取款修改密码等也可以选择退出结束服务ATM返回空闲状态选择取款业务后等待取款金额输入确认后判断余额是否足够若余额不足则给出提示信息并进入业务选择等待若余额充足则出钞若客户需要打印单据则进入单据打印状态否则返回业务选择等待选择任意一个业务后可以取消返回业务选择等待图2描述了ATM状态的转变情况[*]图2请指出判定A转换B及状态C分别是什么
[说明] 图1是某医院组织的结构图该医院分为多个病区每个病区有一个唯一的编号一个病区包括多个病房多名医生每位医生有一个唯一的编号负责管辖其主治病人的所有病房病人住院后给以一个唯一的编号根据“患何病科”住在相应病区的某个病房里有且仅有一位医生担任主治医生除主治医生外其他医生不对其负责 现假定病区名称有“内科”和“外科”“内科”病区又细分为多个病区以编号区分名称都为“内科”“外科”病区亦然图2是经分析得到的E-R图 图1 图2 层次模型不能直接表示多对多联系为什么可采用哪些方法进行多对多联系的表示
[说明] 移动电话是传统固定式电话的延伸通过无线电网络可以与千里之外的朋友沟通而不受电话线的束缚现在的移动电话功能更全面除了作为电话使用外还可以发送短信可以管理电话簿可以下载铃声图案 手机由键盘显示屏以及移动通信设备组成移动通信设备负责发送和接收信号与基站进行连线打电话的流程如下 1用户拨电话号码每按下一个数字键显示屏上显示相应数字 2按OK键进行连线显示屏上显示“连线中…”请连接基站基站通过移动电话网络连接到对方手机若有误则返回相关信息 3接通后显示屏显示“连线成功” 4打电话结束后按Cancel送出断线信号通知移动电话基站断线基站切断连接显示屏显示“断线成功” 该系统采用面向对象方法开发系统中的类以及类之间的关系用UML类图表示图1是该系统的用例图图2是该系统的类图图3描述了打电话包括断开的序列图 图1 图2 图3 根据题意用题中及类图中提供的术语指出图3所示的打电话序列图中的消息A~D
阅读下列说明和C代码回答问题1至问题3将解答写在对应栏内 [说明] 对有向图进行拓扑排序的方法如下 1初始时拓扑序列为空 2任意选择一个入度为0的顶点将其放入拓扑序列中同时从图中删除该顶点以及从该顶点出发的弧 3重复2直到不存在入度为0的顶点为止若所有顶点都进入拓扑序列则完成拓扑排序否则由于有向图中存在回路无法完成拓扑排序 函数int*TopSortLinkedDigraphG的功能是对有向图G中的顶点进行拓扑排序返回拓扑序列中的顶点编号序列若不能完成拓扑排序则返回空指针其中图G中的项点从1开始依次编号顶点序列为v1v2…vn图G采用邻接表表示其数据类型定义如下 #defineMAXVNUM50/*最大顶点数*/ typedefstructArcNode/*表结点类型*/ intadjvex/*邻接顶点编号*/ StructArcNode*nextarc/*指示下一个邻接顶点*/ ArcNode typedefstructAdjList/*头结点类型*/ charvdata/*顶点的数据信息*/ ArcNode*firstarc/*指向邻接表的第一个表结点*/ AdjList typedefstructLinkedDigraph/*图的类型*/ intn/*图中顶点个数*/ AdjListVhead[MAXVNUM]/*所有顶点的头结点数组*/ LinkedDigraph 例如某有向图G如图21-13所示其邻接表如图21-14所示 函数TopSort中用到了队列结构Queue的定义省略实现队列基本操作的函数原型如表21-4所示 [C代码] int*TopSortLinkedDigraphG ArcNode*p/*临时指针指示表结点*/ QueueQ/*临时队列保存入度为0的顶点编号*/ intk=0/*临时变量用作数组元素的下标*/ intj=0w=0/*临时变量用作顶点编号*/ int*topOrder*inDegree topOrder=int*mallocG.n+1*sizeofint/*存储拓扑序列中的顶点编号*/ inDegree=int*mallocG.n+1*siZeofint/*存储图G中各顶点的入度*/ if!inDegree||!topOrderreturnNULL 1/*构造一个空队列*/ forj=1j<=G.nj++/*初始化*/ topOrder[j]=0inDegree[j]=0 forj=1j<=G.nj++/*求图G中各顶点的入度*/ forp=G.Vhead[j].firstarcpp=p->nextarc inDegree[p->adjvex]+=1 forj=1j<=G.nj++/*将图G中入度为0的顶点保存在队列中*/ if0==inDegree[j]EnQueue&Qj while!IsEmptyQ 2/*队头顶点出队列并用W保存该顶点的编号*/ topOrder[k++]=w /*将顶点w的所有邻接顶点的入度减1模拟删除顶点W及从该顶点出发的弧的操作*/ forp=G.Vhead[w].firstarepp=p->nextarc 3-=1 if0==4EnQueue&Qp->adjvex /*for*/ /*while*/ freeinDegree if5 returnNULL returntopOrder /*TopSort*/ 对于图21-13所示的有向图G写出函数TopSort执行后得到的拓扑序列若将函数TopSort中的队列改为栈写出函数TopSort执行后得到的拓扑序列
[说明] 图1是某医院组织的结构图该医院分为多个病区每个病区有一个唯一的编号一个病区包括多个病房多名医生每位医生有一个唯一的编号负责管辖其主治病人的所有病房病人住院后给以一个唯一的编号根据“患何病科”住在相应病区的某个病房里有且仅有一位医生担任主治医生除主治医生外其他医生不对其负责 现假定病区名称有“内科”和“外科”“内科”病区又细分为多个病区以编号区分名称都为“内科”“外科”病区亦然图2是经分析得到的E-R图 图1 图2 选出正确的关系代数表达式查询所有外科病区和内科病区的所有医生姓名
[说明]现有一个显示系统要显示的图形有线Line矩形Square抽象出一个Shape类接口有方法显示display需要新增图形Circle又已知有类XXCircle实现了所需要实现的功能显示displayIt为了继承自Shape以提供统一接品又不希望从头开发代码希望使用XXCircle这样将XXCircle作为Circle的一个属性即Circle的对象包含一个XXCircle对象当一个Circle对象被实例化时它必须实例化一个相应的XXCircle对象当Circle对象收到的做任何事的请求都将转发给这个XXCircle对象通过这种称为Adapter模式Circle对象就可以通过让XXCircle做实际工作来表现自己的行为了图显示了各个类间的关系以下是C++语言实现能够正确编译通过[C++代码]classShapepublic:______voiddisplay=0;;classLine:publicShape//省略具体实现;classSquare:publicShape//省略具体实现;classXXCirclepublic:voiddisplayIt//省略具体实现//省略其余方法和属性;classCircle:publicShapeprivate:XXCircle*pxc;public:Circle;voiddisplay;;Circle∷Circlepxc=______;voidCircle∷displaypxc->______;classFactorypublic:______getShapeInstanceinttype//生成特定实例switchtypecase1:returnnewSquare;case2:returnnewLine;case3:returnnewCircle;default:returnNULL;;voidmainintargcchar*argv[]ifargc!=2cout<<errorparameters!<<end1;return;inttype=atoiargv[1];Factoryfactory;Shape*s=factory.______;ifs==NULLcout<<Errorgettheinstance!<<end1;return;s->display;deletes;return;
[说明]某学校的教学系统描述如下学生信息包括学号SNo姓名Sname性别Sex年龄Age入学年份Year主修专业Major其中学号是入学时唯一编定的课程信息包括课程号CNo课程名称CName学时Period学分Credit其中课程号是唯一编定的一个学生可选多门课每个学生选每门课有一个成绩图是经分析得到的E-R图如下的SQL语句是用于查询每个学生的选修课程数总成绩平均成绩的不完整语句请在空缺处填入正确的内容SELECTStudent.SNo______SUMGradeAVGGradeFROMStudentGradeWHEREStudent.SNo=Grade.SNoGROUPBY______;
[说明]很多时候希望某些类只有一个或有限的几个实例典型解决方案是所谓单身Singleton模式但在多线程情况下singleton模式有可能出现问题需要进行同步检查如果对检查Singleton对象是否已经创建进行同步则存在严重的瓶颈所有的线程都必须待检查对象是否存在解决方式是一种称为Double-Checked-Locking模式其意图是将非必须的锁定优化掉同步检查最多只发生一次因此不会成为瓶颈以下是Java语言实现能够正确编译通过[Java代码]publicclassUSTaxprivatestaticUSTaxinstance=null;______USTaxprivate______staticvoiddoSyncifinstance==nullSystem.out.println实例不存在创建实例...;instance=______;System.out.println实例创建成功;elseSystem.out.println实例已被创建了;publicstaticUSTaxgetInstanceifinstance==nullSystem.out.println实例暂时不存在;______;//同步控制elseSystem.out.println实例已经存在;return______;.
[说明]为网球比赛的选手安排比赛日程设有nn=2m位选手参加网球循环赛循环赛共进行n-1天每位选手要与其他n-1位选手赛一场且每位选于每天赛一场不轮空设n位选手被顺序编号为12n比赛的日程表是一个n行n-1列的表第i行j列的内容是第i号选手第j天的比赛对手用分治法设计日程表就是从其中一半选手2m-1位的比赛日程导出全体2m选手的比赛日程从众所周知的只有两位选手的比赛日程出发反复这个过程直至为n位选手安排好比赛日程为止如两位选手比赛日程表如下所示11221如四位选手比赛日程表如下所示1231234214334124321函数中使用的预定义符号如下#defineM64inta[M+1][M][函数]voidmaininttwom1twomijmk;printf指定n=2的k次幂位选手请输入k:/n;scanf*d&k;/*预设两位选手的比赛日程*/a[l][1]=2;a[2][1]=1;m=1;twoml=1;while______m++;twoml+=twoml;twom=twoml*2;/*为2^m位选手安排比赛日程*//*填日程表的左下角*/fori=twoml+i;______;i++forj=i;j<=twoml-i;j++a[i][j]=a[i-twoml][j]+twoml;/*填日程表的右上角*/a[1][twoml]=______;/*填日程表右上角的第1列*/fori=2;i<=twoml;i++a[i][twoml]=a[i-1][twoml]+i;/*填日程表右上角的其他列参照前一列填当前列+/forj=twoml+1;j<twom;j++fori=i;i<twoml;i++a[i][j]=______;a[twoml][j]=a[l][j-1];/*填日程表的右下角*/forj=twoml;j<twom;j++fori=i;i<=twoml;i++a[______][j]=i;/*输出日程表*/fori=i;i<=twom;i++forj=i;j<twom;j++printf%4da[i][j];printf/n;printf/n;
[说明]所谓货郎担问题是指给定一个无向图并已知各边的权在这样的图中要找一个闭合回路使回路经过图中的每一个点而且回路各边的权之和最小应用贪婪法求解该问题程序先计算由各点构成的所有边的长度作为边的权值按长度大小对各边进行排序后按贪婪准则从排序后的各边中选择组成回路的边贪婪准则使得边的选择按各边长度从小到大选择函数中使用的预定义符号如下#defineM100typedefstruct/为两端点p1p2之间的距离p1p2所组成边的长度*/floatx;intp1p2;tdr;typedefstruct/*p1p2为和端点相联系的两个端点n为端点的度*/intnp1p2;tr;typedefstruct/*给出两点坐标*/floatxy;tpd;typedefintt1[M];intn=10;[函数]floatdistancetpdatpdb;/*计算端点ab之间的距离*/voidsortArrtdra[M]intm;/*将已经计算好的距离关系表按距离大小从小到大排序形成排序表m为边的条数*/intisCircuittrr[M]intiintj;/*判断边iJ选入端点关系表r[M]后是否形成回路若形成回路返回0*/voidselectedtrr[M]intiintj;/*边iJ选入端点关系表r*/voidcoursetrr[M]t11[W];/*从端点关系表r中得出回路轨迹表*/voidexchangetdra[M]intmintb;/*调整表排序表b表示是否可调即是否有长度相同的边存在*/voidtravlingtpdpd[M]intnfloatdistt1locus[M]/*dist记录总路程*/tdrdr[M];/*距离关系表*/trr[M];/*端点关系表*/intijkhm;/*h表示选入端点关系表中的边数*/intb;/*标识是否有长度相等的边*/k=0;/*计算距离关系表中各边的长度*/fori=1;i<n;i++forj=i+1;j<=n;j++k++;dr[k].x=______;dr[k].p1=i;dr[k].p2=j;m=k;sortArrdrm;/*按距离大小从小到大排序形成排序表*/dob=i;dist=0;k=h=0;dok++;i=dr[k].p1;j=dr[k].p2;ifr[i].n<=1&&r[j].n<=1/*度数不能大于2*/if______/*若边ij加入r后形成回路则不能加入*/______;h++;dist+=dr[k].x;elseif______selectedrij;/*最后一边选入r成回路完成输出结果*/h++;dist+=dr[k].x;whilek!=n&&h!=n;ifh==n/*最后一边选入构成回路完成输出结果*/courserlocus;else/*找不到解调整dr交换表中边长相同的边在表中的顺序并将b置0*/______;while!b;
[说明]某学校的教学系统描述如下学生信息包括学号SNo姓名Sname性别Sex年龄Age入学年份Year主修专业Major其中学号是入学时唯一编定的课程信息包括课程号CNo课程名称CName学时Period学分Credit其中课程号是唯一编定的一个学生可选多门课每个学生选每门课有一个成绩图是经分析得到的E-R图设基本表StudentSNoSNameSexAgeYearMajorCourseCNoCnamePeriodCreditGradeSNoCNoGrade通过如下SQL语句建立请在SQLN句空缺处填入正确的内容CREATETABLEStudentSNoCHAR6NOTNULLSNameCHAR20SexCHAR1AgeINTEGERYearCHAR4MajorCHAR20______;CREATETABLECourseCNoCHAR6NOTNULLCNameCHAR20PeriodINTEGERCreditINTEGER______;CREATETABLEGradeSNoCHAR6NOTNULLCNoCHAR6NOTNULLGradeREAL__________________;
阅读下列说明和c代码回答问题1至问题3将解答写在对应栏内[说明]某应用中需要对100000个整数元素进行排序每个元素的取值在0~5之间排序算法的基本思想是对每一个元素x确定小于等于x的元素个数记为m将x放在输出元素序列的第m个位置对于元素值重复的情况依次放入第m-1m-2个位置例如如果元素值小于等于4的元素个数有10个其中元素值等于4的元素个数有3个则4应该在输出元素序列的第10个位置第9个位置和第8个位置上算法的具体步骤如下步骤1统计每个元素值的个数步骤2统计小于等于每个元素值的个数步骤3将输入元素序列中的每个元素放入有序的输出元素序列[C代码]下面是该排序算法的c语言实现1常量和变量说明R常量定义元素取值范围中的取值个数如上述应用中R值应取6i循环变量n待排序元素个数a输入数组长度为nb输出数组长度为nc辅助数组长度为R其中每个元素表示小于等于下标所对应的元素值的个数2函数sort1voidsortintninta[]intb[]2intc[R]i3fori=0i<1i++4c[i]=056fori=0i<ni++7c[a[i]]=289fori=1i<Ri++10c[i]=31112fori=0i<ni++13b[c[a[i]]-1]=414c[a[i]]=c[a[i]]-11516根据C代码函数的时间复杂度和空间复杂度分别为5和6用O符号表示
热门题库
更多
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术
电话交换专业技术