计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机软件水平考试
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
软件设计师(中级)
信息系统项目管理师(高级)
系统分析师(高级)
系统架构设计师(高级)
网络规划设计师(高级)
系统规划与管理师(高级)
软件评测师(中级)
软件设计师(中级)
网络工程师(中级)
多媒体应用设计师(中级)
嵌入式系统设计师(中级)
电子商务设计师(中级)
系统集成项目管理工程师(中级)
信息系统监理师(中级)
信息安全工程师(中级)
数据库系统工程师(中级)
信息系统管理工程师(中级)
软件过程能力评估师(中级)
计算机辅助设计师(中级)
计算机硬件工程师(中级)
信息技术支持工程师(中级)
程序员(初级)
网络管理员(初级)
信息处理技术员(初级)
电子商务技术员(初级)
信息系统运行管理员(初级)
网页制作员(初级)
多媒体应用制作技术员(初级)
PMP项目管理员资格认证
软件设计应用技术
软件设计基础知识
软件设计应用技术
问答题【问题 3】(2 分 ) 解释图3-1中用例U3和用例Withdraw、Deposit等四个用例之间的关系及其内涵。
进入题库练习
问答题[说明] 给出一个接收三个数a、b、c作为三角形边长并输出三角形的类型的程序。程序代码如下所示: 结点 源代码行 A read a, b, c B type = "scalene" C if(a = = b || b = = c|| a = = c) D type = "isosceles" E if (a = = b && b= =c) F type = "equilateral" G if (a> =b+ c || b> =a+ c||c> =a+ b) H type = "not a triangle" I if (a< =0 || b< =0 ||c< =0) J type = "bad inputs" K print type 给出上面三角形伪码中的所有可行路径,进行每条路径测试。并找出达到C0和C1覆盖的最小测试案例集合。
进入题库练习
问答题对于教学数据库的三个基本表S(S#,SNAME,AGE,SEX),SLLS#,C#,GRADE),C(C#, CNAME,TEACHER)。现根据查询条件填充下面SQL语句空白的部分。 1.检索LIU老师所授课程的课程号和课程名。 2.检索至少选修LIU老师所授课程中一门课程的女学生姓名。 3.检索WANG同学不学的课程的课程名。 4.检索全部学生都选修的课程的课程号与课程名。 5.检索选修课程包含LIU老师所授课程的学生学号。 [说明] 1.SELECT{{U}} (1) {{/U}}FROM C WHERE TEACHER='LIU' 2. SELECT S. SNAME FROM S,SC WHERE S.S#=SC.S#AND S. SEX='F'AND SC.C#={{U}} (2) {{/U}} (SELECTC# FROM C WHERE TEACHER = 'LIU') 3. SELECT CNAME FROM C wHEREc#< >{{U}} (3) {{/U}}(SELECTSC. C# FROM S,SCWHERE S.S#=SC.S#AND S. SNAME=' WANG') 4. 由题知,该问题是在表C中找课程号和课程名,要求这门课被全部学生所选。 SELECT C#,CNAME FROM C WHERE NOT EXISTS (SELECT * FRoM S WHERE NOT EXISTS (SELECT * FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE{{U}} (4) {{/U}} 5. SELECT DISTINCT S# FROM SC WHERE{{U}} (5) {{/U}} (SELECT C# FROM C WHERE TEACHER = 'LIU'
进入题库练习
问答题阅读下列说明和图,回答问题1至问题3。[说明]某大型旅店为了便于管理,欲开发一个客房管理系统。希望实现客房预定、入住登记、帐务结算、退房,以及将服务项目记入客人帐单。旅客包括散客和团体,散客预定或入住时需要提供姓名、性别、身份证和联系电话,团体则提供团体名称、负责人的姓名、性别、身份证和联系电话,以及团体人数。对于散客,还要提供换房。旅店还提供了很多服务项目,比如早餐。对每一个入住客人,服务列表记录了住宿期间的各项服务,包括服务类型、日期、数量等。当然,客人也可以不要任何服务。旅店的客房有一个唯一的房间号,分为不同的类别,不同的房间床位数和价格不同。为了有效的管理,需要记录每天的客房状态。客房的状态有:空闲、占用、已预定和维修。·客人入住后,客房处于占用状态;·客人退房后,客房处于空闲状态;·客人预定后,客房处于已预定状态;·预定客人入住后,客房处于占用状态;·预定客人取消预定后客房处于空闲状态;·需要维修时客房处于维修状态;·维修完成后客房处于空闲状态。该系统采用面向对象方法开发,系统中的类以及类之间的关系用UML类图表示,图3-1是该系统的类图的一部分,图3-2描述了客房状态的转变情况。[图3-1][图3-2]
进入题库练习
问答题[问题3] 按照图3-2中的方法发送邮件时,使用不同的密码体制加密消息和消息摘要,请用 150字以内文字简要说明这样做的理由。
进入题库练习
问答题
进入题库练习
问答题【说明】数据排序。将给定的n个整数分别按照升序和降序进行排列。 class SortInt_1 { int i, j, k, temp; void SortInt(int a1, a2[]){//升序排序 for(i=0; i<a1-1; i++){ k=i; for(j=i+1 ;j<a1 ;j++) if ({{U}} (1) {{/U}}) k=j; if(k!=i){ temp=a2[i];a2[i]=a2[k];a2[k]=temp; } } } } class Sortlnt_2{{U}} (2) {{/U}} { int i, j, k, temp; void Sortlnt(int a1,a2[]){//降序排序 for(i=0;i<a1-1 ;i++) { k=i; for(j=i+1 ;j<a1 ;j++) if ({{U}} (3) {{/U}}) k=j; if(k!=i){ temp=a2[i];a2[i]=a2[k];a2[k]=temp; } } } } Class TestOverLoad { Public static void main(String args[]) { int a[]={10,55,100,35,87,90,100,16}; Sortlnt_1 newlnt1={{U}} (4) {{/U}}; Newlnt1. SortInt(a. length, a);//调用SortInt_1类的方法 System. out. println("升序排列的数据"); For(int i=0;i<8;i++) System. out. print(a[i]+" "); system. out. println(); SortInt_2 newInt2=new sortint_2(); //创建类SortInt_2的对象 {{U}} (5) {{/U}}; System. out. println("降序排列的数据: "); For(int i=0;i<8;i++) System. out. print(a[i]+" "); } }
进入题库练习
问答题问题:1.4 用 200 字以内文字,说明建模图 1-1 和图 1-2 时如何保持数据流图平衡。
进入题库练习
问答题【说明】某汽车制造工厂有两条装配线。汽车装配过程如图10-6所示,即汽车底盘进入装配线,零件在多个工位装配,结束时汽车自动完成下线工作。(1)e0和e1表示底盘分别进入装配线0和装配线1所需要的时间。(2)每条装配线有n个工位,第一条装配线的工位为S0,0,S0,1,…,S0,n-0,第二条装配线的工位为S1,0,S1,1,…,S1,n-1。其中S0,k和S1,k(0≤k≤n-1)完成相同的任务,但所需时间可能不同。(3)aij表示在工位Sij处的装配时间,其中i表示装配线(i=0或i=1),j表示工位号(0≤j≤n-1)。(4)tij表示从Sij处装配完成后转移到另一条装配线下一个工位的时间。(5)X0和X1表示装配结束后,汽车分别从装配线0和装配线1下线所需要的时间。(6)在同一条装配线上,底盘从一个工位转移到其下一个工位的时间可以忽略不计。图10-7所示的流程图描述了求最短装配时间的算法,该算法的输入为;n:表示装配线上的工位数;e[i]:表示e1和e2,i取值为0或1:a[i][j]:表示ai,j,i的取值为0或1,j的取值范围为0~n-1;t[i][j]:表示ti,j,i的取值为0或1,j的取值范围为0~n-1;x[i]:表示X0和X1,i取值为0或1。算法的输出为:fi:最短的装配时间;li:获得最短装配时间的下线装配线号(0或者1)。算法中使用的f[i][j]表示从开始点到Si,j处的最短装配时间。
进入题库练习
问答题阅读下列说明和数据流图,回答问题1-问题3。【说明】某医院收费系统的主要功能是收取病人门诊的各项费用。系统的收费功能分为3个方面:病历收费、挂号收费和根据处方单内容收取检查或药物费用。1.病人初次来该医院看病,首先购买病历,记录病人基本情况。2.病人看病前要挂号。根据病人的病历和门诊部门(内科、外科等),系统提供相应的挂号单和处方单,并收取费用。3.病人根据处方单进行进一步检查或取药前需交纳各项费用。系统首先根据病人基本情况检查处方单中病历号是否正确,记录合格的处方单,并提供收据。4.所有收费都必须依据定价表中的定价来计算,且所有收费都必须写入收费记录中。医院收费系统的顶层图如图2所示;医院收费系统的第0层DFD图如图3所示。其中,加工1的细化图如图4所示,加工2的细化图如图5所示。假定顶层图是正确的,“定价表”文件已由其他系统生成。【数据流图】
进入题库练习
问答题假定Games表存储参赛情况,如下的SQL语句是委员会用于查询“队名为‘China’的各个运动员各自夺取得的总积分”的不完整语句,请在空缺处填入正确的内容。 SEl3ECT{{U}} (1) {{/U}} FROM Games WHERE ANo{{U}} (2) {{/U}} (SELECT ANo FROM{{U}} (3) {{/U}} WHERE ATeam="China") GROUP BY ANo;
进入题库练习
问答题[说明]以下是某图像二元树存储与还原算法的主要思想描述。设一幅2n×2n的二值图像,以:“1”表示黑像素点,以“0”表示白像素点。图像二元树结构表示依赖于图像的二元分割,即交替在X轴方向和Y轴方向上分割。先进行水平分割,分成两个2n-1×2n图像子块,然后进行垂直分割,分成4个2n-1×2n-1的正方形块,如此分割,直到子块只含同一像素点为止。如图8-8为一“E”字的二值图像,对其进行二元分割,相应的二元树如图8-9所示。根据图像二元树的0叶结点和1叶结点的数目,删除多者,保留少者。如“E”字图像的二元树0叶结点较多,裁剪后如图8-10所示。图8-8图8-10裁剪后的“E”字图像的二元树裁剪后图像二元树有4类结点,分别用二进制编码如下:◆左右儿子都有的结点,编码为11;◆仅有左儿子的结点,编码为10;◆仅有右儿子的结点,编码为01;◆叶结点,编码为00。存储时,先存储剩余叶结点的类型编码,二进制码00表示0叶结点,11表示1叶结点。再按层次顺序,自左至右存储裁剪后图像二元树各结点的编码。图像二元树的存储算法用C语言描述所定义的数据结构及函数如下:structNode/*图像二元树结点*/streetNode*Left;streetNode*Right;charPixel;structNodeQueue[MaxLen];/*队列*/InitQueue()/*初始化队列Queue的函数;*/EmptyQueue()/*判断队列Queue是否为空的数,若空返回1,否则返回0;*/AddQueue(Item)/*将Item加到队列Queue的数;*/GetQueue()/*取队列Queue第一个元素的函数;*/PutCode(Code)/*写2位二进制码Code到文件的函数*/还原算法是存储算法的逆过程,将文件中的二进制码序列转换成图像二元树。还原算法的数据结构与函数与存储算法的相同,还原算法新增了一个函数GetCode()。GetCode()/*从文件中读2位二进制码的函数*/[C程序]存储算法voidBackup(charCutPixel,structNodeImageTree)'/*CutPixel=0表示裁剪0叶结点*/InitQueue();AddQueue(ImageTree);PutCode(1-CutPixel);While(!EmptyQueue())TreeNode=GetQueue();if(TreeNode→Left==NULL)PutCode(0);continue:Tl=TreeNode→Left;Tr=TreeNode→Right;if(Tl→Left==NULLelse(1);AddQueue(Tl);if(Tr→Left==NULLelse(2)AddQueue(T);(3)还原算法voidRestore(structNode*TreeRoot)TreeRoot=(strutNode*)malloc(sizeof(structNode)InitQueue();AddQueue(TreeRoot);CutPixel=1-GetCode();while(!EmptyQueue())TrecNode=GetQueue(Queue);NodeCode=GetCode();switch(NodeCode)case0:TreeNode→Left=NULL;TreeNode→Right=NULLTreePixel=(4);break;case1:Tr=(structNode*)mallocsizeof(structNode)TreeNode→Right=Tr;AddQueue(Tr);TI=(structNode*)mallocsizeof(structNode)Tl→Lefi-NULL;Tl→RightNULL;Tl→Pixel=CutPixel;break;case2:T1=(structNode*)mallocsizeof(structNode)TreeNode→Left=Tl;(5);Tr=(structNode*)malloc(sizeof(streetNode)Tr→Left=-NULL;Tr→Right=NULL,,Tr→Pixel=CutPixel;break;case3:T1=(structNode*)malloc(sizeof(structNode)TreeNode→Right=Tl;AddQueue(T1);Tr=(structNode*)malloc(sizeof(structNodeTreeNode→Right=Tr;AddQueue(Tr);break;
进入题库练习
问答题[问题2] 请用IDEF0。图描绘该功能的需求。
进入题库练习
问答题[说明]现有n(n<1000)节火车车厢,顺序编号为1,2,3,…,n,按编号连续依次从A方向的铁轨驶入,从B方向铁轨驶出,一旦车厢进入车站(Station)就不能再回到A方向的铁轨上;一旦车厢驶入B方向铁轨就不能再回到车站,如下图所示,其中Station为栈结构,初始为空且最多能停放1000节车厢。下面的C程序判断能否从B方向驶出预先指定的车厢序列,程序中使用了栈类型STACK,关于栈基本操作的函数原型说明如下。voidInitStack(STACK*s):初始化栈。voidPush(STACK*s,inte):将一个整数压入栈,栈中元素数目增1。voidPop(STACK*s):栈顶元素出栈,栈中元素数目减1。intTop(STACKs):返回非空栈的栈顶元素值,栈中元素数目不变。intIsEmpty(STACKs):若是空栈则返回1;否则返回0。[C程序]#include<stdio.h>/*此处为栈类型及其基本操作的定义,省略*/intmain(){STACKstation;intstate[1000];intn;/*车厢数*/intbegin,i,j,maxNo;/*maxNo为A端正待入栈的车厢编号*/printf("请输入车厢数:");Scanf("%d",&n);printf("请输入需要判断的车厢编号序列(以空格分隔):");if(n<1=return-1;for(i=0;i<n;i++)/*读入需要驶出的车厢编号序列,存入数组state[]*/scanf("%d",______;/*初始化栈*/maxNo=1;for(i=0;i<n;={/*检查输出序列中的每个车厢号state[i]是否能从栈中获取*/if(______){/*当栈不为空时*/if(state[i]=Top(station)){/*栈顶车厢号等于被检查车厢号*/printf("%d",Top(station));Pop(i++;}elseif(______){printf("error\n");return1;}else{begin=______;for(j=begin+1;j<=state[i];j++){Push(}}}else(/*当栈为空时*/begin=maxNo;for(j=begin;j<=state[i];j++){Push(}maxNo=______;}}printf("OK");return0;}
进入题库练习
问答题阅读以下说明和数据流图,根据要求回答下列问题。[说明]现准备为某银行开发一个信用卡管理系统CCMS,该系统的基本功能如下。1.信用卡申请。非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS。如果信用卡申请被银行接受,CCMS将记录该客户的基本信息,并发送确认函给该客户,告知客户信用卡的有效期及信贷限额;否则该客户将会收到一封拒绝函。非信用卡客户收到确认函后成为信用卡客户。2.信用卡激活。信用卡客户向CCMS提交激活请求,用信用卡号和密码激活该信用卡。激活操作结束后,CCMS将激活通知发送给客户,告知客户其信用卡是否被成功激活。3.信用卡客户信息管理。信用卡客户的个人信息可以在CCMS中进行在线管理。每位信用卡客户可以在线查询和修改个人信息。4.交易信息查询。信用卡客户使用信用卡进行的每一笔交易都会记录在CCMS中。信用卡客户可以通过CCMS查询并核实其交易信息(包括信用卡交易记录及交易额)。图1和图2分别给出了该系统的顶层数据流图和0层数据流图的初稿。图1图2
进入题库练习
问答题[说明]某供销系统接受顾客的订货单,当库存中某配件的数量小于订购量或库存量低于一定数量时,向供应商发出采货单;当某配件的库存量大于或等于订购量时,或者收到供应商的送货单时并更新了库存后,向顾客发出提货单。该系统还可随时向总经理提供销售和库存情况表。以下是经分析得到的数据流图及部分数据字典,有些地方有待填充,假定顶层数据流图是正确的。图1是顶层数据流图,图2是第0层数据流图,图3是第1层数据流图,其中(A)是加工1的子图,(B)是加工2的子图。图1图2图3[数据字典](1)数据流条目订货单=配件号+配件名+规格+数量+顾客名+地址提货单=订货单+金额采货单=配件号+配件名+规格+数量+供应商名+地址送货单=配件号+配件名+规格+数量+金额(2)文件说明文件名:配件库存组成:配件号+配件名+规格+数量+允许的最低库存量
进入题库练习
问答题【说明】某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。在每个学期的开始,学生可以获得该学期的课程目录表,课程目录表列出每门课程的所有信息,诸如基本信息、教师、开课系和选课条件等。新学期开始前两周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请,开学两周后注册管理员负责关闭课程注册。每个学生可以选择不超过4门课程,同时指定2门侯选课程以备主选课程未选上。每门课程最多不能超过10人,最少不能低于3人,低于3人选课的课程将被取消。一旦学生的注册过程完毕,注册系统将有关信息提交收费系统以便学生付费。如果在实际注册过程中名额已满,系统将通知学生在提交课程表之前予以更改。在学期结束时,学生可以存取系统查看电子成绩单。由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。【用例图】【表】表3-1学生课注册系统的实体类实体类说明Professor学校中讲课的教师Strdent学校中注册课程的学生Schedule学生在新学期选择登记的课程列表CourseCatalog学校所有课程的目录Course课程的基本信息CourseOffering新学期课程的开设信息,如课课教师、时间、地点等信息表3-2学生课程注册系统的边界类边界类说明LoginForm为教师、学生和注册管理提供登录的操作RegisterCoursesForm为学生提供选课注册的操作ViewReportForm为学生提供成绩查询的操作SelectTeachCoursesForm为教师提供查看学生选课情况的操作SubmitGradesForm为教师提供登记成绩的操作MaintainProfessorsForm为注册管理员提供维护教师信息的操作MaintainStudentsForm为注册管理员提供维护学生信息的操作MaintainCoursesForm为注册管理员提供维护课程信息的操作CloseRegistrationForm为注册管理员提供关闭注册的操作BillingSystemNotice提供与收费系统的信息交换接口表3-3学生课程注册系统的控制类控制类说明RegisterCoursesControl负责新学期学生的选课登记ViewReportControl负责学生成绩的查询SelectTeachCoursesControl负责新学期课程的学生选择情况SubmitGradesControl负责学生成绩的登记CloseRegistrationControl负责关闭课程注册【协作图】【时序图】注释1:学生打算注册新的课程。注释2:一张这学期可选择的课程列表。注释3:显示一张为学生选课用的空白登记表。1.【问题1】在UML中,用例代表一个完整的功能,如与角色通信、进行计算或在系统内工作等。请简要说明用例具有哪些的特征,并指出用例图中(1)~(3)处表示的内容。
进入题库练习
问答题{{B}}试题1~试题4是必答题{{/B}}阅读以下某图书管理系统的技术说明和数据流图,根据要求回答问题1~问题4。[说明]某图书管理系统的主要功能是图书管理和信息查询。对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位和地址等)一起写入读者文件。该系统的图书管理功能主要分为购入新书、读者借书、读者还书及图书注销4个方面。(1)购入新书时需要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。(2)读者借书时需填写借书单。借书单内容包括读者号和所借图书分类目录号。系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过10本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。(3)读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。(4)注销图书时,需填写注销单并修改图书目录文件中的库存总量。系统的信息查询功能主要包括读者信息查询和图书信息查询。其中,读者信息查询可得到读者的基本信息及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。该图书管理系统的顶层数据流图,如图2-21所示;该图书管理系统的第0层DFD图,如图2-22所示;其中加工2的细化图,如图2-23所示。
进入题库练习
问答题【说明】Point是平面坐标系上的点类,Line是从Point派生出来的直线类。 #include <iostream.h> class Point {public: Point (int x, int y) ; Point (Point ~Point(); void set (double x, double y) ; void print(); private:double X,Y; }; Point::Point (int x, int y) //Point 构造函数 {X=x; Y=y; } Point::Point ({{U}} (1) {{/U}}) //Point 拷贝构造函数 {X=p.X; Y=p.Y;} void Point::set (double x, double y) {X=x; Y=y; } void Point::print() {cout<<' ('<<X<<","<<Y<<") "<<endl; } Point::~Point() {cout<<"Point 的析构函数被调用! "<<endl; class Line: public Point {public: Line (int x, int y, int k) ; Line (Line ~Line(); void set (double x, double y, double k) void print(); private:double K; }; {{U}} (2) {{/U}}//Line 构造函数实现 { K=k;} {{U}} (3) {{/U}} //Line 拷贝构造函数实现 {K=s.K;} void Line::set (double x, double y, double k) {{{U}} (4) {{/U}}; K=k; } void Line::print() {cout<<" 直线经过点"; {{U}} (5) {{/U}}; cout<<"斜率为: k="<<K<<endl; } Line: :~Line() {cout<<"Line 析构函数被调用! "<<endl; } void main() {Line 11 (1,1,2) ; 11 .print(); Linel2 (11) ; 12.set (3,2,1) ; 12.print(); }
进入题库练习
问答题[说明]某航空公司会员积分系统(CFrequentFlyer)的主要功能描述如下:乘客只要办理该航空公司的会员卡,即可成为普卡会员(CBasic)。随着飞行里程数的积累,可以从普卡会员升级到银卡会员(CSilvet)或金卡会员(CCold)。非会员(CNonMember)不能累积里程数。每年年末,系统根据会员在本年度累积的里程数对下一年会员等级进行调整。普卡会员在一年内累积的里程数若满25,000英里但不足50,000英里,则自动升级为银卡会员;若累积的里程数在50,000英里以上,则自动升级为金卡会员。银卡会员在一年内累积的里程数若在50,000英里以上,则自动升级为金卡会员。若一年内没有达到对应级别要求的里程数,则自动降低会员等级。金卡会员一年内累积的里程数若不足25,000英里,则自动降级为普卡会员;若累积的里程数达到25,000英里,但是不足50,000英里,则自动降级为银卡会员。银卡会员一年内累积的里程数若不足25,000英里,则自动降级为普卡会员。采用面向对象方法对会员积分系统进行分析与设计,得到如图1所示的状态图和图2所示的类图。图1某会员积分系统状态图图2某会员积分系统类图
进入题库练习