首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
有m个进程(P0,P1,…,Pm-1)通过n个缓冲区(B0,B1,…Bn-1)向1个进程(Q)发送数据包,每个数据包大小与缓冲区一样。要求:进程Q接收数据包的次序与发送次序一样。为保证发送进程与接收进...
查看本题答案
包含此试题的试卷
中级软件设计师《单选集》真题及答案
点击查看
你可能感兴趣的试题
以下程序中函数f的功能是在数组x的n个数假定n个数互不相同中找出最大最小数将其中最小的数与第一个数对
某系统中有一个缓冲区进程P1不断地生产产品送入缓冲区进程P2不断地从缓冲区中取产品消费假设该缓
-2
-1
0
1
三个进程P1P2P3互斥使用一个包含NN>0个单元的缓冲区 P1每次用produee生成一个正整数
某系统中有一个缓冲区进程P1不断地生产产品送入缓冲区进程P2不断地从缓冲区中取产品消费假设该缓
-2
-1
1
以下程序中函数f的功能是在数组x的n个数假定n个数互不相同中找出最大最小数将其中最小的数与第一个数对
以下程序中函数f的功能是在数组x的n个数假定n个数互不相同中找出最大数和最小数将其中最小的数与第一个
以下程序中函数f的功能是在数组x的n个数假定n个数互不相同中找出最大最小数将其中最小的数与第一个数对
三个进程P1P2P3互斥使用一个包含NN>0个单元的缓冲区P1每次用produce生成一个正整数并用
三个进程P1P2P3互斥使用一个包含NN>0个单元的缓冲区P1每次用produce生成一个正整数并用
三个进程P1P2P3互斥使用一个包含NN>0个单元的缓冲区P1每次用produce生成一个正整数并用
三个进程P1P2P3互斥使用一个包含NN>0个单元的缓冲区P1每次用produce生成一个正整数并用
以下程序中函数f的功能是在数组x的n个数假定n个数互不相同中找出最大最小数将其中最小的数语第一个数兑
某系统中有一个缓冲区进程P1不断地生产产品送入缓冲区进程P2不断地从缓冲区中取产品消费假设该缓
-2
-1
1
进行P0和P1的共享变量定义及其初值为booleanflag[2];intturn=0;flag[0
不能保证进程互斥进入临界区,会出现“饥饿”现象
不能保证进程互斥进入临界区,不会出现“饥饿”现象
能保证进程互斥进入临界区,会出现“饥饿”现象
能保证进程互斥进入临界区,不会出现“饥饿”现象
以下程序中函数f的功能是在数组x的n个数假定n个数互不相同中找出最大数和最小数将其中最小的数与第一个
三个进程P1P2P3互斥使用一个包含NN>0个单元缓冲区P1每次用prodLice生成一个正整数并用
三个进程P1P2P3互斥使用一个包含NN>0个单元的缓冲区P1每次用produce生成一个正整数并用
以下程序中函数f的功能是在数组x的n个数假定n个数互不相同小找出最大最小数将其中最小的数与第一个数对
生产者和消费者问题 有一组生产者P1P2PM和一组消费者C1C2CK他们通过 由n个环形缓冲区构成的
某系统中有一个缓冲区进程P1不断地生产产品送入缓冲区进程P2不断地从缓冲区取产品消费假设该缓冲区只能
-2
-1
1
热门试题
更多
[说明]下面代码实现类ABCD的继承定义和应用仔细阅读[代码5-1]在n处写出正确的运行结果[代码5-1]#include<iostream.h>classApublic:inta;Aintv1:av1//构造函数voiddispcout<<ainclassA=<<a<<endl;;classB:virtualpublicApublic:intb;Bintv1intv2:Av1bv2//构造函数voiddispcout<<ainclassB=<<a<<endlcout<<binclassB=<<b<<endl;;classC:virtualpublicApublic:intc;Cintv1intv2:Av1cv2//构造函数voiddispcout<<ainclassC=<<a<<endl;cout<<cinclassC=<<c<<endl;;classD:publicBpublicCpublic:intd;Dintv1intv2intv3intv4:Av1Bv1v2Cv1v3dv4//构造函数voiddispcout<<a=<<a<<endl;cout<<b=<<b<<endl;cout<<c=<<c<<endl;cout<<d=<<d<<endl;;voidmainDdemo10203040;demo.disp;[运行结果]a=1b=2c=3d=4
【说明】公司IT部门决定开发一个计算机管理系统以记录期刊的传阅情况期刊在公司内部传阅员工可以要求加入传阅队列图书室登记公司收到的期刊交给名单中的第一名员工员工应在3个工作日内完成阅读员工阅读完毕后通知系统系统提醒下一位阅读者取书下一个员工必须确认已收到期刊当传阅名单中下一位员工出差在外时将无法进行传阅此时将期刊传给再下一位而将该员工做标记再次传递此书时优先考虑该员工最后一位员工阅读完毕后将期刊交还图书室以便共用系统能在员工忘记传递期刊时发出提醒信息系统详细记录期刊传阅情况当员工阅读完后通知系统系统记录该员工的员工号及日期并在备注栏注明是传出同样当员工收到期刊后给系统收书确认系统记录该员工的员工号及日期并在备注栏注明是收到公司的员工都有一个唯一的员工号公司订阅了多种期刊为每一本期刊有唯一期刊流水号产生一份传阅名单并详细记录传阅情况员工的出差情况存储在系统主机中该系统采用面向对象方法开发系统中的类及类之间的关系用UML类图表示图9-4是该系统的类图的一部分图9-5描述了成功传递期刊的序列图【问题1】根据题意给出类传阅记录的主要属性
【说明】某超市的销售业务由一个销售业务管理系统进行管理该系统每完成一次交易都需要提供顾客发票其格式见表6所示对于这样一个销售业务管理系统分别给出了以下两种关系数据库的设计下划线表示主关键字设计一顾客Customer顾客代码Cno姓名name住址address联系电话phone收银员Salesman收银员代码Sno身份证号idno姓名name住址address联系电话phone商品Merchandise商品代码Mno商品名称Mname价格price发票Invoice发票号码Ino交易日期Idate顾客代码Cno收银员代码Sno商品代码Mno单价unitpfice数量amount设计二顾客Customer顾客代码Cno姓名name住址address联系电话phone收银员Salesman收银员代码Sno身份证号idno姓名name住址address联系电话phone商品Memhandise商品代码Mno商品名称Mname价格price发票Ivoice发票号码Ino交易日期Idate顾客代码Cno收银员代码Sno发票明细Invoicedetail发票号码Ino商品代码Mno单价unitprice数量amount【问题1】设计一的关系模式Invoice最高满足第几范式为什么设计一和设计二哪个更加合理为什么
【说明】图书管理系统详细记录图书库存情况读者信息及读者借阅记录包括借书日期和还书日期新书入库时要为该书编制图书卡片包括分类目录号图书流水号要保证每本书都有唯一的流水号即使同类图书也是如此书名作者内容摘要价格和购书日期同一个书名由于版次作者等不同有可能存在多种图书其间用分类目录号区分系统为每一位合法读者编制一个唯一的借书证号读者需要提供姓名单位一个读者最多可以同时借阅5本图书借阅图书时新添借阅记录并将对应的归还标记字段置为false表示尚未归还归还图书时将相应的归还标记字段置为true表示已经归还一本书可能供多位读者借阅同一本书读者可以重复借阅如图9-17所示为该系统的E-R图【问题2】由于同一个分类目录号同一种图书有多个副本若用表Book图书流水号分类目录号书名作者内容摘要价格购书日期存储图书信息则有很多的冗余信息该如何分解使之满足BCNF并指出分解后的关系模式的主键
[说明]学生信息管理系统旨在用微型计算机对全校的学生事务进行管理其内容包括新生管理成绩管理重修管理毕业资格审定以及随机查询和打印报表等教务人员在进入系统时系统通过注册登录来提供用户的访问权限系统会检查用户的合法性如不合法系统拒绝用户进入如是合法用户则根据命令要求类型处理本系统主要有新生管理成绩管理重修处理资格审定四大功能分别进行不同的管理新生管理首先按照各专业录入新生信息录入时若录入的信息不完整则给出提示信息要求用户录入完整信息若新生库中已经存在该生信息了则给出提示信息保证不重复录入新生信息在录入阶段会显示新生库中的记录可以进行浏览删除修改等操作以便用户录入正确无误的新生信息录入完毕后打印编好学号和分好班次的新生名单并将新生记录写入学生信息库成绩管理使用一般方法和特殊方法对学生成绩进行管理分别按照这两种方法进行成绩的录入和计算成绩处理完毕后合并到学生成绩库可以对学生成绩总库进行浏览修改删除插入查找等操作同时提供成绩查询功能可按照学号姓名课程号课程名称专业班级查询学生成绩最后打印各种形式的学生成绩单重修处理首先对学生重修总体情况进行浏览可以查询未交费学生重修情况某个学生重修情况等打印各种形式的重修单和重修证另外进行重修交费登记输入某个重修学生学号则显示该生相关信息姓名专业等重修课程信息重修总学分应交金额等交费登记后写入重修表和交费表资格审定主要对毕业生的毕业资格进行审定计算毕业生的已修学分审定后填写资格库显示审定结果打印毕业生资格表和毕业证书等学生信息管理系统顶层图如图10-1所示学生信息管理系统的第0层DFD图如图10-2所示其中加工3的细化图如图10-3所示加工4的细化图如图10-4所示[数据流图10-1][数据流图10-2][数据流图10-3][数据流图10-4][问题1]1数据流图10-2缺少了一条数据流请给出此数据流的指向并采用说明中的词汇给出此数据流名2数据流图10-3缺少一条数据流请根据说明补充完整并指出此数据流的起点和终点
【说明】公司IT部门决定开发一个计算机管理系统以记录期刊的传阅情况期刊在公司内部传阅员工可以要求加入传阅队列图书室登记公司收到的期刊交给名单中的第一名员工员工应在3个工作日内完成阅读员工阅读完毕后通知系统系统提醒下一位阅读者取书下一个员工必须确认已收到期刊当传阅名单中下一位员工出差在外时将无法进行传阅此时将期刊传给再下一位而将该员工做标记再次传递此书时优先考虑该员工最后一位员工阅读完毕后将期刊交还图书室以便共用系统能在员工忘记传递期刊时发出提醒信息系统详细记录期刊传阅情况当员工阅读完后通知系统系统记录该员工的员工号及日期并在备注栏注明是传出同样当员工收到期刊后给系统收书确认系统记录该员工的员工号及日期并在备注栏注明是收到公司的员工都有一个唯一的员工号公司订阅了多种期刊为每一本期刊有唯一期刊流水号产生一份传阅名单并详细记录传阅情况员工的出差情况存储在系统主机中该系统采用面向对象方法开发系统中的类及类之间的关系用UML类图表示图9-4是该系统的类图的一部分图9-5描述了成功传递期刊的序列图【问题3】同一种期刊分不同的期所以有多本同一种期刊传阅名单只需每一种期刊一份还是应该每本期刊一份为什么
[说明]以下程序为类类型的变量应用实例通过异常处理检验了类CCircle的变量的合法性即参数半径应为非负值仔细阅读代码和相关注释将程序补充完整[JAVA代码]//定义自己的异常类classCCircleExceptionextendsException//定义类CCircleclassCCircleprivatedoubleradius;publicvoidsetRadiusdoubler1ifr<02else3PublicvoidshowSystem.out.printlnarea=+3.14*radius*radius;publicclassciusamplepublicstaticvoidmainStringargs[]CCirclecir=newCCircle;4cir.setRadius-2.05System.out.printlne+throwed;cir.show;
[说明]分糖果问题是一个经典问题问题描述如下幼儿国有n<20个孩子围成一圈分糖果老师先随机地发给每个孩子若干颗糖果然后按以下规则调整每个孩子同时将自己手中的糖果分一半给坐在他右边的小朋友如共有8个孩子则第1个将原来的一半分给第2个第2个将原有的一半分给第3个第8个将原来的一半分给第1个这样的平分动作同时进行若平分前某个孩子手中的糖果是奇数颗则必须从老师那里要一颗使他的糖果变成偶数小孩人数和每个小孩的初始数由键盘输入经过多少次调整使每个孩子手中的糖果一样多调整结束时每个孩子有糖果多少颗在调整过程中老师又新增发了多少颗糖果[C程序]#include<stdlib.h>#include<stdio.h>boolallequallintchild[]intn//判断各小孩子手中的糖果是否相等forinti=0;i<n-1;i++ifchild[i]!=child[i+1]returnfalse;//不相等返回假returntrue;//相等返回真constintMaxNum=20;//定义最大人数//主函数voidmainintNum=0;int*child;int*child1;//构造两个相应大小的数组child代表小朋友现有的粮果数child1代表小朋友原来有的糖果数intTnum=0;inti=0;doprintfPelaseinputthenumberofthechildren:.scanf%d&Num;ifNum>MaxNumprintfErrorNumber!!;whileNum>MaxNum;child=newint[Nmn];child1=newint[Num];fori=0;i<Num;i++//将数组赋值printfInputNO.%dchild’scandynumbers:i+1;scanf%d&child[i];while1fori=0;i<Num;i++if23Tnum++;fori=0;i<Num;i++child1[i]=child[i];//将child1赋值用来记忆原来小朋友的粮果数fori=0;i<Nam;i++4fori=0;i<Num-1;i++//用循环实现前一个小朋友粮果数加后一个小朋友粮果数的一半child[i]/=2;child[i]+=child1[i+1];child[Num-1]/=2;5printf每个同学最后分到糖果数目是%d/nchild[1];printf老师分发出的糖果是%d/nTnum;图12-7是一种解决问题的流程图请根据该流程图将对应C代码n处补充完整
【说明】某汽车数字仪表板将完成下述功能1通过模/数转换实现传感器和微处理器的接口2在发光二极管面板上显示数据3指示速度mph行驶里程油耗mpg等4指示加速或减速以下是经分析得到的数据流图有些地方有待填充假定顶层数据流图是正确的图9-14是顶层数据流图图9-15是第0层数据流图图9-16是第1层数据流图其中A是加工1的细化图B是加工2的细化图图中△sps表示转速sps的瞬时变化值若△sps>0则汽车加速△sps<0则减速△sps=0则匀速假定题中提供的顶层图是正确的请回答下列问题【问题3】小说明是用来描述加工的小说明的描述方法有哪些请分别用这些描述方法描述加工1.2
[说明]学生信息管理系统旨在用微型计算机对全校的学生事务进行管理其内容包括新生管理成绩管理重修管理毕业资格审定以及随机查询和打印报表等教务人员在进入系统时系统通过注册登录来提供用户的访问权限系统会检查用户的合法性如不合法系统拒绝用户进入如是合法用户则根据命令要求类型处理本系统主要有新生管理成绩管理重修处理资格审定四大功能分别进行不同的管理新生管理首先按照各专业录入新生信息录入时若录入的信息不完整则给出提示信息要求用户录入完整信息若新生库中已经存在该生信息了则给出提示信息保证不重复录入新生信息在录入阶段会显示新生库中的记录可以进行浏览删除修改等操作以便用户录入正确无误的新生信息录入完毕后打印编好学号和分好班次的新生名单并将新生记录写入学生信息库成绩管理使用一般方法和特殊方法对学生成绩进行管理分别按照这两种方法进行成绩的录入和计算成绩处理完毕后合并到学生成绩库可以对学生成绩总库进行浏览修改删除插入查找等操作同时提供成绩查询功能可按照学号姓名课程号课程名称专业班级查询学生成绩最后打印各种形式的学生成绩单重修处理首先对学生重修总体情况进行浏览可以查询未交费学生重修情况某个学生重修情况等打印各种形式的重修单和重修证另外进行重修交费登记输入某个重修学生学号则显示该生相关信息姓名专业等重修课程信息重修总学分应交金额等交费登记后写入重修表和交费表资格审定主要对毕业生的毕业资格进行审定计算毕业生的已修学分审定后填写资格库显示审定结果打印毕业生资格表和毕业证书等学生信息管理系统顶层图如图10-1所示学生信息管理系统的第0层DFD图如图10-2所示其中加工3的细化图如图10-3所示加工4的细化图如图10-4所示[数据流图10-1][数据流图10-2][数据流图10-3][数据流图10-4][问题3]请补齐下列数据字典条目学生成绩查询=_______________________________________________
[说明]在学校中存在以下关系a一个系有若干学生但一个学生只能在一个系b一个学生可以选修多门课程每门课程有若干学生选修c每个学生所学的每门课程都有一个成绩该校在学生信息管理数据库设计了三个基本表分别为表一表二表三a表一学生信息表STUDENTSTIDNAMEAGEDEPTNO其中STID表示学号NAME表示学生姓名AGE表示年龄DEPTNO表示系号b表二课程表COURSECOIDNAME其中COID表示课程号NAME表示课程名c表三成绩表SCORESCIDCOIDGRADE其中SCID表示学号COID表示课程号GRADE表示成绩成绩为空时表示这学期正在上的课程[问题2]数据库设计的需求分析阶段和概念结构设计阶段的主要任务分别是什么这两个阶段标志性的成果有哪些
[说明]图书馆藏书管理系统完成用户信息管理借阅归还信息管理馆藏书目的信息管理违规处罚管理和各种查询等功能系统的用户可分为超级用户和普通用户两类超级用户负责系统维护包括对藏书信息用户信息借阅和归还信息违规处罚信息的录入修改查询删除等普通用户即借阅者则只是具有查询书目信息查询本人的借阅情况违规处罚信息和预定书目的权限用户通过身份验证后进入主界面主界面为超级用户提供6项选择图书信息管理用户信息管理图书的借阅和归还信息管理违规处罚信息管理口令修改普通用户有4项功能选择书目查询借阅归还信息违规处罚信息口令修改图书信息管理超级用户可以增加修改删除图书信息也可以查看书目信息用户信息管理超级用户可以增加修改删除用户信息也可以查找用户信息借阅归还信息超级用户可以加入修改删除借阅纪录查看某本书的借阅情况查询指定的书目借阅和归还信息违规处罚管理超级用户可以给普通用户增加修改删除违规处罚信息普通用户如果逾期不还图书系统将暂时终止普通用户的借阅权利直到用户接受违规处罚后方可以恢复正常的借阅权利口令修改用户需要输入原口令并且两次输入新口令一致后系统即用新口令代替旧口令图书馆藏书借阅系统信息流如图10-5所示图书馆藏书管理系统的E-R模型图如图10-6所示[问题2]根据E-R图中给出的词汇按照关系模式名属性属性的格式将此E-R图转换为7个关系模式其中模式名根据需要取实体名或联系名
【说明】某汽车数字仪表板将完成下述功能1通过模/数转换实现传感器和微处理器的接口2在发光二极管面板上显示数据3指示速度mph行驶里程油耗mpg等4指示加速或减速以下是经分析得到的数据流图有些地方有待填充假定顶层数据流图是正确的图9-14是顶层数据流图图9-15是第0层数据流图图9-16是第1层数据流图其中A是加工1的细化图B是加工2的细化图图中△sps表示转速sps的瞬时变化值若△sps>0则汽车加速△sps<0则减速△sps=0则匀速假定题中提供的顶层图是正确的请回答下列问题【问题1】第0层数据流图如图9-15所示中有一条缺失的数据流请指出该数据流的起点和终点加工1的细化图如图9-16中的A所示中有一条缺失的数据流请指出该数据流的起点和终点
【说明】图书管理系统旨在用计算机对图书进行管理包括图书的购入借阅归还及注销管理人员可以查询某位读者某种图书的借阅情况还可以对当前图书借阅情况进行一些统计给出统计表格以便掌握图书的流通情况系统要实现以下4方面的功能购入新书读者借书读者还书及图书注销1购入新书需要为该书编制图书卡片包括分类目录号图书流水号要保证每本书都有唯一的流水号即使同类图书也是如此书名作者内容摘要价格和购书日期等信息写入图书目录文件中2读者借书填写借书单包括读者号欲借图书分类目录号系统首先检查该读者号是否有效若无效则拒绝借书否则进一步检查该读者所借图书是否超过最大限制数若已达到最大借阅数则拒绝借书否则读者可以借出该书登记图书分类目录号图书流水号读者号和借阅日期等写回到借书文件中去3读者还书根据图书流水号从借书文件中读出和该图书相关的借阅记录表明还书日期再写回借书文件中如果图书逾期未还则处以相应罚款4图书注销将一些过时或无保留价值的图书注销从图书文件中删除相关记录5流通查询管理员可以对图书流通情况进行查询包括某位读者某种图书和全部图书给出流通情况统计表以下是经分析得到的数据流图及部分数据字典有些地方有待填充假定顶层数据流图是正确的如图9-1所示是顶层数据流图如图9-2所示是第0层数据流图如图9-3所示是第1层数据流图【数据字典】1数据流条目图书管理要求=[入库单|借书单|还书单|注销单]入库单=分类目录号+数量+书名+作者+内容摘要+价格+购书日期借书单=读者号+d+借阅日期还书单=e+还书日期2文件说明文件名目录文件组成分类目录号+书名+作者+内容摘要+价格+入库日期+总数+库存数+f【问题1】根据题意指出数据流图中缺失的数据流a的名称并指出该数据流的起点
[说明]建立一个分数类使之具有下述功能建立构造函数它能防止分母为0当分数不是最简形式时进行约分以及避免分母为负数如经过类Num3-6的处理转换为经过类Num810的处理后转换为[C++代码]#include<iostream.h>#include<math.h>classNumpublic:Numintaintb;private:intnum1;intnum2;:Num::Numintaintbif1cout<<ERROR<<endl;return;intmin=fabsa<fabsbfabsa:fabsb;intx=1;forinti=1;i<=min;i++if2x=i;a/=X;b/=x;if3a=-a;b=-b;45
【说明】现要编写一个画矩形的程序目前有两个画图程序DP1和DP2DP1用函数draw_a_linex1y1x2y2画一条直线DP2则用drawlinex1x2y1y2画一条直线当实例画矩形时确定使用DP1还是DP2为了适应变化包括不同类型的形状和不同类型的画图程序将抽象部分与实现部分分离使它们可以独立地变化这里抽象部分对应形状实现部分对应画图与一般的接口抽象方法与具体实现不同这种应用称为Bridge桥接模式图9-6显示了各个类间的关系这样系统始终只处理3个对象Shape对象Drawing对象DP1或DP2对象以下是Java语言实现能够正确编译通过【Java代码】//DP1.jav__件publicclassDP1staticpublicvoiddraw_alinedoublex1doubley1doublex2doubley2//省略具体实现//DP2.jav__件publicclassDP2staticpublicvoiddrawlinedoublex1doubley1doublex2doubley2//省略具体实现//Drawing.jav__件1publicclassDrawingabstractpublicvoiddrawLinedoublex1doubley1doublex2doubley2;//V1Drawing.jav__件publicclassV1DrawingextendsDrawingpublicvoiddrawLinedoublex1doubley1doublex2doubley2DP1.draw_a_linex1y1x2y2;//V2Drawing.jav__件publicclassV2DrawingextendsDrawingpublicvoiddrawLinedoublex1doubley1doublex2doubley2//画一条直线2;//Shape.jav__件abstractpublicclassShapeabstractpublicvoiddraw;private3_dp;ShapeDrawingdp_dp=dp;protectedvoiddrawLinedoublex1doubley1doublex2doubley24;//Rectangle.jav__件publicclassRectangleextendsShapeprivatedouble_x1_x2_y1_y2;publicRectangleDrawingdpdoublex1doubley1doublex2doubley25;_x1=x1;_x2=x2;_y1=y1;_y2=y2;publicvoiddraw//省略具体实现
【函数1说明】函数compareSqListASqListB的功能是设A=alam和B=b1bn均为顺序表比较两个顺序表A和B的大小设A’和B’分别为A和B中除去最大共同前缀后的子表例如A=yxxzxzB=yxx2yxxz则两者中最大的共同前缀为yxxz在两表中除去最大共同前缀后的子表分别为A’=xz和B’=yxxz若A’=B’=空表则A=B若A’=空表而B’≠空表或者两者均不为空表且A’的首元小于B’首元则A<B否则A>B提示算法的基本思想为若相等则j+1之后继续比较后继元素否则即可得出比较结果显然j的初值应为0循环的条件是j不超出其中任何一个表的范围若在循环内不能得出比较结果则循环结束时有3种可能出现的情况需要区分【函数1】intcompareSqListASqListB//若A<B则返回-1若A=B则返回0若A>B则返回1j=0;whilei<1&&j<B.lengthifA.elem[j]<B.elem[j]return-1elseifA.elem[j]>B.elem[j]return1;else2;ifA.length==B.lengthreturn0;elseifA.length<B.lengthreturn-1;elsereturn1//compare//函数1的时间复杂度是3【函数2说明】函数exchanse_LSLnk&Lintm的功能是用尽可能少的辅助空间将单链表中前m个结点和后n个结点的互换即将单链表a1a2amb1b2bn改变成b1b2bna1a2am【函数2】voidexchange_LSLink&Lintmif4&&L->next//链表不空且Lm!=0P=L->next;k=1whilek<m&&p//查找am所在结点P=5;++k;if6&&p->next//n!=0时才需要修改指针ha=L->next;//以指针ha记a1结点的位置L->next=p->next;//将B1结点链接在头结点之后p->next=NULL;//设am的后继为空q=7;//令q指向b1结点whileq->nextq=8;//查找bn结点q->>next=9;//将a1结点链接到bn结点之后//函数2的时间复杂度是10
[说明]某高等院校的教学管理具有选课管理和成绩管理两大功能选课管理主要完成以下工作1录入与生成新学期课程表2学生选课注册3查询学生教师教学管理员可以查询课程表获得课程信息学生选课信息和学生教师信息4选课注册信息的统计与报表生成成绩管理主要的功能为1成绩录入教学管理员录入学生考试成绩2成绩查询教师教学管理员可以查询学生考试成绩学生只允许查询自己的考试成绩不允许查询他人的成绩3成绩统计与报表生成教学管理员进行成绩统计打印统计报表把学生选课注册信息传送给财务系统以便计算学生应交纳的费用根据需要系统设计的用例有选课管理成绩管理查询课程信息选课注册管理开设课程等用例其中部分用例说明如下查询课程信息学生教师或教学管理员启动查询课程信息时该用例开始运行根据输入的查询要求查询主题或关键字显示有关的课程信息选课注册当学生登录进行选课注册时该用例开始运行它提供了选择课程注册修改注册删除注册等功能学生登录需要用户标识ID和口令管理开设课程当教学管理员登录系统进行产生选课信息操作时该用例开始运行它首先检查用户标识ID和口令然后从数据库中取出学生的选课注册数据按照要求进行分类统计生成选课注册报表活动者学生与用例选课注册的交互关系如下当学生登录系统进入选课注册活动时首先要输入用户标识ID和口令经系统的注册表单接口对象验证如果正确无误则学生可以进行查询活动或选课活动否则拒绝进入若学生发出查询请求系统的选课注册表单接口对象响应信息给学生及发送增加或删除学生选课数据的消息开设课程对象响应该消息找出数据库中的相关数据增加或删除学生的姓名和所选的课程名或做相应的修改并把增加或删除学生课操作成功或失败的信息反馈给选课注册表单接口对象选课注册表单接口对象再反馈给学生如果学生按下确认键则选课操作得到确认发出提交请求选课注册表单接口对象响应该请求并发出存储消息开设课程对象响应存储消息进行数据库存储操作选课数据存入数据库若学生结束选课发出退出系统请求注册表单接口对象响应请求关闭系统图10-7为系统的顶层UML用例图图10-8为选课注册顺序图[问题1]用例图解释了活动者与用例之间的交互关系根据系统设计说明将系统的顶层用例图补充完整
[说明]冒泡排序算法的基本思想是对于无序序列假设扫描方向为从前向后进行升序排列两两比较相邻数据若反序则交换直到没有反序为止一般情况下整个冒泡排序需要进行众1≤k≤n趟冒泡操作冒泡排序的结束条件是在某一趟排序过程中没有进行数据交换若数据初态为正序时只需1趟扫描而数据初态为反序时需进行n-1趟扫描在冒泡排序中一趟扫描有可能无数据交换也有可能有一次或多次数据交换在传统的冒泡排序算法及近年的一些改进的算法中[23]只记录一趟扫描有无数据交换的信息对数据交换发生的位置信息则不予处理为了充分利用这一信息可以在一趟全局扫描中对每一反序数据对进行局部冒泡排序处理称之为局部冒泡排序局部冒泡排序的基本思想是对于N个待排序数据组成的序列在一趟从前向后扫描待排数据序列时两两比较相邻数据若反序则对后一个数据作一趟前向的局部冒泡排序即用冒泡的排序方法把反序对的后一个数据向前排到适合的位置扫描第—对数据对若反序对第2个数据向前冒泡使前两个数据成为有序序列扫描第二对数据对若反序对第3个数据向前冒泡使得前3个数据变成有序序列扫描第i对数据对时其前i个数据已成有序序列若第i对数据对反序则对第i+1个数据向前冒泡使前i+1个数据成有序序列依次类推直至处理完第n-1对数据对当扫描完第n-1对数据对后N个待排序数据已成了有序序列此时排序算法结束该算法只对待排序列作局部的冒泡处理局部冒泡算法的名称由此得来以下为C语言设计的实现局部冒泡排序策略的算法根据说明及算法代码回答问题1和问题2[变量说明]#defineN=100//排序的数据量typedefstruct//排序结点intkeyinfodatatype......node;nodeSortData[N];//待排序的数据组node类型为待排序的记录或称结点数组SortData[]为待排序记录的全体称为一个文件key是作为排序依据的字段称为排序码datatype是与具体问题有关的数据类型下面是用C语言实现的排序函数参数R[]为待排序数组n是待排序数组的维数Finish为完成标志[算法代码]voidPart-BubbleSortnodeR[]intnint=0;//定义向前局部冒泡排序的循环变量//暂时结点存放交换数据nodetempnodeforinti=0i<n-1i++;ifR[i].key>R[i+1].key1while2tempnode=R[j];3R[j-1]=tempnode;Finish=false;4//endwhile//endif//endfor//endfunction问题2请根据算法的C代码分析此算法效率
[说明]背包问题就是有不同价值不同重量的物品n件求从这n件物品中选取一部分物品的选择方案使选中物品的总重量不超过指定的限制重量而且选中物品的价值之和为最大背包问题是一个典型的NP完全难题对该问题求解方法的研究无论是在理论上还是在实践中都具有一定的意义如管理中的资源分配投资决策装载问题等均可建模为背包问题常用的背包问题求解方法很多但本题中采用了一种新的算法来求解背包问题该算法思想为首先要对物品进行价重比排序然后按价重比从大到小依次装进包裹这种方法并不能找到最佳的方案因为有某些特殊情况存在但只要把包中重量最大的物品取出继续装入直到达到limitweight这时的物品就是limitweight的最大价值这种算法不需要逐个进行试探所以在数据非常大时执行效率主要由排序的时间复杂度决定该算法的流程图为图11-4仔细阅读程序说明和C程序流程图及源码回答问题1和问题2[流程图11-4][程序说明]structThing物品结构typedefstructBag背包结构类型input将物品按序号依次存入数组函数inbag物品按物价比入包函数init初始化函数sort对物品按价格重量比排序函数outbag取出包中weiht最大的物品函数print最佳方案输出函数[C程序]#defineN255structThingdoubleweight;doublevalue;doubledens;thing[N];typedefstmctBagThingthing[N];doubleweighttmp;doublesumvalue;bagbest;inbagdobag.thing[i]=thing[i]12i++;while3initforinti=0;i<N;i++inputthing[i].weightthing[i].valuething[i].dens=thing[i].value/thing[i].weight;;maininit;sort;inbag;dobest=bag;//把包中物品放入暂存数组outbag;//取出包中weight最大的物品4while5printbest//输出temp因为是最佳方案[问题2]求解背包问题常用的方法有哪几种各有什么样的特点
【说明】图书管理系统旨在用计算机对图书进行管理包括图书的购入借阅归还及注销管理人员可以查询某位读者某种图书的借阅情况还可以对当前图书借阅情况进行一些统计给出统计表格以便掌握图书的流通情况系统要实现以下4方面的功能购入新书读者借书读者还书及图书注销1购入新书需要为该书编制图书卡片包括分类目录号图书流水号要保证每本书都有唯一的流水号即使同类图书也是如此书名作者内容摘要价格和购书日期等信息写入图书目录文件中2读者借书填写借书单包括读者号欲借图书分类目录号系统首先检查该读者号是否有效若无效则拒绝借书否则进一步检查该读者所借图书是否超过最大限制数若已达到最大借阅数则拒绝借书否则读者可以借出该书登记图书分类目录号图书流水号读者号和借阅日期等写回到借书文件中去3读者还书根据图书流水号从借书文件中读出和该图书相关的借阅记录表明还书日期再写回借书文件中如果图书逾期未还则处以相应罚款4图书注销将一些过时或无保留价值的图书注销从图书文件中删除相关记录5流通查询管理员可以对图书流通情况进行查询包括某位读者某种图书和全部图书给出流通情况统计表以下是经分析得到的数据流图及部分数据字典有些地方有待填充假定顶层数据流图是正确的如图9-1所示是顶层数据流图如图9-2所示是第0层数据流图如图9-3所示是第1层数据流图【数据字典】1数据流条目图书管理要求=[入库单|借书单|还书单|注销单]入库单=分类目录号+数量+书名+作者+内容摘要+价格+购书日期借书单=读者号+d+借阅日期还书单=e+还书日期2文件说明文件名目录文件组成分类目录号+书名+作者+内容摘要+价格+入库日期+总数+库存数+f
【说明】关于一位花商有以下一些事实1销售在不同地区生长的花这些地区一年的最低气温在一定范围内变化2想用编号来表示发货类型3要出售某些类型的花假定已经通过SQL语句建立了基本表CREATETABLEZoneIDCHAR2PRIMARYKEYLowerTempNUMERIC3UpperTempNUMERIC3CREATETABLEDeliveryIDCHAR2PRIMARYKEYCategoryCHAR5DelSizeNUMERIC53CREATETABLEFlowerInfoIDCHAR3ComNameCHAR25LatNameCHAR30CzoneNUMERIC3HzoneNUMERIC3DeliveredNUMERIC3SunNeedCHAR3PRIMARYKEYID地区ID最高温度最低温度发货ID发货类型发货规格花的信息ID普通名拉丁名花能够生长的最冷地区花能够生长的最热地区发货类型日光需求【问题2】写出SQL语句实现如下功能查询以花瓶pot形式发货的所有鲜花的ID普通名及花瓶的规格得到结果表按照普通名的字母逆序打印
[说明]在一些应用场合中需要对用户的输入数据进行检查监控以下VisualBasic程序实现了对新添加到List列表的内容进行监控拒绝向List列表添加重复信息例如在List列表中存在元素a01001a01002如果用户输入数据为aOl001或a01002系统则弹出提示信息拒绝将新数据加入List列表如果用户输入的数据不同与List列表中的任何一个元素则作为新元素加入List中VisualBasic界面显示如图11-5所示根据程序功能说明完成程序代码[代码1]BeginVB.FormForm1Caption=List列表拒绝添加重复信息//...窗体描述略BeginVB.CommandButtonCommand2Caption=退出//...窗体描述略EndBeginVB.CommandButtonommand1Caption=添加//...窗体描述略EndBeginVB.TextBoxText1//...窗体描述略EndBeginVB.ListBoxList1Height=1860ItemData=Form1.frx:0000Left=1020List=Form1.frx:0002TabIndex=0Top=525Width=2580EndBeginVB.LabelLabellBackStyle=0’TransparentCaption=请输入编号//...窗体描述略EndEnd[代码2]AttributeVB_Name=Form1AttributeVB_GlobalNameSpace=FalseAttributeVB_Creatable=FalseAttributeVB_PredeclaredId=TrueAttributeVB_Exposed=FalsePrivateSubForm_LoadListl.AddItema01001Listl.AddItema01002EndSubPrivateSubCommand1ClickDimMyvalAsLongFori=0To12If3ThenMsgBox系统不允许重复输入请重新输入ExitSubEndIf45EndSub
[说明]研究生招生系统旨在用计算机对学校的研究生招生事务进行管理研究生招生可分为报名阶段考试阶段和录取阶段招生报考前招生处要进行考前准备工作如统计招生导师考试科目以及制定报考专业标准代码等招生导师信息包括导师的姓名性别年龄出生年月所从事专业和研究方向以及所在系别考试科目包含科目代码科目的名称以及报考本科目的考试人数在报名阶段考生向招生处提交报名数据表研究生系统根据考生的报考数据确定考生准考生号并通知考生考试日期在考试阶段考试结束后考生成绩录入研究生招生系统考生可以从研究生招生系统中获取自己的考试成绩在录取阶段研究生招生系统根据考生的报考数据考试成绩外校调剂考生信息以及往年保留资格记录文件确定录取数据并形成录取文件系统统计并记录相关招生信息以供查询对被录取的考生发放录取通知书对需要保留资格的考生记录其信息以供下年度招生使用招生处可以从研究生招生系统中获得录取数据和招生情况的统计信息以供咨询数据流图11-1为研究生招生系统顶层图数据流图11-2为研究生招生系统第0层DFD图数据流图11-3为加工3的细化图[数据流图11-1][数据流图11-2][数据流图11-3][问题3]请补齐下列数据字典条目导师=__________________________________________考试科目=_________________________________________
【说明】某超市的销售业务由一个销售业务管理系统进行管理该系统每完成一次交易都需要提供顾客发票其格式见表6所示对于这样一个销售业务管理系统分别给出了以下两种关系数据库的设计下划线表示主关键字设计一顾客Customer顾客代码Cno姓名name住址address联系电话phone收银员Salesman收银员代码Sno身份证号idno姓名name住址address联系电话phone商品Merchandise商品代码Mno商品名称Mname价格price发票Invoice发票号码Ino交易日期Idate顾客代码Cno收银员代码Sno商品代码Mno单价unitpfice数量amount设计二顾客Customer顾客代码Cno姓名name住址address联系电话phone收银员Salesman收银员代码Sno身份证号idno姓名name住址address联系电话phone商品Memhandise商品代码Mno商品名称Mname价格price发票Ivoice发票号码Ino交易日期Idate顾客代码Cno收银员代码Sno发票明细Invoicedetail发票号码Ino商品代码Mno单价unitprice数量amount【问题3】根据设计二中关系模式以下SQL语句是用于查询从未售出的商品信息的不完整语句请填补其中的空缺SELECTMnoMnamepriceFROMMerchandise1WHERE2SELECT3FROMlnvoicedetailWHEREA.Mno=lnvoicedetail.Mno
[说明]研究生招生系统旨在用计算机对学校的研究生招生事务进行管理研究生招生可分为报名阶段考试阶段和录取阶段招生报考前招生处要进行考前准备工作如统计招生导师考试科目以及制定报考专业标准代码等招生导师信息包括导师的姓名性别年龄出生年月所从事专业和研究方向以及所在系别考试科目包含科目代码科目的名称以及报考本科目的考试人数在报名阶段考生向招生处提交报名数据表研究生系统根据考生的报考数据确定考生准考生号并通知考生考试日期在考试阶段考试结束后考生成绩录入研究生招生系统考生可以从研究生招生系统中获取自己的考试成绩在录取阶段研究生招生系统根据考生的报考数据考试成绩外校调剂考生信息以及往年保留资格记录文件确定录取数据并形成录取文件系统统计并记录相关招生信息以供查询对被录取的考生发放录取通知书对需要保留资格的考生记录其信息以供下年度招生使用招生处可以从研究生招生系统中获得录取数据和招生情况的统计信息以供咨询数据流图11-1为研究生招生系统顶层图数据流图11-2为研究生招生系统第0层DFD图数据流图11-3为加工3的细化图[数据流图11-1][数据流图11-2][数据流图11-3][问题1]数据流图11-2中有3条数据流请根据说明中的术语给出这三条数据流名称并指出起点和终点
[说明]图12-5中显示一张交通违章处罚通知书每一个交通违章通知书有一个惟一的编号交通违章通知书包含了收到处罚的违章者记录涉及违章的机动车记录违章记录处罚记录以及经办警察记录等信息所根据这张通知书所提供的信息回答下面问题[问题1]根据这张通知书所提供的信息设计了一个E-R模型如图12-6所示请将n处补充完整
[说明]某高等院校的教学管理具有选课管理和成绩管理两大功能选课管理主要完成以下工作1录入与生成新学期课程表2学生选课注册3查询学生教师教学管理员可以查询课程表获得课程信息学生选课信息和学生教师信息4选课注册信息的统计与报表生成成绩管理主要的功能为1成绩录入教学管理员录入学生考试成绩2成绩查询教师教学管理员可以查询学生考试成绩学生只允许查询自己的考试成绩不允许查询他人的成绩3成绩统计与报表生成教学管理员进行成绩统计打印统计报表把学生选课注册信息传送给财务系统以便计算学生应交纳的费用根据需要系统设计的用例有选课管理成绩管理查询课程信息选课注册管理开设课程等用例其中部分用例说明如下查询课程信息学生教师或教学管理员启动查询课程信息时该用例开始运行根据输入的查询要求查询主题或关键字显示有关的课程信息选课注册当学生登录进行选课注册时该用例开始运行它提供了选择课程注册修改注册删除注册等功能学生登录需要用户标识ID和口令管理开设课程当教学管理员登录系统进行产生选课信息操作时该用例开始运行它首先检查用户标识ID和口令然后从数据库中取出学生的选课注册数据按照要求进行分类统计生成选课注册报表活动者学生与用例选课注册的交互关系如下当学生登录系统进入选课注册活动时首先要输入用户标识ID和口令经系统的注册表单接口对象验证如果正确无误则学生可以进行查询活动或选课活动否则拒绝进入若学生发出查询请求系统的选课注册表单接口对象响应信息给学生及发送增加或删除学生选课数据的消息开设课程对象响应该消息找出数据库中的相关数据增加或删除学生的姓名和所选的课程名或做相应的修改并把增加或删除学生课操作成功或失败的信息反馈给选课注册表单接口对象选课注册表单接口对象再反馈给学生如果学生按下确认键则选课操作得到确认发出提交请求选课注册表单接口对象响应该请求并发出存储消息开设课程对象响应存储消息进行数据库存储操作选课数据存入数据库若学生结束选课发出退出系统请求注册表单接口对象响应请求关闭系统图10-7为系统的顶层UML用例图图10-8为选课注册顺序图[问题3]UML设计中交互图通常可以分为哪两类图绘制交互图对系统的设计有什么作用
[说明]职工信息管理系统是用于对职工相关信息进行检索统计工资管理内部调动管理等的系统利用该系统人事科可以对本单位职工信息进行管理根据不同命令对信息进行增删改内部调动打印人事表格进行统计检索人事科输入的系统命令需要合法性检查才能被接受处理系统命令包括档案维护数据检索统计报表打印命令代码维护人事科的输入信息包括个人资料检索选项统计选项代码资料新增档案字段档案修改资料等条目完整的个人资料应包括职工的档案编号姓名工作单位性别出生日期技术职称以及学历通过系统授权用户可以进行对职工信息数据进行查询检索检索的条件可以是姓名工作单位性别技术职称等组合通过系统授权超级用户还可以对职工档案进行维护当超级用户需要对档案进行维护时输入档案维护命令得到合法性确认后可以对系统数据库档案信息进行维护否则将拒绝执行档案维护操作可以是增加档案修改档案删除档案增加档案字段中的任何一种操作档案维护成功后要及时更新职工信息数据文件保存维护结果职工管理信息系统的顶层图如图12-1所示职工管理信息系统的第0层DFD图如图12-2所示其中加工3的细化图如图12-3所示加工3.2的细化图如图12-4所示[数据流图12-1][数据流图12-2][数据流图12-3][数据流图12-4][问题2]1数据流图12-3中缺少了与增加职工记录3.2加工相关的数据流请采用说明中的词汇给出此数据流名称并请出此数据流的起点和终点2数据流图12-4中还应依赖哪些文件并指出相关数据流方向
【说明】本题将有向网带权有向图定义为类AdjacencyWDigraph类中的数据成员n表示有向网中的顶点数a为带权邻接矩阵用于存储有向网中每一对顶点间弧上的权值c为二维数组存储有向网中每一对顶点间的最短路径长度kay为二维数组存储最短路径kay[i][j]=k表示顶点i到达顶点j的最短路径必须经过顶点k类中的主要成员函数有Input输入有向网的顶点数各条弧及权值建立带权领接矩阵a若顶点i到顶点j有弧则a[i][j]取弧上的权值否则a[i][j]的值取NoEdgeAllPairs用弗洛伊德Floyd算法求有向网中每一对顶点间的最短路径长度OutShortestPathintiintj计算顶点i到顶点j的最短路径outputPathintiintj输出顶点i到顶点j的最短路径上的顶点Floyd算法的基本思想是递推地产生一个矩阵序列C0C1C2Cn其中C0是已知的带权邻接矩阵aCkij0≤ij<表示从顶点i到顶点j的中间顶点序号不大于k的最短路径长度如果i到j的路径没有中间顶点则对于0≤k<n有Ckij=C0ij=a[i][j]递推地产生C1C2Cn的过程就是逐步将可能是最短路径上的顶点作为路径上的中间顶点进行试探直到为全部路径都找遍了所有可能成为最短路径上的中间顶点所有的最短路径也就全部求出算法就此结束【C++代码】#include<iostream.h>#defineNoEdge10000//当两个顶点之间没有边相连时在邻接矩阵中用NoEdge表示voidMake2DArrayint**&xintrowsintcols;classAdjacencyWDigraphprivateintn;//有向网中的顶点数目int**a;//存储顶点间弧上的权值int**c;//存储计算出的最短路径长度int**kay;//存储求出的最短路径pubic:intVerticesconstjreturnn;voidAllPairs;voidInput;//输入有向网的顶点数各条弧及权值建立邻接矩阵avoidOutShortestPathintiintj;//计算顶点i到j的最短路径试卷中未列出~AdjacencyWDigraph;//析构函数试卷中未列出private:voidoutputPathintiintj;;voidAdjacencyWDigraph::AllPairsintijkt1t2t3;fori=1;i<=n;k++forj=1;j<=n;++jc[i][j]=1;kay[i][j]=0;fork=1;k<=n;k++fori=1;i<=n;i++ifi==kcontinue;t1=c[i][k];forj=1;j<=n;j++ifj==k||j==icontinue;t2=c[k][j];t3=c[i][j];ift1!=NoEdge&&t2!=NoEdge&&t3==NoEdge||t1+t2<t3c[i][j]=2;kay[i][j]=3;//for//forvoidAdjacencyWDigraph::outputPathintiintj//输出顶点i到j的最短路径上的顶点ifi==jreturn;ifkay[i][j]==0cout<<j<<;elseoutputPathi4;outputPath5;voidAdjacencyWDigraph::lnputintijuvwE;cout<<输入网中顶点个数:;cin>>n;cout<<输入网中弧的个数:;cin>>E;Make2DArrayan+1n+1;fori=1;i<=n;i++forj=1;j<=n;j++a[i][j]=NoEdge;fori=1;i<=n;i++a[i][i]=0;Make2DArraycn+1n+1;Make2DArraykayn+1n+1fori=1;i<=E;i++cout<<输入弧的信息起点终点权值;;cin>>u>>v>>w;a[u][v]=w;voidMake2DArrayint**&xintrowsintcolsintij;x=newint*[rows+1];fori=0;i<rows+1;i++x[i]=newint[cols+1];fori=1;i<=rows;i++forj=1;j<=cols;j++x[i][j]=0;
热门题库
更多
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术
电话交换专业技术