●試題5
閱讀下列算法說(shuō)明和流程圖1,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【算法說(shuō)明】
某旅館有N問(wèn)客房。每間客房的房間號(hào)、房間等級(jí)、床位數(shù)以及占用狀態(tài)分別存放在數(shù)組 ROOM、RANK、NUM和STATUS中。房間等級(jí)值為1、2或3。房間的狀態(tài)值為0(空閑)或1(占用)。客房是以房間(不是床位)為單位出租的。
本算法根據(jù)幾個(gè)散客的要求預(yù)訂一間空房。程序的輸入為:人數(shù)M,房間等級(jí)要求R(R=0表示任意等級(jí)都可以)。程序的輸出為:所有可供選擇的房間號(hào)。
流程圖1描述了該算法。
【問(wèn)題1】
假設(shè)當(dāng)前該旅館各個(gè)房間的情況見(jiàn)下表所示。
表5.5
序號(hào)i |
ROOM |
RANK |
NUM |
STAATUS |
1 |
1001 |
3 |
5 |
0 |
2 |
1002 |
3 |
4 |
1 |
3 |
2001 |
2 |
6 |
0 |
4 |
2002 |
2 |
4 |
1 |
5 |
3001 |
1 |
5 |
0 |
當(dāng)輸入M=3,R=2時(shí),該算法的輸出是什么?
【問(wèn)題2】
如果等級(jí)為r的房間每人每天的住宿費(fèi)為FEE(r),F(xiàn)EE為數(shù)組。為使該算法在輸出每個(gè)候選的房問(wèn)號(hào)RM(J)后,再輸出這批散客每天所需的總住宿費(fèi)SUM(J),流程圖1的b所指框處應(yīng)增加什么處理?
【問(wèn)題3】
如果限制該算法最多輸出S個(gè)可供選擇的房問(wèn)號(hào),則在流程圖1的a所指的判斷框應(yīng)改成什么處理?
【流程圖l】(如圖5.10所示)
【問(wèn)題1】解答:
算法求滿足要求的房間數(shù),根據(jù)要求,滿足人數(shù)為3,等級(jí)為2的房間只有4,因此輸出2002。
【問(wèn)題2】解答:
房間的費(fèi)用是由房間的等級(jí)和房間所住客人的數(shù)量決定的,所以在b處應(yīng)該增加: FEE(RANK(1))*M→SUM(j)
【問(wèn)題3】解答:
只需要增加限制房間的語(yǔ)句即可,a框可改為:I>NI I J>S。
●試題6
閱讀以下說(shuō)明和流程圖,回答問(wèn)題1至問(wèn)題3,將解答填人答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某電信局受理了許多用戶申請(qǐng)?jiān)谥付娫捝祥_(kāi)設(shè)長(zhǎng)話業(yè)務(wù)。長(zhǎng)話包括國(guó)內(nèi)長(zhǎng)途和國(guó)際長(zhǎng)途。電信局保存了長(zhǎng)話用戶檔案和長(zhǎng)話業(yè)務(wù)檔案。
長(zhǎng)話用戶檔案的記錄格式為
用戶編碼 |
用戶名 |
用戶地址 |
長(zhǎng)話業(yè)務(wù)檔案的記錄格式為
電話號(hào)碼 |
用戶編碼 |
國(guó)內(nèi)長(zhǎng)途許可標(biāo)志 |
國(guó)際長(zhǎng)途許可標(biāo)志 |
電話用戶每次通話的計(jì)費(fèi)數(shù)據(jù)都自動(dòng)地記錄在電信局程控交換機(jī)的磁帶上。計(jì)費(fèi)數(shù)據(jù)的記錄格式為
日 期 |
電話號(hào)碼 |
受話號(hào)碼 |
通話開(kāi)始時(shí)間 |
通話持續(xù)時(shí)問(wèn) |
用戶名 |
用戶地址 |
國(guó)內(nèi)長(zhǎng)途話費(fèi) |
國(guó)際長(zhǎng)途話費(fèi) |
話費(fèi)總額 |
流程圖描述了該系統(tǒng)的數(shù)據(jù)處理過(guò)程。
該系統(tǒng)每天對(duì)原始的計(jì)費(fèi)數(shù)據(jù)進(jìn)行分類排序,并確定每個(gè)通話記錄的通話類型(市話/國(guó)內(nèi)長(zhǎng)途/國(guó)際長(zhǎng)途),再根據(jù)話費(fèi)單價(jià)文件算出每個(gè)通話記錄應(yīng)收取的話費(fèi)。因此,形成的日計(jì)費(fèi)文件中,增加了兩個(gè)數(shù)據(jù)項(xiàng):通話類型和話費(fèi)。該系統(tǒng)每日對(duì)日計(jì)費(fèi)文件進(jìn)行累計(jì)(按電話號(hào)碼和通話類型,對(duì)該類型的話費(fèi)進(jìn)行累計(jì),得到該電話號(hào)碼該通話類型的當(dāng)月話費(fèi)總計(jì)),形成月計(jì)費(fèi)文件。
月計(jì)費(fèi)文件經(jīng)過(guò)長(zhǎng)話出賬處理形成長(zhǎng)話賬單文件。長(zhǎng)話賬單文件的記錄格式為
月 份 |
用戶編碼 |
電話號(hào)碼 |
國(guó)內(nèi)長(zhǎng)途話費(fèi) |
國(guó)際長(zhǎng)途話費(fèi) |
話費(fèi)總額 |
長(zhǎng)話賬單文件經(jīng)過(guò)處理5和處理6的處理后,就可以形成長(zhǎng)話繳費(fèi)通知單。
【問(wèn)題1】
(1)請(qǐng)說(shuō)明流程圖中的文件R0、R1分別是哪個(gè)檔案文件。
(2)處理l和處理5分別按照哪些數(shù)據(jù)項(xiàng)進(jìn)行分類?
【問(wèn)題2】
處理4能發(fā)現(xiàn)哪些錯(cuò)誤(不需考慮設(shè)備故障錯(cuò)誤)?
【問(wèn)題3】
說(shuō)明處理6的功能。
【流程圖】(如右下圖所示)
【問(wèn)題1】答案:
(1)R0是長(zhǎng)話業(yè)務(wù)檔案,R1是長(zhǎng)話用戶檔案。
(2)處理1:電話號(hào)碼;處理5:用戶編碼。
解析:R0用作處理4中。用來(lái)生成長(zhǎng)話賬單文件;根據(jù)試題說(shuō)明。月計(jì)費(fèi)文件中含有各種通話類型的話費(fèi),所以處理4的功能是將長(zhǎng)話話費(fèi)從月計(jì)費(fèi)文件中分離出來(lái),并進(jìn)行數(shù)據(jù)的驗(yàn)證,由此可知,R0是長(zhǎng)話業(yè)務(wù)檔案。
R1用作處理6中,用來(lái)生成繳費(fèi)通知單;根據(jù)試題說(shuō)明,用戶編碼是用戶在系統(tǒng)中的唯一標(biāo)識(shí),所以應(yīng)該先將長(zhǎng)話賬單文件按照用戶編碼進(jìn)行分類,由此可知。R1是長(zhǎng)話用戶檔案。
【問(wèn)題2】答案:
處理4可能發(fā)現(xiàn)的錯(cuò)誤:
(1)在長(zhǎng)話業(yè)務(wù)檔案中找不到對(duì)應(yīng)月計(jì)費(fèi)文件中電話號(hào)碼的用戶編碼。
(2)某電話號(hào)碼的月計(jì)費(fèi)文件中有國(guó)內(nèi)長(zhǎng)途通話話費(fèi),而他的國(guó)內(nèi)長(zhǎng)途許可標(biāo)志卻不許可。
(3)某電話號(hào)碼的月計(jì)費(fèi)文件中有國(guó)際長(zhǎng)途通話話費(fèi),而他的國(guó)際長(zhǎng)途許可標(biāo)志卻不許可。
【問(wèn)題3】答案:
處理6完成的功能是:對(duì)長(zhǎng)話賬單文件中的每條記錄,根據(jù)用戶編碼查詢長(zhǎng)途電話用戶檔案,找到相應(yīng)的用戶名和地址,生成長(zhǎng)話繳費(fèi)通知單。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |