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