首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
某计算机执行一条指令的过程分为取指令、分析指令和执行指令3段操作,每一段操作占用的时间分别是△t、2△t、3△t。若采用常规的顺序串行执行方式,连续执行n条指令所需时间是 (7) ;若采用流水线...
查看本题答案
包含此试题的试卷
中级软件设计师《单选集》真题及答案
点击查看
你可能感兴趣的试题
计算机中有很多周期其中指令周期是指
CPU执行一条指令所需的时间
CPU从内存中取出一条指令所需的时间
CPU从内存中取出一条指令并执行这条指令所需的时间
CPU从外存中取出一条指令所需的时间
计算机中指令执行过程的3个阶段是指取指令
显示指令和执行指令
修改指令和执行指令
分析指令和执行指令
打印指令和执行指令
若指令流水线把一条指令分为取指分析和执行三部分且三部分的时间分别是t取指=2nst分析=2nst执行
163
183
193
203
计算机要执行一条指令CPU首先所涉及的操作应该是
指令译码
取指令
存放结果
执行指令
某计算机执行一条指令的过程分为取指令分析指令和执行指令3段操作每一段操作占用的时间分别是△t2
9n△t
3(n-1)△t
6n△t
3(n+2)△t
计算机要执行一条指令CPU所涉及的操作应该包括下列的 __________
指令译码
取指令
存放结果
读写磁盘
某计算机执行一条指令的过程分为取指令分析指令和执行指令3段操作每一段操作占用的时间分别是△t2
9n△t
3n△t
6n△t
3(n-1)△t
通常可以将计算机系统中执行一条指令的过程分为取指令分析和执行指令3步若取指令时间为4△t分析时间为2
2400
3000
3600
5400
计算机的基本工作过程可以概括为取指令分析及取数执行等然后再取下一条指令如此周而复始直到遇到停机指令或
某计算机执行一条指令的过程分为取指令分析指令和执行指令3段操作每一段操作占用的时间分别是△t2
9n△t
3n△t
6n△t
3(n-1)△t
若指令流水线把一条指令分为取指分析和执行三部分且三部分的时间分别是t取指=2nst分析=2nst执行
163
183
193
203
若指令流水线把一条指令分为取指分析和执行三部分且这三部分的时间分别是t取指=2nst分析=2nst执
163
183
193
203
一条指令的执行过程可以分解为取指分析和执行3步在取指时间t取指=3△t分析时间t分析=2△t执
20
30
40
45
计算机执行指令的基本过程分为两步即从内存把指令读入的过程和执行的过程其中读指令是根据______所指
在计算机处理器中若指令流水线把一条指令分为取指分析和执行三部分且三部分的运行时间分别是取指时间=2n
363
383
393
403
通常可以将计算机系统中执行一条指令的过程分为取指令分析和执行指令3步若取指令时间为4△t分析时间为2
2400
2405
3000
3009
若指令流水线把一条指令分为取指分析和执行三部分且三部分的时间分别是指t取指=2nst分析=2nst执
163
183
193
203
一条指令的执行过程可以分解为取指分析和执行3步在取指时间t取指=3△t分析时间t分析=2△t执
40
70
90
100
热门试题
更多
[说明]学生信息管理系统旨在用微型计算机对全校的学生事务进行管理其内容包括新生管理成绩管理重修管理毕业资格审定以及随机查询和打印报表等教务人员在进入系统时系统通过注册登录来提供用户的访问权限系统会检查用户的合法性如不合法系统拒绝用户进入如是合法用户则根据命令要求类型处理本系统主要有新生管理成绩管理重修处理资格审定四大功能分别进行不同的管理新生管理首先按照各专业录入新生信息录入时若录入的信息不完整则给出提示信息要求用户录入完整信息若新生库中已经存在该生信息了则给出提示信息保证不重复录入新生信息在录入阶段会显示新生库中的记录可以进行浏览删除修改等操作以便用户录入正确无误的新生信息录入完毕后打印编好学号和分好班次的新生名单并将新生记录写入学生信息库成绩管理使用一般方法和特殊方法对学生成绩进行管理分别按照这两种方法进行成绩的录入和计算成绩处理完毕后合并到学生成绩库可以对学生成绩总库进行浏览修改删除插入查找等操作同时提供成绩查询功能可按照学号姓名课程号课程名称专业班级查询学生成绩最后打印各种形式的学生成绩单重修处理首先对学生重修总体情况进行浏览可以查询未交费学生重修情况某个学生重修情况等打印各种形式的重修单和重修证另外进行重修交费登记输入某个重修学生学号则显示该生相关信息姓名专业等重修课程信息重修总学分应交金额等交费登记后写入重修表和交费表资格审定主要对毕业生的毕业资格进行审定计算毕业生的已修学分审定后填写资格库显示审定结果打印毕业生资格表和毕业证书等学生信息管理系统顶层图如图10-1所示学生信息管理系统的第0层DFD图如图10-2所示其中加工3的细化图如图10-3所示加工4的细化图如图10-4所示[数据流图10-1][数据流图10-2][数据流图10-3][数据流图10-4][问题2]数据流图10-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也表示商品价格两个是否有必要同时存在为什么
[说明]图书馆藏书管理系统完成用户信息管理借阅归还信息管理馆藏书目的信息管理违规处罚管理和各种查询等功能系统的用户可分为超级用户和普通用户两类超级用户负责系统维护包括对藏书信息用户信息借阅和归还信息违规处罚信息的录入修改查询删除等普通用户即借阅者则只是具有查询书目信息查询本人的借阅情况违规处罚信息和预定书目的权限用户通过身份验证后进入主界面主界面为超级用户提供6项选择图书信息管理用户信息管理图书的借阅和归还信息管理违规处罚信息管理口令修改普通用户有4项功能选择书目查询借阅归还信息违规处罚信息口令修改图书信息管理超级用户可以增加修改删除图书信息也可以查看书目信息用户信息管理超级用户可以增加修改删除用户信息也可以查找用户信息借阅归还信息超级用户可以加入修改删除借阅纪录查看某本书的借阅情况查询指定的书目借阅和归还信息违规处罚管理超级用户可以给普通用户增加修改删除违规处罚信息普通用户如果逾期不还图书系统将暂时终止普通用户的借阅权利直到用户接受违规处罚后方可以恢复正常的借阅权利口令修改用户需要输入原口令并且两次输入新口令一致后系统即用新口令代替旧口令图书馆藏书借阅系统信息流如图10-5所示图书馆藏书管理系统的E-R模型图如图10-6所示[问题1]请写出图书馆藏书管理系统的E-R模型图该系统涉及的实体集及属性
【程序说明】本程序先从文件读人各考生的准考证号设为整型数及成绩并将其存放在一棵检索二叉树上二叉树结点的健值是成绩每个结点带一链表链表结点存放取得该成绩的考生的准考证号然后程序按中序遍历检索二叉树从高分到低分输出结果使每行输出成绩及其取得成绩的考生的准考证号【程序】#include<stdio.h>typedefstruetidnodeintid;structidnode*next;ldNode;typedefstructmarknodeIintmark;ldNode*head;structmarknode*left*right;MarkNode;charfname[]=sp07.dat;mainintidmark;MarkNode*root=null;FILE*fp=fopenfnamer;if!fpprintffile%sopenerror/nfname;exit0;while!feopfpfscanffp%d%d&id&mark;btree&rootidmark;fclosefp;printroot;btreeMarkNod**mpptrintidintmarkldNode*ip;MarkNode*mp=*mpptr;if1ifmark==p->markaddldNODE2id;elseifmark>mp->markbtree&top->leftidmark;elsebtree&mp->rightidmark;elseImp=marknode*mallocsizeomarknode;mp->mark=mark;mp->left=mp->right=NULL;3addldNode&mp->headid;4;addldNodeldNode**ippintidldNode*ip=*ipp;if5addldNode6id;elseip=ldNode*mallocsizeofldNode;sp->id=id;ip->next=NULL;7printMarkNode*rapldNode*ip*ip0;ifmpprintmp->left;printf%6d:/tmp->mark;ip=mp->head;whileipprintf%6dip->id;ip0=ip;ip=ip->next;freeip0;printf/n;printfmp->right;freemp;
[说明]图书馆藏书管理系统完成用户信息管理借阅归还信息管理馆藏书目的信息管理违规处罚管理和各种查询等功能系统的用户可分为超级用户和普通用户两类超级用户负责系统维护包括对藏书信息用户信息借阅和归还信息违规处罚信息的录入修改查询删除等普通用户即借阅者则只是具有查询书目信息查询本人的借阅情况违规处罚信息和预定书目的权限用户通过身份验证后进入主界面主界面为超级用户提供6项选择图书信息管理用户信息管理图书的借阅和归还信息管理违规处罚信息管理口令修改普通用户有4项功能选择书目查询借阅归还信息违规处罚信息口令修改图书信息管理超级用户可以增加修改删除图书信息也可以查看书目信息用户信息管理超级用户可以增加修改删除用户信息也可以查找用户信息借阅归还信息超级用户可以加入修改删除借阅纪录查看某本书的借阅情况查询指定的书目借阅和归还信息违规处罚管理超级用户可以给普通用户增加修改删除违规处罚信息普通用户如果逾期不还图书系统将暂时终止普通用户的借阅权利直到用户接受违规处罚后方可以恢复正常的借阅权利口令修改用户需要输入原口令并且两次输入新口令一致后系统即用新口令代替旧口令图书馆藏书借阅系统信息流如图10-5所示图书馆藏书管理系统的E-R模型图如图10-6所示[问题3]数据依赖对关系模式有哪些影响请简述这些影响
[说明]研究生招生系统旨在用计算机对学校的研究生招生事务进行管理研究生招生可分为报名阶段考试阶段和录取阶段招生报考前招生处要进行考前准备工作如统计招生导师考试科目以及制定报考专业标准代码等招生导师信息包括导师的姓名性别年龄出生年月所从事专业和研究方向以及所在系别考试科目包含科目代码科目的名称以及报考本科目的考试人数在报名阶段考生向招生处提交报名数据表研究生系统根据考生的报考数据确定考生准考生号并通知考生考试日期在考试阶段考试结束后考生成绩录入研究生招生系统考生可以从研究生招生系统中获取自己的考试成绩在录取阶段研究生招生系统根据考生的报考数据考试成绩外校调剂考生信息以及往年保留资格记录文件确定录取数据并形成录取文件系统统计并记录相关招生信息以供查询对被录取的考生发放录取通知书对需要保留资格的考生记录其信息以供下年度招生使用招生处可以从研究生招生系统中获得录取数据和招生情况的统计信息以供咨询数据流图11-1为研究生招生系统顶层图数据流图11-2为研究生招生系统第0层DFD图数据流图11-3为加工3的细化图[数据流图11-1][数据流图11-2][数据流图11-3][问题2]数据流图11-3中还依赖于哪个文件请指出文件名称并指出与其有关的数据流的起点和终点
【说明】某医院收费系统的主要功能是收取病人门诊的各项费用系统的收费功能分为3个方面病历收费挂号收费和根据处方单内容收取检查或药物费用1.病人初次来该医院看病首先购买病历记录病人基本情况2.病人看病前要挂号根据病人的病历和门诊部门内科外科等系统提供相应的挂号单和处方单并收取费用3.病人根据处方单进行进一步检查或取药前需交纳各项费用系统首先根据病人基本情况检查处方单中病历号是否正确记录合格的处方单并提供收据4.所有收费都必须依据定价表中的定价来计算且所有收费都必须写入收费记录中医院收费系统的顶层图如图2所示医院收费系统的第0层DFD图如图3所示其中加工1的细化图如图4所示加工2的细化图如图5所示假定顶层图是正确的定价表文件已由其他系统生成【数据流图】【问题3】数据流图5中缺少4条数据流请直接在图中添加
[说明]以下C语言程序实现了生成从里到外是连续的自然数排列的回旋矩阵矩阵形式如下76516814159231410111213程序的变量说明如下x1矩阵上边界x2矩阵下边界y1矩阵左边界y2矩阵右边界s数组元素升降标记s等于1为升s等于-1为降a[]存放矩阵元素的数组仔细阅读C语言程序源码将n处的语句补充完整注每处仅一个语句[C程序]#include<stdio.h>voidmainconstintN=20;inti=0j=0a[N][N]n;intmx1x2y1y2s;while1Printf/ninputmatrixrowNN>=2:;scanf%d&n;printf/n;ifn>=2break;m=n*n;x1=0;y1=0;x2=n;y2=n;ifn%2==0j=n-1;y2=n-1;s=1;elsei=n-1;y1=1;s=-1;while1ifs==1fori;i<x2;i++a[i][j]=m--;i--;j--;1forj;j>=y1;j--a[i][j]=m--;j++;i--;y1++;2elsefori;i>=x1;i--a[i][j]=m--;i++;j++;3forj;j<y2;j++45i++;6S=i;ifm<1break;fori=O;i<n;i++forj=O;j<n;j++printf%6da[i][j];printf/n;printf/n;
【说明】某超市的销售业务由一个销售业务管理系统进行管理该系统每完成一次交易都需要提供顾客发票其格式见表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-total1SELECTInvoice.inoldate23FROMInvoicelnvoicedetailWHERE4ANDldateBETWEEN’2005-01-01’AND’2005-01-31’GROUPBY5
【说明】下面是一个Applet程序其功能是通过一个按钮控制一个窗口的创建显示与隐藏并且以按钮文字作为提示可以随着窗口的状态改变即如果窗口出现则按钮文字为HidemyFrm提示用户点击按钮则隐藏窗口反之亦然请将横线处语句补充完整程序运行结果如图5所示importjava.awt.*;importjava.applet.*;<appletcode=ex8_7.classwidth=800height=400></applet>*/publicclassex8_7extendsAppletprivateFramefrm;privateButtonshowBtn;publicvoidinitshowBtn=newButtonShowFrame;1;publicbooleanactionEventeObjectoife.target==showBtnif23;frm.dispose4showBtnsetLabelShowmyFrm;elsefrm=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>
[说明]以下代码实现了对象引用作为函数参数仔细阅读以下代码分析运行结果填入n处[代码]#include<iostream.h>classSampleintxy;public:Samplex=y=0;Sampleintiintjx=i;y=j;voidcopySample&s.voidsetxyintiintjx=i;y=j;voidprintcout<<x=<<x<<end1;cout<<y=<<y<<end1;;voidSample:copySample&sX=S.X;y=s.y;voidfuncSamples1Sample&s2s1.setxy1020;s2.setxy3040;voidmainSamplep12q;q.copyp;timepq;p.print;q.print;运行结果1234
【说明】某大学准备开发一个学生课程注册系统学生可以使用该系统查询新学期将开设的课程和讲课教师情况选择自己要学习的课程进行登记注册并可以查询成绩单教师可以使用该系统查询新学期将开设的课程和选课学生情况并可以登记成绩单注册管理员使用该系统进行注册管理包括维护教师信息学生信息和课程信息等在每个学期的开始学生可以获得该学期的课程目录表课程目录表列出每门课程的所有信息诸如基本信息教师开课系和选课条件等新学期开始前两周为选课注册时间在此期间学生可以选课注册并且允许改变或取消注册申请开学两周后注册管理员负责关闭课程注册每个学生可以选择不超过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处表示的内容
[说明]假设设A和B均为顺序表A’和B’分别为A和B中除去最大共同前缀后的子表例如A=xyyzxzB=xyyzyxxz则两者中最大的共同前缀为xyyz在两表中除去最大共同前缀后的子表分别为A’=xz和B’=yxxz若A’=B’=空表则A=B若A’=空表而B’!=空表或者两者均不为空表且A’的首先小于B’的首元则A<B否则A>B下面程序实现了比较AB大小的算法[C程序]#include<stdio.h>#include<stdlib.h>typedefstructlinknodeintdata;structlinknode*next;node:node*creatlist/*建立单链表*/node*head*r*s;intx;head=node*mallocsizeofnode;/建立单链表的头结点head*/r=head;printf输入系列整数以O标志结束/n;scanf%d&x;whilex!=O/*x==O则退出while循环*/s=node*mallocsizeofnode;s->data=x;r->next=s;s->next=NULL;r=s;scanf%d&x;r->next=NULL;s=head;1;Frees;returnhead;voidsubsnode*p*p1*p2*q*heada*headb;heada=creatlist;headb=creatlist;p=heada;p1=p;/*p1指向p所指结点的前一个结点开始时均缀向头结点*/whilep!=NULLq=headb;whileq!=NULL&&q->data!=p->dataq=q->next;if2ifp==heada3;p1=heada;elseifp->next==NULLp1->next=NULL;/*该结点为最后一结点删除*/elsep1->next=p->next;p2=p->next;4;freep;5;else/*p所指结点的元素不在B中则直接下移p*/p1=p;6;p=heada;/*显示删除后的结果*/ifp==NULLprintf两集合机减的结果为空/n;elseprintf两集合相减的结果/n;whilep!=NULLprintf%dp->data;p=p->next;voidmainsubs;
【程序说明】该程序定义了两个子函数strsort和strmerge它们分别实现了将一个字符串按字母顺序排序和将两个字符串合并排序并删去相同字符在主函数里先输入两个字符串s1和s2然后调用strsort函数对它们分别排序然后调用strmerge函数将s1和s2合并将合并后的字符串赋给字符串s3最后输出字符串s3【程序】#include<stdio.h>voidstrmergecharachar*bchar*c//将字符串ab合并到字符串c中chart*ww=cwhile1//找到字符串ab当前字符中较小的字符if*a<*bt=*a2elseif*a>*bt=*b3else//字符串ab当前字符相等t=*aa++b++if4//开始可直接赋值*w=telseift!=*w//如果ab中较小的当前字符与c中当前字符不相等才赋值5if*a!=/’/0’//如果字符串a还没有结束则将a的剩余部分赋给Cwhile*a!=’/0’if*a!=*w*++w=*aa++else6if*6!=’/0’//如果字符串b还没有结束则将b的剩余部分赋给cwhile*b!=’/0’if*b!=*w*++w=*bb++elseb++7voidstrsortchar*s//将字符串S中的字符排序intijnchart*wW=Sforn=0*w!=’/0’n++//得到字符串长度nw++fori=0i<n-1i++//对字符串s进行排序按字母先后顺序forj=i+1j<nj++if8t=s[i]s[i]=s[j]9voidmainchars1[100]s2[100]s3[100]printf/nPleaseinputthefirststringscanf%ss1printf/nPleaseinputthesecondstringscanf%ss2strsorts1//将字符串s1排序strsorts2//将字符串s2排序printf%s/ns1printf%s/ns2s3[0]=’/0’//字符串s3的第一个字符先置’/0’结束标志10//将s1和s2合并按照字母顺序排列//且要删去相同字符存入s3中printf%ss3
【说明】某大学准备开发一个学生课程注册系统学生可以使用该系统查询新学期将开设的课程和讲课教师情况选择自己要学习的课程进行登记注册并可以查询成绩单教师可以使用该系统查询新学期将开设的课程和选课学生情况并可以登记成绩单注册管理员使用该系统进行注册管理包括维护教师信息学生信息和课程信息等在每个学期的开始学生可以获得该学期的课程目录表课程目录表列出每门课程的所有信息诸如基本信息教师开课系和选课条件等新学期开始前两周为选课注册时间在此期间学生可以选课注册并且允许改变或取消注册申请开学两周后注册管理员负责关闭课程注册每个学生可以选择不超过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设计视图DesignView进程视图ProcessView实现视图ImplementationView和展开视图DeploymentView系统模型中每一个视图的内容是由一些图来描述的UML中包含用例图类图对象图状态图时序图协作图活动图组件图分布图等9种图对整个系统而言其功能由用例图描述静态结构由类图和对象图描述动态行为由状态图时序图协作图和活动图描述而物理架构则是由组件图和分布图描述请分别指出用例图类图对象图状态图时序图协作图活动图组件图分布图的作用
[说明]背包问题就是有不同价值不同重量的物品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因为是最佳方案[问题1]根据程序说明及流程图部分C源码充分理解算法思想填入n处
【说明】某医院收费系统的主要功能是收取病人门诊的各项费用系统的收费功能分为3个方面病历收费挂号收费和根据处方单内容收取检查或药物费用1.病人初次来该医院看病首先购买病历记录病人基本情况2.病人看病前要挂号根据病人的病历和门诊部门内科外科等系统提供相应的挂号单和处方单并收取费用3.病人根据处方单进行进一步检查或取药前需交纳各项费用系统首先根据病人基本情况检查处方单中病历号是否正确记录合格的处方单并提供收据4.所有收费都必须依据定价表中的定价来计算且所有收费都必须写入收费记录中医院收费系统的顶层图如图2所示医院收费系统的第0层DFD图如图3所示其中加工1的细化图如图4所示加工2的细化图如图5所示假定顶层图是正确的定价表文件已由其他系统生成【数据流图】【问题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问题1阅读下列函数说明和C代码将应填入n处的字句写在的对应栏内
[说明]职工信息管理系统是用于对职工相关信息进行检索统计工资管理内部调动管理等的系统利用该系统人事科可以对本单位职工信息进行管理根据不同命令对信息进行增删改内部调动打印人事表格进行统计检索人事科输入的系统命令需要合法性检查才能被接受处理系统命令包括档案维护数据检索统计报表打印命令代码维护人事科的输入信息包括个人资料检索选项统计选项代码资料新增档案字段档案修改资料等条目完整的个人资料应包括职工的档案编号姓名工作单位性别出生日期技术职称以及学历通过系统授权用户可以进行对职工信息数据进行查询检索检索的条件可以是姓名工作单位性别技术职称等组合通过系统授权超级用户还可以对职工档案进行维护当超级用户需要对档案进行维护时输入档案维护命令得到合法性确认后可以对系统数据库档案信息进行维护否则将拒绝执行档案维护操作可以是增加档案修改档案删除档案增加档案字段中的任何一种操作档案维护成功后要及时更新职工信息数据文件保存维护结果职工管理信息系统的顶层图如图12-1所示职工管理信息系统的第0层DFD图如图12-2所示其中加工3的细化图如图12-3所示加工3.2的细化图如图12-4所示[数据流图12-1][数据流图12-2][数据流图12-3][数据流图12-4][问题1]数据流图12-2缺少了两条数据流请采用说明中的词汇给出此数据流名称并指出方向
[说明]在学校中存在以下关系a一个系有若干学生但一个学生只能在一个系b一个学生可以选修多门课程每门课程有若干学生选修c每个学生所学的每门课程都有一个成绩该校在学生信息管理数据库设计了三个基本表分别为表一表二表三a表一学生信息表STUDENTSTIDNAMEAGEDEPTNO其中STID表示学号NAME表示学生姓名AGE表示年龄DEPTNO表示系号b表二课程表COURSECOIDNAME其中COID表示课程号NAME表示课程名c表三成绩表SCORESCIDCOIDGRADE其中SCID表示学号COID表示课程号GRADE表示成绩成绩为空时表示这学期正在上的课程[问题1]根据要求将SQL语句补充完整1查询各系的学生数SELECT1COUNT*2GROUPBYDEPTNO2更改课程号为C601的课程名为大学物理UPDATE3SET43基于学生信息表建立一个计算机系系编号为D01的学生视图写出命令CREATEORREPLACEVIEWV_STUDENTAS5
[说明]以下VisualBasic代码实现了对位图BMP进行旋转显示以下程序共实现了对BMP位图图形进行180°旋转90°旋转顺时针90°旋转逆时针水平翻转垂直翻转共5项处理显示界面如图12-8所示仔细阅读[代码7-1]至[代码7-3]完成n代码并写在对应栏内[代码7-1]BeginVB.FormForm1AutoRedraw=-1’TrueCaption=图像的施转//...窗体描述略BeginVB.CommandButtonCommand7Caption=退出//...窗体描述略EndBeginVB.CommandButtonCommand6Caption=复位//...窗体描述略EndBeginVB.CommandButtonCommand5Caption=垂直翻转//...窗体描述略EndBeginVB.CommandButtonCommand4Caption=水平翻转//...窗体描述略EndBeginVB.CommandButtonCommand3Caption=90°逆时针//...窗本描述略EndBeginVB.CommandButtonCommand2Caption=90°顺时针//...窗体描述略EndBeginVB.PictureBoxPicture2//...窗体描述略EndBeginVB.CommandButtonCommand1Caption=180°//...窗体描述略EndBeginVB.PictureBoxPicture1//...窗体描述略EndEnd[代码7-2]PrivateDeclareFunctionBitBltLibgdi32ByValhDestDCAsLongByValxAsLongByValyAsLongByValnWidthAsLongByValnHeightAsLongByValhSrcDCAsLongByValxSrcAsLongByValySrcAsLongByValdwRopAsLongAsLongConstsrcopy=&HCC0020DimhAsIntegerDimwAsIntegerPrivateSubForm_LoadPicture2.Picture=LoadPictureApp.Path&/a01.bmp’导入图片’h=Picture1.Heightw=Picture1.WidthEndSub[代码7-3]PrivateSubCommandl_Click旋转180°Picture2.Picture=LoadPictureForj=0TohStep1Fori=0TowStep11NextiNextjEndSubPrivateSubCommand2_Click’顺时针施转90°’Picture2.Picture=LoadPictureFori-hTo0Step-1Forj-0TowStep12NextjNextiEndSubPrivateSubCommand3_Click’逆时针旋转90°’Picture2.Picture=LoadPictureForj=wTo0Step-1Fori=0TohStep13NextiNextjEndSubPrivateSubCommand4Click’水平翻转Picture2.Picture=LoadPictureFori=wTo0Step-1Forj=0TohStep14NextjNextiEndSubPrivateSubCommand5_Click’垂直翻转Picture2.Picmre=LoadPicmreForj=0TohStep1Fori=0TowStepI5NextiNextjEndSubPrivateSubCommand6_Click’复位Picture2.Picture=LoadPicmreFori=0TowStep1Forj=0TohStep16NextjNextiEndSub
【说明】图书管理系统旨在用计算机对图书进行管理包括图书的购入借阅归还及注销管理人员可以查询某位读者某种图书的借阅情况还可以对当前图书借阅情况进行一些统计给出统计表格以便掌握图书的流通情况系统要实现以下4方面的功能购入新书读者借书读者还书及图书注销1购入新书需要为该书编制图书卡片包括分类目录号图书流水号要保证每本书都有唯一的流水号即使同类图书也是如此书名作者内容摘要价格和购书日期等信息写入图书目录文件中2读者借书填写借书单包括读者号欲借图书分类目录号系统首先检查该读者号是否有效若无效则拒绝借书否则进一步检查该读者所借图书是否超过最大限制数若已达到最大借阅数则拒绝借书否则读者可以借出该书登记图书分类目录号图书流水号读者号和借阅日期等写回到借书文件中去3读者还书根据图书流水号从借书文件中读出和该图书相关的借阅记录表明还书日期再写回借书文件中如果图书逾期未还则处以相应罚款4图书注销将一些过时或无保留价值的图书注销从图书文件中删除相关记录5流通查询管理员可以对图书流通情况进行查询包括某位读者某种图书和全部图书给出流通情况统计表以下是经分析得到的数据流图及部分数据字典有些地方有待填充假定顶层数据流图是正确的如图9-1所示是顶层数据流图如图9-2所示是第0层数据流图如图9-3所示是第1层数据流图【数据字典】1数据流条目图书管理要求=[入库单|借书单|还书单|注销单]入库单=分类目录号+数量+书名+作者+内容摘要+价格+购书日期借书单=读者号+d+借阅日期还书单=e+还书日期2文件说明文件名目录文件组成分类目录号+书名+作者+内容摘要+价格+入库日期+总数+库存数+f【问题2】将下述文件正确填充在数据流图bc处读者文件借书文件
[说明]职工信息管理系统是用于对职工相关信息进行检索统计工资管理内部调动管理等的系统利用该系统人事科可以对本单位职工信息进行管理根据不同命令对信息进行增删改内部调动打印人事表格进行统计检索人事科输入的系统命令需要合法性检查才能被接受处理系统命令包括档案维护数据检索统计报表打印命令代码维护人事科的输入信息包括个人资料检索选项统计选项代码资料新增档案字段档案修改资料等条目完整的个人资料应包括职工的档案编号姓名工作单位性别出生日期技术职称以及学历通过系统授权用户可以进行对职工信息数据进行查询检索检索的条件可以是姓名工作单位性别技术职称等组合通过系统授权超级用户还可以对职工档案进行维护当超级用户需要对档案进行维护时输入档案维护命令得到合法性确认后可以对系统数据库档案信息进行维护否则将拒绝执行档案维护操作可以是增加档案修改档案删除档案增加档案字段中的任何一种操作档案维护成功后要及时更新职工信息数据文件保存维护结果职工管理信息系统的顶层图如图12-1所示职工管理信息系统的第0层DFD图如图12-2所示其中加工3的细化图如图12-3所示加工3.2的细化图如图12-4所示[数据流图12-1][数据流图12-2][数据流图12-3][数据流图12-4][问题3]请补齐下列数据字典条目系统命令=__________输入信息=__________个人资料=__________档案维护=__________
【程序6说明】本程序实现两个多项式的乘积运算多项式的每一项由类Item描述而多项式由类List描述类List的成员函数有createList创建按指数降序链接的多项式链表以表示多项式reverseList将多项式链表的表元链接顺序颠倒multiplyListListL1ListL2计算多项式L1和多项式L2的乘积多项式【程序6】#include<iostream.h>classListclass|temfriendclassListprivatedoublequotintexp|tem*nextpublic|temdouble_quotint_exp1classListprivate|tem*list;publicListlist=NULLvoidreverseListvoidmultiplyListListL1ListL2voidcreateListvoidList::createList|tem*p*u*preintexpdoubtequotlist=NULLwhile1cout<<输入多项式中的一项系数指数<<endlcin>>quot>>expifexp<0break//指数小于零结束输入ifquot==0continuep=listwhile2//查找插入点pre=pp=p->next;ifp!=NULL&&exp==p->expp->quot+=quotcontinueu=3ifp==listlist=uelsepre->next=uu->next=pvoidListreverseList|tem*p*uiflist==NULLreturnp=list->nextlist->next=NULLwhilep!=NULLu=p->nextp->next=listlist=pp=uvoidListmultiplyListListL1ListL2|tem*pLI*pL2*uintkmaxExpdoublequotmaxExp=4L2.reverseListlist=NULLfork=maxExpk>=0k--pL1=L1.listwhilepL1!=NULL&&pL1->exp>kpL1=pL1->nextpL2=L2.listwhilepL2!=NULL&&5pL2=pL2->nextquot=0.0whilepL1!=NULL&&pL2!=NULLifpL1->exp+pL2->exp==k6pL1=pL1->nextpL2=pL2->nextelseifpL1->exp+pL2->exp>kpL1=pL1->nextelsepL2=pL2->nextifquot!=0.0u=new|temquotku->next=listlist=ureverseListL2.reverseListvoidmainListL1L2Lcout<<创建第一个多项式链表/nL1.createListcout<<创建第二个多项式链表/nL2.createListL.multiplyListL1L2
【说明】某供销系统接受顾客的订货单当库存中某配件的数量小于订购量或库存量低于一定数量时向供应商发出采购单当某配件的库存量大于或等于定购粮食或者收到供应商的送货单并更新了库存后向顾客发出提货单该系统还可随时向总经理提供销售和库存情况表该供销系统的分层数据流图中部分数据流和文件的组成如下文件配件库存=配件号+配件名+规格+数量+允许的最低库存量数据流订货单=配件号+配件名+规格+数量+顾客名+地址提货单=订货单+金额采购单=配件号+配件名+规格+数量+供应商名+地址送货单=配件号+配件名+规格+数量+金额假定顶层图如图6所示是正确的供应商文件已由其他系统生成【问题2】指出在哪些图中遗漏了哪些数据流回答时使用如下形式之一1XX图中遗漏了XX加工或文件流向XX加工或文件的XX数据流2XX图中XX加工遗漏了XX输入或输出数据流【流程图】
[说明]在一些财务软件中经常需要将阿拉伯数字的账目转化为汉语习惯中的金额计数方法例如3.45转化为叁元四角五分3.4转化为叁元四角3.40转化为叁元四角零分3.456转化为叁元四角五分345.00转化为叁百四十五元零角零分345转化为叁百四十五元以下VisualBasic代码实现了小写金额转换为大写金额界面如图10-9所示结合实际例子说明仔细阅读下面代码将n代码补充完整[代码7-1]BeginVB.FormForm1Caption=小写金额转换为大写金额//...窗体描述略BeginVB.CommandButtonCommand1Caption=退出//...窗体描述略EndBeginVB.TextBoxText2//...窗体描述略EndBeginVB.TextBoxText1Enabled=0’False//窗体描述略EndBeginVB.Labe1Labe12Caption=转换为大写金额//...窗体描述略EndBeginVB.Labe1Labe11Caphon=请输入数字//...窗体描述略EndEnd[代码7-2]PrivateFunctionsetdatanumAsIntegerAsString’数字转换SelectCaSenumCase0setdata=零Case1Setdata=壹Case2Setdata=贰Case3Setdata=叁Case4Setdata=肆Case5Setdata=伍Case6Setdata=陆Case7Setdata=柒Case8Setdata=捌Case9Setdata=玖EndSelectEndFunctionPrivateFunctionchangaaaAsIntegerAsString’位数转换SelectCaSeaaaCase1chang=Case2chang=十Case3chang=百Case4chang=千Case5chang=万Case6chang=十Case7chang=百Case8chang=千Case9chang=亿Case10chang=十EndSelectEndFunction[代码7-3]PrivateSubText2_Change’小写转大写DimiAsIntegerDimjAsIntegerDimmyintAsIntegerDimmyint1AsIntegerDimmydoubAsDoubleDimmystrAsStringDimmystr1AsStringDimmystr2AsStringDimmystr3AsStringDimmystr4AsStringDimmoneyAsLongDimmoney1AsIntegerDimmoney2AsLongmystr=Text2.Textmyint=InStrmystr.Ifmyint=0Thenmystr=Text2.TextElsemystr3=RightText2.TextLenText2.Text-myintIfmystr3<>Then’转换小数位mystr4=Leftmystr31mystr3=Rightmystr3Lenmystr3-1Ifmystr4<>0Then1EndIfIfmystr3<>Thenmystr4=Leftmystr312EndIfEndIfmystr=LeftText2.Textmyint-1EndIfj=LenmystrFori=1ToLenmystrimoney2=Leftmystrimoney1=Rightmoney21Ifmoney1=0ThenIfj=5Then3Else4EndIfElse5EndIfj=j-1NextiText1.Text=mystr1&元&mystr2’显示大写Endsub
[说明]某高等院校的教学管理具有选课管理和成绩管理两大功能选课管理主要完成以下工作1录入与生成新学期课程表2学生选课注册3查询学生教师教学管理员可以查询课程表获得课程信息学生选课信息和学生教师信息4选课注册信息的统计与报表生成成绩管理主要的功能为1成绩录入教学管理员录入学生考试成绩2成绩查询教师教学管理员可以查询学生考试成绩学生只允许查询自己的考试成绩不允许查询他人的成绩3成绩统计与报表生成教学管理员进行成绩统计打印统计报表把学生选课注册信息传送给财务系统以便计算学生应交纳的费用根据需要系统设计的用例有选课管理成绩管理查询课程信息选课注册管理开设课程等用例其中部分用例说明如下查询课程信息学生教师或教学管理员启动查询课程信息时该用例开始运行根据输入的查询要求查询主题或关键字显示有关的课程信息选课注册当学生登录进行选课注册时该用例开始运行它提供了选择课程注册修改注册删除注册等功能学生登录需要用户标识ID和口令管理开设课程当教学管理员登录系统进行产生选课信息操作时该用例开始运行它首先检查用户标识ID和口令然后从数据库中取出学生的选课注册数据按照要求进行分类统计生成选课注册报表活动者学生与用例选课注册的交互关系如下当学生登录系统进入选课注册活动时首先要输入用户标识ID和口令经系统的注册表单接口对象验证如果正确无误则学生可以进行查询活动或选课活动否则拒绝进入若学生发出查询请求系统的选课注册表单接口对象响应信息给学生及发送增加或删除学生选课数据的消息开设课程对象响应该消息找出数据库中的相关数据增加或删除学生的姓名和所选的课程名或做相应的修改并把增加或删除学生课操作成功或失败的信息反馈给选课注册表单接口对象选课注册表单接口对象再反馈给学生如果学生按下确认键则选课操作得到确认发出提交请求选课注册表单接口对象响应该请求并发出存储消息开设课程对象响应存储消息进行数据库存储操作选课数据存入数据库若学生结束选课发出退出系统请求注册表单接口对象响应请求关闭系统图10-7为系统的顶层UML用例图图10-8为选课注册顺序图[问题2]图10-8为选课注册顺序图请根据系统设计说明及图中信息采用说明中的术语将选课注册顺序图补充完整
[说明]以下程序实现了利用鼠标任意移动圆形的位置仔细阅读代码和相关注释将程序补充完整[代码6-1]importjava.awt.*;importjava.awt.event.*;publicclassCIUSAMPLEextendsFrameimplementsMouseMotionListenerMouseListenerstaticCIUSAMPLEfrm=newCIUSAMPLE;intx=70y=60posX=70posY=60dxdy;publicstaticvoidmainStringargs[]frm.setTitleDraggingacircle;frm.setSize200150;1ffm.addMouseMotionListenerfrm;frm.setVisibletrue;publicvoidmousePressedMouseEvente2dy=e.getY-posY;publicvoidmouseDraggedMouseEvente3y=e.getY-dy;ifdx>0&&dx<50&&dy>0&&dy<50//如果指针落在正方形区域内Graphicsg=getGraphics;4publicvoidpaintGraphicsgg.setColorColor.pink;//设置绘图颜色为粉红g.fillOvalxy5050;//以基准点为图形在左上角绘出圆形5posY=ypublicvoidmouseMovedMouseEventepublicvoidmouseReleasedMouseEventepublicvoidmouseEnteredMouseEventepublicvoidmouseExitedMouseEventepublicvoidmouseClickedMouseEvente
[说明]图12-5中显示一张交通违章处罚通知书每一个交通违章通知书有一个惟一的编号交通违章通知书包含了收到处罚的违章者记录涉及违章的机动车记录违章记录处罚记录以及经办警察记录等信息所根据这张通知书所提供的信息回答下面问题[问题2]将问题1中的E-R模型图12-6转换成4个关系数据模型要求标注主码和外码
【说明】算法2-1是用来检查文本文件中的圆括号是否匹配若文件中存在圆括号没有对应的左括号或者右括号则给出相应的提示信息如下所示文件提示信息1+2abc缺少对应左括号第2行第4列defgx缺少对应左括号第3行第10列hijk1ml缺少对应右括号第5行第4列第4行第1列在算法2-1中stack为一整数栈算法中各函数的说明见表4表4函数名函数功能pushinti将整数i压人栈stack中popstack的栈顶元素出栈empty判断stack栈是否为空若为空函数返回1否则函数返回0nextch读取文本文件中的下—个字符井返回该字符的ASCII值将字符所在的行号以及字符在行中的位置分别存储到变量row和col中若遇到文件结束符则将变量EOF置为truekindcharch判断字符ch是左括号还是右括号若是左括号函数返回1若是右括号函数返回2若两者都不是函数返回【算法2-1】将栈stack置空置EOF为falsech<-nextch;whilenotEOFk<-kindCH;ifk==1push2;push3;elseifk==4ifnotemptypop;pop;else显示错误信息缺少对应左括号或右括号显示行号row显示列号colendifendifch<-nextch;endwhileifnotempty显示错误信息缺少对应左括号或右括号whilenotemptyrow<-pop;col<-pop;显示行号row;显示列号col;endwhileendif为了识别更多种类的括号对算法2-1加以改进后得到算法2-2算法2-2能够识别圆括号方括号和花括号不同类型的括号不能互相匹配改进后函数kindcharch的参数及其对应的返回值见表5表五ch[]其他返回值1234560【算法2-2】将栈stack置空置EOF为falsech<-nextchwhilenotEOFk<-kindchifk>0if判断条件1push5;push6;push7;elseif判断条件2and判断条件3pop;pop;pop;else显示行号row显示列号colendifendifch<-nextch;endwhileifnotempty显示错误信息缺少对应左括号或右括号whilenotemptypop;row←pop;col←pop;显示行号row显示列号colendwhileendif【问题2】请从下面的选项中选择相应的判断逻辑填补【算法2-1】中的判断条件1至判断条件3注意若判断条件2的逻辑判断结果为假就无需对判断条件3进行判断a字符是括号b字符是左括号c字符是右括号d栈空e栈不空f栈顶元素表示的是与当前字符匹配的左括号R栈顶元素表示的是与当前字符匹配的右括号
热门题库
更多
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术
电话交换专业技术