首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
阅读以下说明和流程图,回答问题1和问题2,将答案写在答卷的对应栏内。 【说明】 本流程图实现从比赛成绩文件生成赛车成绩一览表...
查看本题答案
包含此试题的试卷
中级软件设计师《问答集》真题及答案
点击查看
你可能感兴趣的试题
试题一阅读以下说明和流程图回答问题1至问题4将解答填入答题纸的对应栏内【说明】下面的流程图中有
阅读以下说明和流程图回答问题1~3将解答填入答题纸的对应栏内 说明信息处理过程中经常需要将
阅读以下说明和流程图回答问题将解答填入对应栏 [说明] 本流程图采用双向冒泡法实现对数组a[n]
试题一阅读以下说明和流程图回答问题1至问题4将解答填入答题纸的对应栏内【说明】下面的流程图中有
阅读以下说明和流程图回答问题将解答填入对应栏 [说明] 下面的流程图用来完成计算一组数组中的中值
试题一15分每空3分 阅读以下说明和流程图回答问题1至问题2将解答填入答题纸的对应栏内 [说明]
阅读以下说明和流程图回答问题将解答填入对应栏 [说明] 本流程图实现采用递归函数来求一个整数数组
试题一15分每空3分 阅读以下说明和流程图回答问题1至问题2将解答填入答题纸的对应栏内 [说明]
阅读以下说明和流程图回答问题将解答填入对应栏[说明]本流程图采用双向冒泡法实现对数组a[n]的排序双
阅读以下说明回答问题1和问题2将解答写在对应栏内 【说明】 一个野生动物园有如下动物老虎豹狼丹顶
阅读以下说明和流程图回答问题1~3将解答填入答题纸的对应栏内 说明信息处理过程中经常需要将
阅读以下说明和流程图回答问题将解答填入对应栏[说明]下面的流程图用来完成计算一组数组中的中值其方法是
阅读以下说明和流程图回答问题将解答填入对应栏[说明]直接插入法排序是一种N2运算量的例程只能用在N较
阅读以下说明和图回答问题1和问题2将答案写在答卷的对应栏内 【说明】 银行客户需要从ATM取10
阅读以下说明和图回答问题1和问题2将答案写在答卷的对应栏内 【说明】 银行客户需要从ATM取10
阅读以下说明和流程图回答问题1~3将解答填入答题纸的对应栏内 说明信息处理过程中经常需要将
阅读以下说明和流程图回答问题将解答填入对应栏[说明]本流程图实现采用递归函数来求一个整数数组中从元素
试题一阅读以下说明和流程图回答问题1至问题4将解答填入答题纸的对应栏内 【说明】下面的流程
试题一阅读以下说明和流程图回答问题1至问题4将解答填入答题纸的对应栏内【说明】下面的流程图中有
阅读以下说明和流程图回答问题将解答填入对应栏[说明]直接插入法排序是一种N2运算量的例程只能用在N较
热门试题
更多
在软件体系结构中基于的系统具有某种意义上的递归性形成了部分一整体的层次结构用户可以组合多个简单的子系统以形成一些较大的子系统这些较大的子系统又可以组合成更大的子系统
阅读以下说明和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 } } 1处填
阅读以下说明和表回答问题1~3问题 [说明]在学校中存在以下关系 a一个系有若干学生但一个学生只能在一个系 b一个学生可以选修多门课程每门课程有若干学生选修 c每个学生所学的每门课程都有一个成绩 该校在学生信息管理数据库设计了三个基本表分别为表一表二表三 a表一学生信息表STUDENTSTIDNAMEAGEDEPTNO其中STID表示学号NAME表示学生姓名AGE表示年龄DEPTNO表示系号 b表二课程表COURSECOIDNAME其中COID表示课程号NAME表示课程名 c表三成绩表SCORESCIDCOIDGRADE其中SCID表示学号COID表示课程号 GRADE表示成绩成绩为空时表示这学期正在上的课程 [问题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比较 2处填
[说明] 在一些应用场合中需要对用户的输入数据进行检查监控以下VisualBasic程序实现了对新添加到List列表的内容进行监控拒绝向List列表添加重复信息例如在List列表中存在元素a01001a01002如果用户输入数据为aOl001或a01002系统则弹出提示信息拒绝将新数据加入List列表如果用户输入的数据不同与List列表中的任何一个元素则作为新元素加入List中VisualBasic界面显示如图11-5所示根据程序功能说明完成程序代码 [代码1] BeginVB.FormForm1 Caption=List列表拒绝添加重复信息 //...窗体描述略 BeginVB.CommandButtonCommand2 Caption=退出 //...窗体描述略 End BeginVB.CommandButtonommand1 Caption=添加 //...窗体描述略 End BeginVB.TextBoxText1 //...窗体描述略 End BeginVB.ListBoxList1 Height=1860 ItemData=Form1.frx:0000 Left=1020 List=Form1.frx:0002 TabIndex=0 Top=525 Width=2580 End BeginVB.LabelLabell BackStyle=0’Transparent Caption=请输入编号 //...窗体描述略 End End [代码2] AttributeVB_Name=Form1 AttributeVB_GlobalNameSpace=False AttributeVB_Creatable=False AttributeVB_PredeclaredId=True AttributeVB_Exposed=False PrivateSubForm_Load Listl.AddItema01001 Listl.AddItema01002 EndSub PrivateSubCommand1Click DimMyvalAsLong Fori=0To1 2 If3Then MsgBox系统不允许重复输入请重新输入 ExitSub EndIf 4 5 EndSub
阅读下列函数说明和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 } 2处填
假定SP表存储供应情况如下的SQL语句是用于查询“产地为‘Beijing’零件号为‘P101’的零件的所供应的总数包括所有供应商”的不完整语句请在空缺处填入正确的内容 SELECTSUMQty FROMSP WHEREPNo=”P101’ 1PNo2 SELECTPNo FROM3 WHEREcity="Beijing" 4PNo; 2处填
表达式Y=A-B/C×D+E的后缀式表示为
阅读以下说明和数据流图回答问题1~3问题 [说明] 研究生招生系统旨在用计算机对学校的研究生招生事务进行管理研究生招生可分为报名阶段考试阶段和录取阶段招生报考前招生处要进行考前准备工作如统计招生导师考试科目以及制定报考专业标准代码等招生导师信息包括导师的姓名性别年龄出生年月所从事专业和研究方向以及所在系别考试科目包含科目代码科目的名称以及报考本科目的考试人数在报名阶段考生向招生处提交报名数据表研究生系统根据考生的报考数据确定考生准考生号并通知考生考试日期在考试阶段考试结束后考生成绩录入研究生招生系统考生可以从研究生招生系统中获取自己的考试成绩在录取阶段研究生招生系统根据考生的报考数据考试成绩外校调剂考生信息以及往年保留资格记录文件确定录取数据并形成录取文件系统统计并记录相关招生信息以供查询对被录取的考生发放录取通知书对需要保留资格的考生记录其信息以供下年度招生使用招生处可以从研究生招生系统中获得录取数据和招生情况的统计信息以供咨询 数据流图11-1为研究生招生系统顶层图数据流图11-2为研究生招生系统第0层DFD图数据流图11-3为加工3的细化图 [数据流图11-1][数据流图11-2] [数据流图11-3] [问题1] 数据流图11-2中有3条数据流请根据说明中的术语给出这三条数据流名称并指出起点和终点
阅读下列函数说明和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 } 3处填
阅读下列函数说明和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 } 1处填
[说明] 建立一个分数类使之具有下述功能建立构造函数它能防止分母为0当分数不是最简形式时进行约分以及避免分母为负数如经过类Num3-6的处理转换为经过类Num810的处理后转换为 [C++代码] #include<iostream.h> #include<math.h> classNum { public: Numintaintb; private: intnum1; intnum2; }: Num::Numintaintb { if1 { cout<<ERROR<<endl; return; } intmin=fabsa<fabsbfabsa:fabsb; intx=1; forinti=1;i<=min;i++ if2 x=i; a/=X; b/=x; if3 { a=-a; b=-b; } 4 5 }
ISO/IEC9126软件质量模型中第一层定义了6个质量特性并为各质量特性定义了相应的质量子特性子特性不属于易用性质量特性
若一个问题既可以用迭代方式也可以用递归方式求解则方法具有更高的时空效率
阅读下列函数说明和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 } 5处填
假定SP表存储供应情况如下的SQL语句是用于查询“产地为‘Beijing’零件号为‘P101’的零件的所供应的总数包括所有供应商”的不完整语句请在空缺处填入正确的内容 SELECTSUMQty FROMSP WHEREPNo=”P101’ 1PNo2 SELECTPNo FROM3 WHEREcity="Beijing" 4PNo; 4处填
在面向对象分析过程中通常用概念模型来详细描述系统的问题域而用来表示概念模型
阅读下列说明和数据流图回答问题1至问题3将解答填入对应栏内 [说明] 下面给出的是某房产管理系统的一套分层数据流图其功能描述如下 1系统随时根据住房送来的入住单更新住户基本信息文件 2每月初系统根据物业管理委员会提供的月附加费例如清洁费保安费大楼管理费等表和房租调整表计算每家住户的月租费包括月附加费向住户发出交费通知单住户交费时系统输入交费凭证核对后输出收据给住户 3系统定期向物业管理委员会提供住房分配表和交费清况表 4住户因分户或换房在更新住户基本信息文件的同时系统应立即对这些住户做月租费计算以了结分户或换房前的房租 数据流图如图1-4所示 假定题中提供的DFD是正确的请回答下列问题 指出图1-2中的哪些文件可不必画出
在UML类图中暗示着整体在概念上处于比局部更高的一个级别在实例图中不存在回路即只能是一种单向关系
阅读以下说明和数据流图回答问题1~3问题 [说明] 研究生招生系统旨在用计算机对学校的研究生招生事务进行管理研究生招生可分为报名阶段考试阶段和录取阶段招生报考前招生处要进行考前准备工作如统计招生导师考试科目以及制定报考专业标准代码等招生导师信息包括导师的姓名性别年龄出生年月所从事专业和研究方向以及所在系别考试科目包含科目代码科目的名称以及报考本科目的考试人数在报名阶段考生向招生处提交报名数据表研究生系统根据考生的报考数据确定考生准考生号并通知考生考试日期在考试阶段考试结束后考生成绩录入研究生招生系统考生可以从研究生招生系统中获取自己的考试成绩在录取阶段研究生招生系统根据考生的报考数据考试成绩外校调剂考生信息以及往年保留资格记录文件确定录取数据并形成录取文件系统统计并记录相关招生信息以供查询对被录取的考生发放录取通知书对需要保留资格的考生记录其信息以供下年度招生使用招生处可以从研究生招生系统中获得录取数据和招生情况的统计信息以供咨询 数据流图11-1为研究生招生系统顶层图数据流图11-2为研究生招生系统第0层DFD图数据流图11-3为加工3的细化图 [数据流图11-1][数据流图11-2] [数据流图11-3] [问题3] 请补齐下列数据字典条目 导师=__________________________________________ 考试科目=_________________________________________
阅读以下说明和程序流程图将应填入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比较 4处填
阅读下列函数说明和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因为是最佳方案 } [问题2] 求解背包问题常用的方法有哪几种各有什么样的特点
阅读下列说明和数据流图回答问题1至问题3将解答填入对应栏内 [说明] 下面给出的是某房产管理系统的一套分层数据流图其功能描述如下 1系统随时根据住房送来的入住单更新住户基本信息文件 2每月初系统根据物业管理委员会提供的月附加费例如清洁费保安费大楼管理费等表和房租调整表计算每家住户的月租费包括月附加费向住户发出交费通知单住户交费时系统输入交费凭证核对后输出收据给住户 3系统定期向物业管理委员会提供住房分配表和交费清况表 4住户因分户或换房在更新住户基本信息文件的同时系统应立即对这些住户做月租费计算以了结分户或换房前的房租 数据流图如图1-4所示 假定题中提供的DFD是正确的请回答下列问题 指出图1-3的B中加工2.3能检查出哪些不合格交费凭证
阅读下列函数说明和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 } 4处填
阅读以下说明和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归整 } } } 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归整 } } } 4处填
为实现图像信息的压缩建立了若干种国际标准其中既是DVD的标准也是高清晰度电视HDTV的标准是
在关系模型的完整性约束中实体完整性规则是指关系中2参照完整性规则要求3 3处填
阅读以下说明和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 } } 3处填
阅读以下说明和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 } } 5处填
热门题库
更多
中级网络工程师
中级信息系统管理工程师
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术