ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:71KB ,
资源ID:1323152      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1323152.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】中级软件设计师下午试题-35及答案解析.doc)为本站会员(eventdump275)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】中级软件设计师下午试题-35及答案解析.doc

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

16、N;(2)(T);(3)6.【问题 3】 说明输入串(a,a)#是否为 G 的句子。(分数:15.00)_正确答案:()解析:输入串(a, a)#是文法的句子。 解析 对于文法 Sa| (T) TT, S|S 由于 SELECT(N, SN)SELECT(N)=,=(作图),所以文法是 LL(1)的。 也可由预测分析表中无多重人口判定文法是LL(1)的。 (3)对输入串(a,a)#的分析过程为: 栈 当前输入符 剩余输入符 所用产生式 (STACK) (CUR_CHAR) (INOUT_STRING) (OPERATION) #S ( a,a)#. . #)T( ( a,a)#. S(T) #

17、)T a ,a)#. . #)NS a ,a)#. TSN #)Na a ,a)#. Sa #)N , a)#. . #)NS, , a)#. N,SN #)NS a )#. . #)Na a )#. Sa #)N ) #. . #) ) #. N # # 可见输入串(a,a)#是文法的句子。三、B试题三/B(总题数:1,分数:15.00)7.对于教学数据库的三个基本表 S(S#,SNAME,AGE,SEX),SLLS#,C#,GRADE),C(C#, CNAME,TEACHER)。现根据查询条件填充下面 SQL 语句空白的部分。 1检索 LIU 老师所授课程的课程号和课程名。 2检索至少选修

18、 LIU 老师所授课程中一门课程的女学生姓名。 3检索 WANG 同学不学的课程的课程名。 4检索全部学生都选修的课程的课程号与课程名。 5检索选修课程包含 LIU 老师所授课程的学生学号。 说明 1SELECTU (1) /UFROM C WHERE TEACHER=LIU 2. 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(SELECTS

19、C. C# FROM S,SCWHERE S.S#=SC.S#AND S. SNAME= WANG) 4. 由题知,该问题是在表 C 中找课程号和课程名,要求这门课被全部学生所选。 SELECT C#,CNAME FROM C WHERE NOT EXISTS (SELECT * 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 T

20、EACHER = LIU(分数:15.00)_正确答案:()解析:(1)C#, CNAME (2)SOME (3)ALL (4)SC.S#=S.S# AND SC. C#=C.C#) (5)C#IN四、B试题四/B(总题数:1,分数:15.00)8.请补充函数 fun(),该函数可以统计一个长度为 n 的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asd ascasdfg asd as asd mlosd,子字符串为 asd,则应输出 4。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填人所编写的若干表达式或语句。

21、试题程序: #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) n+; str +; return n; main( ) char str81,substr3; int n; clrscr ( ); printf(“输入主字符串:)

22、; gets(str); printf(输入子字符串:“ ); gets( substr ); puts(str); puts(substr); n = fun(str,substr); printf(“n=%d/n“,n) (分数:15.00)_正确答案:()解析:(1)n=0 (2)*r=*p (3)*r=/0 解析 填空 1:变量 n 用来记录子字符串在字符串中出现的次数,函数中对变量 n 进行了类型声明,但并没有进行初始化,所以此处对 n 初始化为 0。填空 2:进行比较时,如果子字符串的字符与字符串中的字符相同,则将两个字符串的指针都自加 1,继续进行比较,否则跳出循环。填空 3:如

23、果此时指针 r 所指的字符为/0,则说明子字符串在字符串中出现了一次,将记录变量n 加 1。五、B试题五/B(总题数:1,分数:15.00)9.预备知识 对给定的字符集合及相应的权值,采用哈夫曼算法构造最优二叉树,并用结构数组存储最优二叉树。例如,给定字符集合a,b,c,d及其权值 2、7、4、5,可构造如图 3 所示的最优二叉树和相应的结构数组 Ht(数组元素 Ht0不用)(见表 5)。 (分数:15.00)_正确答案:()解析:(1)codecdlen=/0或 codecdlen=0 (2)Htp.par- ent (3)-cdlen 或等价形式 (4)*buff=0或等价形式 (5)bu

24、ff-或等价形式 解析 (1)根据注释的提示,可知此小段代码的作用是把code 字符串保存起来,结合下一句,可知应给 code 字符串添加一个结束符0。(2)将指针指向当前结点的父结点。(3)将 code 指针前移一位。(4)如果前缀编码为,0进入左子树。(5)注意下一个语句,Prinf(“%c”,Htpre.ch);其参数是 pre,内层循环中有 pre=p,这样做的目的是当 Htp.lchild 或 Htp. rchild 等于 0 时,不把这层链人结果。六、B试题六/B(总题数:1,分数:15.00)10.说明 为类 Circle 增加一个构造函数,该函数有一个参数,并在构造时将该参数值

25、赋给成员 radius。将该函数实现为一个非内联函数,并且使用参数列表的方式将类成员赋值。 为类 Circle 增加一个成员函数 print(),使得可以输出有关圆的信息,比如下列程序 Circle c; c. SetRadius(5); c. Print(); 将输出:The circle has radius of 5! 完成友元函数 void CompareR(Circle *c1,Circle *c2)的定义,在屏幕中输出 c1 与 c2 比较 radius 大小结果,要求使用 if - else 结构完成。输出结果如下: The circle has radus of 5 ! The

26、 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; int GetRadius() return radius; U (2) /U friend void CompareR(Circle * c1,Circle * c2); private: int radius; ; void CompareR(Circle * c! ,

27、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 “c1c2“ endl; void main( ) Circle c1 c1. SetRadius(5) c1. Print( ) Circle c2(10); c2. Print( ) CompareR( (分数:15.00)_正确答案:()解析:(1)Circle(in

28、t rad):radius(rad) (2)void Print()cout “The circle has radius of“ radius “!/n“; (3)if(c1-GetRadius()(c2-GetRadius() 解析 本题考查成员函数的定义与实现,友元函数,if 分支语句等知识点。友元函数的类体外的定义与一般函数一样,注意(3)中 if- else 的使用,else 总是与其最近的那个 if 配对使用的,书写时最好使用缩进格式,将配对的if-else 对齐,以免出错。七、B试题七/B(总题数:1,分数:15.00)11.说明 下面是一个 Appkt 程序,其功能是从 310

29、0 之间(包括 3 和 100)每隔 0.5 秒显示一个新的数字,如果数字为素数,则显示为灰色,其他为绿色。 程序运行结果如图 4 所示。 import java. awt. * import java. applet. Applet applet code = ex2_7, class width = 800 height = 400 /applet (分数:15.00)_正确答案:()解析:(1)String. valueOf(n2_7) (2)n3n100 (3)(n%i) =0 (4)i101 或者 i=100 (5)obj2_7. setInt(i) 解析 本题主要考查线程的概念和使

30、用,Applet 的执行过程和窗口,for 循环语句以及字符串和 int 型的数据转换和面向对象编程的基本思想。解题关键是熟练地将 Applet 的执行和线程的基本思想结合完成一定的综合性的应用;熟练掌握线程的建立、运行以及线程类与封装类之间酌信息传递方式,即通过对象调用封装的方法来进行,如语句 obi2_7. repaint()。本题中,不可以直接填人 n2_7,会导致参数类型不符合的错误,应该用 String 类的 vMueOf()方法对 int 型数据进行转换得到 String 类型数据;注意题目要求,需要包括 3 和 100,因此循环变量的上界应该是 i101 或者 i=100;由于 n2_7 是类 ex2_7 的私有成员,因此不可以直接用对象 obi2_7 来调用这个成员变量,需要通过类 ex2_7 的方法setInt()来实现对私有成员变量的修改。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1