欢迎来到天天文库
浏览记录
ID:32604727
大小:60.79 KB
页数:15页
时间:2019-02-13
《软件水平考试软件设计师练习试题(下午题)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件水平考试软件设计师练习试题(下午题) 试题一 阅读下列说明和数据流图,回答问题1至问题3,将解答填入答题纸的对应栏内。 某图书管理系统的主要功能是图书管理和信息查询。对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位、地址等)一起写入读者文件。系统的图书管理功能分为四个方面:购入新书、读者借书、读者还书以及图书注销。1.购入新书时需要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。 2.
2、读者借书时需填写借书单。借书单内容包括读者号和所借图书分类目录号。系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过5本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。 3.读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。 4.注销图书时,需填写注销单并修改图书目录文件中的库
3、存总量。系统的信息查询功能主要包括读者信息查询和图书信息查询。其中读者信息查询可得到读者的基本信息以及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。图书管理系统的顶层图如图1-1所示;图书管理系统的第0层DFD图如图]-2所示其中,加工2的细化图如图1-3所示。 [数据流图1-1] 图1-1图书管理系统顶层图 [数据流图1-2] 图1-2图书管理系统第0层DFD图 [数据流图1-3] [问题1](2分) 数据流图1-2中有两条数据流是错误的,请指出这两条数据流的起点和终点。 [问题2](6分)
4、数据流图1-3中缺少三条数据流,请指出这三条数据流的起点和终点。 [问题3](7分) 根据系统功能和数据流图填充下列数据字典条目中的(1)和(2): 查洵请求信息=[查询读者请求信息
5、查询图书请求信息] 读者情况=读者号+姓名+所在单位+{借书情况} 管理工作请求单=(1) 入库单=(2)试题二 阅读下列说明和算法,回答问题1和问题2,将解答填入答题纸的对应栏内。 [说明] 算法2-1是用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号没有对应的左括号或者右括号,则给出相应的提示信息,如下所示:文件提示信息 (
6、1+2) abc)缺少对应左括号:第2行,第4列 ((def)gx))缺少对应左括号:第3行,第10列 (((h) ij)(k (1ml) 缺少对应右括号:第5行,第4列;第4 行,第1列 在算法2-1中,stack为一整数栈。算法中各函数的说明如下表所示: 函数名函数功能 push(inti)将整数i压入栈stack中。 pop()stack的栈顶元素出栈。 empty()判断stack栈是否为空.若为空,函数返回1,否则函数返回0。 nextch() 读取文本文件中的下一个字符,并返回该字符的ASCII
7、值,将字符所在的行号以及字符在行中的位置分别存储到变量row和col中,若遇到文件结束符,则将变量EOF置为true;kind(charch)判断字符ch是左括号还是右括号,若是左括号,函数返回1,若是右括号,函数返回2,若两者都不是,函数返回0。 [算法2-1] 将栈stack置空,置EOF为false ch←nextch(); while(notEOF) k←kind(ch); if(k==__(1)__) push(__(2)__);push(__(3)__); elseif(k==__(4)__) if(no
8、tempty()) pop();pop(): else 显示错误信息(缺少对应左括号或右括号);显示行号row;显示列号col; endif endif ch←nextch(); endwhile if(notempty()) 显示错误信息(缺少对应左括号或右括号); while(notempty()) row←pop();col←pop(); 显示行号row;显示列号col; endwhile endif 为了识别更多种类的括号,对算法2-1加以改进后得到算法2-2。算法2-2能够识别圆括号,方括号和花
9、括号(不同类型的括号不能互相匹配)。改进后,函数kind(charch)的参数及其对应的返回值如下表所示: ch(){}[]其它 返回值1234560 [算法2-2] 将栈stack置空,置EOF为false
此文档下载收益归作者所有