【计算机类职业资格】中级软件设计师下午试题-35及答案解析.doc
《【计算机类职业资格】中级软件设计师下午试题-35及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】中级软件设计师下午试题-35及答案解析.doc(5页珍藏版)》请在麦多课文档分享上搜索。
1、中级软件设计师下午试题-35 及答案解析(总分:165.00,做题时间:90 分钟)一、B试题一/B(总题数:3,分数:45.00)1.【问题 1】假设当前该旅馆各个房间的情况见表 3。 序号 i ROOM RANK NBED STATUS1 101 3 4 02 102 3 4 13 201 2 3 04 202 2 4 15 301 1 6 0当输入 M=4,R=0 时,该算法的输出是什么?(分数:15.00)_2.【问题 2】 如果等级为 r 的房间每人每天的住宿费为 RATE(r),RATE 为数组。为使该算法在输出每个候选的房间号 RM(J)后,再输出这批散客每天所需的总住宿费 DA
2、YRENT(J),流程图 1 的 p 所指框中的最后处应增加什么处理?(分数:15.00)_3.【问题 3】 如果限制该算法最多输出 K 个可供选择的房间号,则在流程图 1 的。所指的判断框应改成什么处理? 流程图 1(如图 2 所示) (分数:15.00)_二、B试题二/B(总题数:3,分数:45.00)4.【问题 1】 对文法 G 进行改写,然后对每个非终结符写出不带回溯的递归于程序。(分数:15.00)_5.【问题 2】 经改写后的文法是否是 LL(1)的?指出它的预测分析表中(1)(3)处的内容。(分数:15.00)_6.【问题 3】 说明输入串(a,a)#是否为 G 的句子。(分数:
3、15.00)_三、B试题三/B(总题数:1,分数:15.00)7.对于教学数据库的三个基本表 S(S#,SNAME,AGE,SEX),SLLS#,C#,GRADE),C(C#, CNAME,TEACHER)。现根据查询条件填充下面 SQL 语句空白的部分。 1检索 LIU 老师所授课程的课程号和课程名。 2检索至少选修 LIU 老师所授课程中一门课程的女学生姓名。 3检索 WANG 同学不学的课程的课程名。 4检索全部学生都选修的课程的课程号与课程名。 5检索选修课程包含 LIU 老师所授课程的学生学号。 说明 1SELECTU (1) /UFROM C WHERE TEACHER=LIU 2
4、. SELECT S. SNAME FROM S,SC WHERE S.S#=SC.S#AND S. SEX=FAND SC.C#=U (2) /U (SELECTC# FROM C WHERE TEACHER = LIU) 3. SELECT CNAME FROM C wHEREc# U (3) /U(SELECTSC. C# FROM S,SCWHERE S.S#=SC.S#AND S. SNAME= WANG) 4. 由题知,该问题是在表 C 中找课程号和课程名,要求这门课被全部学生所选。 SELECT C#,CNAME FROM C WHERE NOT EXISTS (SELECT *
5、 FRoM S WHERE NOT EXISTS (SELECT * FROM S WHERE NOT EXISTS (SELECT * FROM SC WHEREU (4) /U 5. SELECT DISTINCT S# FROM SC WHEREU (5) /U (SELECT C# FROM C WHERE TEACHER = LIU(分数:15.00)_四、B试题四/B(总题数:1,分数:15.00)8.请补充函数 fun(),该函数可以统计一个长度为 n 的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asd ascasdfg asd as asd mlosd,子字符
6、串为 asd,则应输出 4。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填人所编写的若干表达式或语句。 试题程序: #include stdio. h #include string. h #include conio. h int fun(char * str,char * substr) int n; char *p,*r; U (1) /U; while( * str) p = str; r = substr while( * r) if(U (2) /U) r+; p+; else break; if(U (3) /U)
7、n+; str +; return n; main( ) char str81,substr3; int n; clrscr ( ); printf(“输入主字符串:); gets(str); printf(输入子字符串:“ ); gets( substr ); puts(str); puts(substr); n = fun(str,substr); printf(“n=%d/n“,n) (分数:15.00)_五、B试题五/B(总题数:1,分数:15.00)9.预备知识 对给定的字符集合及相应的权值,采用哈夫曼算法构造最优二叉树,并用结构数组存储最优二叉树。例如,给定字符集合a,b,c,d及
8、其权值 2、7、4、5,可构造如图 3 所示的最优二叉树和相应的结构数组 Ht(数组元素 Ht0不用)(见表 5)。 (分数:15.00)_六、B试题六/B(总题数:1,分数:15.00)10.说明 为类 Circle 增加一个构造函数,该函数有一个参数,并在构造时将该参数值赋给成员 radius。将该函数实现为一个非内联函数,并且使用参数列表的方式将类成员赋值。 为类 Circle 增加一个成员函数 print(),使得可以输出有关圆的信息,比如下列程序 Circle c; c. SetRadius(5); c. Print(); 将输出:The circle has radius of 5
9、! 完成友元函数 void CompareR(Circle *c1,Circle *c2)的定义,在屏幕中输出 c1 与 c2 比较 radius 大小结果,要求使用 if - else 结构完成。输出结果如下: The circle has radus of 5 ! The circle has radius of 10 ! cl c2 源程序文件test7_3, cpp 清单如下: #include iostream, h class Circle public: Circle( ) :radius(5) U (1) /U void SetRadius(int r) radius = r;
10、 int GetRadius() return radius; U (2) /U friend void CompareR(Circle * c1,Circle * c2); private: int radius; ; void CompareR(Circle * c! ,Circle * c2) U (3) /U cout “c1 c2“ endl; else if ( (c1 - GetRadius( ) = (c2 - GetRadius( ) tout “c1=c2 endl; else if ( (c1 - GetRadius( ) ( c2 - GetRadius( ) cout
11、 “c1c2“ endl; void main( ) Circle c1 c1. SetRadius(5) c1. Print( ) Circle c2(10); c2. Print( ) CompareR( (分数:15.00)_七、B试题七/B(总题数:1,分数:15.00)11.说明 下面是一个 Appkt 程序,其功能是从 3100 之间(包括 3 和 100)每隔 0.5 秒显示一个新的数字,如果数字为素数,则显示为灰色,其他为绿色。 程序运行结果如图 4 所示。 import java. awt. * import java. applet. Applet applet code
12、= ex2_7, class width = 800 height = 400 /applet (分数:15.00)_中级软件设计师下午试题-35 答案解析(总分:165.00,做题时间:90 分钟)一、B试题一/B(总题数:3,分数:45.00)1.【问题 1】假设当前该旅馆各个房间的情况见表 3。 序号 i ROOM RANK NBED STATUS1 101 3 4 02 102 3 4 13 201 2 3 04 202 2 4 15 301 1 6 0当输入 M=4,R=0 时,该算法的输出是什么?(分数:15.00)_正确答案:()解析:101,301 解析 当 M=4,R=0 表
13、示客人数为 4,对房间等级没有要求,根据流程图,依次判断各个房间是否满足要求,101 有 4 张床且房间空闲,满足要求;102、202 已被占用,排除,201 床数为34,排除;301 有 6 张床,且未被占用,满足条件,所以,输出结果为:101,301。2.【问题 2】 如果等级为 r 的房间每人每天的住宿费为 RATE(r),RATE 为数组。为使该算法在输出每个候选的房间号 RM(J)后,再输出这批散客每天所需的总住宿费 DAYRENT(J),流程图 1 的 p 所指框中的最后处应增加什么处理?(分数:15.00)_正确答案:()解析:RATE(RANK (I)*M-DAYRENT(J)
14、 解析 房间的费用是根据房间的等级和房间所住客人的数量决定,所以在 框中应加入 RATE(RANK(I)*M-DAYRENT(J)。3.【问题 3】 如果限制该算法最多输出 K 个可供选择的房间号,则在流程图 1 的。所指的判断框应改成什么处理? 流程图 1(如图 2 所示) (分数:15.00)_正确答案:()解析:IN |j=K,其中,J=K 也可写成 JK 解析 若要限制算法最多输出 K 个房间号,也就是说,该程序执行输出结果的条件应为:(1)所有房间都已检查完,且满足条件的房间数小于等于 K。(2)没有检查完但满足条件的房间数已等于 K,所以 框中的条件应该改为 IN|j=K。二、B试
15、题二/B(总题数:3,分数:45.00)4.【问题 1】 对文法 G 进行改写,然后对每个非终结符写出不带回溯的递归于程序。(分数:15.00)_正确答案:()解析:改写文法为: (O)S;(1)S;(2)S(T);(3)TSN;(4)N,SN;(5)N 非终结符 FIRST 集 FOLLOW 集 S a,( #., Ta,c N ,. 对左部为 N 的产生式可知:FIRST(SN)=, FIRST()= FOLLOW(N)=5.【问题 2】 经改写后的文法是否是 LL(1)的?指出它的预测分析表中(1)(3)处的内容。(分数:15.00)_正确答案:()解析:文法是 LL(1)的。 (1)S
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 中级 软件 设计师 下午 试题 35 答案 解析 DOC
