资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
2022软件水平考试-中级软件设计师考试全真模拟卷(附答案带详解)1. 填空题:There is nothing in this world constant but inconstancy-SWIFTProject after project designs a set of algorithms and then plunges into construction of customer-deliverable software on a schedule that demands delivery of the first thing builtIn most projects,the first system built is()usable,It may be too slow,too big,awkward to use,or all threeThere is no()but to start again,smarting but smarter,and build a redesigned version in which these problems are solvedThe discard and()may be done in one lump,or it may be done piece-by-pieceBut all large-system experience shows that it will be doneWhere a new system concept or new technology is used,one has to build a system to throw away,for even the best planning is not so omniscient(全知的)as to get it right the first timeThe management question,therefore,is not whether to build a pilot system and throw it awayYou will do thatThe only question is whether to plan in advance to build a(),or to promise to deliver the throwaway to customersSeen this way,the answer is much clearerDelivering that throwaway to customers buys time,but it does so only at the()of agony(极大痛苦)for the user,distraction for the builders while they do the redesign,and a bad reputation for the product that best redesign will find hard to live downHence plan to throw one away;you will,anyhow问题1选项A.almostB.oftenC.usuallyD.barely问题2选项A.alternativeB.needC.possibilityD.solution问题3选项A.designB.redesignC.planD.build问题4选项A.throwawayB.systemC.softwareD.product问题5选项A.worthB.valueC.costD.invaluable答案:DABAC 本题解析:暂无解析2. 问答题:某公司使用ASP开发了商务网站,购物车是网站中一个重要的组件。12、设计购物车模块的核心思想是将顾客订购的物品进行临时保存,其中利用 (1) 可以将订购信息临时存在WEB服务器内存中,利用 (2) 可以将订购信息临时存于客户端硬盘上,另外还可以将订购信息临时存在 (3) 中。13、在ASP内置对象中,有两个对象与cookie操作有关。其中 (4) 用来写cookie内容, (5) 用来读cookie内容。备选答案:A. applicationB. asperrorC. responseD. requestE. sessionF. server2在ASP内置组件中,使用 (6) 可以在主页上交替地变换广告,使用 (7) 可以读写服务器文件。A. Browser CapabilitiesB. File AccessC. AD RotatorD. Content LinkingE. Database Access14、该网站购物车模块页面脚本语言是JavaScript,用户订购信息临时存在cookie中,下面是购物车页面中读取cookie值的函数,请完成该程序。script language-J avascriptfunction readCookie(name)var cookieValue= var search= (8) +=”, if(documentcookie (9) 0) start=document cookie indexOf(search);if(start!=-1) start+=search.length, end=document.cookie.indexOf(,start); if(end=1)end=document.cookie.length; cookieValue - document cookiesubstring (10) , (11) ) return (12) ;/script答案: 本题解析:12、(1)session (2)cookie (3)application 13、(4)C (5)D (6)C (7)B 14、(8)cookieValue (9)length (10)start (11)end (12)cookieValue3. 问答题:某应用中需要对100000个整数元素进行排序,每个元素的取值在05之间。排序算法的基本思想是:对每一个元素x,确定小于等于x的元素个数(记为m),将x放在输出元素序列的第m个位置。对于元素值重复的情况,依次放入第m-1、m-2、个位置。例如,如果元素值小于等于4的元素个数有10个,其中元素值等于4的元素个数有3个,则4应该在输出元素序列的第10个位置、第9个位置和第8个位置上。算法具体的步骤为:步骤1:统计每个元素值的个数。步骤2:统计小于等于每个元素值的个数。步骤3:将输入元素序列中的每个元素放入有序的输出元素序列。【C代码】下面是该排序算法的C语言实现。(1)常量和变量说明R:常量,定义元素取值范围中的取值个数,如上述应用中R值应取6i:循环变量n:待排序元素个数a:输入数组,长度为nb:输出数组,长度为nc:辅助数组,长度为R,其中每个元素表示小于等于下标所对应的元素值的个数。(2)函数sort1 void sort(int n,int a,int b)2?int cR,i;3?for(i=0;i(1):i+)4?ci=0;56?for(i=0;in;i+)7 cai=(2);89?for(i=1;iR;i+)10 ci=(3)1112 for(i=0;in;i+)13?bcai-1=(4);14?cai=cai-1;1516【问题1】(8分)根据说明和C代码,填充C代码中的空缺(1)(4)。【问题2】(4分)根据C代码,函数的时间复杂度和空间复杂度分别为(5)和(6)(用O符号表示)。【问题3】(3分)根据以上C代码,分析该排序算法是否稳定。若稳定,请简要说明(不超过100字);若不稳定,请修改其中代码使其稳定(给出要修改的行号和修改后的代码)。答案: 本题解析:【问题1】(1)R(2)cai+1(3)ci+ci-1(4)ai【问题2】(5)O(n+R)或者O(n)或n或线性(6)O(n+R)或者O(n)或n或线性【问题3】不稳定。修改第12行的for循环为:for(i=n-1;i=0;i-)即可。【问题1】本题考查排序的相关内容。题目告诉我们排序算法的基本思想是:对每一个元素x,确定小于等于x的元素个数(记为m),将x放在输出元素序列的第m个位置。对于元素值重复的情况,依次放入第m-1、m-2、的位置。而且题目告诉我们算法的步骤。下面我们来具体分析本试题。第(1)空所处的位置为函数sort()中第一个for循环中,从题目的描述和程序不难看出该循环的作用是给数组c赋初值,而根据题目描述可知数组c是一个辅助数组,长度为R,因此第一空应填R。第(2)空在函数sort()中的第二个for循环中,很显然第(2)空是给数组c赋值,而且其下标为数组a的相应的元素值。再根据题目的描述“c数组中每个元素表示小于等于下标所对应的元素值的个数”,很显然,这个for循环的作用是统计每个元素值的个数,因此第(2)空的答案应该是cai+1。第(3)空在第三个for循环中,而且第(3)空是调整数组c的值,根据题目提供的算法的步骤,我们可知,这个时候应该要统计小于等于每个元素值的个数,而等于的元素个数记录在ci中,小于的元素个数记录在ci-1中,因此第(3)空的答案是ci+ci-1。第(4)空在最后一个for循环中,按题目要求,我们可以知道该for循环应该完成剩余的步骤3,即将输入元素序列中的每个元素放入有序的输出元素序列。而第(4)空是给数组b赋值,题目告诉我们b是输出数组,而a是输入数组,那么应该是将a中的值赋值值b中,因此第(4)空的答案应该为ai。【问题2】本题主要考查时间复杂度与空间复杂度的分析。首先我们来看空间复杂度,空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度。在sort()函数中,声明了两个整型变量n和i(可忽略),两个整型数组b和c,而a不属于函数sort的临时空间,因此函数sort()的空间复杂度为O(n+R),这里由于在本题中R的值为6,因此也可以忽略,所以答案也可以是O(n)。接着我们来分析时间复杂度,时间复杂度是度量算法执行的时间长短,函数sort()中有并列的四个循环,其中有两个循环n次,而另外两个分别循环R-1和R次,因此时间复杂度应该为O(n+R),由于R的值为6,这里可以忽略,因此答案也可以是O(n)。【问题3】所谓稳定性是指两个关键字相等的元素在排序前后的相对位置不发生变化,一般来讲,只要排序过程中比较和移动操作发生在相邻的元素间,排序方法是稳定的。本题中的排序是不稳定的,可以修改第12行的for循环为:for(i=n-1;i=0;i-)即可。4. 填空题:在面向对象方法中,()是父类和子类之间共享数据和方法的机制。子类在原有父类接口的基础上,用适合于自己要求的实现去置换父类中的相应实现称为()。问题1选项A.封装B.继承C.覆盖D.多态问题2选项A.封装B.继承C.覆盖D.多态答案:BC
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号