首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
阅读以下说明和C++代码, [说明] 现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用dra...
查看本题答案
包含此试题的试卷
中级软件设计师《填空集》真题及答案
点击查看
你可能感兴趣的试题
工作说明书的编写一般在工作分析的整理和分析阶段完成关于工作说明书 的编写下列描述错误的是
使用的专业术语越多越好
对工作的描述要准确,语言要简练
工作职责的描述应符合逻辑顺序
工作说明书的文件格式要统一,分类编号要统一
试题五阅读以下说明和C++代码将应填入n处的语句或语句成分写在答题纸的对应栏内【说明】某数据文
试题五阅读以下说明和C++代码将应填入n处的语句或语句成分写在答题纸的对应栏内【说明】某数据文
阅读以下说明和Java代码将应填入____处的语句或语句成分写在答题纸的对应栏内【说明】某数据文件s
试题六阅读以下说明和Java代码将应填入n处的语句或语句成分写在答题纸的对应栏内【说明】某数据
试题六阅读以下说明和Java代码将应填入n处的语句或语句成分写在答题纸的对应栏内【说明】某数据
下列检查行动代码说明正确的是
代码70说明滞留缺陷通知下一港检查。
代码50说明通知船籍港海事管理机构。
代码45说明通知船舶检验机构。
代码90说明其他措施(用文字说明)
阅读以下说明回答问题1和问题2 【说明】 媒体应用应是经过精心创意设计的应用软件因此多媒体设计的
在职务说明书的编写中关于岗位名称和上下级关系的编写以下说 法错误的是
岗位名称要统一
每个岗位只能有唯一的一个上级
每个岗位只能有唯一的一个下级
在填写下属人员一栏的内容时,要注明是直接领导还是间接领导
试题六阅读以下说明和Java代码将应填入n处的语句或语句成分写在答题纸的对应栏内【说明】某数据
阅读以下说明和C函数代码回答问题并将解答写在对应栏内 【说明】 著名的菲波那契数列定义
以下不属于JavaApplication应用程序编写和执行步骤的是
编写源代码
编写HTML文件
编译源代码
解释执行
阅读下列说明回答问题1至问题3将解答填入答题纸的对应栏内【说明】某网站采用ASP+SQLSer
试题六阅读以下说明和Java代码将应填入n处的语句或语句成分写在答题纸的对应栏内【说明】某数据
试题六共15分 阅读以下说明和C++代码将解答写入答题纸的对应栏内 [说明] 类Stock的定义中
试题八 阅读以下说明和Java代码将解答写入答题纸的对应栏内 [说明] 已知类Stock和类Jav
以下不属JavaApplication应用程序编写和执行步骤的是
编写源代码
编写HTML文件
编译源代码
解释执行
阅读以下说明和C代码填充代码中的空缺将解答填入答题纸的对应栏内【说明1】下面的函数countCha
试题三阅读以下说明和C代码回答问题1和问题2将解答写在答题纸的对应栏内 【说明1】下面代码
阅读以下说明和C代码回答下面问题将解答写在对应栏内[说明1]下面代码的设计意图是将保存在文本文件da
热门试题
更多
阅读下列函数说明和C代码填入n处字句并回答相应问题 [说明] 背包问题就是有不同价值不同重量的物品n件求从这n件物品中选取一部分物品的选择方案使选中物品的总重量不超过指定的限制重量而且选中物品的价值之和为最大 背包问题是一个典型的NP完全难题对该问题求解方法的研究无论是在理论上还是在实践中都具有一定的意义如管理中的资源分配投资决策装载问题等均可建模为背包问题 常用的背包问题求解方法很多但本题中采用了一种新的算法来求解背包问题该算法思想为首先要对物品进行价重比排序然后按价重比从大到小依次装进包裹这种方法并不能找到最佳的方案因为有某些特殊情况存在但只要把包中重量最大的物品取出继续装入直到达到limitweight这时的物品就是limit weight的最大价值这种算法不需要逐个进行试探所以在数据非常大时执行效率主要由排序的时间复杂度决定该算法的流程图为图11-4 仔细阅读程序说明和C程序流程图及源码回答问题1和问题2[流程图11-4] [程序说明]structThing物品结构 typedefstructBag背包结构类型input 将物品按序号依次存入数组函数inbag物品按物价比入包函数 init初始化函数sort 对物品按价格重量比排序函数outbag 取出包中weiht最大的物品函数print最佳方案输出函数 [C程序]#defineN255structThing {doubleweight; doublevalue; doubledens;}thing[N]; typedefstmctBag{Thing thing[N];double weighttmp;double sumvalue;}bagbest;inbag {do{ bag.thing[i]=thing[i]1 2 i++;}while 3}init {forinti=0;i<N;i++ {inputthing[i].weightthing [i].valuething[i].dens=thing[i].value/thing [i].weight;};}main {init;sort ;inbag;do{ best=bag;//把包中物品放入暂存数组outbag; //取出包中weight最大的物品4 }while5 printbest//输出temp因为是最佳方案 } [问题1] 根据程序说明及流程图部分C源码充分理解算法思想填入n 处
阅读下列函数说明和C++代码将应填入n处的字句写在对应栏内 [说明] 在销售系统中常常需要打印销售票据有时需要在一般的票据基础上打印脚注这样就需要动态地添加一些额外的职责如下展示了Decorator修饰模式SalesOrder对象使用一个SalesTicket对象打印销售票据先打印销售票据内容然后再打印脚注图5-1显示了各个类间的关系以下是C++语言实现能够正确编译通过 [图5-1] [C++代码] classComponent{ public 1voidprtTicket=0 } classSalesTicketpublicComponent{ public voidprtTicket{ cout<<"SalesTicket!"<<endl } } classDecoratorpublicComponent{ public virtualvoidprtTicket DecoratorComponent*myC private 2myComp } DecoratorDecoratorComponent*myC { myComp=myC } voidDecoratorprtTicket { myComp->prtTicket } classFooterpublicDecorator{ public FooterComponent*myC voidprtTicket voidprtFooter } FooterFooterComponent*myC3{} voidFooterprtFooter { cout<<"Footer"<<endl } voidFooterprtTicket { 4 prtFooter } classSalesOrder{ public voidprtTicket } voidSalesOrderprtTicket { Component*myST myST=newFooter5 myST->prtTicket } 5处填
阅读下列函数说明和C代码将应填入n处的字句写在对应栏内 [说明] HufTman树又称最优二叉树是一类带权路径长度最短的树在编码中应用比较广泛 构造最优二叉树的Huffman算法如下 ①根据给定的n各权值{W1w2…wn构成n棵二叉树的集合F={T1T2…Tn}其中每棵树Ti中只有一个带权为wi的根节点其左右子树均空 ②在F中选取两棵根节点的权值较小的树作为左右子树构造一棵新的二叉树置新构造二叉树的根节点的权值为其左右予树根节点的权值之和 ③从F中删除这两棵树同时将新得到的二叉树加入到F中 重复②③直到F中只剩一棵树为止 函数中使用的预定义符号如下 #defineINTMAX10000 #defineENCODINGLENGTH1000 typedefenumnoneleft_childright_childWhich /*标记是左孩子还足右孩子*/ typedefcharElemtype typedefstructTNode{//Huffman树节点 Elemtypeletter int weight//权值 intparent//父节点 Whichsigh char*code//节点对应编码 }HTNode*HuffmanTree intn charcoding[50]//储存代码 [函数] voidSelectHuffmanTreeHTintendint*slint*s2 /*在0~END之间找出最小和次小的两个节点序号返吲S1S2*/ { inti intmin1=INT_MAX intmin2=INT_MAX fori=0i<=endi++{/*找最小的节点序号*/ if1&&HT[i].weight<minl{ *s1=i min1=HT[i].weight } } fori=0i<=endi++{/*找次小节点的序号*/ ifHT[i].parent==0&&2 &&min2>HT[i].weight{ *s2=i min2=HT[i].weight } } } voidHuffmanTreeCreatHuffmanTree&HT/*建立HUFFMAN树*/ { inti intm=2*n-1 ints1s2 fori=ni<mi++{ Select3 HT[s1].parent=i HT[s2].parent=i HT[s1].sigh=leftchild HT[s2].sigh=rightchild HT[i].weight=4 } } voidHuffmanTreeEncodingcharsen[]HuffmanTreeHT {/*将句子进行编码*/ inti=0 intj whilesen[i]!=’\0’{ forj=0j<nj++{ ifHT[j].letter==sen[i]/*字母吻合则用代码取代*/ strcatcoding5 break } } i++ ifSen[1]==32i++ } printf"/n%s"coding } 2处填
阅读以下说明和程序流程图将应填入n处的字句写在对应栏内 [说明] 假定用一个整型数组表示一个长整数数组的每个元素存储长整数的一位数字则实际的长整数m表示为 m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2] 其中a[1]保存该长整数的位数a[0]保存该长整数的符号0表示正数1表示负数注数组下标从0开始 流程图图4-1用于计算长整数的加减法运算时先决定符号再进行绝对值运算对于绝对值相减情况总是绝对值较大的减去绝对值较小的以避免出现不够减情况注此处不考虑溢出情况即数组足够大这样在程序中引进两个指针pA和pB分别指向绝对值较大者和较小者而对绝对值相加情况让pA指向LApB指向LB不区分绝对值大小pA±pB可用通式pA+flag*pB来计算flag为+1时即对应pA+pBflag为-1时即对应pA-pB需特别注意的是对于相减不够减时要进行借位而当 最高位借位后正好为0时结果的总位数应减1对于加法有最高进位时结果的总位数应加1 流程图中涉及的函数说明如下 1cmpint*LAint*LB函数用于比较长整数LA与LB的绝对值大小若LA绝对值大于LB绝对值则返回正值LA绝对值小于LB绝对值返回负值相等则返回0 2maxintAintB函数用于返回整数A与B中较大数 另外对流程图中的写法进行约定1“=”表示赋值如“flag=LA[0]+LB[0]”表示将“LA[0]+LB[0]”的结果赋给flag相当于C中的赋值语句“flag=LA[0]+LB[0]”2“”表示比较运算如“flag1”表示flag与1比较 5处填
阅读以下说明和Jrdva代码将应填入n处的字句写在对应栏内 [说明] 在销售系统中常常需要打印销售票据有时需要在一般的票据基础上打印脚注这样就需要动态地添加一些额外的职责如下展示了Decorator修饰模式SalesOrder对象使用一个SalesTicket对象打印销售票据图6-1显示了各个类间的关系以下是Java语言实现能够正确编译通过 [图6-1] [Java代码] //Component.jav__件 public1classComponent{ abstractpublicvoidprtTicket } //salesTicket.jav__件 publicclassSalesTicketextendsComponent{ publicvoidprtTicket{ //Salesticketprintingcodehere System.out.printin"SalesTicket" } } //Decorator.jav__件 publicabstractclassDecoratorextendsComponent{ publicvoidprtTicket{ ifmyComp!=nullmyComp.prtTicket } private2myComp publicDecoratorComponentmyC{ myComp=myC } } //Footer.jav__件 publicclassFooterextendsDecorator{ publicFooterComponentmyC{ 3 } publicvoidprtTicket{ 4 prtFooter } publicvoidprtFooter{ //placeprintingfootercodehere System.out.println"Footer" } } //salesorder.jav__件 publicclassSalesOrder{ voidprtTicket{ ComponentmyST myST=newFooter5 //PrintTicketwithfootersasneeded myST.prtTicket } } 2处填
阅读以下说明和Jrdva代码将应填入n处的字句写在对应栏内 [说明] 在销售系统中常常需要打印销售票据有时需要在一般的票据基础上打印脚注这样就需要动态地添加一些额外的职责如下展示了Decorator修饰模式SalesOrder对象使用一个SalesTicket对象打印销售票据图6-1显示了各个类间的关系以下是Java语言实现能够正确编译通过 [图6-1] [Java代码] //Component.jav__件 public1classComponent{ abstractpublicvoidprtTicket } //salesTicket.jav__件 publicclassSalesTicketextendsComponent{ publicvoidprtTicket{ //Salesticketprintingcodehere System.out.printin"SalesTicket" } } //Decorator.jav__件 publicabstractclassDecoratorextendsComponent{ publicvoidprtTicket{ ifmyComp!=nullmyComp.prtTicket } private2myComp publicDecoratorComponentmyC{ myComp=myC } } //Footer.jav__件 publicclassFooterextendsDecorator{ publicFooterComponentmyC{ 3 } publicvoidprtTicket{ 4 prtFooter } publicvoidprtFooter{ //placeprintingfootercodehere System.out.println"Footer" } } //salesorder.jav__件 publicclassSalesOrder{ voidprtTicket{ ComponentmyST myST=newFooter5 //PrintTicketwithfootersasneeded myST.prtTicket } } 4处填
阅读下列函数说明和C++代码将应填入n处的字句写在对应栏内 [说明] 在销售系统中常常需要打印销售票据有时需要在一般的票据基础上打印脚注这样就需要动态地添加一些额外的职责如下展示了Decorator修饰模式SalesOrder对象使用一个SalesTicket对象打印销售票据先打印销售票据内容然后再打印脚注图5-1显示了各个类间的关系以下是C++语言实现能够正确编译通过 [图5-1] [C++代码] classComponent{ public 1voidprtTicket=0 } classSalesTicketpublicComponent{ public voidprtTicket{ cout<<"SalesTicket!"<<endl } } classDecoratorpublicComponent{ public virtualvoidprtTicket DecoratorComponent*myC private 2myComp } DecoratorDecoratorComponent*myC { myComp=myC } voidDecoratorprtTicket { myComp->prtTicket } classFooterpublicDecorator{ public FooterComponent*myC voidprtTicket voidprtFooter } FooterFooterComponent*myC3{} voidFooterprtFooter { cout<<"Footer"<<endl } voidFooterprtTicket { 4 prtFooter } classSalesOrder{ public voidprtTicket } voidSalesOrderprtTicket { Component*myST myST=newFooter5 myST->prtTicket } 3处填
阅读下列说明回答问题1~问题4 【说明】 某超市的销售业务由一个销售业务管理系统进行管理该系统每完成一次交易都需要提供顾客发票其格式见表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 【问题4】 设计二中关系Merchandise中由属性price表示商品价格关系lnvoicedetail中的属性 unitprice也表示商品价格两个是否有必要同时存在为什么
阅读下列说明和数据流图回答问题1至问题3将解答填入对应栏内 [说明] 下面给出的是某房产管理系统的一套分层数据流图其功能描述如下 1系统随时根据住房送来的入住单更新住户基本信息文件 2每月初系统根据物业管理委员会提供的月附加费例如清洁费保安费大楼管理费等表和房租调整表计算每家住户的月租费包括月附加费向住户发出交费通知单住户交费时系统输入交费凭证核对后输出收据给住户 3系统定期向物业管理委员会提供住房分配表和交费清况表 4住户因分户或换房在更新住户基本信息文件的同时系统应立即对这些住户做月租费计算以了结分户或换房前的房租 数据流图如图1-4所示 假定题中提供的DFD是正确的请回答下列问题 指出在哪些图中遗漏了哪些数据流 回答时请用如下形式之一 1××图中遗漏了××加工或文件流向××加工或文件的××数据流 2××图中加工××遗漏了输入或输出数据流××
阅读下列说明回答问题1~问题4 【说明】 某超市的销售业务由一个销售业务管理系统进行管理该系统每完成一次交易都需要提供顾客发票其格式见表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 【问题2】 根据设计二中关系模式以下SQL语句是用于建立2005年1月期间每张发票的发票号交易日期交易商品件数和交易总金额的视图的不完整语句请填补其中的空缺 CREATEVIEWInvoice-total1SELECT Invoice.inoldate23 FROMInvoicelnvoicedetailWHERE4 ANDldateBETWEEN’2005-01-01’AND ’2005-01-31’GROUPBY5
阅读下列说明以及图示如图1所示回答问题1~3 【说明】 某大学准备开发一个学生课程注册系统学生可以使用该系统查询新学期将开设的课程和讲课教师情况选择自己要学习的课程进行登记注册并可以查询成绩单教师可以使用该系统查询新学期将开设的课程和选课学生情况并可以登记成绩单注册管理员使用该系统进行注册管理包括维护教师信息学生信息和课程信息等 在每个学期的开始学生可以获得该学期的课程目录表课程目录表列出每门课程的所有信息诸如基本信息教师开课系和选课条件等 新学期开始前两周为选课注册时间在此期间学生可以选课注册并且允许改变或取消注册申请开学两周后注册管理员负责关闭课程注册每个学生可以选择不超过4门课程同时指定2门侯选课程以备主选课程未选上每门课程最多不能超过10人最少不能低于3人低于3人选课的课程将被取消一旦学生的注册过程完毕注册系统将有关信息提交收费系统以便学生付费如果在实际注册过程中名额已满系统将通知学生在提交课程表之前予以更改 在学期结束时学生可以存取系统查看电子成绩单由于学生成绩属于敏感信息系统必须提供必要的安全措施以防非法存取 【用例图】表1学生课程注册系统的实体类 实体类 说明 Professor 学校中讲课的教师 student 学校中注册课程的学生 Schedule 学生在新学期选择登记的课程列表 CourseCatalog 学校所有课程的目录 Course 课程的基本信息 CourseOffering 新学期课程的开设信息如讲课教师时间地点等信息表2 学生课程注册系统的边界类 边界类 说明 LoginForm 为教师学生和注册管理员提供登录的操作 RegisterCoursesForm 为学生提供选课注册的操作 ViewReportForm 为学生提供成绩查询的操作 selecrTeachCoursesForm 为教师提供查看学生选课情况的操作 SubmitCradesForm 为教师提供登记成绩的操作 MaintainProfessorsForm 为注册管理员提供维护教师信息的操作 MaintainStudentsForm 为注册管理员提供维护学生信息的操作 MaintainCoursesForm 为注册管理员提供维护课程信息的操作 CloseRegistrationForm 为注册管理员提供关闭注册的操作 BillingSystemNotice 提供与收费系统的信息交换接口表3 学生课程注册系统的控制类 控制类 说明 RegisterCoursesControl 负责新学期学生的选课登记 ViewReportControl 负责学生成绩的查询 SelectTeachCoursesControl 负责新学期课程的学生选择情况 SubmitGradesControl 负责学生成绩的登记 CloseRegistrationControl 负责关闭课程注册【协作图】 【时序图】 注释1学生打算注册新的课程注释2一张这学期可选择的课程列表 注释3显示一张为学生选课用的空白登记表 【问题3】 UML采用5个互联的视图来描述软件系统的体系结构即用例视图Use—caseView设计视图Design View进程视图ProcessView实现视图ImplementationView和展开视图Deployment View系统模型中每一个视图的内容是由一些图来描述的UML中包含用例图类图对象图状态图时序图协作图活动图组件图分布图等9种图对整个系统而言其功能由用例图描述静态结构由类图和对象图描述动态行为由状态图时序图协作图和活动图描述而物理架构则是由组件图和分布图描述请分别指出用例图类图对象图状态图时序图协作图活动图组件图分布图的作用
阅读下列说明和算法回答问题1和问题2 【说明】 算法2-1是用来检查文本文件中的圆括号是否匹配若文件中存在圆括号没有对应的左括号或者右括号则给出相应的提示信息如下所示 文件 提示信息1+2abc 缺少对应左括号第2行第4列defgx 缺少对应左括号第3行第10列h ijk1ml 缺少对应右括号第5行第4列第4行第1列 在算法2-1中stack为一整数栈算法中各函数的说明见表4 表4 函数名 函数功能 pushinti 将整数i压人栈stack中 pop stack的栈顶元素出栈 empty 判断stack栈是否为空若为空函数返回1否则函数返回0 nextch 读取文本文件中的下—个字符井返回该字符的ASCII值将字符所在的行号以及字符在行中的位置分别存储到变量row和col中若遇到文件结束符则将变量EOF置为true kindcharch 判断字符ch是左括号还是右括号若是左括号函数返回1若是右括号函数返回2若两者都不是函数返回【算法2-1】将栈stack 置空置EOF为falsech<-nextch;whilenotEOFk<-kindCH;ifk==1 push2;push3;elseifk==4ifnot emptypop;pop;else显示错误信息缺少对应左括号或右括号显示行号row显示列号colendifendif ch<-nextch;endwhileifnotempty显示错误信息缺少对应左括号或右括号whilenot emptyrow<-pop;col<-pop;显示行号row;显示列号col;endwhileendif 为了识别更多种类的括号对算法2-1加以改进后得到算法2-2算法2-2能够识别圆括号方括号和花括号不同类型的括号不能互相匹配改进后函数kindchar ch的参数及其对应的返回值见表5表五 ch { } [ ] 其他 返回值 1 2 3 4 5 6 0 【算法2-2】将栈stack置空置EOF为falsech< -nextchwhilenotEOF k<-kindchifk>0 if判断条件1 push5;push 6;push7; elseif判断条件2and判断条件3 pop;pop;pop; else 显示行号row显示列号col endifendifch<- nextch;endwhileifnotempty 显示错误信息缺少对应左括号或右括号whilenotempty pop;row←pop;col←pop; 显示行号row显示列号colendwhileendif 【问题2】 请从下面的选项中选择相应的判断逻辑填补【算法2-1】中的判断条件1至判断条件3注意若判断条件2的逻辑判断结果为假就无需对判断条件3进行判断 a字符是括号b字符是左括号c字符是右括号 d栈空e栈不空 f栈顶元素表示的是与当前字符匹配的左括号 R栈顶元素表示的是与当前字符匹配的右括号
【说明】 某超市的销售业务由一个销售业务管理系统进行管理该系统每完成一次交易都需要提供顾客发票其格式如表1-1所示 对于这样一个销售业务管理系统分别给出了以下两种关系数据库的设计下划线表示主关键字设计一 顾客Customer顾客代码Cno姓名name住址address联系电话phone 收银员Salesman收银员代码Sno身份证号idno姓名flame住址address联系电话phone 商品Merchandise商品代码Milo商品名称Mname价格price 发票Invoice发票号码Ino交易日期Idate顾客代码Cno收银员代码Sno商品代码Mno单价unitprice数量amount 设计二 顾客Customer顾客代码Cno姓名name住址address联系电话phone 收银员Salesman收银员代码Sno身份证号idno姓名name住址address联系电话吵one 商品Merchandise商品代码Mno商品名称mllame价格pnce 发票Invoice发票号码Ino交易日期Idate顾客代码Cno收银员代码Sno 发票明细Invoicedetail发票号码Ino商品代码Uno单价unitprice数量amount 【问题4】 设计二中关系Merchandise中由属性price表示商品价格关系Invoicedetail中的属性 unitprice也表示商品价格两个是否有必要同时存在为什么
假定SP表存储供应情况如下的SQL语句是用于查询“产地为‘Beijing’零件号为‘P101’的零件的所供应的总数包括所有供应商”的不完整语句请在空缺处填入正确的内容 SELECTSUMQty FROMSP WHEREPNo=”P101’ 1PNo2 SELECTPNo FROM3 WHEREcity="Beijing" 4PNo; 1处填
阅读下列说明以及图示如图1所示回答问题1~3 【说明】 某大学准备开发一个学生课程注册系统学生可以使用该系统查询新学期将开设的课程和讲课教师情况选择自己要学习的课程进行登记注册并可以查询成绩单教师可以使用该系统查询新学期将开设的课程和选课学生情况并可以登记成绩单注册管理员使用该系统进行注册管理包括维护教师信息学生信息和课程信息等 在每个学期的开始学生可以获得该学期的课程目录表课程目录表列出每门课程的所有信息诸如基本信息教师开课系和选课条件等 新学期开始前两周为选课注册时间在此期间学生可以选课注册并且允许改变或取消注册申请开学两周后注册管理员负责关闭课程注册每个学生可以选择不超过4门课程同时指定2门侯选课程以备主选课程未选上每门课程最多不能超过10人最少不能低于3人低于3人选课的课程将被取消一旦学生的注册过程完毕注册系统将有关信息提交收费系统以便学生付费如果在实际注册过程中名额已满系统将通知学生在提交课程表之前予以更改 在学期结束时学生可以存取系统查看电子成绩单由于学生成绩属于敏感信息系统必须提供必要的安全措施以防非法存取 【用例图】表1学生课程注册系统的实体类 实体类 说明 Professor 学校中讲课的教师 student 学校中注册课程的学生 Schedule 学生在新学期选择登记的课程列表 CourseCatalog 学校所有课程的目录 Course 课程的基本信息 CourseOffering 新学期课程的开设信息如讲课教师时间地点等信息表2 学生课程注册系统的边界类 边界类 说明 LoginForm 为教师学生和注册管理员提供登录的操作 RegisterCoursesForm 为学生提供选课注册的操作 ViewReportForm 为学生提供成绩查询的操作 selecrTeachCoursesForm 为教师提供查看学生选课情况的操作 SubmitCradesForm 为教师提供登记成绩的操作 MaintainProfessorsForm 为注册管理员提供维护教师信息的操作 MaintainStudentsForm 为注册管理员提供维护学生信息的操作 MaintainCoursesForm 为注册管理员提供维护课程信息的操作 CloseRegistrationForm 为注册管理员提供关闭注册的操作 BillingSystemNotice 提供与收费系统的信息交换接口表3 学生课程注册系统的控制类 控制类 说明 RegisterCoursesControl 负责新学期学生的选课登记 ViewReportControl 负责学生成绩的查询 SelectTeachCoursesControl 负责新学期课程的学生选择情况 SubmitGradesControl 负责学生成绩的登记 CloseRegistrationControl 负责关闭课程注册【协作图】 【时序图】 注释1学生打算注册新的课程注释2一张这学期可选择的课程列表 注释3显示一张为学生选课用的空白登记表 【问题1】 在UML中用例代表一个完整的功能如与角色通信进行计算或在系统内工作等请简要说明用例具有哪些的特征并指出用例图中1~3处表示的内容
阅读以下说明和表回答问题1~3问题 [说明]在学校中存在以下关系 a一个系有若干学生但一个学生只能在一个系 b一个学生可以选修多门课程每门课程有若干学生选修 c每个学生所学的每门课程都有一个成绩 该校在学生信息管理数据库设计了三个基本表分别为表一表二表三 a表一学生信息表STUDENTSTIDNAMEAGEDEPTNO其中STID表示学号NAME表示学生姓名AGE表示年龄DEPTNO表示系号 b表二课程表COURSECOIDNAME其中COID表示课程号NAME表示课程名 c表三成绩表SCORESCIDCOIDGRADE其中SCID表示学号COID表示课程号 GRADE表示成绩成绩为空时表示这学期正在上的课程 [问题1] 根据要求将SQL语句补充完整1查询各系的学生数SELECT 1COUNT*2 GROUPBYDEPTNO 2更改课程号为C601的课程名为大学物理UPDATE3 SET4 3基于学生信息表建立一个计算机系系编号为D01的学生视图写出命令CREATEORREPLACE VIEWV_STUDENTAS5
假定SP表存储供应情况如下的SQL语句是用于查询“产地为‘Beijing’零件号为‘P101’的零件的所供应的总数包括所有供应商”的不完整语句请在空缺处填入正确的内容 SELECTSUMQty FROMSP WHEREPNo=”P101’ 1PNo2 SELECTPNo FROM3 WHEREcity="Beijing" 4PNo; 3处填
阅读以下说明和数据流图回答问题1~3问题 [说明] 研究生招生系统旨在用计算机对学校的研究生招生事务进行管理研究生招生可分为报名阶段考试阶段和录取阶段招生报考前招生处要进行考前准备工作如统计招生导师考试科目以及制定报考专业标准代码等招生导师信息包括导师的姓名性别年龄出生年月所从事专业和研究方向以及所在系别考试科目包含科目代码科目的名称以及报考本科目的考试人数在报名阶段考生向招生处提交报名数据表研究生系统根据考生的报考数据确定考生准考生号并通知考生考试日期在考试阶段考试结束后考生成绩录入研究生招生系统考生可以从研究生招生系统中获取自己的考试成绩在录取阶段研究生招生系统根据考生的报考数据考试成绩外校调剂考生信息以及往年保留资格记录文件确定录取数据并形成录取文件系统统计并记录相关招生信息以供查询对被录取的考生发放录取通知书对需要保留资格的考生记录其信息以供下年度招生使用招生处可以从研究生招生系统中获得录取数据和招生情况的统计信息以供咨询 数据流图11-1为研究生招生系统顶层图数据流图11-2为研究生招生系统第0层DFD图数据流图11-3为加工3的细化图 [数据流图11-1][数据流图11-2] [数据流图11-3] [问题2] 数据流图11-3中还依赖于哪个文件请指出文件名称并指出与其有关的数据流的起点和终点
阅读以下说明和C代码将应填入n处的字句写在对应栏内 [说明] 函数combineabc是计算两个整数的组合数由于计算结果可能超出10ng整型的可表示范围故采用数组方式存储例如k位长整数m用数组c[]存储结构如下m=c[k]×10k-1+c[k-1]×10k-2+…+c[2]×10+c[1]利用c[0]存储长整数m的位数即c[0]=k数组的每个元素只存储长整数m的一位数字长整数运算时产生的中间结果的某位数字可能会大于9这是就应该调用format将其归整使数组中的每个元素始终只存储长整数的一位数字 整数a和ba>b的组合数为其中u1=au2]=a-1…ub=a-b+1d1=1d2=2…db=b为了计算上述分式先从u1u2…ub中去掉d1×d2×…×db的因子得到新的u1u2…ub然后再将它们相乘 [函数] #defineNAXN100 intgcdintaintb//求两个整数a和b的最大公因子 { ifa<b{ intC=aa=bb=c } forinti=bi>=2i--{ if1returni } return1 voidformatint*a//将长整数数组归整 { inti fori=1i<a[0]||a[i]>=10i++{ ifi>=a[0]2 a[i+1]+=a[i]/10 a[i]=a[i]%10 } ifi>a[0]3 } voidcombineintaintbint*C { intiJkx intd[MAXN]u[MAXN] k=0 fori=ai>=a-b+1i--u[++k]=i u[0]=b fori=1i<=bi++d[i]=i fori=1i<=u[0]i++{//从u中各元素去掉d中整数的因子 forj=1j<=bj++{ x=gcdu[i]d[j]//计算最大公约数 u[i]/=X d[j]/=x } 4C[1]=1//长整数c初始化 fori=1i<=u[0]i++//将u中各整数相乘存于长整数c中 ifu[i]!=1{ forj=1j<=c[0]j++{ C[j]=5 } formatC//将长整数c归整 } } } 5处填
阅读下列函数说明和C++代码将应填入n处的字句写在对应栏内 [说明] 在销售系统中常常需要打印销售票据有时需要在一般的票据基础上打印脚注这样就需要动态地添加一些额外的职责如下展示了Decorator修饰模式SalesOrder对象使用一个SalesTicket对象打印销售票据先打印销售票据内容然后再打印脚注图5-1显示了各个类间的关系以下是C++语言实现能够正确编译通过 [图5-1] [C++代码] classComponent{ public 1voidprtTicket=0 } classSalesTicketpublicComponent{ public voidprtTicket{ cout<<"SalesTicket!"<<endl } } classDecoratorpublicComponent{ public virtualvoidprtTicket DecoratorComponent*myC private 2myComp } DecoratorDecoratorComponent*myC { myComp=myC } voidDecoratorprtTicket { myComp->prtTicket } classFooterpublicDecorator{ public FooterComponent*myC voidprtTicket voidprtFooter } FooterFooterComponent*myC3{} voidFooterprtFooter { cout<<"Footer"<<endl } voidFooterprtTicket { 4 prtFooter } classSalesOrder{ public voidprtTicket } voidSalesOrderprtTicket { Component*myST myST=newFooter5 myST->prtTicket } 1处填
阅读下列函数说明和C代码将应填入n处的字句写在对应栏内 [说明] HufTman树又称最优二叉树是一类带权路径长度最短的树在编码中应用比较广泛 构造最优二叉树的Huffman算法如下 ①根据给定的n各权值{W1w2…wn构成n棵二叉树的集合F={T1T2…Tn}其中每棵树Ti中只有一个带权为wi的根节点其左右子树均空 ②在F中选取两棵根节点的权值较小的树作为左右子树构造一棵新的二叉树置新构造二叉树的根节点的权值为其左右予树根节点的权值之和 ③从F中删除这两棵树同时将新得到的二叉树加入到F中 重复②③直到F中只剩一棵树为止 函数中使用的预定义符号如下 #defineINTMAX10000 #defineENCODINGLENGTH1000 typedefenumnoneleft_childright_childWhich /*标记是左孩子还足右孩子*/ typedefcharElemtype typedefstructTNode{//Huffman树节点 Elemtypeletter int weight//权值 intparent//父节点 Whichsigh char*code//节点对应编码 }HTNode*HuffmanTree intn charcoding[50]//储存代码 [函数] voidSelectHuffmanTreeHTintendint*slint*s2 /*在0~END之间找出最小和次小的两个节点序号返吲S1S2*/ { inti intmin1=INT_MAX intmin2=INT_MAX fori=0i<=endi++{/*找最小的节点序号*/ if1&&HT[i].weight<minl{ *s1=i min1=HT[i].weight } } fori=0i<=endi++{/*找次小节点的序号*/ ifHT[i].parent==0&&2 &&min2>HT[i].weight{ *s2=i min2=HT[i].weight } } } voidHuffmanTreeCreatHuffmanTree&HT/*建立HUFFMAN树*/ { inti intm=2*n-1 ints1s2 fori=ni<mi++{ Select3 HT[s1].parent=i HT[s2].parent=i HT[s1].sigh=leftchild HT[s2].sigh=rightchild HT[i].weight=4 } } voidHuffmanTreeEncodingcharsen[]HuffmanTreeHT {/*将句子进行编码*/ inti=0 intj whilesen[i]!=’\0’{ forj=0j<nj++{ ifHT[j].letter==sen[i]/*字母吻合则用代码取代*/ strcatcoding5 break } } i++ ifSen[1]==32i++ } printf"/n%s"coding } 4处填
阅读以下说明和程序流程图将应填入n处的字句写在对应栏内 [说明] 假定用一个整型数组表示一个长整数数组的每个元素存储长整数的一位数字则实际的长整数m表示为 m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2] 其中a[1]保存该长整数的位数a[0]保存该长整数的符号0表示正数1表示负数注数组下标从0开始 流程图图4-1用于计算长整数的加减法运算时先决定符号再进行绝对值运算对于绝对值相减情况总是绝对值较大的减去绝对值较小的以避免出现不够减情况注此处不考虑溢出情况即数组足够大这样在程序中引进两个指针pA和pB分别指向绝对值较大者和较小者而对绝对值相加情况让pA指向LApB指向LB不区分绝对值大小pA±pB可用通式pA+flag*pB来计算flag为+1时即对应pA+pBflag为-1时即对应pA-pB需特别注意的是对于相减不够减时要进行借位而当 最高位借位后正好为0时结果的总位数应减1对于加法有最高进位时结果的总位数应加1 流程图中涉及的函数说明如下 1cmpint*LAint*LB函数用于比较长整数LA与LB的绝对值大小若LA绝对值大于LB绝对值则返回正值LA绝对值小于LB绝对值返回负值相等则返回0 2maxintAintB函数用于返回整数A与B中较大数 另外对流程图中的写法进行约定1“=”表示赋值如“flag=LA[0]+LB[0]”表示将“LA[0]+LB[0]”的结果赋给flag相当于C中的赋值语句“flag=LA[0]+LB[0]”2“”表示比较运算如“flag1”表示flag与1比较 3处填
【说明】 下面是一个Applet程序其功能是通过一个按钮控制一个窗口的创建显示与隐藏并且以按钮文字作为提示可以随着窗口的状态改变即如果窗口出现则按钮文字为HidemyFrm提示用户点击按钮则隐藏窗口反之亦然请将横线处语句补充完整 程序运行结果如图5所示 importjava.awt.*; importjava.applet.*; <appletcode=ex8_7.classwidth=800height=400> </applet> */ publicclassex8_7extendsApplet{ privateFramefrm; privateButtonshowBtn; publicvoidinit{ showBtn=newButtonShowFrame; 1; } publicbooleanactionEventeObjecto{ ife.target==showBtn{ if2{ 3; frm.dispose 4 showBtnsetLabelShowmyFrm; } else{ frm=newFramemyFrm; frm.resize200150; frm.setBackgroundColor.gray; 5; showBtnsetLabelHidemyFrm; } } returntrue; } } ex8_7html <HTML> <HEAD> <TITLE>ex8_7</TITLE> </HEAD> <BODY> <appletcode=ex8_7classwidth=800height=400> </applet> </BODY> </HTML>
阅读下列说明和流程图2-3将应填入n的字句写在答题纸的对应栏内 【说明】 下面的流程图描述了对8位二进制整数求补的算法 该算法的计算过程如下从二进制数的低位最右位开始依次向高位逐位查看直到首次遇到1时停止查看然后对该1位左面的更高位如果有的话逐位求反所得的结果就是对原二进制数求补的结果 例如对二进制整数10101000求补的结果是01011000 设8位二进制整数中的各位从低位到高位依次存放在整型数组BIT的B1T[1]~BIT[8]中例如二进制整数10101000存放在数组BIT后就有BIT[1]=0BIT[2]=0BIT[7]=0BIT[8]=1若流程图中存在空操作则用NOP表示 【流程图】 注流程图中1处按循环变量名循环初值增量循环终值格式描述
阅读以下说明和C代码将应填入n处的字句写在对应栏内 [说明] 函数combineabc是计算两个整数的组合数由于计算结果可能超出10ng整型的可表示范围故采用数组方式存储例如k位长整数m用数组c[]存储结构如下m=c[k]×10k-1+c[k-1]×10k-2+…+c[2]×10+c[1]利用c[0]存储长整数m的位数即c[0]=k数组的每个元素只存储长整数m的一位数字长整数运算时产生的中间结果的某位数字可能会大于9这是就应该调用format将其归整使数组中的每个元素始终只存储长整数的一位数字 整数a和ba>b的组合数为其中u1=au2]=a-1…ub=a-b+1d1=1d2=2…db=b为了计算上述分式先从u1u2…ub中去掉d1×d2×…×db的因子得到新的u1u2…ub然后再将它们相乘 [函数] #defineNAXN100 intgcdintaintb//求两个整数a和b的最大公因子 { ifa<b{ intC=aa=bb=c } forinti=bi>=2i--{ if1returni } return1 voidformatint*a//将长整数数组归整 { inti fori=1i<a[0]||a[i]>=10i++{ ifi>=a[0]2 a[i+1]+=a[i]/10 a[i]=a[i]%10 } ifi>a[0]3 } voidcombineintaintbint*C { intiJkx intd[MAXN]u[MAXN] k=0 fori=ai>=a-b+1i--u[++k]=i u[0]=b fori=1i<=bi++d[i]=i fori=1i<=u[0]i++{//从u中各元素去掉d中整数的因子 forj=1j<=bj++{ x=gcdu[i]d[j]//计算最大公约数 u[i]/=X d[j]/=x } 4C[1]=1//长整数c初始化 fori=1i<=u[0]i++//将u中各整数相乘存于长整数c中 ifu[i]!=1{ forj=1j<=c[0]j++{ C[j]=5 } formatC//将长整数c归整 } } } 1处填
阅读以下说明和程序流程图将应填入n处的字句写在对应栏内 [说明] 假定用一个整型数组表示一个长整数数组的每个元素存储长整数的一位数字则实际的长整数m表示为 m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2] 其中a[1]保存该长整数的位数a[0]保存该长整数的符号0表示正数1表示负数注数组下标从0开始 流程图图4-1用于计算长整数的加减法运算时先决定符号再进行绝对值运算对于绝对值相减情况总是绝对值较大的减去绝对值较小的以避免出现不够减情况注此处不考虑溢出情况即数组足够大这样在程序中引进两个指针pA和pB分别指向绝对值较大者和较小者而对绝对值相加情况让pA指向LApB指向LB不区分绝对值大小pA±pB可用通式pA+flag*pB来计算flag为+1时即对应pA+pBflag为-1时即对应pA-pB需特别注意的是对于相减不够减时要进行借位而当 最高位借位后正好为0时结果的总位数应减1对于加法有最高进位时结果的总位数应加1 流程图中涉及的函数说明如下 1cmpint*LAint*LB函数用于比较长整数LA与LB的绝对值大小若LA绝对值大于LB绝对值则返回正值LA绝对值小于LB绝对值返回负值相等则返回0 2maxintAintB函数用于返回整数A与B中较大数 另外对流程图中的写法进行约定1“=”表示赋值如“flag=LA[0]+LB[0]”表示将“LA[0]+LB[0]”的结果赋给flag相当于C中的赋值语句“flag=LA[0]+LB[0]”2“”表示比较运算如“flag1”表示flag与1比较 1处填
在关系模型的完整性约束中实体完整性规则是指关系中2参照完整性规则要求3 2处填
阅读以下说明和C代码将应填入n处的字句写在对应栏内 [说明] 函数combineabc是计算两个整数的组合数由于计算结果可能超出10ng整型的可表示范围故采用数组方式存储例如k位长整数m用数组c[]存储结构如下m=c[k]×10k-1+c[k-1]×10k-2+…+c[2]×10+c[1]利用c[0]存储长整数m的位数即c[0]=k数组的每个元素只存储长整数m的一位数字长整数运算时产生的中间结果的某位数字可能会大于9这是就应该调用format将其归整使数组中的每个元素始终只存储长整数的一位数字 整数a和ba>b的组合数为其中u1=au2]=a-1…ub=a-b+1d1=1d2=2…db=b为了计算上述分式先从u1u2…ub中去掉d1×d2×…×db的因子得到新的u1u2…ub然后再将它们相乘 [函数] #defineNAXN100 intgcdintaintb//求两个整数a和b的最大公因子 { ifa<b{ intC=aa=bb=c } forinti=bi>=2i--{ if1returni } return1 voidformatint*a//将长整数数组归整 { inti fori=1i<a[0]||a[i]>=10i++{ ifi>=a[0]2 a[i+1]+=a[i]/10 a[i]=a[i]%10 } ifi>a[0]3 } voidcombineintaintbint*C { intiJkx intd[MAXN]u[MAXN] k=0 fori=ai>=a-b+1i--u[++k]=i u[0]=b fori=1i<=bi++d[i]=i fori=1i<=u[0]i++{//从u中各元素去掉d中整数的因子 forj=1j<=bj++{ x=gcdu[i]d[j]//计算最大公约数 u[i]/=X d[j]/=x } 4C[1]=1//长整数c初始化 fori=1i<=u[0]i++//将u中各整数相乘存于长整数c中 ifu[i]!=1{ forj=1j<=c[0]j++{ C[j]=5 } formatC//将长整数c归整 } } } 3处填
【说明】 下面是某租车信息管理系统的介绍该车库中备有若干车辆每辆车有车号车牌车名价格等属性车库不定期地购买并注册新车供用户借用也可将报废的旧车注销以停止租用 车库可为众多用户提供服务每个用户在借车之前需注册姓名地址等内容每个用户最多可同时借3辆车每辆车借期7天若有一辆车超期则不可再借其他车一辆车超期一天罚款250元若一辆车超期3周不归还则发布通告若用户借的车丢失在罚款处理之前不能借车每辆报失的车罚款该车目前市价包括折旧的1.2倍注册新用户不受限制而注销用户之前该用户必须归还所有借的车或者报失并接受罚款 【状态图1】【状态图2】 【问题2】 分析用户的状态和事件指出图2-2中的5678分别是什么 注意用户与车辆在状态图中的关系
【程序说明】 本程序先从文件读人各考生的准考证号设为整型数及成绩并将其存放在一棵检索二叉树上二叉树结点的健值是成绩每个结点带一链表链表结点存放取得该成绩的考生的准考证号然后程序按中序遍历检索二叉树从高分到低分输出结果使每行输出成绩及其取得成绩的考生的准考证号 【程序】 #include<stdio.h> typedefstruetidnode{ intid; structidnode*next; }ldNode; typedefstructmarknodeI intmark; ldNode*head; structmarknode*left*right; }MarkNode; charfname[]=sp07.dat; main {intidmark; MarkNode*root=null; FILE*fp=fopenfnamer; if!fp{ printffile%sopenerror/nfname; exit0; } while!feopfp{ fscanffp%d%d&id&mark; btree&rootidmark; } fclosefp; printroot; } btreeMarkNod**mpptrintidintmark {ldNode*ip; MarkNode*mp=*mpptr; if1{ ifmark==p->markaddldNODE2id; elseifmark>mp->markbtree&top->leftidmark; elsebtree&mp->rightidmark; }else Imp=marknode*mallocsizeomarknode; mp->mark=mark; mp->left=mp->right=NULL; 3 addldNode&mp->headid; 4; } } addldNodeldNode**ippintid {ldNode*ip=*ipp; if5addldNode6id; else{ ip=ldNode*mallocsizeofldNode; sp->id=id; ip->next=NULL; 7 } } printMarkNode*rap {ldNode*ip*ip0; ifmp{ printmp->left; printf%6d:/tmp->mark; ip=mp->head; whileip{ printf%6dip->id; ip0=ip; ip=ip->next; freeip0; } printf/n;printfmp->right;freemp; } }
热门题库
更多
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术
电话交换专业技术
电信网络专业技术