2017年上半年软件设计师下午真题试卷
2017上半年软件设计师考试真题及答案
2017上半年软件设计师考试真题及答案-上午卷【题目1】CPU执行算术运算或者逻辑运算时,常将源操作数和结果暂存在()中。
A、程序计数器 (PC)B、累加器 (AC)C、指令寄存器 (IR)D、地址寄存器 (AR)【题目2】要判断宇长为 16 位的整数 a 的低四位是否全为 0,则()A、将 a 与0x000F进行"逻辑与"运算,然后判断运算结果是否等于0B、将 a 与0x000F进行"逻辑或"运算,然后判断运算结果是否等于FC、将 a 与0x000F进行"逻辑异或"运算,然后判断运算结果是否等于0D、将 a 与 0x000F 进行"逻辑与"运算,然后判断运算结果是否等于F【题目3】计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询和 DMA方式等。
当采用()方式时,不需要 CPU 执行程序指令来传送数据。
A、中断B、程序查询C、无条件传送D、DMA【题目4】某系统由下图所示的冗余部件构成。
若每个部件的千小时可靠度都为 R ,则该系统的千小时可靠度为()。
A、(1-R3)(1-R2)B、(1-(1-R)3)(1-(1-R)2)C、(1-R3)+(1-R2)D、(1-(1-R)3)+(1-(1-R)2)【题目5】己知数据信息为 16 位,最少应附加()位校验位,才能实现海明码纠错。
A、3B、4C、5D、6【题目6】以下关于Cache (高速缓冲存储器)的叙述中,不正确的是()A、Cache 的设置扩大了主存的容量B、Cache 的内容是主存部分内容的拷贝C、Cache 的命中率并不随其容量增大线性地提高D、Cache 位于主存与 CPU 之间【题目7】HTTPS 使用()协议对报文进行封装A、SSHB、SSLC、SHA-1D、SET【题目8】以下加密算法中适合对大量的明文消息进行加密传输的是()A、RSAB、SHA-1C、MD5D、RC5【题目9】假定用户A、B 分别在I1和I2两个 CA 处取得了各自的证书,下面()是 A、B 互信的必要条件。
2017年上半年软件设计师考试下午真题(完整版)
全职师资直播+录播双保障
1v1全程辅导
希赛网() 400-111-9811
2 ){ Return getCounterfeitCoin(coins,first,first+(last-first)/2;) }else{ Return getCounterfeitCoin(coins,first+(lastfirst)/2+1,last;) } } else{ /*奇数枚硬币*/ For(i=first;i<first+(last-first)/2;i++){ firstSum+=coins[i]; } For(i=first+(last-first)/2+1;i<last+1;i++){ lastSum+=coins[i]; } If(firstSum<lastSum){ return getCounterfeitCoin(coins,first,first+(last-first)/2-1); }else if(firstSum>lastSum){ return getCounterfeitCoin(coins,first+(last-first)/2-1,last); }else{ Return( 3 ) } } } 问题内容:【问题一】(6 分) 根据题干说明,填充 C 代码中的空(1)-(3) 【问题二】(6 分) 根据题干说明和 C 代码,算法采用了( )设计策略。 函数 getCounterfeitCoin 的时间复杂度为( )(用 O 表示)。 【问题三】(3 分) ),最多的比较次数为 若输入的硬币数为 30,则最少的比较次数为( ( )。
2017年上半年软件水平考试(初级)信息处理技术员下午(应用技术
2017年上半年软件水平考试(初级)信息处理技术员下午(应用技术)真题试卷(题后含答案及解析)题型有:1. 试题一 2. 试题二 3. 试题三 4. 试题四 5. 试题五试题一(15分)1.利用系统提供的素材,按题目要求完成后,用Word的保存功能直接存盘。
青海湖环湖赛青海湖国际公路自行车赛(Tour of Qinghai Lake)从2002年开始,是中国最高等级,也是亚洲项级的公路自行车赛事,仅次于环法、环意大利、环西班牙等职业巡回赛,而且它的海拔高度是那些更著名的职业自行车赛无法企及的。
要求:1.将文章标题设置为宋体、二号、加粗、居中;正文设置为仿宋、小四。
2.页面设置为横向,纸张宽度25厘米,高度18厘米,页面内容居中对齐。
3.为正文添加双线条的边框,2.25磅,颜色设置为蓝色。
4.为“青海湖国际公路自行车赛”添加双线型下划线。
5.在正文第一自然段后另起一行录入第二段文字:截至2017年,已举办十六届,线路也从环湖地区延伸到祁连、张掖、武威、景泰等周边地市,总行程3139公里,骑行线路2002公里,最高海拔4120米。
正确答案:解析:【考查目的】文字录入及编排。
开始菜单的使用。
页面布局菜单的使用。
【要点分析】本题要点:文档字体设置、页面设置、文字录入、边框设置。
【操作的关键步骤】(1)字体设置。
选定文档对象,通过“开始”菜单下的“字体”命令进行文档格式设置。
(2)页面设置。
通过“页面布局”菜单下的“页面设置”命令进行设置。
(3)边框设置。
通过“页面布局”菜单下的“页面边框”命令进行设置。
试题二(15分)2.用Word软件制作如图示的应聘人员登记表。
按题目要求完成后,用Word的保存功能直接存盘。
要求:1.利用相关工具绘制如图示的应聘人员登记表。
2.将标题设置为宋体、二号、黑色、加粗、居中;其他文字设置为宋体、小四、黑色。
正确答案:解析:【考查目的】文字设置和编排。
绘制表格。
【要点分析】本题要点:绘制表格、字体设置、录入文字并进行编排。
2017年上半年软件设计师下午案例分析真题(试题六)
2017年上半年软件设计师下午案例分析真题(试题六)6、阅读下列说明和Java代码,将应填入(n) 处的字句写在答题纸的对应栏内。
【说明】某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。
前台服务员(Waiter) 调度厨师制作套餐。
现采用生成器(Builder) 模式实现制作过程,得到如图6-1 所示的类图。
【Java代码】class Pizza {private String parts;public void setParts(String parts) { this.parts = parts; }public String toString() { return this.parts; }}abstract class PizzaBuilder {protected Pizza pizza;public Pizza getPizza() { return pizza; }public void createNewPizza() { pizza = new Pizza(); }public (1) ;}class HawaiianPizzaBuilder extends PizzaBuilder {public void buildParts() { pizza.setParts("cross + mild + ham&pineapp1e”};}class SpicyPizzaBuilder extends PizzaBuilder {public void buildParts() { pizza.setParts("pan baked + hot + pepperoni&salami"); } }class Waiter {private PizzaBuilder pizzaBuilder;public void setPizzaBuilder(PizzaBuilder pizzaBuilder) { /*设置构建器*/ ( 2 ) ;}public Pizza getPizza(){ return pizzaBuilder.getPizza(); }public void construct() { /*构建*/pizzaBuilder.createNewPizza();( 3 ) ;}}Class FastFoodOrdering {public static viod mainSting[]args) {Waiter waiter = new Waiter();PizzaBuilder hawaiian_pizzabuilder = new HawaiianPizzaBuilder();( 4 ) ;( 5 ) ;System.out.println("pizza: " + waiter.getPizza());}}程序的输出结果为:Pizza:cross + mild + ham&pineapple。
2017年上半年下午 程序员 试题及答案与解析-软考考试真题-案例分析
2017年上半年下午程序员考试试题-案例分析-答案与解析试题一(共20分)阅读下列说明和图,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】设有二维整数数组(矩阵)A[1:m,1:n],其每行元素从左至右是递增的,每列元素从上到下是递增的。
以下流程图旨在该矩阵中需找与给定整数 X 相等的数。
如果找不到则输出“false”;只要找到一个(可能有多个)就输出“True”以及钙元素的下标 i 和 j(注意数组元素的下标从 1 开始)。
例如,在如下矩阵中查找整数 8,则输出伟:True,4,12 4 6 94 5 9 106 7 10 128 9 11 13流程图中采用的算法如下:从矩阵的右上角元素开始,按照一定的路线逐个取元素与给定整数 X 进行比较(必要时向左走一步或向下走一步取下一个元素),直到找到相等的数或超出矩阵范围(找不到)。
【流程图】【问题1】该算法的时间复杂数是()供选择答案:A.O(1) B.O(m+n) C.(m*n) D,O(m²+n²)【参考答案】(1)、n(2)、j-1→j(3)、i+1→I(4)、j(5)、B【答案解析】题干可以看出元素查找的过程为从右上角开始,往右或者往下进行查找。
因此,初始值i=1,j=n。
如果查找值小于右上角值,则往右移动一位再进行比较。
所以,第二空填j-1→j 。
接下来是判断什么时候跳出循环。
此时,终止循环的条件是:j=0,也就是其从最右端移到了最左端。
再看X<A[i,j]不成立时,执行流程的右枝。
此时,也就是说第一行的最大值都小于查找值,因此需往下移动一行。
所以第三空填i+1→I 。
试题二(共 15 分)阅读下列说明和 C 函数,填补函数中的空缺,将解答填入答案纸的对应栏目内。
【说明】函数 isLegal(char*ipaddr)的功能是判断以点分十进制数表示的 iPV4 地址是否合法。
参数 ipadddr 给出表示 iPV4 地址的字符串的首地址,串中仅含数字字符和“.”。
2017年上半年软件水平考试(高级)系统分析师下午(论文)真题试
2017年上半年软件水平考试(高级)系统分析师下午(论文)真题试卷(题后含答案及解析)题型有:1. 选答题选答题(满分75分)1、从下列试题中任选1道解答,请在答卷上用“○”圈住选答的试题编号。
若答题超过1道,则按题号最小的1道题评分。
2、解答应分摘要和正文两部分。
在书写时,请注意以下两点:①、摘要字数在400字以内,可分条叙述,但不允许有图、表和流程图。
②、正文字数为2000-3000字,文中可以分条叙述,但不要全部用分条叙述的方式。
3、解答时字迹务必清楚,字迹不清,将不评分。
1.论需求分析方法及应用需求分析是提炼、分析和仔细审查已经获取到的需求的过程。
需求分析的目的是确保所有的项目干系人(利益相关者)都理解需求的含义并找出其中的错误、遗漏或其他不足的地方。
需求分析的关键在于对问题域的研究与理解。
为了便于理解问题域,现代软件工程所推荐的需求分析方法是对问题域进行抽象,将其分解为若干个基本元素,然后对元素之间的关系进行建模。
常见的需求分析方法包括面向对象的分析方法、面向问题域的分析方法、结构化分析方法等。
而无论采用何种方法,需求分析的主要工作内容都基本相同。
请围绕“需求分析方法及应用”论题,依次从以下三个方面进行论述。
1.简要叙述你参与管理和开发的软件系统开发项目以及你在其中所承担的主要工作。
2.概要论述需求分析工作过程所包含的主要工作内容。
3.结合你具体参与管理和开发的实际项目,说明采用了何种需求分析方法,并举例详细描述具体的需求分析过程。
正确答案:本文的内容组织过程中需要注意的,主要是需求分析涉及到的工作内容。
需求分析的工作通常包括以下七个方面。
(1)绘制系统上下文范围关系图。
这种关系图是用于定义系统与系统外部实体间的界限和接口的简单模型,它可以为需求确定一个范围。
(2)创建用户界面原型。
用户界面对于一个系统来说是十分重要的,因此,在需求分析阶段通过快速开发工具开发一个抛弃式原型,或者通过PowerPoint、Flash等演示工具制作一个演示原型,甚至是用纸和笔画出一些关键的界面接口示意图,将帮助用户更好地理解所要解决的问题,更好地理解系统。
最新2017年上半年全国计算机软考软件设计师真题解析(上午选择+下午案例)完整版
本题考查计算机组成原理中的高速缓存基础知识。高速缓存 Cache 有如下特点: 它位于 CPU 和主存之间,由硬件实现;容量小,一般在几 KB 到几 MB 之间;速 度一般比主存快 5 到 10 倍,由快速半导体存储器制成;其内容是主存内容的副 本(所以 Cache 无法扩大主存的容量) ,对程序员来说是透明的;Cache 既可存 放程序又可存放数据。 Cache 存储器用来存放主存的部分拷贝(副本) 。控制部分的功能是:判断 CPU 要访问的信息是否在 Cache 存储器中,若在即为命中,若不在则没有命中。命中 时直接对 Cache 存储器寻址。未命中时,若是读取操作,则从主存中读取数据, 并按照确定的替换原则把该数据写入 Cache 存储器中:若是写入操作,则将数据 写入主存即可。 7 、HTTPS 使用()协议对报文进行封装 A. SSH B. SSL C. SHA-1 D. SET 答案: B HTTPS 以保密为目标研发,简单讲是 HTTP 的安全版。其安全基础是 SSL 协议, 全称 Hypertext Transfer Protocol over Secure Socket Layer。 它是一个 URI scheme, 句法类同 http:体系。它使用了 HTTP,但 HTTPS 存在不同于 HTTP 的默认端口及 一个加密/身份验证层(在 HTTP 与 TCP 之间) 。这个协议的最初研发由网景公司 进行, 提供了身份验证与加密通讯方法,现在它被广泛用于互联网上安全敏感的 通讯,例如交易支付方面。 SSL 极难窃听,对中间人攻击提供一定的合理保护。 严格学术表述 HTTPS 是两个协议的结合,即传输层 SSL+应用层 HTTP。 8、以下加密算法中适合对大量的明文消息进行加密传输的是( ) A. RSA B. SHA-1 C. MD5 D. RC5 答案: D 本题考查的是信息安全中的加密算法。其中:RSA 是非对称加密算法;SHA-1 与 MD5 属于信息摘要算法;RC-5 属于非对称加密算法。这些算法中 SHA-1 与 MD5 是不能用来加密数据的, 而 RSA 由于效率问题, 一般不直接用于大量的明文加密, 适合明文加密的,也就只有 RC-5 了。 9、假定用户 A、B 分别在 I1 和 I2 两个 CA 处取得了各自的证书, 下面()是 A、 B 互信的必要条件。 A. A、B 互换私钥 B. A、B 互换公钥 C. I1、I2 互换私钥 D. I1、I2 互换公钥 答案: D 本题考查的是信息安全中的 CA 认证。题目难度较高,但用排除法来分析不难得
2017年上半年(初级)初级程序员真题+答案解析(上午选择+下午案例完整版)全国计算机软考
最新2017年上半年程序员真题+答案解析(上午选择+下午案例完整版)1、在Windows资源管理器中,如果选中的某个文件,再按Delete键可以将该文件删除,但需要时还能将该文件恢复。
若用户同时按下Delete和()组合键时,则可删除此文件且无法从“回收站”恢复。
A. CtrlB. ShiftC. AltD. Alt和Ctrl答案:Bdelete键删除是把文件删除到回收站;需要手动清空回收站处理掉,shift + delete 删除是把文件删除但不经过回收站的;不需要再手动清空回收站。
2、计算机软件有系统软件和应用软件,下列()属于应用软件。
A. LinuxB. UnixC. Windows7D. Internet Explorer答案:DInternet Explorer,是微软公司推出的一款网页浏览器。
国内网民计算机上常见的网页浏览器有,QQ浏览器、Internet Explorer、Firefox、Safari,Opera、Google Chrome、百度浏览器、搜狗浏览器、猎豹浏览器、360浏览器、UC浏览器、傲游浏览器、世界之窗浏览器等,浏览器是最经常使用到的客户端程序。
Linux、Unix和Windows都是操作系统。
3、某公司2016年10月员工工资表如下所示。
若要计算员工的实发工资,可先在J3单元格中输入(3),再向垂直方向拖动填充柄至J12单元格,则可自动算出这些员工的实发工资。
若要将缺勤和全勤的人数统计分别显示在B13和D13单元格中,则可B13和D13中分别填写(4)。
A. =SUM(D$3:F$3)-(H$3:I$3)B. =SUM(D$3:F$3)+(H$3:I$3)C. =SUM(D3:F3)-SUM(H3:I3)D. =SUM(D3:F3)+SUM(H3:I3)答案:C4、 A. =COUNT(E3:E12,>=0)和=COUNT(E3:E12,=300)B. =COUNT(E3:E12,“>=0”)和COUNT(E3:E12,“=300”)C. =COUNTIF(E3:E12,>=0)和COUNTIF(E3:E12,=300)D. =COUNTIF(E3:E12,“=0”)和COUNTIF(E3:E12,“=300”)答案:D5、统一资源地址(URL) /index.html中的http和index.html分别表示()。
2017上半年软件设计师考题试卷及答案-下午卷
2017上半年软件设计师考题试卷及解答-下午卷第 1 题阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】某医疗器械作为复杂医疗产品的集成商,必须保持高质量部件的及时供应。
为了实现这一目标,该欲开发一采购系统。
系统的主要功能如下:1.检查库存水平。
采购部门每天检查部件库存量,当特定部件的库存量降至其订货点时,返回低存量部件及库存量。
2.下达采购订单。
采购部门针对低存量部件及库存量提交采购请求,向其供应商(通过供应商文件访问供应商数据)下达采购订单,并存储于采购订单文件中。
3. 交运部件。
当供应商提交提单并交运部件时,运输和接收(S/R)部门通过执行以下三步过程接收货物:(1)验证装运部件。
通过访问采购订单并将其与提单进行比较来验证装运的部件,并将提单信息发给 S/R 职员。
如果收货部件项目出现在采购订单和提单上,则已验证的提单和收货部件项目将被送去检验。
否则,将S/R职员提交的装运错误信息生成装运错误通知发送给供应商。
(2) 检验部件质量。
通过访问质量标准来检查装运部件的质量,并将己验证的提单发给检验员。
如果部件满足所有质量标准,则将其添加到接受的部件列表用于更新部件库存。
如果部件未通过检查,则将检验员创建的缺陷装运信息生成缺陷装运通知发送给供应商。
(3)更新部件库存。
库管员根据收到的接受的部件列表添加本次采购数量,与原有库存量累加来更新库存部件中的库存量。
标记订单采购完成。
现采用结构化方法对该采购系统进行解析与设计,获得如图1-1 所示的上下文数据流图和图 1-2 所示的 0 层数据流图。
图1-2 0层数据流图问题:1.1 使用说明中的词语,给出图1-1中的实体E1~E5问题:1.2 使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。
问题:1.3 根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
问题:1.4 用 200 字以内文字,说明建模图 1-1 和图 1-2 时如何保持数据流图平衡。
2017年11月软件设计师下午真题及答案
}else{/*没有未被访问过的邻接顶点,回退到上一个顶点*/ x[k]=0; visited x[k]=0; ( ); } } } 【问题 1】(10 分) 根据题干说明。填充 C 代码中的空(1)~(5)。 【问题 2】(5 分) 根据题干说明和 C 代码,算法采用的设计策略为( ),该方法在遍历图的 顶点时,采用的是( )方法(深度优先或广度优先)。 试题五(共 15 分) 阅读下列说明和 C++代码,将应填入( )处的字句写在答题纸的对应栏 内。 【说明】 某图像预览程序要求能够查看 BMP 、JPEG 和 GIF 三种格式的文件,且 能够 Windows 和 Linux 两种操作系统上运行。程序需具有较好的扩展性以支 持新的文件格式和操作系统。 为满足上述需求并减少所需生成的子类数目,现采 用桥接(Bridge)模式进行设计,得到如图 5-1 所示的类图。
策划任务只对应一个己受理的用户申请, 但一个策划任务可由多名策划员参与执 行,且一名策划员可以参与执行,且在项策划任务。 试题二(共 15 分) 【概念模型设计】 根据需求阶段收集的信息,设计的实体联系图(不完整)如图 2-1 所示。
【关系模型设计】 部门(部门和,部门名,部门主管,联系电话,邮箱号) 员工(员工号,姓名,( ),联系方式,薪资) 用户(用户名,( ),电话,联系地址) 用户申请(申请号,用户号,会议日期,天数,参会人数,地点,受理标志, ( )) 执行(申请号,任务明细,( )) 【问题 1】(5 分) 根据问题描述,补充五个联系,完善图 2-1 的实体联系图。联系名可用联系 1、联系 2、联系 3、联系 4 和联系 5,联系的类型为 1:1、1:n 和 m:n(或 1:
2017 年 11 月软件设计师下午真题 试题一(共 15 分) 阅读下列说明和图,回答问题 1 至问题 4 ,将解答填入答题纸的对应栏 内。 【说明】 某公司拟开发一个共享单车系统,采用北斗定位系统进行单车定位,提供针 对用户的 APP 以及微信小程序、基于 Web 的管理与监控系统。该共享单车 系统的主要功能如下。 1)用户注册登录。用户在 APP 端输入手机号并获取验证码后进行注册,将 用户信息进行存储。用户登录后显示用户所在位置周围的单车。 2) 使用单车。 ①扫码/于动开锁。通过扫描二维码或手动输入编码获取开锁密码,系统发 送开锁指 令进行开锁,系统修改单车状态,新建单车行程。 ②骑行单车。单车定时上传位置,更新行程。 ③锁车结账。 用户停止使用或手动锁车并结束行程后,系统根据己设置好的 计费规则及使用时间自动结算, 更新本次骑行的费用并显示给用户,用户确认支 付后,记录行程的支付状态。系统还将重置单车的开锁密码和单车状态。 3)辅助管理。 ①查询。用户可以查看行程列表和行程详细信息。 ②报修。用户上报所在位置或单车位置以及单车故障信息并进行记录。 4)管理与监控。 ①单车管理及计费规则设置。商家对单车基础信息、状态等进行管理,对计
2017年上半年多媒体设计师真题+答案解析(全国计算机软考)上午选择+下午案例完整版
2017年上半年多媒体设计师真题+答案解析(全国计算机软考)上午选择+下午案例完整版2017年上半年多媒体设计师真题+答案解析上午选择1、CPU执行算术运算或者逻辑运算时,常将源操作数和结果暂存在(1)中。
A. 程序计数器(PC)B. 累加器(AC)C. 指令寄存器(IR)D. 地址寄存器(AR)答案:BCPU中常设置多个寄存器,其中,程序计数器的作用是保存待读取指令在内存中的地址,累加器是算逻运算单元中用来暂存源操作数和计算结果的寄存器,指令寄存器暂存从内存读取的指令,地址寄存器暂存要访问的内存单元的地址。
2、要判断字长为16位的整数a的低四位是否全为0,则(2)。
A. 将a与OxOOOF进行“逻辑与”运算,然后判断运算结果是否等于0B. 将a与OxOOOF进行“逻辑或”运算,然后判断运算结果是否等于FC. 将a与OxFFFO进行“逻辑异或”运算,然后判断运算结果是否等于0D. 将a与OxFFFO进行“逻辑与”运算,然后判断运算结果是否等于F答案:A在位级表示中,将x与y进行“逻辑与”“逻辑或”和“逻辑异或”的结果如下表所示。
将整数a与OxOOOF 4进行“逻辑与”运算,则运算结果中高12位都为0,而低4位则完全是a的低4位,所以“逻辑与”运算的结果为0则说明a的低4位为0。
将整数a与OxOOOF 4进行“逻辑或”运算,则运算结果中高12位都保留的是a的高12位,而低4位则全为1,所以“逻辑或”运算的结果不能判定a的低4位是否为0。
将整数a与OxFFFO进行“逻辑异或”运算,则运算结果中高12位是将a的高12取反,而低4位则保留了a的低4位,所以“逻辑异或”运算的结果不能判定a的低4位是否为0,因为高12位中可能有0有1。
将整数a与OxFFFO进行“逻辑或”运算,则运算结果中高12位全是1,而低4位则保留了a的低4位,所以“逻辑或”运算的结果不能判定a的低4位是否为0,因为高12位全是1。
3、计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询和DMA方式等。
上半年软件设计师下午真题及答案
上半年软件设计师下午真题及答案集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)2019上半年软件设计师下午真题及答案试题一(共15分)阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】某学校欲开发一学生跟踪系统,以便更自动化、更全面地对学生在校情况(到课情况和健康状态等)进行管理和追踪,使家长能及时了解子女的到课情况和健康状态,并在有健康问题时及时与医护机构对接。
该系统的主要功能是:(1)采集学生状态。
通过学生卡传感器,采集学生心率、体温(摄氏度)等健康指标及其所在位置等信息并记录。
每张学生卡有唯一的标识(ID)与一个学生对应。
(2)健康状态告警。
在学生健康状态出问题时,系统向班主任、家长和医护机构健康服务系统发出健康状态警告,由医护机构健康服务系统通知相关医生进行处理。
(3)到课检查。
综合比对学生状态、课表以及所处校园场所之间的信息对学生到课情况进行判定。
对旷课学生,向其家长和班主任发送旷课警告。
(4)汇总在校情况。
定期汇总在校情况,并将报告发送给家长和班主任。
(5)家长注册。
家长注册使用该系统,指定自己子女,存入家长信息,待审核。
(6)基础信息管理。
学校管理人员对学生及其所用学生卡和班主任、课表(班级、上课时间及场所等)、校园场所(名称和所在位置区域)等基础信息进行管理;对家长注册申请进行审核,更新家长状态,将家长ID加入学生信息记录中使家长与其子女进行关联,向家长发送注册结果。
一个学生至少有一个家长,可以有多个家长。
课表信息包括班级、班主任、时间和位置等。
现采用结构化方法对学生跟踪系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。
【问题1】(5分)使用说明中的词语,给出图1-1中的实体E1?E5的名称。
【问题2】(4分)使用说明中的词语,给出图1-2中的数据存储D1?D4的名称。
【问题3】(3分)根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点(三条即可)。
2017年上半年程序员考试下午真题(完整版)
问题内容:【函数】 int isLegal (char*ipaddr) ﹛ int flag; int curVal; 的一个十进制数
//curVal 表示分析出
全职师资直播+录播双保障 1v1全程辅导
希赛网() 400-111-9811
int decNum=0,dotNum=0;
CustomerFactory ( 7 ) ; Customer customer1 = cf.getCustomer( "Rob" ); Customer customer2 = cf.getCustomer( "Bob" ); Customer customer3 = cf.getCustomer( "Julie" ); Customer customer4 = cf.getCustomer( "Laura" ); System.out.println( "Customers" ); System.out.println( customer1.getName() ); System.out.println( customer2.getName() ); System.out.println( customer3.getName() ); System.out.println( customer4.getName() ); } public static void main (String[] args){
QNode*p; p=(QNode*)malloc(sizeof(QNode)); if(!p)
return ERROR; p->data=new_elem;
if(Q->rear)﹛ p->next=Q->rear->next; ( 1 );
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2017年上半年软件设计师下午试卷第 1 题阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】某医疗器械公司作为复杂医疗产品的集成商,必须保持高质量部件的及时供应。
为了实现这一目标,该公司欲开发一采购系统。
系统的主要功能如下: 1、检查库存水平。
采购部门每天检查部件库存量,当特定部件的库存量降至其订货点时,返回低存量部件及库存量。
2、下达采购订单。
采购部门针对低存量部件及库存量提交采购请求,向其供应商(通过供应商文件访问供应商数据)下达采购订单,并存储于采购订单文件中。
3、交运部件。
当供应商提交提单并交运部件时,运输和接收(S/R)部门通过执行以下三步过程接收货物:(1)验证装运部件。
通过访问采购订单并将其与提单进行比较来验证装运的部件,并将提单信息发给S/R 职员。
如果收货部件项目出现在采购订单和提单上,则已验证的提单和收货部件项目将被送去检验。
否则,将S/R职员提交的装运错误信息生成装运错误通知发送给供应商。
(2) 检验部件质量。
通过访问质量标准来检查装运部件的质量,并将己验证的提单发给检验员。
如果部件满足所有质量标准,则将其添加到接受的部件列表用于更新部件库存。
如果部件未通过检查,则将检验员创建的缺陷装运信息生成缺陷装运通知发送给供应商。
(3)更新部件库存。
库管员根据收到的接受的部件列表添加本次采购数量,与原有库存量累加来更新库存部件中的库存量。
标记订单采购完成。
现采用结构化方法对该采购系统进行分析与设计,获得如图1-1 所示的上下文数据流图和图1-2 所示的0 层数据流图。
图1-1 上下文数据流图图1-2 0层数据流图问题:1。
1使用说明中的词语,给出图1-1中的实体E1~E5问题:使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。
问题:根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
问题:用200 字以内文字,说明建模图1-1 和图1-2 时如何保持数据流图平衡。
问题1答案解析:问题1:E1 供应商E2 采购部门E3 检验员E4 库管员E5 S/R职员问题2答案解析:问题2 D1 库存表D2 采购订单表D3 质量标准表D4 供应商表问题3答案解析:装运错误通知:P3(验证装运部件)-----E1(客户)缺陷装运通知:P4(校验部件质量)-----E1(客户)产品检验:P3(验证装运部件)------ P4(校验部件质量)检查库存信息:P1(检查库存水平)-----D1(库存表)问题4答案解析:父图中某个加工的输入输出数据流必须与其子图的输入输出数据流在数量上和名字上相同。
父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成的这些数据流的数据项全体正好是父图中的这一个数据流。
第2题读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】某房屋租赁公司拟开发一个管理系统用于管理其持有的房屋、租客及员工信息。
请根据下述需求描述完成系统的数据库设计。
【需求描述】1、公司拥有多幢公寓楼,每幢公寓楼有唯一的楼编号和地址。
每幢公寓楼中有多套公寓,每套公寓在楼内有唯一的编号(不同公寓楼内的公寓号可相同〉。
系统需记录每套公寓的卧室数和卫生间数。
2、员工和租客在系统中有唯一的编号(员工编号和租客编号)。
3、对于每个租客,系统需记录姓名、多个联系电话、一个银行账号(方便自动扣房租)、一个紧急联系人的姓名及联系电话。
4、系统需记录每个员工的姓名、一个联系电话和月工资。
员工类别可以是经理或维修工,也可兼任。
每个经理可以管理多幢公寓楼。
每幢公寓楼必须由一个经理管理。
系统需记录每个维修工的业务技能,如:水暖维修、电工、木工等。
5、租客租赁公寓必须和公司签订租赁合同。
一份租赁合同通常由一个或多个租客(合租)与该公寓楼的经理签订,一个租客也可租赁多套公寓。
合同内容应包含签订日期、开始时间、租期、押金和月租金。
【概念模型设计】根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示。
【逻辑结构设计】根据概念摸型设计阶段完成的实体联系图,得出如下关系模式(不完整):联系电话(电话号码,租客编号)租客(租客编号,姓名,银行账号,联系人姓名,联系人电话)员工(员工编号,姓名,联系电话,类别,月工资,(a))公寓楼( (b) ,地址,经理编号)公寓(楼编号,公寓号,卧室数,卫生间数〉合同(合同编号,租客编号,楼编号,公寓号,经理编号,签订日期,起始日期,租期,(c),押金)问题:补充图2-1中的“签约”联系所关联的实体及联系类型。
问题:补充逻辑结构设计中的(a)、(b)、(c)三处空缺。
问题:在租期内,公寓内设施如出现问题,租客可在系统中进行故障登记,填写故障描述,每项故障由系统自动生成唯一的故障编号,由公司派维修工进行故障维修,系统需记录每次维修的维修日期和维修内容。
请根据此需求,对图2-1进行补充,并将所补充的ER图内容转换为一个关系模式,请给出该关系模式。
问题2答案解析:问题2(a)业务技能(b)楼编号(c)月租金新增维修关系,维修工维修公寓,关系模式为维修情况维修情况(故障编号,员工编号,楼编号,公寓号,维修日期,维修内容)第3题阅读下列系统设计说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】某玩具公司正在开发一套电动玩具在线销售系统,用于向注册会员提供端对端的玩具定制和销售服务。
在系统设计阶段,"创建新订单(New Order)" 的设计用例详细描述如表3-1 所示,候选设计类分类如表3-2 所示,并根据该用例设计出部分类图如图3-1所示。
表3-1 创建新订单(NewOrder) 设计用例用例名称创建新订单New Order用例编号ETM-R002参与者会员表3-2 候选设计类分类在订单处理的过程中,会员可以点击“取消订单"取消该订单。
如果支付失败,该订单将被标记为挂起状态,可后续重新支付,如果挂起超时30分钟未支付,系统将自动取消该订单。
订单支付成功后,系统判断订单类型:(1)对于常规订单,标记为备货状态,订单信息发送到货运部,完成打包后交付快递发货;(2)对于定制订单,会自动进入定制状态,定制完成后交付快递发货。
会员在系统中点击”收货"按钮变为收货状态,结束整个订单的处理流程。
根据订单处理过程所设计的状态图如图3-2所示。
问题:根据表3-1中所标记的候选设计类,请按照其类别将编号C1~C12 分别填入表3-2 中的(a)、(b)和(c)处。
问题:根据创建新订单的用例描述,请给出图3-1中X1~X4处对应类的名称。
问题:根据订单处理过程的描述,在图3-2 中S1~S5处分别填入对应的状态名称。
问题1答案解析:(a):C4、C5、C7、C8、C10、C11(b):C3(c):C1、C2、C6、C9、C12一、实体类实体类是用于对必须存储的信息和相关行为建模的类。
实体对象(实体类的实例)用于保存和更新一些现象的有关信息,例如:事件、人员或者一些现实生活中的对象。
实体类通常都是永久性的,它们所具有的属性和关系是长期需要的,有时甚至在系统的整个生存期都需要。
二、边界类边界类是系统内部与系统外部的业务主角之间进行交互建模的类。
边界类依赖于系统外部的环境,比如业务主角的操作习惯、外部的条件的限制等。
它或者是系统为业务主角操作提供的一个GUI,或者系统与其他的系统之间进行一个交互的接口,所以当外部的GUI变化时,或者是通信协议有变化时,只需要修改边界类就可以了,不用再去修改控制类和实体类。
业务主角通过它来与控制对象交互,实现用例的任务。
边界类调用用例内的控制类对象,进行相关的操作。
一个系统可能会有多种边界类:用户界面类- 帮助与系统用户进行通信的类系统接口类- 帮助与其他系统进行通信的类设备接口类- 为用来监测外部事件的设备(如传感器)提供接口的类三、控制类控制类用于对一个或几个用例所特有的控制行为进行建模,它描述的用例的业务逻辑的实现,控制类的设计与用例实现有着很大的关系。
在有些情况下,一个用例可能对应多个控制类对象,或在一个控制类对象中对应着对个用例。
它们之间没有固定的对应关系,而是根据具体情况进行分析判断,控制类有效将业务逻辑独立于实体数据和边界控制,专注于处理业务逻辑,控制类会将特有的操作和实体类分离,者有利于实体类的统一化和提高复用性。
当业务主角通过边界类来执行用例的时候,产生一个控制类对象,在用例被执行完后,控制类对象会被销毁。
控制类的特点:独立于环境、和用例的实现关联、使用关联实体类或操作实体类对象、专注于业务逻辑的实现。
当然如果用例的逻辑较为简单,可以直接利用边界类来操作实体类,而不必再使用控制类。
或者用例的逻辑较为固定,业务逻辑固定不会改变。
也可以直接在边界类实现该逻辑。
问题2答案解析:X1:收货地址X2:支付方式X3:邮箱地址X4:电动玩具定制属性问题3答案解析:S1:订单挂起S2:订单备货S3:订单定制S4:订单发货S5:订单收货第4题阅读下列说明和C代码,回答问题 1 至问题3,将解答写在答题纸的对应栏内。
【说明】假币问题:有n枚硬币,其中有一枚是假币,己知假币的重量较轻。
现只有一个天平,要求用尽量少的比较次数找出这枚假币。
【分析问题】将n枚硬币分成相等的两部分:(1)当n为偶数时,将前后两部分,即1。
n/2和n/2+1。
0,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币: (2)当n为奇数时,将前后两部分,即1。
(n -1)/2和(n+1)/2+1。
0,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币;若两端重量相等,则中间的硬币,即第(n+1)/2枚硬币是假币。
【C代码】下面是算法的C语言实现,其中:coins[]:硬币数组first,last:当前考虑的硬币数组中的第一个和最后一个下标#include <stdio。
h>int getCounterfeitCoin(int coins[],int first,int last){int firstSum = 0,lastSum = 0;int ì;if(first==last-1){ /*只剩两枚硬币*/if(coins[first] < coins[last])return first;return last;}if((last - first + 1) % 2 ==0){/*偶数枚硬币*/for(i = first;i <( 1 );i++){firstSum+= coins[i];}for(i=first + (last-first) / 2 + 1;i < last +1;i++){lastSum += coins[i];}if( 2 ){Return getCounterfeitCoin(coins,first,first+(last-first)/2;) }else{Return getCounterfeitCoin(coins,first+(last-first)/2+1,last;) }}else{/*奇数枚硬币*/for(i=first;i<first+(last-first)/2;i++){firstSum+=coins[i];}for(i=first+(last-first)/2+1;i<last+1;i++){lastSum+=coins[i];}if(firstSum<lastSum){return getCounterfeitCoin(coins,first,first+(last-first)/2-1);}else if(firstSum>lastSum){return getCounterfeitCoin(coins,first+(last-first)/2-1,last);}else{Return( 3 )}}}问题问题:根据题干说明,填充C代码中的空(1)-(3)问题:根据题干说明和C代码,算法采用了()设计策略。