全國計算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試2023全真模擬試卷(三)下午試題_第1頁
全國計算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試2023全真模擬試卷(三)下午試題_第2頁
全國計算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試2023全真模擬試卷(三)下午試題_第3頁
全國計算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試2023全真模擬試卷(三)下午試題_第4頁
全國計算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試2023全真模擬試卷(三)下午試題_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

全國計算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格(水平)考試

全真模擬試卷(三)下午試題(考試時間14∶00~16∶30,共150分鐘)

本試卷共六道試題,滿分75分?!裨囶}一

閱讀以下說明和流程圖(如圖1所示),回答問題1至問題4,將答案寫在答卷的對應(yīng)欄內(nèi)。

【說明】

本流程圖是將中綴表示的算術(shù)表達(dá)式轉(zhuǎn)換成后綴表示。如中綴表達(dá)式

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

的后綴表示為

ABC*D+E*-FG+/

為了方便,假定變量名為單個英文字母,運(yùn)算符只有+、-、*、/(均為雙目運(yùn)算符,左結(jié)合),并假定所提供的算術(shù)表達(dá)是非空且語法是正確的。另外,中綴表示形式中無空格符,但整個算術(shù)表達(dá)式以空格符結(jié)束。流程圖中使用的符號的意義如下:

數(shù)組IN[]存儲中綴表達(dá)式;

數(shù)組POLISH[]存儲其后綴表達(dá)式;

數(shù)組S[]是一個后進(jìn)先出棧;

函數(shù)PRIOR(CHAR)返回符號CHAR的優(yōu)先級,各符號的優(yōu)先級見表2:

表2CHARPRIOR(XHAR)*/4+-3(2)1【問題1】

填充流程圖中①的判斷條件。

【問題2】

寫出子程序A的功能,并順序?qū)懗鰧?shí)現(xiàn)該功能的操作

【問題3】

寫出子程序B的功能,并順序?qū)懗鰧?shí)現(xiàn)該功能的操作。

【問題4】

中綴表達(dá)式

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

經(jīng)該流程圖處理后的輸出是什么?

【流程圖】

圖1

●試題二

閱讀下列程序和控制流圖,將應(yīng)填入(n)的字句寫在答題紙的對應(yīng)欄內(nèi)。

【程序】圖2控制流圖下面是一段求最大值的程序,其中datalist是數(shù)據(jù)表,n是datalist的長度。

intGetMax(intn,intdatalist[]){

intk=0;

for(intj=1;j<n;j++)

if(datalist[j]>datalist[k])

k=j(luò);

returnk;

}

【控制流圖】

【問題1】

該程序的控制流圖中A~E分別是什么?

【問題2】

計算控制流圖的McCabe環(huán)路復(fù)雜性。

【問題3】

用基本路徑覆蓋法給出測試路徑。

【問題4】

為各測試路徑設(shè)計測試用例。

●試題三

請補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:只保留字符串中的大寫字母,刪除其他字符,結(jié)果仍保存在原來的字符串中,由全局變量m對刪除后字符串的長度進(jìn)行保存。

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

請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫的若干表達(dá)式或語句。

試題程序:

#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代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)?!境绦?.1說明】“背包問題”的基本描述是:有一個背包,能盛放的物品總重量為S,設(shè)有N件物品,其重量分別為w1,w2,...,wn,希望從N件物品中選擇若干件物品,所選物品的重量之和恰能放入該背包,即所選物品的重量之和等于S。如下程序均能求得“背包問題”的一組解,其中程序4.1是“背包問題”的遞歸解法,而程序4.2是“背包問題”的非遞歸解法?!境绦?.1】#include<stdio.h>#defineN7#defineS15intw[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#defineS15typedefstruct{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++代碼,將應(yīng)填入(n)處的字句寫在答卷的對應(yīng)欄內(nèi)。

【說明】

①定義類Table的私有數(shù)據(jù)成員x和y,分別用于表示九九表中的兩個乘數(shù)(x*y),它們都是int型的數(shù)據(jù)。

②完成類Table的成員函數(shù)print()的定義,該函數(shù)以“x*y=z”的格式打印出九九表中的一個乘法算式,請使用格式化輸出函數(shù)printf實(shí)現(xiàn)。

③完成類Table9的成員函數(shù)print()的定義,該函數(shù)調(diào)用基類Table的print()函數(shù),將九九表輸出到屏幕。

④補(bǔ)充主函數(shù),在屏幕上輸出九九表,以便測試所定義的類的正確性。

源程序文件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(luò);

z=i*j;

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

}

printf("\n");

}

}

main()

{

//**4]

●試題六

【說明】

下面是一個Applet程序,其功能是建立2個文本區(qū)域,一個為編輯區(qū),一個為只讀區(qū);建立2個按鈕,一個實(shí)現(xiàn)將編輯區(qū)中被鼠標(biāo)選定的文本內(nèi)容拷貝到只讀區(qū)中,一個實(shí)現(xiàn)將只讀區(qū)的全部文本內(nèi)容清空。

程序運(yùn)行結(jié)果如圖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(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論