国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

2016年計(jì)算機(jī)軟件設(shè)計(jì)師模擬訓(xùn)練題

時(shí)間:2016-04-28 14:24:00   來(lái)源:無(wú)憂考網(wǎng)     [字體: ]
●試題一 閱讀以下說(shuō)明和流程圖(如圖1所示),回答問(wèn)題1至問(wèn)題4,將答案寫在答卷的對(duì)應(yīng)欄內(nèi)。 【說(shuō)明】 本流程圖是將中綴表示的算術(shù)表達(dá)式轉(zhuǎn)換成后綴表示。如中綴表達(dá)式 (A-(B*C+D)*E)/(F+G)) 的后綴表示為 ABC*D+E*-FG+/ 為了方便,假定變量名為單個(gè)英文字母,運(yùn)算符只有+、-、*、/(均為雙目運(yùn)算符,左結(jié)合),并假定所提供的算術(shù)表達(dá)是非空且語(yǔ)法是正確的。另外,中綴表示形式中無(wú)空格符,但整個(gè)算術(shù)表達(dá)式以空格符結(jié)束。流程圖中使用的符號(hào)的意義如下: 數(shù)組IN[]存儲(chǔ)中綴表達(dá)式; 數(shù)組POLISH[]存儲(chǔ)其后綴表達(dá)式; 數(shù)組S[]是一個(gè)后進(jìn)先出棧; 函數(shù)PRIOR(CHAR)返回符號(hào)CHAR的優(yōu)先級(jí),各符號(hào)的優(yōu)先級(jí)見(jiàn)表2: 【問(wèn)題1】 填充流程圖中①的判斷條件。 【問(wèn)題2】 寫出子程序A的功能,并順序?qū)懗鰧?shí)現(xiàn)該功能的操作 【問(wèn)題3】 寫出子程序B的功能,并順序?qū)懗鰧?shí)現(xiàn)該功能的操作。 【問(wèn)題4】 中綴表達(dá)式 (A+B-C*D)*(E-F)/G 經(jīng)該流程圖處理后的輸出是什么? 【流程圖】

圖1 ●試題一 [問(wèn)題1] 【答案】PRIOR(IN[i]):PRIOR(S[p]) [問(wèn)題2] 【答案】功能: 將當(dāng)前符號(hào)IN[i]入棧 操作:p+1->p IN[i]->S[p] [問(wèn)題3] 【答案】功能:出棧 操作:k+1->k S[p]->POLISH[k] p-1->p [問(wèn)題4] 【答案】AB+CD*-EF-*G/ 【解析】本題考查棧的使用和中序表達(dá)式與后綴表達(dá)式的互換。

●試題二 閱讀下列程序和控制流圖,將應(yīng)填入(n)的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。 【程序】 下面是一段求值的程序,其中datalist是數(shù)據(jù)表,n是datalist的長(zhǎng)度。 int GetMax(int n,int datalist[]){ int k=0; for(int j=1;jdatalist[k]) k=j; return k; } 【控制流圖】

圖2控制流圖 【問(wèn)題1】 該程序的控制流圖中A~E分別是什么? 【問(wèn)題2】 計(jì)算控制流圖的McCabe環(huán)路復(fù)雜性。 【問(wèn)題3】 用基本路徑覆蓋法給出測(cè)試路徑。 【問(wèn)題4】 為各測(cè)試路徑設(shè)計(jì)測(cè)試用例。 ●試題二 [問(wèn)題1] 【答案】(1)jdatalist[k]〓(4)k=j;(5)j++; [問(wèn)題2] 【答案】 McCabe環(huán)路復(fù)雜性為3。

[問(wèn)題3] 【答案】測(cè)試路徑: Pathl:①→③ Path2:①→②→④→⑥→… Path3:①→②→⑤→⑥→… [問(wèn)題4] 【答案】測(cè)試用例: Path1:取n=1,datalist[0]=1, 預(yù)期結(jié)果:k=0 Path2:取:n=2,datalist[0]=1,datalist[1]=0, 預(yù)期結(jié)果:k=0 Path3:取n=2,datalist[0]=0,datalist[1]=1, 預(yù)期結(jié)果:k=1 【解析】本題考查對(duì)軟件測(cè)試概念和過(guò)程的理解,結(jié)合具體實(shí)例運(yùn)用各種測(cè)試技術(shù),學(xué)會(huì)測(cè)試用例設(shè)計(jì)、軟件測(cè)試與程序調(diào)試的方法。軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程,其目的在于以最少的時(shí)間和人力系統(tǒng)地找出軟件中潛在的各種錯(cuò)誤和缺陷。根據(jù)2004新大綱和最近兩次軟件設(shè)計(jì)師考試的真題,不難發(fā)現(xiàn)各類系統(tǒng)分析理論的實(shí)例化考核比例逐漸升溫,只要讀者平時(shí)對(duì)這部分知識(shí)的實(shí)例多分析、多思考,這部分分?jǐn)?shù)其實(shí)不難拿到。 ●試題三 請(qǐng)補(bǔ)充函數(shù)fun(),該函數(shù)的功能是:只保留字符串中的大寫字母,刪除其他字符,結(jié)果仍保存在原來(lái)的字符串中,由全局變量m對(duì)刪除后字符串的長(zhǎng)度進(jìn)行保存。 注意:部分源程序給出如下。 請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫的若干表達(dá)式或語(yǔ)句。 試題程序: #include #include int m; void fun(char *s) { int i=0,j=0; char *p=s; while(*(p+i)) { if(*(p+i)>=′A′&&*(p+i)<=′Z′) { (1) ; } (2) ; } s[j]=′\0′; (3) ; } main() { char str[80]; clrscr(); printf("\nEnter a string:"); gets(str); printf("\n\nThe string is:\%s\n",str); fun(str); printf("\n\nThe string of changing is:\%s\n",str); printf("\n\nThe length of changed string is:\%d\n",m); } ●試題四 閱讀下列程序說(shuō)明和C代碼,將應(yīng)填入(n)處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。 【程序4.1說(shuō)明】 "背包問(wèn)題"的基本描述是:有一個(gè)背包,能盛放的物品總重量為S,設(shè)有N件物品,其重量分別為w1,w2,...,wn,希望從N件物品中選擇若干件物品,所選物品的重量之和恰能放入該背包,即所選物品的重量之和等于S。 如下程序均能求得"背包問(wèn)題"的一組解,其中程序4.1是"背包問(wèn)題"的遞歸解法,而程序4.2是"背包問(wèn)題"的非遞歸解法。 【程序4.1】 #include #define N 7 #define S 15 int w[N+1]={0,1,4,3,4,5,2,7}; int knap(int s,int n) { if(s==0)return 1; if (s<0||(s>0& &n<1))return 0; if( (1) )){ printf(″%4d″,w[n]);return 1; }return (2) ; } main(){ if( knap(S,N))printf(″OK!\n″); else printf(″N0!\n″); }

【程序4.2】 #include #define N 7 #define S 15 typedef struct { int s; int n: int job; } KNAPTP; int w[N+1]={0,1,4,3,4,5,2,7}; int knap (int s,int n); main( ) { if (knap (S,N)) printf (″OK!\n″); else printf (″NO!\n″);} int knap (int s,int n) { KNAPTP stack[100],x; int top,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;/*已求得一組解*/ else if (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]); } } return k; } ●試題五 閱讀下列程序說(shuō)明和C++代碼,將應(yīng)填入(n)處的字句寫在答卷的對(duì)應(yīng)欄內(nèi)。 【說(shuō)明】 ①定義類Table的私有數(shù)據(jù)成員x和y,分別用于表示九九表中的兩個(gè)乘數(shù)(x*y),它們都是int型的數(shù)據(jù)。 ②完成類Table的成員函數(shù)print()的定義,該函數(shù)以"x*y=z"的格式打印出九九表中的一個(gè)乘法算式,請(qǐng)使用格式化輸出函數(shù)printf實(shí)現(xiàn)。 ③完成類Table9的成員函數(shù)print()的定義,該函數(shù)調(diào)用基類Table的print()函數(shù),將九九表輸出到屏幕。 ④補(bǔ)充主函數(shù),在屏幕上輸出九九表,以便測(cè)試所定義的類的正確性。 源程序文件test8_3.cpp清單如下: #include #include class Table { (1) int z; public: void print(int x,int y,int z); }; void Table::print (int x,int y,int z) { (2) } class Table9:public Table { public: void print(); }; void Table9::print() { (3) int x,y,z; for (i=1;i<10;i++) { for(j=1;j