word版試題 | word版答案 |
●試題一
閱讀以下說明和流程圖(如圖1所示),回答問題1至問題4,將答案寫在答卷的對應(yīng)欄內(nèi)。
【說明】
本流程圖是將中綴表示的算術(shù)表達(dá)式轉(zhuǎn)換成后綴表示。如中綴表達(dá)式
(A-(B*C+D)*E)/(F+G))
的后綴表示為
ABC*D+E*-FG+/
為了方便,假定變量名為單個(gè)英文字母,運(yùn)算符只有+、-、*、/(均為雙目運(yùn)算符,左結(jié)合),并假定所提供的算術(shù)表達(dá)是非空且語法是正確的。另外,中綴表示形式中無空格符,但整個(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í)見表2:
【問題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
●試題一
[問題1]
【答案】PRIOR(IN[i]):PRIOR(S[p])
[問題2]
【答案】功能: 將當(dāng)前符號(hào)IN[i]入棧
操作:p+1->p
IN[i]->S[p]
[問題3]
【答案】功能:出棧
操作:k+1->k
S[p]->POLISH[k]
p-1->p
[問題4]
【答案】AB+CD*-EF-*G/
【解析】本題考查棧的使用和中序表達(dá)式與后綴表達(dá)式的互換。
希望與其他軟考考生進(jìn)行交流?點(diǎn)擊進(jìn)入軟考論壇>>>
更多信息請?jiān)L問:考試吧軟件水平考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |