首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
阅读以下说明和程序流程图,将应填入 (n) 处的字句写在对应栏内。 [说明] 当一元多项式中有许多系数为零时,可用一个单链表来存储,每个节点存储一个非零项的指受和对应系数。 为了便于...
查看本题答案
包含此试题的试卷
中级软件设计师《填空集》真题及答案
点击查看
你可能感兴趣的试题
阅读以下说明和C++程序将应填入____处的字句写在答题纸的对应栏内 下面程序实现十进制向其他进制的
阅读以下说明和流程图填补流程图中的空缺1~5将解答填入答题纸的对应栏内 下面的流程图采用公式计算ex
试题一阅读以下说明和流程图填补流程图中的空缺1~5将解答填入答题纸的对应栏内 [说明]本流程图用于
阅读以下说明和流程图填补流程图中的空缺1~5将解答填入答题纸的对应栏内 【说明】下面的流程图可在正
阅读以下说明和流程图回答问题将解答填入对应栏 [说明] 本流程图采用双向冒泡法实现对数组a[n]
阅读以下说明和程序流程图将应填入n处的字句写在对应栏内 [说明] 当一元多项式中有许多
阅读以下说明和流程图将应填入__n__处的字句写在答题纸的对应栏内 【说明】下面的流程图旨在统计指
阅读以下说明和流程图回答问题将解答填入对应栏 [说明] 下面的流程图用来完成计算一组数组中的中值
阅读以下说明和流程图回答问题将解答填入对应栏[说明]本流程图采用双向冒泡法实现对数组a[n]的排序双
阅读以下说明和Java程序将应填入____处的字句写在答题纸的对应栏内 下面程序实现十进制向其他进制
阅读以下说明和程序流程图将应填入n处的字句写在对应栏内 [说明] 当一元多项式中有许多
阅读下列说明和流程图2-3将应填入n的字句写在答题纸的对应栏内 【说明】 下面的流程图描述了对8
阅读以下说明和流程图回答问题将解答填入对应栏[说明]下面的流程图用来完成计算一组数组中的中值其方法是
阅读以下说明和程序流程图将应填入n处的字句写在对应栏内 [说明] 当一元多项式中有许多
阅读以下说明和流程图将应填入______处的字句写在对应栏内[说明]下面的流程图旨在统计指定关键词在
阅读以下说明和流程图回答问题将解答填入对应栏[说明]直接插入法排序是一种N2运算量的例程只能用在N较
试题一 阅读下列说明和流程图将应填入n处的字句写在答题纸的对应栏内 [流程图说明] 流程图1-1描
阅读以下说明和流程图填补流程图中的空缺1~5将解答填入答题纸的对应栏内 【说明】以下流程图用于检查
阅读以下说明和程序流程图将应填入n处的字句写在对应栏内 [说明] 当一元多项式中有许多
阅读以下说明和流程图回答问题将解答填入对应栏[说明]直接插入法排序是一种N2运算量的例程只能用在N较
热门试题
更多
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲实现一个图像浏览系统要求该系统能够显示BMPJPEG和GIF三种格式的文件并且能够在Windows和Linux两种操作系统上运行系统首先将BMPJPEG和GIF三种格式的文件解析为像素矩阵然后将像素矩阵显示在屏幕上系统需具有较好的扩展性以支持新的文件格式和操作系统为满足上述需求并减少所需生成的子类数目采用桥接Bridge设计模式进行设计所得类图如图18-17所示 采用该设计模式的原因在于系统解析BMPGIF与JPEG文件的代码仅与文件格式相关而在屏幕上显示像素矩阵的代码则仅与操作系统相关 [C++代码] clasSMatrix//各种格式的文件最终都被转换为像素矩阵 //此处代码省略 classImageImp public virtualvoiddoPaintMatrixm=0//显示像素矩阵m classWinlmppublicImageImp public voiddoPaintMatrixm/*调用Windows系统的绘制函数绘制像素矩阵*/ classLinuxlmppublicImagelmp public voiddoPaintMatrixm/*调用Linux系统的绘制函数绘制像素矩阵*/ classImage public voidsetImpImagelmp*imp1=imp virtualvoidparseFiiestringfileName=0 protected 2*imp classBMPpublicImage public voidparseFilestringfileName //此处解析BMP文件并获得一个像素矩阵对象m 3//显示像素矩阵m classGIF://publicImage //此处代码省略 classJPEG://publicImage //此处代码省略 voidmain //在Windows操作系统上查看demo.bmp图像文件 Image*imagel=4 ImageImp*imageImpl=5 6 imagel->parseFile"demo.bmp" 现假设该系统需要支持10种格式的图像文件和5种操作系统不考虑类Matrix若采用桥接设计模式则至少需要设计7个类 2处填
阅读以下说明和图回答问题1至问题3将解答填入对应栏内 [说明] 某房屋租赁公司欲建立一个房屋租赁服务系统统一管理房主和租赁者的信息从而快速地提供租赁服务该系统具有以下功能 1登记房主信息对于每名房主系统需登记其姓名住址和联系电话并将这些信息写入房主信息文件 2登记房屋信息所有在系统中登记的房屋都有一个唯一的识别号对于新增加的房屋系统会自动为其分配一个识别号除此之外还需登记该房屋的地址房型如平房带阳台的楼房独立式住宅等最多能够容纳的房客数租金及房屋状态待租赁已出租这些信息都保存在房屋信息文件中一名房主可以在系统中登记多个待租赁的房屋 3登记租赁者信息所有想通过该系统租赁房屋的租赁者必须首先在系统中登记个人信息包括姓名住址电话号码出生年月和性别这些信息都保存在租赁者信息文件中 4租赁房屋已经登记在系统中的租赁者可以得到一份系统提供的待租赁房屋列表一旦租赁者从中找到合适的房屋就可以提出看房请求系统会安排租赁者与房主见面对于每次看房系统会生成一条看房记录并将其写入看房记录文件中 5收取手续费房主登记完房屋后系统会生成一份费用单房主根据费用单交纳相应的费用 6变更房屋状态当租赁者与房主达成租房或退房协议后房主向系统提交变更房屋状态的请求系统将根据房主的请求修改房屋信息文件 图15-11和图15-12分别给出了该系统的顶层数据流图和第0层数据流图 数据流图15-12中缺少了3条数据流请指出这3条数据流的起点终点和数据流名称
阅读下列说明和数据流图回答问题1至问题3将解答填入对应栏内 [说明] 某图书馆管理系统的主要功能是图书管理和信息查询对于初次借书的读者系统自动生成读者号并与读者基本信息姓名单位地址等一起写入读者文件 系统的图书管理功能分为4个方面购入新书读者借书读者还书和图书注销 1购入新书时需要为该书编制入库单入库单内容包括图书分类目录号书名作者价格数量和购书日期将这些信息写入图书目录文件并修改文件中的库存总量表示到目前为止购入此种图书的数量 2读者借书时需填写借书单借书单内容包括读者号和所借图书分类目录号系统首先检查该读者号是否有效若无效则拒绝借书若有效则进一步检查该读者已借图书是否超过最大限制数假设每位读者能同时借阅的书不超过5本若已达到最大限制数则拒绝借书否则允许借书同时将图书分类目录号读者号和借阅日期等信息写入借书文件中 3读者还书时需填写还书单系统根据读者号和图书分类目录号从借书文件中读出与该图书相关的借阅记录标明还书日期再写回到借书文件中若图书逾期则处以相应的罚款 4注销图书时需填写注销单并修改图书目录文件中的库存总量 系统的信息查询功能主要包括读者信息查询和图书信息查询其中读者信息查询可得到读者的基本信息以及读者借阅图书的情况图书信息查询可得到图书基本信息和图书的借出情况 图书管理系统的顶层数据流图如图15-1所示图书管理系统的第0层数据流图如图15-2所示其中加工2的细化图如图15-3所示 根据系统功能和数据流图填充下列数据字典条目中的1和2查询请求信息=[查询读者请求信息|查询图书请求信息]读者情况=读者号+姓名+所在单位+{借书情况
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 2处填
阅读下列说明和数据流图回答问题1至问题3将解答填入对应栏内 [说明] 某图书馆管理系统的主要功能是图书管理和信息查询对于初次借书的读者系统自动生成读者号并与读者基本信息姓名单位地址等一起写入读者文件 系统的图书管理功能分为4个方面购入新书读者借书读者还书和图书注销 1购入新书时需要为该书编制入库单入库单内容包括图书分类目录号书名作者价格数量和购书日期将这些信息写入图书目录文件并修改文件中的库存总量表示到目前为止购入此种图书的数量 2读者借书时需填写借书单借书单内容包括读者号和所借图书分类目录号系统首先检查该读者号是否有效若无效则拒绝借书若有效则进一步检查该读者已借图书是否超过最大限制数假设每位读者能同时借阅的书不超过5本若已达到最大限制数则拒绝借书否则允许借书同时将图书分类目录号读者号和借阅日期等信息写入借书文件中 3读者还书时需填写还书单系统根据读者号和图书分类目录号从借书文件中读出与该图书相关的借阅记录标明还书日期再写回到借书文件中若图书逾期则处以相应的罚款 4注销图书时需填写注销单并修改图书目录文件中的库存总量 系统的信息查询功能主要包括读者信息查询和图书信息查询其中读者信息查询可得到读者的基本信息以及读者借阅图书的情况图书信息查询可得到图书基本信息和图书的借出情况 图书管理系统的顶层数据流图如图15-1所示图书管理系统的第0层数据流图如图15-2所示其中加工2的细化图如图15-3所示 数据流图15-2中有两条数据流是错误的请指出这两条数据流的起点和终点
阅读以下说明和图回答问题1至问题3将解答填入对应栏内 [说明] 某房屋租赁公司欲建立一个房屋租赁服务系统统一管理房主和租赁者的信息从而快速地提供租赁服务该系统具有以下功能 1登记房主信息对于每名房主系统需登记其姓名住址和联系电话并将这些信息写入房主信息文件 2登记房屋信息所有在系统中登记的房屋都有一个唯一的识别号对于新增加的房屋系统会自动为其分配一个识别号除此之外还需登记该房屋的地址房型如平房带阳台的楼房独立式住宅等最多能够容纳的房客数租金及房屋状态待租赁已出租这些信息都保存在房屋信息文件中一名房主可以在系统中登记多个待租赁的房屋 3登记租赁者信息所有想通过该系统租赁房屋的租赁者必须首先在系统中登记个人信息包括姓名住址电话号码出生年月和性别这些信息都保存在租赁者信息文件中 4租赁房屋已经登记在系统中的租赁者可以得到一份系统提供的待租赁房屋列表一旦租赁者从中找到合适的房屋就可以提出看房请求系统会安排租赁者与房主见面对于每次看房系统会生成一条看房记录并将其写入看房记录文件中 5收取手续费房主登记完房屋后系统会生成一份费用单房主根据费用单交纳相应的费用 6变更房屋状态当租赁者与房主达成租房或退房协议后房主向系统提交变更房屋状态的请求系统将根据房主的请求修改房屋信息文件 图15-11和图15-12分别给出了该系统的顶层数据流图和第0层数据流图 使用说明中给出的词汇将数据流图15-11中1~4处的数据流补充完整
阅读以下说明和图回答问题1至问题4将解答填入对应栏内 [说明] 某高校欲开发一个成绩管理系统记录并管理所有选修课程的学生的平时成绩和考试成绩其主要功能描述如下 1每门课程都由3~6个单元构成每个单元结束后会进行一次测试其成绩作为这门课程的平时成绩课程结束后进行期末考试其成绩作为这门课程的考试成绩 2学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统 3在记录学生成绩之前系统需要验证这些成绩是否有效首先根据学生信息文件来确认该学生是否选修这门课程若没有那么这些成绩是无效的如果选修了这门课程再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应如果对应那么这些成绩是有效的否则无效 4对于有效成绩系统将其保存在课程成绩文件中对于无效成绩系统会单独将其保存在无效成绩文件中并将详细情况提交给教务处在教务处没有给出具体处理意见之前系统不会处理这些成绩 5若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录系统会发送课程完成通知给教务处告知该门课程的成绩已经齐全教务处根据需要请求系统生成相应的成绩列表用来提交考试委员会审查 6在生成成绩列表之前系统会生成一份成绩报告给主讲教师以便核对是否存在错误主讲教师需将核对之后的成绩报告返还系统 7根据主讲教师核对后的成绩报告系统生成相应的成绩列表递交考试委员会进行审查考试委员会在审查之后上交一份成绩审查结果给系统对于所有通过审查的成绩系统将会生成最终的成绩单并通知每个选课学生 现采用结构化方法对这个系统进行分析与设计得到如图15-13所示的顶层数据流图和如图15-14所示的第0层数据流图 数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具程序流程图也是软件开发过程中比较常用的图形化工具简要说明程序流程图的适用场合与作用
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 8处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 4处填
阅读以下说明和图回答问题1至问题4将解答填入对应栏内 [说明] 某高校欲开发一个成绩管理系统记录并管理所有选修课程的学生的平时成绩和考试成绩其主要功能描述如下 1每门课程都由3~6个单元构成每个单元结束后会进行一次测试其成绩作为这门课程的平时成绩课程结束后进行期末考试其成绩作为这门课程的考试成绩 2学生的平时成绩和考试成绩均由每门课程的主讲教师上传给成绩管理系统 3在记录学生成绩之前系统需要验证这些成绩是否有效首先根据学生信息文件来确认该学生是否选修这门课程若没有那么这些成绩是无效的如果选修了这门课程再根据课程信息文件和课程单元信息文件来验证平时成绩是否与这门课程所包含的单元相对应如果对应那么这些成绩是有效的否则无效 4对于有效成绩系统将其保存在课程成绩文件中对于无效成绩系统会单独将其保存在无效成绩文件中并将详细情况提交给教务处在教务处没有给出具体处理意见之前系统不会处理这些成绩 5若一门课程的所有有效的平时成绩和考试成绩都已经被系统记录系统会发送课程完成通知给教务处告知该门课程的成绩已经齐全教务处根据需要请求系统生成相应的成绩列表用来提交考试委员会审查 6在生成成绩列表之前系统会生成一份成绩报告给主讲教师以便核对是否存在错误主讲教师需将核对之后的成绩报告返还系统 7根据主讲教师核对后的成绩报告系统生成相应的成绩列表递交考试委员会进行审查考试委员会在审查之后上交一份成绩审查结果给系统对于所有通过审查的成绩系统将会生成最终的成绩单并通知每个选课学生 现采用结构化方法对这个系统进行分析与设计得到如图15-13所示的顶层数据流图和如图15-14所示的第0层数据流图 使用说明中的词语给出图15-14中的数据存储D1~D5的名称
阅读以下说明及数据流图回答问题1至问题5将解答填入对应栏内 [说明] 某银行已有一套基于客户机/服务器模式的储蓄系统A和一套建账软件建账软件主要用于将储蓄所手工处理的原始数据转换为系统A所需的数据格式该建账软件具有以下功能 1分户账录入手工办理业务时建立的每个分户账数据均由初录员和复录员分别录入以确保数据的正确性 2初录/复录比对将初录员和复录员录入的数据进行一一比较并标记两套数据是否一致 3数据确认当上述两套数据完全一致后将其中任一套作为最终进入系统A的原始数据 4汇总核对和打印对经过确认的数据进行汇总并和会计账目中的相关数据进行核对以确保数据的整体正确性并打印输出经过确认的数据为以后核查可能的错误提供依据 5数据转换将经过确认的数据转换为储蓄系统A需要的中间格式数据 6数据清除为加快初录和复录的处理速度在数据确认之后可以有选择地清 除初录员和复录员录入的数据 该软件的数据流图如图15-8至图15-10所示图中部分数据流数据文件的格式如下 初录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质 复录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质 初录数据=手工分户账+一致性标志 复录数据=手工分户账+一致性标志 会计账目=储蓄所号+总户数+总余额 操作结果=初录操作结果+比对操作结果+复录操作结果 软件需要打印的分户账清单样式如表15-2所示 不考虑数据确认处理加工2请指出数据流图中存在的错误
阅读下列说明及数据流图回答问题1至问题3将解答填入对应栏内 [说明] 某学校建立了一个网上作业提交与管理系统基本功能描述如下 1账号和密码任课老师用账号和密码登录系统后提交所有选课学生的名单系统自动为每个选课学生创建登录系统的账号和密码 2作业提交学生使用账号和密码登录系统后可以向系统申请所选课程的作业系统首先检查学生的当前状态如果该学生还没有做过作业则从数据库服务器申请一份作业若申请成功则显示需要完成的作业学生需在线完成作业单击“提交”按钮上交作业 3在线批阅系统自动在线批改作业显示作业成绩并将该成绩记录在作业成绩统计文件中 根据数据流图的设计原则阅读如图15-7所示的数据流图找出其中的错误之处
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 6处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 4处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲实现一个图像浏览系统要求该系统能够显示BMPJPEG和GIF三种格式的文件并且能够在Windows和Linux两种操作系统上运行系统首先将BMPJPEG和GIF三种格式的文件解析为像素矩阵然后将像素矩阵显示在屏幕上系统需具有较好的扩展性以支持新的文件格式和操作系统为满足上述需求并减少所需生成的子类数目采用桥接Bridge设计模式进行设计所得类图如图18-17所示 采用该设计模式的原因在于系统解析BMPGIF与JPEG文件的代码仅与文件格式相关而在屏幕上显示像素矩阵的代码则仅与操作系统相关 [C++代码] clasSMatrix//各种格式的文件最终都被转换为像素矩阵 //此处代码省略 classImageImp public virtualvoiddoPaintMatrixm=0//显示像素矩阵m classWinlmppublicImageImp public voiddoPaintMatrixm/*调用Windows系统的绘制函数绘制像素矩阵*/ classLinuxlmppublicImagelmp public voiddoPaintMatrixm/*调用Linux系统的绘制函数绘制像素矩阵*/ classImage public voidsetImpImagelmp*imp1=imp virtualvoidparseFiiestringfileName=0 protected 2*imp classBMPpublicImage public voidparseFilestringfileName //此处解析BMP文件并获得一个像素矩阵对象m 3//显示像素矩阵m classGIF://publicImage //此处代码省略 classJPEG://publicImage //此处代码省略 voidmain //在Windows操作系统上查看demo.bmp图像文件 Image*imagel=4 ImageImp*imageImpl=5 6 imagel->parseFile"demo.bmp" 现假设该系统需要支持10种格式的图像文件和5种操作系统不考虑类Matrix若采用桥接设计模式则至少需要设计7个类 1处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 8处填
阅读以下说明及数据流图回答问题1至问题5将解答填入对应栏内 [说明] 某银行已有一套基于客户机/服务器模式的储蓄系统A和一套建账软件建账软件主要用于将储蓄所手工处理的原始数据转换为系统A所需的数据格式该建账软件具有以下功能 1分户账录入手工办理业务时建立的每个分户账数据均由初录员和复录员分别录入以确保数据的正确性 2初录/复录比对将初录员和复录员录入的数据进行一一比较并标记两套数据是否一致 3数据确认当上述两套数据完全一致后将其中任一套作为最终进入系统A的原始数据 4汇总核对和打印对经过确认的数据进行汇总并和会计账目中的相关数据进行核对以确保数据的整体正确性并打印输出经过确认的数据为以后核查可能的错误提供依据 5数据转换将经过确认的数据转换为储蓄系统A需要的中间格式数据 6数据清除为加快初录和复录的处理速度在数据确认之后可以有选择地清 除初录员和复录员录入的数据 该软件的数据流图如图15-8至图15-10所示图中部分数据流数据文件的格式如下 初录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质 复录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质 初录数据=手工分户账+一致性标志 复录数据=手工分户账+一致性标志 会计账目=储蓄所号+总户数+总余额 操作结果=初录操作结果+比对操作结果+复录操作结果 软件需要打印的分户账清单样式如表15-2所示 加工1录入比对处理除了能够检查出初录数据和复录数据不一致外还应当检测出下列哪些错误请将对应序号填入对应栏中①输入的无效字符②输入的半个汉字③显示器无法显示④初录员重复录入同一账户⑤汇总数据与会计账目不符⑥打印机卡纸
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲实现一个图像浏览系统要求该系统能够显示BMPJPEG和GIF三种格式的文件并且能够在Windows和Linux两种操作系统上运行系统首先将BMPJPEG和GIF三种格式的文件解析为像素矩阵然后将像素矩阵显示在屏幕上系统需具有较好的扩展性以支持新的文件格式和操作系统为满足上述需求并减少所需生成的子类数目采用桥接Bridge设计模式进行设计所得类图如图18-17所示 采用该设计模式的原因在于系统解析BMPGIF与JPEG文件的代码仅与文件格式相关而在屏幕上显示像素矩阵的代码则仅与操作系统相关 [C++代码] clasSMatrix//各种格式的文件最终都被转换为像素矩阵 //此处代码省略 classImageImp public virtualvoiddoPaintMatrixm=0//显示像素矩阵m classWinlmppublicImageImp public voiddoPaintMatrixm/*调用Windows系统的绘制函数绘制像素矩阵*/ classLinuxlmppublicImagelmp public voiddoPaintMatrixm/*调用Linux系统的绘制函数绘制像素矩阵*/ classImage public voidsetImpImagelmp*imp1=imp virtualvoidparseFiiestringfileName=0 protected 2*imp classBMPpublicImage public voidparseFilestringfileName //此处解析BMP文件并获得一个像素矩阵对象m 3//显示像素矩阵m classGIF://publicImage //此处代码省略 classJPEG://publicImage //此处代码省略 voidmain //在Windows操作系统上查看demo.bmp图像文件 Image*imagel=4 ImageImp*imageImpl=5 6 imagel->parseFile"demo.bmp" 现假设该系统需要支持10种格式的图像文件和5种操作系统不考虑类Matrix若采用桥接设计模式则至少需要设计7个类 4处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲实现一个图像浏览系统要求该系统能够显示BMPJPEG和GIF三种格式的文件并且能够在Windows和Linux两种操作系统上运行系统首先将BMPJPEG和GIF三种格式的文件解析为像素矩阵然后将像素矩阵显示在屏幕上系统需具有较好的扩展性以支持新的文件格式和操作系统为满足上述需求并减少所需生成的子类数目采用桥接Bridge设计模式进行设计所得类图如图18-17所示 采用该设计模式的原因在于系统解析BMPGIF与JPEG文件的代码仅与文件格式相关而在屏幕上显示像素矩阵的代码则仅与操作系统相关 [C++代码] clasSMatrix//各种格式的文件最终都被转换为像素矩阵 //此处代码省略 classImageImp public virtualvoiddoPaintMatrixm=0//显示像素矩阵m classWinlmppublicImageImp public voiddoPaintMatrixm/*调用Windows系统的绘制函数绘制像素矩阵*/ classLinuxlmppublicImagelmp public voiddoPaintMatrixm/*调用Linux系统的绘制函数绘制像素矩阵*/ classImage public voidsetImpImagelmp*imp1=imp virtualvoidparseFiiestringfileName=0 protected 2*imp classBMPpublicImage public voidparseFilestringfileName //此处解析BMP文件并获得一个像素矩阵对象m 3//显示像素矩阵m classGIF://publicImage //此处代码省略 classJPEG://publicImage //此处代码省略 voidmain //在Windows操作系统上查看demo.bmp图像文件 Image*imagel=4 ImageImp*imageImpl=5 6 imagel->parseFile"demo.bmp" 现假设该系统需要支持10种格式的图像文件和5种操作系统不考虑类Matrix若采用桥接设计模式则至少需要设计7个类 6处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 6处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲实现一个图像浏览系统要求该系统能够显示BMPJPEG和GIF三种格式的文件并且能够在Windows和Linux两种操作系统上运行系统首先将BMPJPEG和GIF三种格式的文件解析为像素矩阵然后将像素矩阵显示在屏幕上系统需具有较好的扩展性以支持新的文件格式和操作系统为满足上述需求并减少所需生成的子类数目采用桥接Bridge设计模式进行设计所得类图如图18-17所示 采用该设计模式的原因在于系统解析BMPGIF与JPEG文件的代码仅与文件格式相关而在屏幕上显示像素矩阵的代码则仅与操作系统相关 [C++代码] clasSMatrix//各种格式的文件最终都被转换为像素矩阵 //此处代码省略 classImageImp public virtualvoiddoPaintMatrixm=0//显示像素矩阵m classWinlmppublicImageImp public voiddoPaintMatrixm/*调用Windows系统的绘制函数绘制像素矩阵*/ classLinuxlmppublicImagelmp public voiddoPaintMatrixm/*调用Linux系统的绘制函数绘制像素矩阵*/ classImage public voidsetImpImagelmp*imp1=imp virtualvoidparseFiiestringfileName=0 protected 2*imp classBMPpublicImage public voidparseFilestringfileName //此处解析BMP文件并获得一个像素矩阵对象m 3//显示像素矩阵m classGIF://publicImage //此处代码省略 classJPEG://publicImage //此处代码省略 voidmain //在Windows操作系统上查看demo.bmp图像文件 Image*imagel=4 ImageImp*imageImpl=5 6 imagel->parseFile"demo.bmp" 现假设该系统需要支持10种格式的图像文件和5种操作系统不考虑类Matrix若采用桥接设计模式则至少需要设计7个类 5处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲实现一个图像浏览系统要求该系统能够显示BMPJPEG和GIF三种格式的文件并且能够在Windows和Linux两种操作系统上运行系统首先将BMPJPEG和GIF三种格式的文件解析为像素矩阵然后将像素矩阵显示在屏幕上系统需具有较好的扩展性以支持新的文件格式和操作系统为满足上述需求并减少所需生成的子类数目采用桥接Bridge设计模式进行设计所得类图如图18-17所示 采用该设计模式的原因在于系统解析BMPGIF与JPEG文件的代码仅与文件格式相关而在屏幕上显示像素矩阵的代码则仅与操作系统相关 [C++代码] clasSMatrix//各种格式的文件最终都被转换为像素矩阵 //此处代码省略 classImageImp public virtualvoiddoPaintMatrixm=0//显示像素矩阵m classWinlmppublicImageImp public voiddoPaintMatrixm/*调用Windows系统的绘制函数绘制像素矩阵*/ classLinuxlmppublicImagelmp public voiddoPaintMatrixm/*调用Linux系统的绘制函数绘制像素矩阵*/ classImage public voidsetImpImagelmp*imp1=imp virtualvoidparseFiiestringfileName=0 protected 2*imp classBMPpublicImage public voidparseFilestringfileName //此处解析BMP文件并获得一个像素矩阵对象m 3//显示像素矩阵m classGIF://publicImage //此处代码省略 classJPEG://publicImage //此处代码省略 voidmain //在Windows操作系统上查看demo.bmp图像文件 Image*imagel=4 ImageImp*imageImpl=5 6 imagel->parseFile"demo.bmp" 现假设该系统需要支持10种格式的图像文件和5种操作系统不考虑类Matrix若采用桥接设计模式则至少需要设计7个类 7处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 2处填
阅读下列说明和Java代码将应填入n处的字句写在对应栏内 [说明] 已知某企业欲开发一个家用电器遥控系统即用户使用一个遥控器即可控制某些家用电器的开与关遥控器如图18-13所示该遥控器共有4个按钮编号分别是0~3按钮0和2能够遥控打开电器1和电器2按钮1和3则能遥控关闭电器1和电器2由于遥控系统需要支持形式多样的电器因此该系统的设计要求具有较高的扩展性现假设需要控制客厅电视和卧室电灯对该遥控系统进行设计所得类图如图18-14所示 在图18-14中类RomoteController的方法onPressButtonintbutton表示当遥控器按键按下时调用的方法参数为按键的编号Command接N中的On和off方法分别用于控制电器的开与关Light中的mrnLightintdegree方法用于调整电灯灯光的强弱参数degree值为0时表示关灯值为100时表示开灯并且将灯光亮度调整到最大TV中的setChannelintchannel方法表示设置电视播放的频道参数channel值为0时表示关闭电视值为1时表示打开电视并将频道切换为第1频道 [Java代码] classLight//电灯类 publicvoidturnLightintdegree//调整灯光亮度0表示关灯100表示亮度最大 classTV//电视机类 PublicvoidsetChannelintchannel//0表示关机1表示开机并切换到第1频道 interfaceCommand//抽象命令类 voidon voidoff classRemoteController//遥控器类 protectedCommand[]commands=newCommand[4] //遥控器有4个按钮按照编号分别对应4个Command对象 publicvoidonPressButtonintbutton //按钮被按下时执行命令对象中的命令 ifbutton%2==0commands[button].on elsecommands[button].off publicvoidsetCommandintbuttonCommandcommand 1=command//设置每个按钮对应的命令对象 classLightCommandimplementsCommand//电灯命令类 protectedLightlight//指向要控制的电灯对象 publicvoidonlight.turnLight100 publicvoidofflight.2 publicLightCommandLightlightthis.light=light classTVCommandimplementsCommand//电视机命令类 protectedTvtv//指向要控制的电视机对象 publicvoidontv.3 publicvoidofftv.setChannel0 publicTVCommandTVtvthis.tv=tv publicclassrs publicstaticvoidmainString[]args Lightlight=newLightTVtv=newTV//创建电灯和电视对象 LightCommandlightCommand=newLightCommandlight TVCommandtvCommand=newTVCommandtv RemoteControllerremoteControllet=newRemoteController //设置按钮和命令对象 remoteController.setCommand04 …//此处省略设置按钮1按钮2和按钮3的命令对象代码 本题中应用命令模式能够有效让类5和类6类7之间的耦合性降至最小 5处填
阅读以下说明和数据流图回答问题1至问题3将解答填入对应栏内 [说明] 学生住宿服务系统帮助学生在就学的城市找到所需住房系统对出租的房屋信息房主信息需要租房的学生信息以及学生和房主的会面信息进行管理和维护 房主信息包括姓名地址电话号码以及系统分配的唯一身份标志ID和密码房屋信息包括房屋地址类型单间/套间适合住宿的人数房租房主的ID以及现在是否可以出租例如由于装修原因需等到装修后才可出租或者房屋已被租出每当房屋信息发生变化时房主需通知系统系统将更新房屋文件以便学生能够获得准确的可租用房屋信息房主向系统中加入可租用的房屋信息时需缴纳一定的费用由系统自动给出费用信息房主可随时更新房屋的各种属性 学生可通过系统查询现可租用的房屋但必须先在系统中注册学生信息包括姓名现住址电话号码出生日期性别以及系统分配的唯一身份标志ID和密码若学生希望租用某房屋则需要发出租房请求请求中包含房屋的详细信息系统将安排学生与房主会面的时间和地点并将会面信息通知学生和房主会面信息包括会面时间地点以及会面双方的基本信息系统将记录会面信息 学生住宿服务系统的顶层数据流图如图15-4所示学生住宿服务系统的第0层数据流图如图15-5所示其中加工3的细化图如图15-6所示 安排会面加工除需要写入会面文件外还需要访问哪些文件
阅读下列说明及数据流图回答问题1至问题3将解答填入对应栏内 [说明] 某学校建立了一个网上作业提交与管理系统基本功能描述如下 1账号和密码任课老师用账号和密码登录系统后提交所有选课学生的名单系统自动为每个选课学生创建登录系统的账号和密码 2作业提交学生使用账号和密码登录系统后可以向系统申请所选课程的作业系统首先检查学生的当前状态如果该学生还没有做过作业则从数据库服务器申请一份作业若申请成功则显示需要完成的作业学生需在线完成作业单击“提交”按钮上交作业 3在线批阅系统自动在线批改作业显示作业成绩并将该成绩记录在作业成绩统计文件中 如果将数据库服务器记为DB作为一个外部实体那么在绘制该系统的数据流图时还应有哪些外部实体和数据存储
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲构造一棵文件/目录树采用组合Composite设计模式来设计得到的类图如图18-19所示 [C++代码] #include<list> #include<iostream> #include<string> uslngnamesPacestd classAbStractFile protected stringname//文件或目录名称 public voidprintNamecout<<name//打印文件或目录名称 virtualcoidaddChildAbstractFile*file=0 //给一个目录增加子目录或文件 virtualvoidremoveChildAbstractFile*file=0 //删除一个目录的子目录或文件 virtuallist<AbstractFile*>*getChiidren=0 //获得一个目录的子目录或文件 classFilepublicAbstractFile public Filestringname1=name voidaddChildAbstractFile*filereturn voidremoveChildAbstractFile*filereturn 2getChiidrenreturn3 classFolderpublicAbstractFile private list<AbstractFile*>childList//存储子目录或文件 public Folderstringname4=name voidaddChiidAbstractFile*filechiidList.push_backfile voidremoveChiIdAbstractFile*filechiidList.removefile list<AbstractFile*>*getchildrenreturn5 voidmsin //构造一个树形的文件/目录结构 AbstractFile*rootFolder=newFolder"C://" AbstractFile*compositeFolder=newFolder"composite" AbstractFile*windowsFolder=newFolder"windows" AbstractFile*file=newFile"TestComposite.java" rootFolder->addChildcompositeFolder rootFolder->addChiidwindowsFolder compositeFolder->addChiidfile 2处填
阅读下列说明和Java代码将应填入n处的字句写在对应栏内 [说明] 已知某企业欲开发一个家用电器遥控系统即用户使用一个遥控器即可控制某些家用电器的开与关遥控器如图18-13所示该遥控器共有4个按钮编号分别是0~3按钮0和2能够遥控打开电器1和电器2按钮1和3则能遥控关闭电器1和电器2由于遥控系统需要支持形式多样的电器因此该系统的设计要求具有较高的扩展性现假设需要控制客厅电视和卧室电灯对该遥控系统进行设计所得类图如图18-14所示 在图18-14中类RomoteController的方法onPressButtonintbutton表示当遥控器按键按下时调用的方法参数为按键的编号Command接N中的On和off方法分别用于控制电器的开与关Light中的mrnLightintdegree方法用于调整电灯灯光的强弱参数degree值为0时表示关灯值为100时表示开灯并且将灯光亮度调整到最大TV中的setChannelintchannel方法表示设置电视播放的频道参数channel值为0时表示关闭电视值为1时表示打开电视并将频道切换为第1频道 [Java代码] classLight//电灯类 publicvoidturnLightintdegree//调整灯光亮度0表示关灯100表示亮度最大 classTV//电视机类 PublicvoidsetChannelintchannel//0表示关机1表示开机并切换到第1频道 interfaceCommand//抽象命令类 voidon voidoff classRemoteController//遥控器类 protectedCommand[]commands=newCommand[4] //遥控器有4个按钮按照编号分别对应4个Command对象 publicvoidonPressButtonintbutton //按钮被按下时执行命令对象中的命令 ifbutton%2==0commands[button].on elsecommands[button].off publicvoidsetCommandintbuttonCommandcommand 1=command//设置每个按钮对应的命令对象 classLightCommandimplementsCommand//电灯命令类 protectedLightlight//指向要控制的电灯对象 publicvoidonlight.turnLight100 publicvoidofflight.2 publicLightCommandLightlightthis.light=light classTVCommandimplementsCommand//电视机命令类 protectedTvtv//指向要控制的电视机对象 publicvoidontv.3 publicvoidofftv.setChannel0 publicTVCommandTVtvthis.tv=tv publicclassrs publicstaticvoidmainString[]args Lightlight=newLightTVtv=newTV//创建电灯和电视对象 LightCommandlightCommand=newLightCommandlight TVCommandtvCommand=newTVCommandtv RemoteControllerremoteControllet=newRemoteController //设置按钮和命令对象 remoteController.setCommand04 …//此处省略设置按钮1按钮2和按钮3的命令对象代码 本题中应用命令模式能够有效让类5和类6类7之间的耦合性降至最小 7处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲构造一棵文件/目录树采用组合Composite设计模式来设计得到的类图如图18-19所示 [C++代码] #include<list> #include<iostream> #include<string> uslngnamesPacestd classAbStractFile protected stringname//文件或目录名称 public voidprintNamecout<<name//打印文件或目录名称 virtualcoidaddChildAbstractFile*file=0 //给一个目录增加子目录或文件 virtualvoidremoveChildAbstractFile*file=0 //删除一个目录的子目录或文件 virtuallist<AbstractFile*>*getChiidren=0 //获得一个目录的子目录或文件 classFilepublicAbstractFile public Filestringname1=name voidaddChildAbstractFile*filereturn voidremoveChildAbstractFile*filereturn 2getChiidrenreturn3 classFolderpublicAbstractFile private list<AbstractFile*>childList//存储子目录或文件 public Folderstringname4=name voidaddChiidAbstractFile*filechiidList.push_backfile voidremoveChiIdAbstractFile*filechiidList.removefile list<AbstractFile*>*getchildrenreturn5 voidmsin //构造一个树形的文件/目录结构 AbstractFile*rootFolder=newFolder"C://" AbstractFile*compositeFolder=newFolder"composite" AbstractFile*windowsFolder=newFolder"windows" AbstractFile*file=newFile"TestComposite.java" rootFolder->addChildcompositeFolder rootFolder->addChiidwindowsFolder compositeFolder->addChiidfile 4处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲实现一个图像浏览系统要求该系统能够显示BMPJPEG和GIF三种格式的文件并且能够在Windows和Linux两种操作系统上运行系统首先将BMPJPEG和GIF三种格式的文件解析为像素矩阵然后将像素矩阵显示在屏幕上系统需具有较好的扩展性以支持新的文件格式和操作系统为满足上述需求并减少所需生成的子类数目采用桥接Bridge设计模式进行设计所得类图如图18-17所示 采用该设计模式的原因在于系统解析BMPGIF与JPEG文件的代码仅与文件格式相关而在屏幕上显示像素矩阵的代码则仅与操作系统相关 [C++代码] clasSMatrix//各种格式的文件最终都被转换为像素矩阵 //此处代码省略 classImageImp public virtualvoiddoPaintMatrixm=0//显示像素矩阵m classWinlmppublicImageImp public voiddoPaintMatrixm/*调用Windows系统的绘制函数绘制像素矩阵*/ classLinuxlmppublicImagelmp public voiddoPaintMatrixm/*调用Linux系统的绘制函数绘制像素矩阵*/ classImage public voidsetImpImagelmp*imp1=imp virtualvoidparseFiiestringfileName=0 protected 2*imp classBMPpublicImage public voidparseFilestringfileName //此处解析BMP文件并获得一个像素矩阵对象m 3//显示像素矩阵m classGIF://publicImage //此处代码省略 classJPEG://publicImage //此处代码省略 voidmain //在Windows操作系统上查看demo.bmp图像文件 Image*imagel=4 ImageImp*imageImpl=5 6 imagel->parseFile"demo.bmp" 现假设该系统需要支持10种格式的图像文件和5种操作系统不考虑类Matrix若采用桥接设计模式则至少需要设计7个类 3处填
热门题库
更多
中级网络工程师
中级信息系统管理工程师
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术