《全国计算机软件专业资格和水平考试高级程序员级试题及答案.doc》由会员分享,可在线阅读,更多相关《全国计算机软件专业资格和水平考试高级程序员级试题及答案.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1996年全国计算机软件专业资格和水平考试高级程序员级试题及答案1996年高级程序员级上午试题试题1从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。1000P1001L11002R11003B1004L21005R21006Q1007L31008R31009H100AL4100BR4100CC100DL5100ER5100FJ1010L61011R6一棵二叉排序树可顺序存放在一组物理上相邻的存储区中,每个节点及其左、右指针依次存放在该存储区的三个连续单元中。现对一棵按节点字母的字典顺序构成的二叉排序树,从根节点P开始顺序存放在一个存储区中,结果如图8
2、-1所示,其中Li为第i个结点的左指针,Ri为第i个结点的右指针,则L2应为_A_,L4应为_B_,R1应为_C_。该二叉排序树的前序遍历序列为_D_,后序遍历序列为_E_。供选择的答案:AC:10031004100A100910061000100C100FNullD、E:PBQHCJPBHCJQBCHJPQCJHBQPBHCJQP试题2从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。在软件工程的设计阶段中,有三种常用的设计方法:结构化设计(SD)方法、Jackson方法和Parnas方法。SD方法侧重于_A_;Jackson方法则是_B_;Parn
3、as方法的主要思想_C_。从70年代中期到90年代早期,_D_是最为常用的设计方法。_E_法只提供了重要的设计准则,没有规定出具体的工作步骤。供选择的答案:AC:使用对象、类和继承由数据结构导出模块结构模块要相对独立,且功能单一,使块间联系弱,块内联系强将可能引起变化的因素隐藏在有关模块内部,使这些因素变化时的影响范围受到限制用数据流图表示系统的分解,且用数据词典和小说明分别表示数据和加工的含义自顶向下、逐步细化,采用顺序、选择和循环三种基本结构,以及限制goto语句的使用,设计出可靠的和易维护的软件。D:SDJacksonParnas面向对象E:SDJacksonParnas以上皆非试题3从
4、供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。设有一图书管理数据库,其关系模式是R0(L#,B#,BNAME,BPRICE,BPUB),其属性分别表示个人借书证号、书号、书名、书价、图书出版社。该关系模式_A_。它的主要问题是数据冗余。如把R0分解成两个关系模式R1_B_和R2_C_,则可以部分地解决这一问题。R1和R2是规范化程度较差的范式_D_。另外一种分解方法可以得到三个模式R3(L#,B#),R4(B#,BNAME),R5(BNAME,BPRICE,BPUB),则R3、R4、R5都_E_。供选择的答案:A、D、E:属于第一范式但不属于第二范式
5、属于第二范式但不属于第三范式属于第三范式不是范式属于第二范式但不属于第一范式属于第三范式但不属于第二范式B、C:(L#,B#,BPRICE)(L#,B#)(B#,BNAME)(B#,BNAME,BPRICE,BPUB)(BNAME,BPRICE,BPUB)(L#,BNAME,BPRICE)试题4从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。Internet提供的服务有通信、远程登录、浏览、检索等。_A_直接用于人际通信,_B_用于远程登陆。_C_不是浏览软件。在浏览软件中,_D_不支持HTML,_E_是目前微机上最常使用的浏览器。供选择的答案:A、
6、B:WWWE-mailURLTCP/IPTelnetLycosHTMLPPPCE:HotjavaNetsacpeMosaicLycosGopher试题5从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。有限状态自动机可用五元组(VT,Q,q0,Qr)来描述,它可对应于_A_。设有一有限状态自动机M的定义如下:VT =,Q= q0,q,q定义为:(q0,)= q(q,)= q(q,)= q(q,)= qQr= q。M是一个_B_有限状态自动机,它所对应的状态转换图为_C_,它所能接受的语言可以用正则表达式表示为_D_,其含义为_E_。供选择的答案:A:0
7、型文法型文法型文法型文法B:歧义的非歧义的确定的非确定的C:q0q11q2q0q11q200- - 010+ + 0,1 0,1q0q2q11q0q11q200 - - 0 0 0+ +0 0注:图中-表示开始状态,+表示终止状态。D:(011)*00(011)*(011)*000(011)*0E:由0和1所组成的符号串的集合以为0头符号和尾符号、由0和1所组成的符号串的集合以两个0为结束的,由0和1所组成的符号串的集合以两个0为开始的,由0和1所组成的符号串的集合试题6从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。由于内存大小有限,为使得一个或多
8、个作业能在系统中运行,常需要外存来换取内存。其中以作业为单位对内外存进行交换的技术称为_A_技术,在作业内部对内外存进行交换的技术称为_B_技术。用外存换内存是以牺牲程序运行时间为代价的。为提高CPU有效利用率,避免内外存的频繁交换,_B_技术常用某种_C_来选择换出内存的页面,它的基础是程序的_D_。据此,操作系统可根据_E_来改善系统的性能,_E_是一个进程在定长的执行时间区间内涉及到的页面的集合。供选择的答案:A、B:SPOOLINGSWAPPING虚拟存储虚拟机进程管理设备管理C:页面分配策略页面标志策略页面淘汰策略段设置策略D:完整性局部性递归性正确性E:工作集页面集段号集元素集试题
9、7从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。软件测试的目的是_A_。通常_B_是在代码编写阶段可进行的测试,它是整个测试工作的基础。逻辑覆盖标准主要用于_C_。它主要包括条件覆盖、条件组合(多重条件)覆盖、判定覆盖、条件及判定覆盖、语句覆盖、路径覆盖等几种,其中除路径覆盖外最弱的覆盖标准是_D_,最强的覆盖标准是_E_。供选择的答案:A:表明软件的正确性评价软件质量尽可能发现软件中错误判定软件是否合格B:系统测试安装测试验收测试单元测试C:黑盒测试方法白盒测试方法灰盒测试方法软件验证方法D、E:条件覆盖条件组合覆盖判定覆盖条件及判定覆盖语句覆盖
10、试题8从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。下列图中,_A_是非简单图,_B_是完全图,_C_和_D_都是哈密尔顿图,其中_C_又是欧拉图,_E_是树。供选择的答案:AE:试题9从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。在多级存储系统中,Cache处在CPU和主存之间,解决_A_问题。若Cache 和主存的存取时间分别为T1和T2,Cache 的命中率为H,则该计算机实际存取时间为_B_,当CPU向存储器执行读操作时,首先访问Cache ,如命中,则从Cache 中取出指令或数据,否则从主存
11、中取出,送_C_;当CPU向存储器执行写操作时,为了使Cache 内容和主存的内容保持一致,若采用_D_法,同时写入Cache 和主存。由于Cache 容量比主存容量小,当Cache 满时,但要执行把主存信息向Cache 写入时,就要淘汰Cache 中已有的信息,为了提高Cache 的命中率,采用一种_E_替换算法。供选择的答案:A:主存容量扩充主存和CPU速度匹配多个请求源访问主存BIOS存放B:H T1+ T2(1-H T1)+H T2T2-H T1H T1+(1-H) T2C:CacheCPUCache和CPUCache或CPUD:写回写通映照特征E:LRUFIFOFILORANDOM试
12、题10从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。设图1和图2系统中,R1、R2、R3为三个加工部件,每个加工部件的失效率均为,可靠性均为R。则图1系统中的失效率为 _A_,可靠性为_B_;图2系统中的失效率为 _C_,可靠性为_D_。若每个加工部件的平均无故障时间为5000小时,则图2系统的平均无故障时间为_E_小时。R3R3R2R2R1R1R1R2R3输入 输出输入输出图1图2供选择的答案:A:B:C:D:(1-R2)33(1-R2)R3(2-R)31-3(1-R2)E:2500500075003333试题11从供选择的答案中,选出应填入下面
13、叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。多媒体技术的关键在于解决动态图像和声音的存储与传输问题。若不经压缩,以VGA640*480点阵存储一幅256色的彩色图像大约需_A_M字节存储空间。以9600bps的速度传输这幅图像大约需_B_秒。按我国电视PAL标准每秒25幅,一张650MB的光盘可容纳约_C_秒这样的图像画面,播放时传送速率应不低于每秒_D_M字节。模拟声音数字化存放是通过采样和量化实现的,若采样频率为44.1KHz,每样本16位,存放一分钟双声道的声音约占_E_M字节存储空间。供选择的答案:AE:0.31.42.47.5103278.68798.4256试题12
14、从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。数据加密是一种保证数据安全的方法,数据解密则是逆变换,即_A_。密码体制可分为_B_和_C_两大类。例如常用的DES属于_B_,而RSA则属于_C_。DES的密钥长度为_D_位。破密者面临多种不同的问题,其从易到难排列依次为_E_。供选择的答案:A:由加密密钥求出解密密钥由密文求出明文由明文求出密文由解密密钥求出加密密钥B、C:公开密钥替代密码换位密码对称密钥D:324864128E:选择明文、已知明文、仅知密文已知明文、仅知密文、选择明文已知明文、选择明文、仅知密文仅知密文、已知明文、选择明文试题13
15、从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。_A_ whether to go with a shared or switched fast LAN technology once you start to max out your shared Ethernet of token-ring LAN is tough call. Users and analysts involved in _B_ high-speed LANs have learned the benefits of each. However there are trade-
16、offs to each, and _C_ which fast LAN technology to choose is critical for _D_ network performance problems and _E_ costly purchasing mistakes.供选择的答案:AE:avoidingclippingchoosingdecidingdissolvingensuringevolvingimplementingknowingsolving试题14从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。The most accur
17、ate and most boring way to _A_ Java is that it is a new computer programming language developed by Sun Microsystems that creates _B_ independent programs that can be distributed and run remotely. To run Java programs, a computer must have a Java interpreter. Currently _C_ Java programs are small “ap
18、plets” that are _C_ as part of web pages.When you use a Java _D_ browser to view a Web page that includes a Java applet, the browser loads the applet onto your computer through your modem or network. Then the Java interpreter runs the applet, which could include animation or sound, on your computer
19、rather than transmitting the code bit by bit over Internet. A few thousand bytes of Java code can turn into a powerful program on your computer.So an applet could include _E_ with Java interpreter.供选择的答案:A:commandcommentdescribediscoverB:conditionplatformprogrammerworkstationC、D:availablecapableposs
20、ibleprobablestablevaluableE:animation or soundanimation and soundanimation and be runanimation and be loaded试题15从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。牛顿法和弦截法是求方程f(x)=0的根的两种常用方法。牛顿法对于单根_A_,对于重根_B_,弦截法_C_,弦截法是在根x临近用_D_作为f(x)的近似式。如果保留前一函数值而不重新计算,一般来说,要达到指定精度,与弦截法比较,牛顿法_E_。供选择的答案:AC:1阶收敛2阶收敛阶收敛可
21、能不收敛肯定不收敛一致收敛D:常数三角函数f(x)的一次插值函数f(x)的二次插值函数E:迭代次数少,每次迭代的计算量少迭代次数少,每次迭代的计算量多迭代次数多,每次迭代的计算量少迭代次数多,每次迭代的计算量多1996年高级程序员级下午试题从以下的3 道试题(试题一至试题三)中任选2道解答。如果解答的试题数超过2道,则解答的前2道有效。试题一阅读下列说明和流程图,回答问题1至问题2,把解答写在答卷的对应栏内。【说明】本流程图将数字1,2,N2(N2)按逆时针方向依次写在N*N矩阵中,下图给出了N=4和N=5时的情况:112111011615141321316921724231231415831
22、8252211456741920211056789MAI,JI-1IM+1MK+1KM+1MMAI,JJ-1IK:N/2返回开始1M1KKIMAI,JI+1IKJM+!MJ+1JMAI,JM+1MN=4时N=5时【流程图】 注:图中W表示不大于W的最大整数。问题填充流程图中的使之成为完整的流程图。问题若将数字1,2,N2按顺时针方向依次写在N*N矩阵中,则只需将上述流程图中的_改成_即可。试题二阅读下列说明和流程图,回答问题至问题,把解答写在答卷的对应栏内。【说明】本流程图描述了某行业分类电话号码簿(简称号簿)出版系统的处理流程。全市所有电话的基本信息均存放在营业库中。系统输入工单,工单中包括
23、电话的新装、拆除、移机、更改(更改户名、地址、电话号码等)等信息。为确保输入工单的正确性,每张工单均由两个录入员分别录入,由处理进行输入和校对,然后更新营业库。系统根据待出版号簿的行业类型从营业库中选取该类用户的电话信息,存放在号簿中。同时向每个电话用户发布用户函,用户函上记录着将刊登在号簿上的该用户的户名、地址、电话号码等信息,用户函上的序号标志着该用户信息在号簿库中的位置。用户受到用户函后自行校对,并将修改内容和印刷要求(字体大小和是否套红)填写在用户回执中,系统按收到用户回函的先后顺序依次输入用户会函,然后更新号簿库。最后通过排版输出经用户校对并符合其印刷要求的号簿清样。系统中部分单据和
24、文件的格式如下:工单工单类型原户名新户名原地址新地址原电话号码新电话号码营业库纪录户名地址电话号码分类信息用户函序号户名地址电话号码用户回函序号户名地址电话号码套红标记字体大小【流程图】问题流程图中哪些处理能发现工单的哪些错误,并举例说明。问题指出号簿库文件的纪录至少应包括哪些数据项。问题3为提高处理速度,流程图需作何改进。试题三阅读以下说明和E-R图,回答问题,讲解答写在答卷的对应栏内。【说明】设有下列关于运动会管理系统的E-R图。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体之间的关系。假定已通过下列SQL语言建立了基本表:CREATE TABLE ATHLETE(ANO
25、CHAR(6) NOT NULL,ANAME CHAR(20),ASEX CHAR(1),ATEAM CHAR(20);CREATE TABLE ITEM(INO CHAR(6) NOT NULL,INAME CHAR(20),ISEX CHAR(1),ITEAM CHAR(20);CREATE TABLE GAMES(ANO CHAR(6) NOT NULL,INO CHAR(6) NOT NULL,SCORRE CHAR(10);为了答题的方便,图中的实体和属性同时给出了中英文两种名字,回答问题时只需写出英文名即可。【E-R图】AND运动员号ASEX性别ANAME姓名ATEAM队名AND项
26、目号INAME项目名ATIME比赛时刻SCORE成绩ATHLETE运动员ITEM项目GAMES参赛APLACE比赛场地问题填充下列SQL程序3.13.4中的,使它们分别完成相应的功能:程序3.1:统计参加比赛时运动员人数SELECT_FROMATHLETEWHEREASEX=M;程序3.2:查100872号运动员参加的所有项目及其比赛时间和地点SELECTITEM,INO,INAME,ITIME,IPLACEFROMGAMES,ITEMWHERE_AND_;程序3.3:查参加100035项目的所有运动员名单SELSECTANO,ANAME,ATEAMFROMATHLETEWHERE_(SELE
27、CT_FROMGAMESWHEREGAMES.ANO=ATHLETE.ANO AND INO=100035);程序3.4:建立运动员成绩视图_ATHLETE_SCOREAS SELECTATHLETE,ANO,ANAME,ATEAM,INAME,SCOREFORM_WHEREATHLETE,ANO=GAMES,ANO AND GAMES.INO=ITEM.INO;试题四为必答题。试题四在COMET型计算机上可以使用试卷上所附的CASL汇编语言。阅读下列程序说明和CASL程序,将应填入程序中_?_处的字句,写在答卷的对应栏内。【程序说明】子程序OFFSET用二分法,查找无符号整数M在一个长度为N
28、的有序(升序)无符号整数列表NTABLE中的位置。程序中标号为LOW和UP的两个存储字分别用作存放查找区间的上下限。进入子程序时,在GR1中给出存放子程序所需参数的起始地址。参数的存放次序如下:(GR1)+0M +1N +2NTABLE的首址从子程序返回时,GR0中存放查找结果,即M在此有序表中的位置序数。如表中找不到M,则GR0中返回0。其它寄存器的内容保持不变。【程序】STARTOFFSETPUSH0,GR2PUSH0,GR3LDGR0,0,GR1LEAGR2,0STGR2,LOW_STGR2,UPLOOPADDGR2,LOWSRLGR2,1LEAGR3,0,GR2_JZEFOUNDJPZ
29、INCLOWLEAGR2,-1,GR2STGR2,UPJMPCMPLUINCLOWLEAGR2,1,GR2STGR2,LOW_CMPLUCPLGR2,LOW_FOUNDLEAGR0,1,GR2POPGR3POPGR2RETLOWDS1UPDS1END从下列的道试题(试题五至试题八)中任选道解答。如果解答的试题数超过道,则解答的前道有效。试题五阅读以下程序说明和C程序,将应填入程序中_?_处的字句,写在答卷的对应栏内。【程序说明】本程序是一个简单的计算器模拟程序。对任意给定的正确四则运算表达式,程序计算其结果值并输出。表达式中运算分量为无正负号整数,运算符为+、_、*、/,圆括号按常规配对,表达
30、式以字符“=”结束。函数getach()为获取表达式的一个合法自负,并将字符存入变量curch;函数指针树组func是为了统一加减乘除计算而设置的。【程序】#includeintadd(int x,int y)return x+y;intsub(int x,int y)return x-y;intmul(int x,int y)return x*y;intdiv(int x,int y)return x/y;int(*func)()=add,sub,mul,div;intnum,curch;charchtbl=”+-*/()=”;charcorch=”+-*/()=0123456789”;in
31、tgetach()inti;while(1)curch=getchar();if(curch=EOF) return 1;for(i=0;corchi&curch!=corchi;i+);if(i=0&curch=0&curch=9;getach()num=_;return1;elsefor(i=0;chtbli;i+)if(chtbli=curch) break;if(i=5) return x1;i=getid();if(I=4) x2=cal();else x2=num;op2=getid();while(_)i=getid();if(i=4) x3=cal();else x3=num;
32、if(op1/2=0)&(op2/2=1)x2=(*funcop2(x2,x3);elsex1=_;x2=x3;_;op2=getid();return_(x1,x2);voidmain()intvalue;printf(“Please input an expression:n”);getch();while(curch!=)value=cal();printf(“The result is : %dn”,value);printf(“Please input an expression:n”);getach();试题六阅读下列程序说明和FORTRAN程序,将应填入程序中_?_处的字句,写在
33、答卷纸的对应栏内。【程序说明】子程序SUM计算数列1,1/2,1/3,1/n,的前N项和,并以M位小数形式输出(M60)。为提高计算结果的精度,用分数形式计算并存放数列的部分和,求和结果记为A+U/V其中U/V是不可约真分数,A为整数。例如:n=5,M=10时,子程序输出为1+1/2+1/3+1/4+1/5=2+17/602.283333333整型函数GCD用辗转相除法计算U和V的最大公约数。【程序】SUBROUTINESUM(N,M)INTEGERA,U,V,G,D(60),GCDA=1U=0V=1DO20K=2,NU=_V=_A=_U=MOD(U,V)_U=U/GV=V/G20CONTIN
34、UEWRITE(*,100)N,A,U,V100FORMAT(1X,1+1/2+1/3+1/,I2,=,I2,+I10,/,I10)DO40I=1,MD(I)=_40CONTINUEWRITE(*,200)A,(D(I),I=1,M)200FORMAT(1X,I2,.,60I1)ENDINTEGERFUNCTIONGCD(U,V)INTEGERU,VK=VL=U10IF(MOD(K,L).GT.0) THENJ=MOD(K,L)K=LL=JGOTO10ENDIF_END试题七阅读下列程序说明和C程序,将应填入程序中_?_处的字句,写在答卷纸的对应栏内。【程序说明】本程序先从文件读入各考生的准考
35、证号(设为整型数)及成绩,并将其存放在一棵检索二叉树上,二叉树的结点的键值是成绩,二叉树每个节点带一链表,链表结点存放取得该成绩的考生的准考证号。然后,程序按中序遍历检索二叉树,从高到底分输出结果,使每行输出某成绩及其取得该成绩的各考生的准考证号。【程序】#includetypedef struct idnodeintid;struct idnode*next;IdNode;typedef struct marknodeintmark;IdNode*head;struct marknodeleft,right;MarkNode;charfname=”sp07.dat”main()intid,m
36、ark;MarkNode*root=null;FILE*fp=fopen(fname,”r”);if(!fp)printf(“file %s open error.n”,fname);exit(0);while(!feof(fp)fscanf(fp,”%d%d”,&id,&mark);btree(&root,id,mark);fclose(fp);print(root);btree()IdNode*ip;MarkNode*mp=mpptr;if(_)if(mark=mp-mark) addIdNode(_,id);elseif(markmp-mark) btree(&mp-left,id,ma
37、rk);else btree(&mp-right,id,mark);elsemp=(MarkNode *)malloc(sizeof(MarkNode);mp-mark=mark;mp-left=mp-right=NULL;_addIdNode(&mp-head,id);_addIdNode(IdNode *ipp,int id)IdNode*ip=ipp;if(_) addIdNode(_,id);elseip=(IdNode *)malloc(sizeof(IdNode);sp-id=id;ip-next=NULL;_print(MarkNode *mp)IdNode *ip,ip0;if(mp)print(mp-left);printf(“%6d: t”,mp-mark);ip=mp-head;while(ip)printf(“%6d: t”,ip-id);ip0=ip;ip=ip-next;free(ip0);printf(“n”);print(mp-right);free(mp);试题八阅读下列程序说明和FORTRAN程序,将应填入程序中_?_处的字句,写在答卷纸的对应栏内。【程序说明】某公司招聘M个工种(编号为1M)的工作人员,每个工种有各自的计