全国计算机技术与软件专业技术资格(水平)考试2011全真模拟试卷(三)下午试题_第1页
全国计算机技术与软件专业技术资格(水平)考试2011全真模拟试卷(三)下午试题_第2页
全国计算机技术与软件专业技术资格(水平)考试2011全真模拟试卷(三)下午试题_第3页
全国计算机技术与软件专业技术资格(水平)考试2011全真模拟试卷(三)下午试题_第4页
全国计算机技术与软件专业技术资格(水平)考试2011全真模拟试卷(三)下午试题_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国计算机技术与软件专业技术资格(水平)考试

全真模拟试卷(三)下午试题(考试时间14∶00~16∶30,共150分钟)

本试卷共六道试题,满分75分。●试题一

阅读以下说明和流程图(如图1所示),回答问题1至问题4,将答案写在答卷的对应栏内。

【说明】

本流程图是将中缀表示的算术表达式转换成后缀表示。如中缀表达式

(A-(B*C+D)*E)/(F+G))

的后缀表示为

ABC*D+E*-FG+/

为了方便,假定变量名为单个英文字母,运算符只有+、-、*、/(均为双目运算符,左结合),并假定所提供的算术表达是非空且语法是正确的。另外,中缀表示形式中无空格符,但整个算术表达式以空格符结束。流程图中使用的符号的意义如下:

数组IN[]存储中缀表达式;

数组POLISH[]存储其后缀表达式;

数组S[]是一个后进先出栈;

函数PRIOR(CHAR)返回符号CHAR的优先级,各符号的优先级见表2:

表2CHARPRIOR(XHAR)*/4+-3(2)1【问题1】

填充流程图中①的判断条件。

【问题2】

写出子程序A的功能,并顺序写出实现该功能的操作

【问题3】

写出子程序B的功能,并顺序写出实现该功能的操作。

【问题4】

中缀表达式

(A+B-C*D)*(E-F)/G

经该流程图处理后的输出是什么?

【流程图】【问题1】

该程序的控制流图中A~E分别是什么?

【问题2】

计算控制流图的McCabe环路复杂性。

【问题3】

用基本路径覆盖法给出测试路径。

【问题4】

为各测试路径设计测试用例。

●试题三

请补充函数fun(),该函数的功能是:只保留字符串中的大写字母,删除其他字符,结果仍保存在原来的字符串中,由全局变量m对删除后字符串的长度进行保存。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。

试题程序:

#include<stdio.h>

#include<conio.h>

intm;

voidfun(char*s)

{

inti=0,j=0;

char*p=s;

while(*(p+i))

{

if(*(p+i)>=′A′&&*(p+i)<=′Z′)

{

(1);

}

(2);

}

s[j]=′\0′;

(3);

}

main()

{

charstr[80];

clrscr();

printf("\nEnterastring:");

gets(str);

printf("\n\nThestringis:s\n",str);

fun(str);

printf("\n\nThestringofchangingis:s\n",str);

printf("\n\nThelengthofchangedstringis:d\n",m);

}

●试题四

阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【程序4.1说明】

“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1,w2,...,wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。

如下程序均能求得“背包问题”的一组解,其中程序4.1是“背包问题”的递归解法,而程序4.2是“背包问题”的非递归解法。

【程序4.1】

#include<stdio.h>

#defineN7

#defineS15

intw[N+1]={0,1,4,3,4,5,2,7};

intknap(ints,intn)

{if(s==0)return1;

if(s<0||(s>0&&n<1))return0;

if((1))){

printf(″%4d″,w[n]);return1;

}return(2);

}

main(){

if(knap(S,N))printf(″OK!\n″);

elseprintf(″NO!\n″);

}

【程序4.2】

#include<stdio.h>

#defineN7

#defineS15

typedefstruct{

ints;

intn:

intjob;

}KNAPTP;

intw[N+1]={0,1,4,3,4,5,2,7};

intknap(ints,intn);

main(){

if(knap(S,N))printf(″OK!\n″);

elseprintf(″NO!\n″);}

intknap(ints,intn)

{KNAPTPstack[100],x;

inttop,k,rep;

x.s=s;x.n=n;

x.job=0;

top=l;stack[top]=x;

k=0;

while((3)){

x=stack[top];

rep=1;

while(!k&&rep){

if(x.s==0)k=1;/*已求得一组解*/

elseif(x.s<0||x.n<=0)rep=0;

else{x.s=(4);x.job=1;

(5)=x;

}

}

if(!k){

rep=1;

while(top>=1&&rep){

x=stack[top--];

if(x.job==1){

x.s+=w[x.n+1];

x.job=2;

stack[++top]=x;

(6);

}

}

}

}

if(k){/*输出一组解*/

while(top>=1){

x=stack[top--];

if(x.job==1)

printf(″%d\t″,w[x.n+1]);

}

}

returnk;

}

●试题五

阅读下列程序说明和C++代码,将应填入(n)处的字句写在答卷的对应栏内。

【说明】

①定义类Table的私有数据成员x和y,分别用于表示九九表中的两个乘数(x*y),它们都是int型的数据。

②完成类Table的成员函数print()的定义,该函数以“x*y=z”的格式打印出九九表中的一个乘法算式,请使用格式化输出函数printf实现。

③完成类Table9的成员函数print()的定义,该函数调用基类Table的print()函数,将九九表输出到屏幕。

④补充主函数,在屏幕上输出九九表,以便测试所定义的类的正确性。

源程序文件test8_3.cpp清单如下:

#include<iostream.h>

#include<stdio.h>

classTable

{

(1)

intz;

public:

voidprint(intx,inty,intz);

};

voidTable::print(intx,inty,intz)

{

(2)

}

classTable9:publicTable

{

public:

voidprint();

};

voidTable9::print()

{

(3)

intx,y,z;

for(i=1;i<10;i++)

{

for(j=1;j<i+1;j++)

{

x=i;

y=j;

z=i*j;

Table::print(y,x,z);

}

printf("\n");

}

}

main()

{

//**4]

●试题六

【说明】

下面是一个Applet程序,其功能是建立2个文本区域,一个为编辑区,一个为只读区;建立2个按钮,一个实现将编辑区中被鼠标选定的文本内容拷贝到只读区中,一个实现将只读区的全部文本内容清空。

程序运行结果如图3所示。

图3importjava.awt.*;

importjava.applet.*;

/*

<appletcode="ex3_6.class"width=800height=400>

</applet>

*/

publicclassex3_6extendsApplet{

privateButtonokBtn,clearBtn;

privateStringstrMessage;

privateTextAreatArea1,tArea2;

publicvoidinit(){

strMessage="Hello!Welcometothetest!\n"+"Wishyougoodluck!";

tArea1=newTextArea(10,25);

(1);

tArea2=newTextArea(10,25);

(2);

okBtn=newButton("Copy");

clearBtn=(3);

add(tArea1);

add(tArea2);

add(okBtn);

add(clearBtn);

}

publicbooleanaction(Evente,Objecto){

if(e.target==okBtn)

tArea2.setText((4));

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论