[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷8及答案与解析.doc
《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷8及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷8及答案与解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 8及答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 【说明】 某直达列车车票预售系统接受顾客的订票、取票和售票处工作人员的查询业务。 1顾客为了提前订票,可向系统提供个人信息及其预订购的车次及日期,系统根据个人信息是否齐全以及车次是否正确来判断订票单是否合格。对于合格的订票单系统,如果相应的车次有剩余票,则记录顾客个人信息以及订票信息,并向顾客提供取票单。 2到了可以取票的时间,顾客向系统提供取票单,在检查单据合格的情况下,系统向顾 客提供火车票。 3售票处的工作人员可以利用系统查询各车次车票的售票情况。 该直达列车车票
2、预售系统的分层数据流图中部分数据流和文件的组成如下: 文件: 火车时刻表 =车次 +开车时间 +到站时间 +起始站 +终点站 +上铺票价 +下铺票价 订票信息表 =车次 +车票日期 +旅客身份证号 +座位号 +是否领票 旅客信息表 =旅客身份证号 +姓名 +性别 +联系电话 座位表 =车次 +座位号 数据流: 订票单 =旅客姓名 +性别 +身份证号 +联系电话 +车次十车票日期 车票 =车次+起始站生终点站 +开车日期 +开车时间 +座位号 +票价假定顶层图是正确的, “火车时刻表 ”和 “座位表 ”文件已由其他系统生成。1 指出哪张图的哪个文件可以不必画出。 2 指出数据流图 4-1和数据流
3、图 4-2中错误的数据流。 3 根据题中说明和数据流图分析, “查询处理 ”是否可以查询出剩余票的信息 ?为什么 ? 4 【算法说明】 下面是一段插入排序的程序,将 Rk+1插入到 R1.k的适当位置。 R0=Rk+1; j=k; while(Rj R0) Rj+1=Rj; j- -; Rj+1=R0;【测试用例设计】 (while循环次数 为 0、 1、 2次 ) 4 指出算法的流程图中 (1) (3)处的内容。 5 指出测试用例设计中 (4) (9)处的内容。 6 对文法 GS: Sa| |(T); TT , S|S:回答问题 1问题 3。6 对文法 G进行改写,然后对每个非终结符写出不带
4、回溯的递归子程序。 7 经改写后的文法是否是 LL(1)的 ?指出它的预测分析表中 (1) (3)处的内容。 8 说明输入串 (a, a)#是否为 G的句子。 9 阅读下列程序和控制流图,将应填入 (n)的字句写在答题纸的对应栏内。 【程序】 下面是一段求最 大值的程序,其中 datalist是数据表, n是 datalist的长度 + int GetMax (int n, int datalist) int k=0; for (int j=1;j n;j+) if (datalistj datalistk) k=j; retum k; 9 该程序的控制流图中 A E分别是什么 ? 10 计算
5、控制流图的 McCabe环路复杂性。 11 用基本路径覆盖法给出测试路径。 12 为各测试路径设计测试用例。 13 阅读下列程序说明和 C程序, 将应填入 (n)处的字句写在答卷纸的对应栏内。 【程序说明】 该程序定义了两个子函数 strsort和 strmerge。它们分别实现了将一个字符串按字母顺序排序和将两个字符串合并排序,并删去相同字符。在主函数里,先输入两个字符串 s1和 s2,然后调用 strsort函数对它们分别排序,然后调用 strmerge函数将s1和 s2合并,将合并后的字符串赋给字符串 s3,最后输出字符串 s3。 【程序】 #include stdio.h void s
6、trmerge(char *a,char *b,char *c) /将字符串 a,b合并到字符串 c char t,*w; W=c; while( (1) ) /找到字符串 a,b当前字符中较小的字符 if(*a *b) t=-*a, (2) else if(*a *b) t=*b; (3) else /字符串 a,b 当前字符相等 t=-*a; a-H-; b-H-; if( (4) ) /开始,可直接赋值 *w=t; else if(t!=*w) /如果 a,b中较小的当前字符与 c中当前字符不相等,才赋值 (5) if(*a!=O) /如果字符串 a还没有结束,则将 a的剩余部分赋给 c
7、 while(*a!=0) if(*a!=*w) *(+w)=*a; a+; else (6) if(*b!=“,0) /如果字符串 b 还没有结束,则将 b 的剩余部分赋给 c while(*b !=0) if(*b!=*w) *(+w)=*b; b+; else b+; (7) void strsort(char *s) /将字符串 s 中的字符排序 int i,j,n; char t,*w; w=s; for(n=O;*w!=O;n+) /得到字符串长度 n w+; for(i=O;i n-1;i+) /对字符串 s 进行排序,按字母先后顺序 forO=i+ 1 ;j n;j+) if(
8、 (8) t=si; si=sj; (9) void mainO char s1 100,s2100,s3100; prinff(“nlPlease input the first string:“); scanfC(“% s“,s1 ); prinff(“nPlease input the second string:“); scanf(“%s“,s2); strsort(s1); /将字符串 s1 排序 strson(s2); /将字符串 s2 排序 prinff(“%sn,s1); printfC % sW,s2); s30=O; /字符串 s3 的第一个字符先置 0结束标志 (10);
9、 /将 s1和 s2合并,按照字母顺序排列 , prinff(“%s“,s3); 软件水平考试(中级)软件设计师下午(应用技术)试题模拟试卷 8答案与解析 一、必答题(共 4道大题,每道大题 15分) 1 【正确答案】 0层图中文件 “座位表 ”是局部数据文件,不必画出。 【试题解析】 “不必画出 ”是指在数据流图中,只画流程图中各加工之间的公共数据文件,隐藏某加工的局部数据文件,这个规则只是为了使整个数据流图的层次结构更科学、更清晰,不过画出 “不必画出的数据文件 ”对数据流图不会造成理解错误。在 0层图中有文件 “火车时刻表 ”、 “订票信息表 ”、 “旅客信息表 ”和 “座位表 ”,其中
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 中级 设计师 下午 应用技术 试题 模拟 答案 解析 DOC
