【正文】
, 是按照狹義的結(jié)構(gòu)程序的定義衡量, 符合定義規(guī)定的程序 。 圖示的程序的循環(huán)控制結(jié)構(gòu)有 兩個(gè)出口 , 顯然不符合狹義的結(jié)構(gòu)程序的定義 , 因此 是非結(jié)構(gòu)化的程序 。 開 始pqg停 止TFFT作業(yè)及解答(第 6章) 54 (2)使用附加的標(biāo)志變量 flag, 至少有兩種方法可以把該程序改造為等價(jià)的結(jié)構(gòu)化程序 , 圖示盒圖描繪了等價(jià)的結(jié)構(gòu)化程序 。 作業(yè)及解答(第 6章) 55 (3)不使用 flag把該程序改造為等價(jià)的結(jié)構(gòu)化程序的方法如圖所示 。 作業(yè)及解答(第 6章) 56 C EXAMPLE LOOP:DO WHILE X0 A=B+1 IF A10 THEN X=A ELSE Y=Z END IF IF Y5 THEN PRINT X,Y ELSE IF Y=2 THEN GOTO LOOP ELSE C=3 END IF END IF 畫出下列偽碼程序的流圖,計(jì)算它的環(huán)形復(fù)雜度。你覺得這個(gè)程序的邏輯有什么問題嗎? G=H+R END DO IF F0 THEN PRINT G ELSE PRINT K END IF STOP 作業(yè)及解答(第 6章) 57 Z 0A 1 0Y = 2F 0Y 5A = B + 1Y = ZG = H + RC = 3X = AP r i n t G P r i n t KP r i n t X , Ys t o pS T A R TTTTTFF Y = 5FFTF14 56823791 01 11 1 1 11 1V(G)= 結(jié)點(diǎn) E- 弧數(shù) n+ 1 =1711+1=7 =判斷 結(jié)點(diǎn) + 1 =6 + 1= 7 =封閉的區(qū)域數(shù) 58 ?P142: 7 ?令 P代表交易的總金額, Q代表每股的售價(jià), n代表交易的股數(shù)。 ? (1)表示手續(xù)費(fèi)計(jì)算方法的判定表如圖所示。 ?判定表的每一列是一條計(jì)算規(guī)則。例如,第 1列 (規(guī)則 1)規(guī)定,當(dāng)交易總金額 P少于 1000元,且每股售價(jià) Q低于 14元,且交易的股數(shù) n是 100的倍數(shù)時(shí),給經(jīng)紀(jì)人的手續(xù)費(fèi)為 ? (l+) ?第 16列 (規(guī)則 16)表明,當(dāng)交易總金額 P超過 10000元,且每股售價(jià) Q在 14元到 25元之間,且交易的股數(shù) n不是 100的倍數(shù)時(shí),手續(xù)費(fèi)為 ? (1+) (+134) ? (2)表示手續(xù)費(fèi)計(jì)算方法的判定樹如圖所示。 作業(yè)及解答(第 6章) 59 作業(yè)及解答(第 7章) 60 作業(yè)及解答(第 7章) 61 補(bǔ)充 某高校研究生招生系統(tǒng)的初選方法如下:總分 300(含)以上進(jìn)入候選學(xué)生庫,否則退檔;數(shù)學(xué)分?jǐn)?shù)不低于 70分,則進(jìn)入三級備選庫,否則進(jìn)入四級備選庫;在三級備選庫的基礎(chǔ)上,如果專業(yè)課分?jǐn)?shù)高于 100分,則進(jìn)入一級備選庫,否則進(jìn)入二級備選庫,請畫出對應(yīng)的判定樹。 作業(yè)及解答(第 6章) 62 作業(yè)及解答(第 6章) 63 補(bǔ)充 某校的課酬計(jì)算方案如下: (l)基本課酬為每節(jié)課 10元; (2)如果班級人數(shù)超過40人,課酬增加:基本課酬 ; (3)如果班級人數(shù)超過 60人,課酬增加:基本課酬 ; (4)如果教師是副教授,課酬增加:基本課酬 ; (5)如果教師是教授,課酬增加:基本課酬 ; (6)講師,課酬不增加; (7)助教,課酬減少:基本課酬 。請用判定表表達(dá)上述計(jì)算方案。 作業(yè)及解答(第 6章) 64 1 2 3 4 5 6 7 8 9 10 11 12 人數(shù) ≤40 T T T T 40<人數(shù) ≤60 T T T T 人數(shù)> 60 T T T T 助教 T T T 講師 T T T 副教授 T T T 教授 T T T 課酬: 9元 /節(jié) √ 課酬: 10元 /節(jié) √ √ 課酬: 11元 /節(jié) √ √ √ 課酬: 12元 /節(jié) √ √ √ 課酬: 13元 /節(jié) √ √ 課酬: 14元 /節(jié) √ 65 ?補(bǔ)充作業(yè): 設(shè)計(jì)一個(gè)軟件開發(fā)規(guī)范,假象一種開發(fā)環(huán)境(硬件、系統(tǒng)軟件、支持軟件、數(shù)據(jù)庫、開發(fā)語言等)。規(guī)范內(nèi)容盡量考慮多方面問題:如 SQL語言規(guī)范、交互界面、編碼風(fēng)格、命名、設(shè)計(jì)文檔、單元測試等 作業(yè)及解答(第 7章) 66 ?P174: 5某圖書館有一個(gè)使用 CET終端的信息檢索系統(tǒng),該系統(tǒng)有下列 4個(gè)基本檢索命令: …………….. ( 1)設(shè)計(jì)測試數(shù)據(jù)以全面系統(tǒng)的正常操作 ( 2)設(shè)計(jì)測試數(shù)據(jù)以測試系統(tǒng)的非正常操作 作業(yè)及解答(第 7章) 67 START INPUT (A, B, C) //判定表達(dá)式 1 IF A5 THEN X=10 ELSE X=1 END IF //判定表達(dá)式 2 IF B10 THEN Y=20 ELSE Y=2 END IF 作業(yè)(第 7章) //判定表達(dá)式 3 IF C15 THEN Z=30 ELSE Z=3 END IF PRINT (X, Y, Z) STOP P174: 4(3) 、設(shè)計(jì)下列偽碼程序的語句覆蓋和路徑覆蓋測試用例: 68 作業(yè)(第 7章) 序號 判定 輸入 預(yù)期的輸 出 1 2 3 A B C X Y Z 1 F F F 1 1 1 1 2 3 2 T T T 20 40 60 10 20 30 語句覆蓋的測試用例 69 作業(yè)(第 7章) 序號 判定 輸入 預(yù)期的輸出 1 2 3 A B C X Y Z 1 F F F 1 1 1 1 2 3 2 F F T 1 1 60 1 2 30 3 F T F 1 40 1 1 20 3 4 F T T 1 40 60 1 20 30 5 T F F 20 1 1 10 2 3 6 T F T 20 1 60 10 2 30 7 T T F 20 40 1 10 20 3 8 T T T 20 40 60 10 20 30 路徑覆蓋的測試用例