首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
【说明】[程序6说明]单源最短路径的分支限界算法。const int MAXNUM=29999;#include<iostream>#include<vector>#include<algorithm...
查看本题答案
包含此试题的试卷
中级软件设计师《问答》真题及答案
点击查看
你可能感兴趣的试题
试题四共15分 阅读下列说明回答问题1和问题2将解答填入答题纸的对应栏内 【说明】 现需在某城
迪杰斯特拉Dijkstra算法按照路径长度递增的方式求解单源点最短路径问题该算法运用了算法策略
贪心
分而治之
动态规划
试探+回溯
阅读下列说明回答问题1和问题2将解答填入对应栏内 [说明] 现需要在某城市中选择一个社
求单源点最短路径的迪杰斯特拉Dijkstra算法是按的顺序求源点到各顶点的最短路径的
路径长度递减
路径长度递增
顶点编号递减
顶点编号递增
用Dijkstra算法求某一顶点到其余各顶点间的最短路径是按路径长度的次序来得到最短路径的
OSPF使用最短路径优先SPF算法根据拓扑结构计算最短路径树SPFTree其中最短路径树的节点是指
路由器
路由器和网段
端口和网段
路由器和端口
迪杰斯特拉Dijkstra算法用于求解图上的单源点最短路径该算法按路径长度递增次序产生最短路径本质上
分治
动态规划
贪心
回溯
阅读以下说明根据要求回答下列问题[说明]现需在某城市中选择一个社区建一个大型超市使该城市的其他社区到
网络模型中使用的最短路径算法可用来
识别一个网络中的瓶颈,由此指出最长路径。
最小化运输系统中从一个地点到其他每个地点的总时间。
最大化具有确定输入(源结点)和输出(沉没结点)的网络中的产出。
指出长度之和最短的一组相互连接的分支。
迪杰斯特拉Dijkstra算法用于求解图上的单源点最短路径该算法按路径长度递增次序产生最短路径本质上
分治
动态规划
贪心
回溯
阅读以下说明根据要求回答下列问题[说明]现需在某城市中选择一个社区建一个大型超市使该城市的其他社区到
试题四共15分 阅读下列说明回答问题1和问题2将解答填入答题纸的对应栏内 【说明】 现需在某城
网络模型中使用的最短路径算法用来
识别一个网络中的瓶颈,由此指出最长路径
最小化运输系统中从一个地点到其他每个地点的总时间
最大化具有确定输入(源结点)和输出(沉没结点)的网络中的产出
指出长度之和最短的一组相互连接的分支。
迪杰斯特拉Dijkstra算法按照路径长度递增的方式求解单源点最短路径问题该算法运用了算法策略
贪心
分而治之
动态规划
试探+回溯
最短路径算法中的最短是指实际距离最短
当各边上的权值时BFS算法可用来解决单源最短路径问题
均相等
均互不相等
不一定相等
均相等或均不等
【说明】[程序6说明]单源最短路径的分支限界算法 constintMAXNUM=29999 #i
迪杰斯特拉Diikstra算法按照路径长度递增的方式求解单源点最短路径问题该算法运用了算法策略
贪心
分而治之
动态规划
试探+回溯
迪杰斯特拉Dijkstra算法按照路径长度递增的方式求解单源点最短路径问题该算法运用了算法策略
贪心
分治
动态规划
试探+回溯
OSPF使用最短路径优先SPF算法根据拓扑结构计算最短路径树SPFTree以下关于最短路径树的节点描
最短路径树上的节点是对路由器和端口的描述
最短路径树上的节点有Transit节点和Stub节点两种类型
最短路径树上的路由器节点是Stub节点的一种
最短路径树上的路由器节点是Transit节点的一种
热门试题
更多
【说明】某供销系统接受顾客的订货单当库存中某配件的数量小于订购量或库存量低于一定数量时向供应商发出采购单当某配件的库存量大于或等于定购粮食或者收到供应商的送货单并更新了库存后向顾客发出提货单该系统还可随时向总经理提供销售和库存情况表该供销系统的分层数据流图中部分数据流和文件的组成如下文件配件库存=配件号+配件名+规格+数量+允许的最低库存量数据流订货单=配件号+配件名+规格+数量+顾客名+地址提货单=订货单+金额采购单=配件号+配件名+规格+数量+供应商名+地址送货单=配件号+配件名+规格+数量+金额假定顶层图如图6所示是正确的供应商文件已由其他系统生成【问题1】指出哪张图中的哪些文件可不必画出
【程序】下面是一段求最大值的程序其中datalist是数据表n是datalist的长度intGetMaxintnintdatalist[]intk=0forintj=1j<nj++ifdatalist[j]>datalist[k]k=jreturnk【控制流图】【问题4】为各测试路径设计测试用例
【说明】某医院收费系统的主要功能是收取病人门诊的各项费用系统的收费功能分为3个方面病历收费挂号收费和根据处方单内容收取检查或药物费用1.病人初次来该医院看病首先购买病历记录病人基本情况2.病人看病前要挂号根据病人的病历和门诊部门内科外科等系统提供相应的挂号单和处方单并收取费用3.病人根据处方单进行进一步检查或取药前需交纳各项费用系统首先根据病人基本情况检查处方单中病历号是否正确记录合格的处方单并提供收据4.所有收费都必须依据定价表中的定价来计算且所有收费都必须写入收费记录中医院收费系统的顶层图如图2所示医院收费系统的第0层DFD图如图3所示其中加工1的细化图如图4所示加工2的细化图如图5所示假定顶层图是正确的定价表文件已由其他系统生成【数据流图】【问题2】数据流图4中缺少2条数据流请直接在图中添加
【程序】下面是一段求最大值的程序其中datalist是数据表n是datalist的长度intGetMaxintnintdatalist[]intk=0forintj=1j<nj++ifdatalist[j]>datalist[k]k=jreturnk【控制流图】【问题2】计算控制流图的McCabe环路复杂性
[问题3]图8-7是固定资产管理E-R模型请根据说明补充完整图8-7固定资产管理E-R图□实体○属性属性引线上短重线表示此属性是实体主键□联系
[说明]下面代码实现classC对classA和B的protected成员和public成员的调用仔细阅读[代码5-1][代码5-2]在n处写出正确的运行结果[代码5-1]#include<iostream.h>classAprivate:inta1;protected:inta2;public:Aintv1intv2intv3:a1v1a2v2a3v3inta3;classB:pubiicAprivate:intb1;protected:intb2;public:Bintv1intv2intv3intv4intv5intv6:Av1v2v3b1v4b2v5b3v6intb3;;classC:publicBprivate:intc1;protected:intc2;public:intc3;Cintv1intv2intv3intv4intv5intv6intv7intv8intv9:Bv1v2v3v4v5v6c1v7c2v8c3v9voiddispcout<<a2inclassC=<<a2<<endl;cout<<a3inclassC=<<a3<<eudl;cout<<b2inclassC=<<b2<<endl;tout<<b3inclassC=<<b3<<endl;[代码5-2]voidmainCdemo102030405060708090cout<<对象demo.a3=<<demo.a3
有下列关于运动会管理系统的ER图如图10所示图中矩形表示实体圆表示属性双圆表示关键字属性菱形表示实体之间的关系假定已通过下列SQL语言建立了基本表CREATETABLEATHLETEANAMECHAR20ASEXCHAR1ATEAMCHAR20CREATETABLE|TEMINOCHAR6NOTNULLINAMECHAR20ITIMECHAR12IPLACECHAR20CREATETABLEGAMESANOCHAR6NOTNULLINOCHAR6NOTNULLSCORRECHAR10为了答题的方便图中的实体和属性同时给出了中英文两种文字回答问题时只需写出英文名即可【E-R图】【问题】填充下列SQL程序1~4中的1~7使它们分别完成相应的功能程序1统计参加比赛时男运动员人数SELECT1FROMATHLETEWHEREASEX=’M’程序2查100872号运动员参加的所有项目及其比赛时间和地点SELECTITEMINOINAMEITIMEIPLACEFROMGAMESITEMWHERE2AND3程序3查参加100035项目的所有运动员名单SELECTANOANAMEATEAMFROMATHLETEWHERE4SELECT45FROMGAMESWHEREGAMESANO=ATHLETE.ANOANDINO=’100035’程序4建立运动员成绩视图6ATHLETE-SCOREASSELECTATHLETEANOANAMEATEAMINAMESCOREFORM7WHEREATHLETE.ANO=GAMES.ANOANDGAMES.INO=ITEM.INO
【说明】某大学准备开发一个学生课程注册系统学生可以使用该系统查询新学期将开设的课程和讲课教师情况选择自己要学习的课程进行登记注册并可以查询成绩单教师可以使用该系统查询新学期将开设的课程和选课学生情况并可以登记成绩单注册管理员使用该系统进行注册管理包括维护教师信息学生信息和课程信息等在每个学期的开始学生可以获得该学期的课程目录表课程目录表列出每门课程的所有信息诸如基本信息教师开课系和选课条件等新学期开始前两周为选课注册时间在此期间学生可以选课注册并且允许改变或取消注册申请开学两周后注册管理员负责关闭课程注册每个学生可以选择不超过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显示一张为学生选课用的空白登记表【问题2】协作图与时序图是同构的二者表示的都是同样的系统交互活动只是各自的侧重点不同而已根据题目提供的信息指出协作图中4~8处表示的内容
【说明】本流程图是将中缀表示的算术表达式转换成后缀表示如中缀表达式A-B*C+D*E/F+G的后缀表示为ABC*D+E*-FG+/为了方便假定变量名为单个英文字母运算符只有+-*/均为双目运算符左结合并假定所提供的算术表达是非空且语法是正确的另外中缀表示形式中无空格符但整个算术表达式以空格符结束流程图中使用的符号的意义如下数组IN[]存储中缀表达式数组POLISH[]存储其后缀表达式数组S[]是一个后进先出栈函数PRIORCHAR返回符号CHAR的优先级各符号的优先级见表2表2CHARPRIORXHAR*/+-4321【问题4】中缀表达式A+B-C*D*E-F/G经该流程图处理后的输出是什么【流程图】
【说明】背包问题的基本描述是有一个背包能盛放的物品总重量为S设有N件物品其重量分别为w1w2wn希望从N件物品中选择若干件物品所选物品的重量之和恰能放入该背包即所选物品的重量之和等于S如下程序均能求得背包问题的一组解其中程序4.1是背包问题的递归解法而程序4.2是背包问题的非递归解法【程序4.1】#include<stdio.h>#defineN7#defineS15intw[N+1]=01434527intknapintsintnifs==0return1ifs<0||s>0&&n<1return0if1|printf%4dw[n]return1return2mainifknapSNprintfOK!/nelseprintfNO!/n【程序4.2】#include<stdio.h>#defineN7#defineS15typedefstructintsintnintjobKNAPTPintw[N+1]=01434527intknapintsintnmainifknapSNprintfOK!/nelseprintfNO!/nintknapintsintnKNAPTPstack[100]xinttopkrepx.s=sx.n=nx.job=0top=|Stack[top]=xk=0while3x=Stack[top]rep=1while!k&&repifx.s==0k=1/*已求得一组解*/elseifx.s<0||x.n<=0rep=0elsex.s=4x.job=15=xif!krep=1whiletop>=1&&repx=stack[top--]ifx.job==1x.s+=W[x.n+1]x.job=2Stack[++top]=x6ifk/*输出一组解*/whiletop>=1x=staCk[top--]ifx.job==1printf%d/tw[x.n+1]returnk
【程序5说明】著名的四色定理指出任何平面区域图均可用四种颜色着色使相邻区域着不同的颜色本程序对给定的区域图找出所有可能的不超过四种颜色的着色方案程序中用1~4表示四种颜色要着色的N个区域用0~N-1编号区域相邻关系用adj[][]矩阵表示矩阵的i行j列的元素为1表示区域i与区域j相邻矩阵的i行j列的元素为0表示区域i与区域j不相邻数组color[]用来存储着色结果color[i]的值为区域i所着颜色【程序5】#include<stdio.h>#defineN10voidoutputintcolor[]/*输出一种着色方案*/intifori=0i<Ni++printf%4dcolor[i]printf/nintbackint*ipintcolor[]/*回溯*/intc=4whilec==4if*ip<=0return0--*ipc=1color[*ip]=-1returnc/*检查区域i对c种颜色的可用性*/intcolorOkintiintcint[][N]intcolor[]intjforj=0j<ij++if2return0return1/*为区域i选一种可着的颜色*/intselectintiintcintadj[][N]intcolor[]intkfork=ck<=4k++ifcolorOK3returnkreturn0intcoloringintadj[][N]/*寻找各种着色方案*/intcolor[N]iccntfori=0i<Ni++color[i]=-1i=c=0cnt=0while1ifc=4==0c=back&icolorifc==0returncntelse5i++ifi==Noutputcolor++cntc=back&icolorelsec=0voidmainintadj[N][N]=0101111111101101111001010110111110110011100101000011111010011110010010110000001111110011011011010110printf共有%d组解./ncoloringadj
[说明]面是一个Applet程序其功能是有2个按钮分别为First和Second以及一个Label控件要求点击First时则能在Label中显示出CommandFirst而点击Second时则能显示出Command:Second要求只能使用重载一次actionPerfonned方法程序运行结果如图6所示importjava.awt.*importjava.awt.event.*importjava.applet.*/*<appletcede=exl_7classwidth=800height=400></applet>*/publicclassex]_extendsAppletimplementsActionListenerprivateStringstr=ok;privateLabel|;privateButtonbtn;publicvoidinit1I=newLabelstr;I.reshape101015030;addI;2btn.reshape10506020;3addbtn;btn=newButtonSecond;btn.reshape101006020;4btnaddActionListenerthis;addbtn;publicvoidactionPerformedActionEventaestr=Command:+ae.getActionCommand5ex1_7html<HTML><HEAD><TITLE>ext_7</TITLE></HEAD><BODY><appletcode=ext.classwidth=800height=400></applet></BODY></HTML>
[说明]编写一工资调整程序若基本工资大于等于800元工资增加20%若小于800元大于600元则工资增加15%若小于600元则工资增加10%要求在文本框Text1中增加某职工的基本工资单击计算按钮在标签框Label1中输出增加后的工资PrivateSubCommand1_ClickDimxAsIntegeryAsSingle1SelectCasexCaseIs>=800y=x*1.2CaseIs>=600y=x1.52y=x*1.13Label1.Caption=y4PrivateSubCommand2_ClickUnloadMeEndSub
【说明】设有关于银行借贷管理系统的E-R图如图4所示图中矩形表示实体圆表示属性双圆表示关键字属性菱形表示实体间的联系为了答题的方便图中的实体和属性同时给出了中英文说明回答问题时只需写出英文名即可【问题3】假设这个银行有若干个节点每个节点运行一个数据库系统假设这些节点之间惟一的交互式用电子方式相互传送款项这样的系统是分布式数据库系统吗为什么
【问题2】1[说明]中的几个关系仍无法实现甲公司的要求为什么2需要在哪个关系中增加什么数据项才能实现这个要求
[说明]利用c++的各种控制语句编写一个万年历程序要求显示任何年份的日历日历以月份顺序排列每月以星期顺序排列类似于一般挂历上的格式本程序包含如下两个函数Leap用于判定指定的年份是闰年Week用于计算year年份的1月1日是星期几其判定规则为1如果year年份为1994年则为星期六2如果year年份大于1994年则星期值weekno按下列公式计算differ=year-1994*365%6+year-1993/4-year-2001/100+year-2001/400date=6+differ%7weekno=date6date-7date3如果year年份小于1994年则星期值weekno按下列公式计算differ=1994-year*365%7+1996-year/4-2001-year/100+2000-year/400weekno=6-dder%7#includeiostream.h#includeiomanip.hintleapintnif1return0elsereturn1;intweekintyearinta1differdateweekno;ifyear==1994a1=0;elseifyear>1994a1=1;elsea1=-1;switcha1case0:return6;break;case1:2date=6+differ%7;weekno=date>6date-7date;returnweekno;break;case-1:differ=1994-year*365%7+1996-year/4-2001-year/100+2000-year/400;weekno=6-differ%7;returnweekno;break;voidmainintiyearm2nj;cout<<Pleaseinput某年数:;cin>>year;if!leapyear3;elsem2=28;intmonth[12]:31m231303130313130313031;4fori=0;i<12;i++cout<<<<end1<<setw4*n<<;forj=1;j<=month[i];j++cout<<setw4<<j;n++;ifn>=75cout<<end1;
【说明】下面是一个Applet程序其功能是根据给出的小时分钟和秒数计算相等的秒数即将1分钟化为60秒依此类推要求建立一个时间类时间参数均作为类的成员变量并且给出换算时间的方法也作为这个类的成员函数可以供外部对象进行调用同时还需要在输出窗口中显示换算结果并且将结果写到out3_3.txt文件中本题给出确定的时间为4小时23分47秒要求换算成以秒做单位的时间程序运行结果如图11所示importjava.io.*importjava.awt.*impOrtjava.applet.*/*<appletcode=ex7_7.classwidth=800height=400></applet>*/publicclassex7_7extendsAPPletpublicvoidpaintGraphicsgintnSumclassmyTime7_7publicinthpublicintmpublicintspublicintoutpublicintcaculateSecond1returnoutmyTime7_7objTime7_7=newmyTime7_7ObjTime7_7.h=4ObjTime7_7.m=23ObjTime7_7.s=47nSum=objTime7_7.2g.drawString时+objTime7_7.h2030g.drawString分+objTime7_7.m2050g.drawString秒+objTime7_7.s2070g.drawString3tryFileOutputStreamfos7_7=newFileOutputStreamout7_7.txtBufferedOutputStreambos7_7=newBufferedOutputStreamfos7_71024PrintStreamps7_7=newPrintStreambos7_7falseSyStem.setOutps7_7System.out.println4ps7_7.closecatch|OExceptionioe5ioeex7_7.htm|<HTML><HEAD><TITLE>ex7_7</TITLE></HEAD><BODY><appletcode=ex7_7.classwidth=800height=400></applet></BODY></HTML>
【问题4】以下SQL语句用于查询没有订购产品代码为1K10的产品的所有客户名请填补其中的空缺SELECTCustomerNameFROMCustomer1WHERE2SELECT*FROMOrderDetailBOrderCWHEREB.ProductNo=C.ProductNoANDB.ProductNo=’1K10’ANDC.CustomerNo=A.CustomerNo
【说明】某考务处理系统主要功能是考生管理和成绩管理1.对考生送来的报名表进行检查2.对合格的报名表编好准考证号码后将准考证送给考生将汇总后的考生名单送给阅卷站3.对阅卷站送来的成绩表进行检查并根据考试中心指定的合格标准审定合格者4.填写考生通知单内容包含该考生的准考证号姓名各课程成绩及最终合格/不合格标志送给考生5.根据考生信息及考试成绩按地区年龄文化程度和职业进行成绩分类统计及试题难度分析产生统计分析表考务处理系统的顶层图如图1所示第0层图如图2所示加工2子图如图3所示【数据流图】【问题2】数据流图1口3中缺少3条数据流请直接在图中添加
[说明]以下代码实现了当用户推出界面时判断TextEdit中的文字是否发生改变弹出对话框判断让用户选择选择是否保存文件或取消退出界面操作阅读下面代码补充完整[代码7-1]BeginVB.FormForml//...窗体描述略BeginVB.TextBoxTextEditHeight=1830Left=180TabIndex=0Text=TextEditTop=360Width=3885End//...窗体描述略End[代码7-2]DimtxtchangeAsBooleanDimmyvalAsStringPrivateSubFormLoadTextEdit.Text=CIU中国软考联盟!txtchange=FalseEndSub[代码7-3]PrivateSubTextEdit_ChangeStaticnotchangeAsBoolean12EndSubPrivateSubForm_UnloadCancelAsIntegerDimmyvalAsStringIf3Thenmyval=MsgBox保存文件的更改吗vbYesNoCancel提示信息If4ThenMsgBox保存成功EndEndIfIf5ThenEndIf6ThenCancel=1EndIfEndSub
【说明】设有关于银行借贷管理系统的E-R图如图4所示图中矩形表示实体圆表示属性双圆表示关键字属性菱形表示实体间的联系为了答题的方便图中的实体和属性同时给出了中英文说明回答问题时只需写出英文名即可【问题1】根据E-R图中给出的词汇按照有关模式名属性1属性2的格式将此E-R图转换为关系模式并指出每个关系模式中的主码和外码其中模式名根据需要取实体名或联系名要求其中的关系模式至少属于第三范式
[问题2]数据流图8-5中缺少了与年度汇总加工相关的数据流请指出此数据流的起点和终点数据流图8-5中缺少了与查询加工相关的数据流请指出此数据流的起点和终点
[问题1]收费部门业务活动数据流图如图8-6所示图中缺少了与票根上缴相关的数据流请指出该数据流的起点和终点图8-6收费部门业务数据流图□数据来源和去向○过程处理=需要存储的信息
【说明】下面是一个Applet程序其功能是建立2个文本区域一个为编辑区一个为只读区建立2个按钮一个实现将编辑区中被鼠标选定的文本内容拷贝到只读区中一个实现将只读区的全部文本内容清空程序运行结果如图3所示importjava.awt.*importjava.applet.*/*<appletcode=ex3_6.classwidth=800height=400></applet>*/publicclassex3_6extendsAppletprivateButtonokBtnclearBtnprivateStringstrMessageprivateTextAreatArea1tArea2publicvoidinitstrMessage=Hello!Welcometothetest!/n+Wishyougoodluck!tArea1=newTextArea10251tArea2=newTextArea10252OkBtnnewButtonCopydearBtn=3addtArea1addtArea2addokBtnaddclearBtnpublicbooleanactionEventeObjectoife.target==okBtntArea2setText4elseife.target==clearBtn5returntrueex3_6.htm|<HTML><HEAD><TITLE>ex3_6</TITLE></HEAD><BODY><appletcode=ex3_6.classWidth=800height=400></applet></BODY></HTML>
[程序5说明]下列文法可用来描述化学分子式的书写规则例如A12CO33CuOH2λ→β/βλβ→δ/δnδ→ξ/ξθ/λ其中λ是—个分子式δ或是一个元素或是一个带括号的子分子式元素或是一个大写字母记为ξ或是一个大写字母和一个小写字母记为ξθβ或是一个δ或是在δ之后接上一个整数nδn表示β有n个δ的元素或子分子式—个完整的分子式由若干个β组成当然一个正确的分子式除符合上述文法规则外还应满足分子式本身的语义要求下面的程序输入分子式按上述文法分析分子式并计算出该分子式的分子量例如元素H的原子量是1元素O的原子量是16输入分子式H2O程序计算出它的分子量为181×2+16程序中各元素的名及它的原子量从文件atom.dat中读入[程序5]#include<stdio.h>#include<string.h>#defineMAXN300#defineGMLEN30structelemcharname[];/*元素名*/doublev;/*原子量*/nTbl[MAXN];charcmStr[GMLEN]*pos;intc;FILE*fp;doublefactor;doubleatom/*处理文法符号δ*/charw[3];inti;doublenum;whilec=*pos++==’||c==’/t’;/*略过空白字符*/ifc==’/n’return0.0;ifc>=’A’&&C<=’Z’/*将元素名存入W*/w[i=0]=c;c=*pos++ifc>=’a’&&c<=’z’w[++i]=c;elsepos--;w[++i]=’/0’fori=0;nTbl[i].v>0.0;i++ifstrcmpwnTbl[i].name==0returnnTbl[i].v;printf/n元素表中没有所输入的无素:/t%s/n’w;return-1.0;elseifc==’’ifnum=1<0.0return-l.0;/*包括可能为空的情况*/if*pos++!=’’printf分子式中括号不匹配!/n;return-1.0;returnnum;printf分子式中存在非法字符:/t%c/nc;return-1.0;doublemAtom/*处理文法符号β*/doublenum;intn=];ifnum=2<0.0return-l.0;c=*pos++;ifc>=’O’&&c<=’9’n=0;whilec>=0&&c<=’9’n=3;c=*poss++;pos--;returnnum*n;doublefactor/*处理文法符号λ*/doublenum=0.0d;ifhum=mAtom<0.0return-1.0;while*pos>=’A’&&*pos<=’Z’||*pos==’’ifd=4<0.0return-1.0;5;returnnum;voidmaincharfname[]=atom.dst;/*元素名及其原子量文件*/inti;doublenum;iffp=foponfnamer==NULL/*以读方式打开正文文件*/prinffCannetopen%sfile./n’fname;return/*程序非正常结束*/i=0;whilei<MAXN&&fscanffp%s%lfbTbl[i].name&nTbl[i].v==2i++;fclosefp;nTbl[i].v=-1.0;while1[/*输入分子式和计算分子量循环直至输入空行结束*/printf/n输入分子式!空行结束/n;getscmStr;pos=cmStr;ifcmStr[0]==’/0’break;ifnum=later>0.0if*pos!=’/0’printf分子式不完整!/n;elseprintf分子式的分子量为%f/nnum;
【说明】某公司要开发一个销售管理系统该系统的主要功能是处理客户和销售员送来的订单工厂是根据订货安排生产的交出货物同时开出发票收到客户付款后根据发票存根进行应收款处理每张订单由订单号若干头信息和订单细节组成一张订单可定购多种产品工厂对大宗订货给予优惠每种产品都规定了不同订货数量的折扣根据上述要求公司的销售部王经理写下了以下数据表结构客户客户号客户名地址电话订单订单号客户号产品号订货数订货日期交货日期金额应收账款客户号订单号发票号应收金额支付日期支付金额当前余额产品描述产品号产品名单价重量折扣规则产品号订货量折扣【问题1】上表中带下划线的为主码请为还没有确定主码或是主码不合理的数据表选定最合适的主码
【说明】本流程图是将中缀表示的算术表达式转换成后缀表示如中缀表达式A-B*C+D*E/F+G的后缀表示为ABC*D+E*-FG+/为了方便假定变量名为单个英文字母运算符只有+-*/均为双目运算符左结合并假定所提供的算术表达是非空且语法是正确的另外中缀表示形式中无空格符但整个算术表达式以空格符结束流程图中使用的符号的意义如下数组IN[]存储中缀表达式数组POLISH[]存储其后缀表达式数组S[]是一个后进先出栈函数PRIORCHAR返回符号CHAR的优先级各符号的优先级见表2表2CHARPRIORXHAR*/+-4321【问题2】写出子程序A的功能并顺序写出实现该功能的操作
【问题2】在状态迁移图中abc分别表示什么事件请用转换图中给出的事件名解答
[说明]下面的流程图如图3所示用N-S盒图形式描述了数组A中的元素被划分的过程其划分方法是以数组中的第一个元素作为基准数将小于基准数的元素向低下标端移动而大于基准数的元素向高下标端移动当划分结束时基准数定位于A[i]并且数组中下标小于i的元素的值均小于基准数下标大于i的元素的值均大于基准数设数组A的下界为low上界为high数组中的元素互不相同例如对数组42836以4为基准数的划分过程如下[流程图][算法说明]将上述划分的思想进一步用于被划分出的数组的两部分就可以对整个数组实现递增排序设函数intpintA[]intlowinthieh实现了上述流程图的划分过程并返回基准数在数组A中的下标递归函数voidsortintA[]intLintH的功能是实现数组A中元素的递增排序[算法]voidsortintA[]intLintHifL<Hk=pALR//p返回基准数在数组A中的下标sort4//小于基准敷的元素排序sort5//大于基准数的元素排序
下面是一个Applet程序其功能是在绘图区域中通过鼠标的移动来绘制直线并且有清除绘图区域按钮用来清除已经绘制的图像程序运行结果如图5所示importjava.awt.*importjava.applet.*/*<appletcode=ex6_7.classwidth=800height=400></applet>*/publicclassex6_7extendsAppletprivateButtonbtnprivatebooleanbDrawbClearprivateintupXupYdownXdownYpublicvoidintsetLayoutnullbClear=falsebDraw=falsebtn=newButtonclearbtn.reshape2501507030addbtnpublicvoidpaintGraphicsgifbClearg.clearRect00getSize.widthgetSize.height1ifbDrawg.drawLine2bDraw=falsepublicvoidupdateGraphicsg3publicbooleanmouseDownEventeventintxintydownX=xdownY=yreturntruepublicbooleanmouseupEventeventintXintyupX=xupY=y4repaintreturntruepublicbooleanactionEventeventObjectobjectif5bClear=truerepaintreturntrueex6_7.html<HTML><HEAD><TITLE>ex6_7</TITLE></HEAD><BODY><appletcode=ex6_7.classwidth=800height=400></applet></BODY></HTML>
热门题库
更多
中级网络工程师
中级信息系统管理工程师
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术