




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件水平考試(中級(jí))軟件設(shè)計(jì)師下午
(應(yīng)用技術(shù))試題模擬試卷40
一、必答題(本題共16題,每題1.0分,共16分。)
閱讀以下某房屋租賃服務(wù)系統(tǒng)的技術(shù)說(shuō)明和數(shù)據(jù)流圖,根據(jù)要求回答問(wèn)題1?問(wèn)題
4。[說(shuō)明]某房屋租賃公司欲建立一個(gè)房屋租賃服務(wù)系統(tǒng),統(tǒng)一管理房主和租賃者
的信息,從而快速地提供租賃服務(wù)。該系統(tǒng)具有以下功能。(1)登記房主信息:對(duì)
于每名房主,系統(tǒng)需登汜其姓名、住址和聯(lián)系電話,系統(tǒng)還將為其分配一個(gè)唯一的
身份標(biāo)識(shí)(ID)和密碼,并將這些信息寫(xiě)入房主信息文件。(2)登記房屋信息:所有
在系統(tǒng)中登記的房屋都有一個(gè)唯一的識(shí)別號(hào)(對(duì)于新增加的房屋,系統(tǒng)會(huì)自動(dòng)為其
分配一個(gè)識(shí)別號(hào))。除此之外,還需登記該房屋的地址、房型(如平房、帶陽(yáng)臺(tái)的樓
房、獨(dú)立式住宅等)、最多能夠容納的房客數(shù)、租金及房屋狀態(tài)(待租賃、已出租)。
這些信息都保存在房屋信息文件中。一名房主可以在系統(tǒng)中登記多個(gè)待租賃的房
屋。(3)收取手續(xù)費(fèi):房主登記完房屋后,系統(tǒng)會(huì)生成一份費(fèi)用單,房主根據(jù)費(fèi)用
單交納相應(yīng)的費(fèi)用。(4)登記租賃者信息:所有想通過(guò)該系統(tǒng)租賃房屋的租賃者,
必須首先在系統(tǒng)中登記個(gè)人信息,租賃者信息包括姓名、現(xiàn)住址、電話號(hào)碼、出生
年月、性別,以及系統(tǒng)分配的唯一身份標(biāo)識(shí)(ID)和密碼。這些信息都保存在租賃者
信息文件中。(5)租賃房屋:已經(jīng)登記在系統(tǒng)中的租賃者,可以得到一份系統(tǒng)提供
的待租賃房屋列表。一旦租賃者從中找到合適的房屋,就可以提出看房請(qǐng)求。系統(tǒng)
將安排租賃者與房主見(jiàn)面的時(shí)間和地點(diǎn),并將見(jiàn)面信息(包含見(jiàn)面雙方的基本信息)
通知租賃者和房主。對(duì)于每次看房,系統(tǒng)會(huì)生成一條看房記錄并將其寫(xiě)入看房記錄
文件中.(6)變更房屋狀態(tài),當(dāng)租賃者與房主達(dá)成和房或退房協(xié)議后,房主向系統(tǒng)
提交變更房屋狀態(tài)的請(qǐng)求。系統(tǒng)將根據(jù)房主的請(qǐng)求,修改房屋信息文件。該房屋
租賃服務(wù)系統(tǒng)的頂層數(shù)據(jù)流圖如圖5/0所示,圖5-11是其第0層數(shù)據(jù)流圖。
房JB侑■_
房屋租黃
磨堡
■房安挎
■房支推?認(rèn)
看用房?"求
圖5/1某房屋租賃服務(wù)系統(tǒng)第0層數(shù)據(jù)流圖
1、請(qǐng)使用[說(shuō)明]中給出的詞匯,將該房屋租賃服務(wù)系統(tǒng)頂層數(shù)據(jù)流圖(見(jiàn)圖5-10)中
(1)?(4)空缺處的數(shù)據(jù)流補(bǔ)充完整。
標(biāo)準(zhǔn)答案:這是一道要求讀者掌握分層DFD父圖與子圖平衡原則和輸入榆出平衡
原則的綜合分析題.本題的解答思路如下-①仔細(xì)閱讀題干給出的[說(shuō)明]信息,
并注意到關(guān)鍵信息”收取手續(xù)費(fèi):房主登記完房屋后,系統(tǒng)會(huì)生成一份費(fèi)用單,房
主根據(jù)費(fèi)用單交納相應(yīng)的費(fèi)用''可知,在圖5-10中處理“房屋租賃服務(wù)系統(tǒng)”應(yīng)有一
個(gè)“費(fèi)用單”數(shù)據(jù)流輸出至外部實(shí)體“房主這一點(diǎn)也體現(xiàn)在圖5-11中,即處理“2
登記房屋信息”有一條“費(fèi)用單''數(shù)據(jù)流輸出至外部實(shí)體“房主”,因此圖5-10中⑴空
缺處的輸出數(shù)據(jù)流是“費(fèi)用單”。②由題干給出的關(guān)鍵信息“相賃房屋:已經(jīng)登記在
系統(tǒng)中的租賃者,可以得到一份系統(tǒng)提供的待租賃房屋列表……”,給合圖5-11中
處理“4查詢(xún)待租賃房屋信息”有一條“待租賃房屋列表”數(shù)據(jù)流輸出至外部實(shí)體“租賃
者”可知,在圖5-10中⑵空缺處的輸出數(shù)據(jù)流是“待租賃房屋列表”。③由題干給
出的關(guān)鍵信息“租賃房屋:已經(jīng)登記在系統(tǒng)中的租賃者……租賃者從中(即待租賃房
屋列表)找到合適的房屋,就可以提出看房請(qǐng)求。系統(tǒng)會(huì)……可知,在圖5-10中
應(yīng)有一條“看房請(qǐng)求”數(shù)據(jù)流從外部實(shí)體“租賃者”輸入到處理“房屋租賃服務(wù)系統(tǒng)”。
因此圖5-10中(3)空缺處的輸入數(shù)據(jù)流是“看房請(qǐng)求”。④由題干給出的關(guān)鍵信息
“變更房屋狀態(tài):當(dāng)租賃者與房主達(dá)成租房或退房協(xié)議后,房主向系統(tǒng)提交變更房
屋狀態(tài)的請(qǐng)求。系統(tǒng)將……”可知,在圖5-10中應(yīng)有一條“變更房屋狀態(tài)請(qǐng)求”數(shù)據(jù)
流從外部實(shí)體“房主”輸入到處理“房屋租賃服務(wù)系統(tǒng)”。因此圖5-10中(4)空缺史的
輸入數(shù)據(jù)流是“變更房屋狀態(tài)請(qǐng)求”。
知識(shí)點(diǎn)解析:暫無(wú)解析
2、請(qǐng)使用[說(shuō)明]中給出的詞匯,將該房屋租賃服務(wù)系統(tǒng)第0層數(shù)據(jù)流圖(見(jiàn)圖5-11)
中的(5)?(8)空缺處的數(shù)據(jù)存儲(chǔ)補(bǔ)充完整。
標(biāo)準(zhǔn)答案:這是一道要求讀者掌握分層DFD局部數(shù)據(jù)存儲(chǔ)隱蔽性原則的綜合分析
題。本題的解答思路如下。①由于在圖5-11中(5)空缺處的數(shù)據(jù)存儲(chǔ)與處理“1登
記房主信息”相關(guān)聯(lián),因此應(yīng)重點(diǎn)閱讀題干說(shuō)明中“登記房主信息”相關(guān)的信息。由
題干紿出的關(guān)鍵信息'、登記房主信息:對(duì)于每名房主……并將這些信息寫(xiě)入房主信
息文件”可知,在圖5-11中處理“1登記房主信息”應(yīng)有一條“房主信息”數(shù)據(jù)流輸出
到數(shù)據(jù)存儲(chǔ)“房主信息文件”,即圖5-11中(5)空缺處的數(shù)據(jù)存儲(chǔ)是“房主信息文
件②由題干給出的關(guān)鍵信息“登記房屋信息:所有在系統(tǒng)中登記的房屋……這
些信息都保存在房屋信息文件中……”可知,在圖5-11中處理“2登記房屋信息”應(yīng)
有一條“房屋信息”數(shù)據(jù)流輸出到數(shù)據(jù)存儲(chǔ)“房屋信息文件”,因此圖5-11中(7)空缺
處的數(shù)據(jù)存儲(chǔ)是“房屋信息文件另外,在圖5-11中(7)空缺處的數(shù)據(jù)存儲(chǔ)也與處
理“6變更房屋狀態(tài)”相關(guān)聯(lián)。由題干給出的關(guān)鍵信息、”變更房屋狀態(tài):當(dāng)租賃者與
房主達(dá)成……系統(tǒng)將根據(jù)房主的請(qǐng)求,修改房屋信息文件”可知,在圖5-11中處理
“6變更房屋狀態(tài)”應(yīng)有一條“房屋變更信息”數(shù)據(jù)流輸出給數(shù)據(jù)存儲(chǔ)“房屋信息文
件③由題干給出的關(guān)鍵信息”登記租賃者信息」所有想通過(guò)該系統(tǒng)租賃房屋的
租賃者……這些信息都保存在租賃者信息文件中。”可知,處理“3登記租賃者信
息”應(yīng)有一個(gè)“租賃者信息”數(shù)據(jù)流輸出到數(shù)據(jù)存儲(chǔ)“租賃者信息文件”,因此圖5-11
中(6)空缺處的數(shù)據(jù)存儲(chǔ)是“租賃者信息文件”。④由題干給出的關(guān)鍵信息“租賃房
屋:已經(jīng)登記在系統(tǒng)中的租賃者……對(duì)于每次看房,系統(tǒng)會(huì)生成一條看房記錄并將
其寫(xiě)入看房記錄文件中”可知,處理“5安排租賃者看房”應(yīng)有一條“看房記錄”數(shù)據(jù)流
輸出到數(shù)據(jù)存儲(chǔ)“看房記錄文件”,因此圖5-11中⑻空缺處的數(shù)據(jù)存儲(chǔ)是“看房記錄
文件
知識(shí)點(diǎn)解析;暫無(wú)解析
3、請(qǐng)將以下與租賃者信息相關(guān)的數(shù)據(jù)字典條目補(bǔ)充完整。登錄信息二租賃者ID+
密碼注冊(cè)信息=(9)租賃者信息=(10)
標(biāo)準(zhǔn)答案:由題干給出的關(guān)鍵信息“登記租賃者信息:所有想……租賃者信息包括
姓名、現(xiàn)住址、電話號(hào)碼、出生年月、性別,以及系統(tǒng)分配的唯一身份標(biāo)識(shí)(ID)和
密碼”,結(jié)合試題中已給出的信息”登錄信息:租賃者ID+密碼”可知,該系統(tǒng)將“租
賃者信息”劃分為“登錄信息''和"注冊(cè)信息''兩部分,所以租賃者信息中除去登錄信
息就是注冊(cè)信息,將其表達(dá)成數(shù)據(jù)字典條目形式如下。注冊(cè)信息:姓名+現(xiàn)住址+電
話號(hào)碼+出生年月+性別租賃者信息=登錄信息+注冊(cè)信息
知識(shí)點(diǎn)解析:暫無(wú)解析
4、該房屋租賃服務(wù)系統(tǒng)第。層數(shù)據(jù)流圖(見(jiàn)圖5-11]中缺失了一些數(shù)據(jù)流,請(qǐng)指出
所缺失數(shù)據(jù)流的名稱(chēng)、起點(diǎn)和終點(diǎn)。
標(biāo)準(zhǔn)答案:這也是一道要求讀者掌握分層DFD父圖與子圖平衡原則和輸入/輸出平
衡原則的綜合分析題。本題的解答思路如下。①結(jié)合[問(wèn)題1]的分析結(jié)果可知,在
圖5-10中與外部實(shí)體“租賃者”相關(guān)的輸入/輸出數(shù)據(jù)共有5條(即租賃者信息、待租
賃房屋列表、看房請(qǐng)求、看房通知和查詢(xún)房屋請(qǐng)求),而在圖5-11中與外部實(shí)體
"租賃者''相關(guān)的輸入/輸出數(shù)據(jù)僅畫(huà)出了3條(即待租賃房屋列表、看房通知和查詢(xún)
房屋請(qǐng)求),缺少了“租賃者信息”和“看房請(qǐng)求''這兩條數(shù)據(jù)流。②由題干給出的關(guān)
鍵信息“登記租賃者信息:所有想通過(guò)該系統(tǒng)租賃房屋的租賃者,必須首先在系統(tǒng)
中登記個(gè)人信息……這些信息都保存在租賃者信息文件中”可知,在圖5-11中應(yīng)有
?條“租賃者信息”數(shù)據(jù)流從外部實(shí)體“租賃者”輸入到處理“3登記租賃者信息”,然
后再將租賃者的相關(guān)信息保存到數(shù)據(jù)存儲(chǔ)“租賃者信息文件''中。③由題干給出的
關(guān)鍵信息“租賃房屋:己經(jīng)登記……一旦租賃者從中找到合適的房屋,就可以提出
看房請(qǐng)求。系統(tǒng)會(huì)安排租賃者與房主見(jiàn)面的時(shí)間和地點(diǎn),并將見(jiàn)面信息(包含見(jiàn)面
雙方的基本信息)通知租賃者和房主。對(duì)于每次看房,系統(tǒng)會(huì)生成一條看房記錄并
將其寫(xiě)入看房記錄文件中“可知,在圖5-11中應(yīng)有一條“看房請(qǐng)求”數(shù)據(jù)流從外部實(shí)
體“租賃者”輸入到處理“5安排租賃者看房”,然后再將看房記錄保存到數(shù)據(jù)存儲(chǔ)“看
房記錄文件”中。同時(shí)注意到“將見(jiàn)面信息(包含見(jiàn)面雙方的基本信息)通知租賃者和
房主”這一關(guān)鍵信息,見(jiàn)面雙方的基本信息也被包含在“見(jiàn)面信息”中,安排見(jiàn)面時(shí)
需要查詢(xún)租賃者信息文件和房主信息文件以獲得雙方的基本信息,并將見(jiàn)面信息通
知雙方,因此在圖5-11中應(yīng)有一條“查詢(xún)租賃者信息”數(shù)據(jù)流從處理“5安排租賃者
看房”輸出到數(shù)據(jù)存儲(chǔ)“租賃者信息文件”;在圖5-11中還應(yīng)有一條“查詢(xún)房主信息”
數(shù)據(jù)流從處理“5安排租賃者看房”輸出到數(shù)據(jù)存儲(chǔ)“房主信息文件”。④同理,在圖
5-10中與外部實(shí)體“房主”相關(guān)的輸入/輸出數(shù)據(jù)共有6條,而在圖5-11中與外部實(shí)
體“房主”相關(guān)的輸入/輸出數(shù)據(jù)僅畫(huà)出了5條,即缺少了數(shù)據(jù)流“變更房屋狀態(tài)請(qǐng)
求⑤由題干給出的關(guān)鍵信息“變更房屋狀態(tài):當(dāng)租賃者與房主達(dá)成租房或退房
協(xié)議后,房主向系統(tǒng)提交變更房屋狀態(tài)的請(qǐng)求。系統(tǒng)將根據(jù)房主的請(qǐng)求,修改房屋
信息文件”可知,在圖5-11中應(yīng)有一條“變更房屋狀態(tài)請(qǐng)求”數(shù)據(jù)流從外部實(shí)體“房
主''輸入到處理“6變更房屋狀態(tài)”。
知識(shí)點(diǎn)解析:暫無(wú)解析
閱讀以下某工廠人事信息管理系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)說(shuō)明,根據(jù)要求回答問(wèn)題1?問(wèn)題
4。【說(shuō)明]某工廠有多個(gè)部門(mén),每個(gè)部門(mén)有多位職工,每位職工屬于并且僅屬于一
個(gè)部門(mén),每個(gè)部門(mén)有一位負(fù)責(zé)人,每個(gè)辦公室有一部電話。每位職工的月工資大致
是:800W月工資“500元。軟件開(kāi)發(fā)公司A為該工廠開(kāi)發(fā)的信息管理數(shù)據(jù)庫(kù)的部
分關(guān)系模式如下所示。職工(職工號(hào),姓名,年齡,月工資,部門(mén)號(hào),電話,辦公
室)部門(mén)(部門(mén)號(hào),部門(mén)名,負(fù)責(zé)人代碼,任職時(shí)間)其中“職工”和“部門(mén)”的關(guān)系示
例分另ij見(jiàn)表5-17和表5-18。
表5-17“職工”關(guān)系示例表
職工號(hào)姓名年齡月工資部門(mén)號(hào)電話辦公室
1001鄭俊華26100018001234主樓201
1002王平27110018001234主樓201
2001王曉華381300280012351號(hào)樓302
2002李力24800280012361號(hào)樓303
3001黎運(yùn)軍42130038001237主樓202
4001李源24800380012452號(hào)樓102
4002李興民361200480012462號(hào)樓103
5001趙欣250Null??????
???????????????????■?
表5-18“部門(mén)”關(guān)系示例表
部門(mén)號(hào)部門(mén)名負(fù)責(zé)人代碼任職時(shí)間
1人事處10022004-8-3
2機(jī)關(guān)20012004-8-3
3銷(xiāo)售科
4生產(chǎn)科40022003-6-1
5車(chē)間
5、請(qǐng)使用“關(guān)系模式標(biāo)記規(guī)則”(見(jiàn)本題附錄),給出上述各關(guān)系模式的主鍵和外
鍵。
標(biāo)準(zhǔn)答案:這是一道要求考生根據(jù)題目給定的關(guān)系模式,以及屬性間的函數(shù)依賴(lài)關(guān)
系和給定的關(guān)系實(shí)例來(lái)確定各關(guān)系模式主鍵和外鍵的綜合分析題。木試題的解答思
路如下。(1)由試題中給出的關(guān)鍵信息“某工廠有多個(gè)部門(mén),每個(gè)部門(mén)有多位職工,
每位職工屬于并且僅屬于一個(gè)部門(mén),每個(gè)部門(mén)有一位負(fù)責(zé)人.....每位職工的月工
資大致是:800W月工資“500元”,可以整理出如表5-24所示的關(guān)系模式主要屬
性、含義及約束。
表5-24主要屬性、含義及約束表
屬性含義及約束
職工號(hào)唯一標(biāo)識(shí)每個(gè)職工的編號(hào),每個(gè)職工屬于并且僅屬于一個(gè)部門(mén)
部門(mén)號(hào)唯一標(biāo)識(shí)每個(gè)部門(mén)的編號(hào),每個(gè)部門(mén)有一個(gè)負(fù)責(zé)人,且他也是一位職工
月工資500W月工資W5000元
(2)設(shè)K為R(U,F)中的屬性的組合,若且對(duì)于K的任何一個(gè)真子集K,,都
有K,不能決定U,則K為R的候選碼(候選關(guān)鍵字)。若有多個(gè)候選碼,則選一個(gè)
作為主碼(主鍵)。(3)部門(mén)關(guān)系模式的主鍵和外鍵。由題目中給出的關(guān)鍵信息“某工
廠有多個(gè)部門(mén),……每個(gè)部門(mén)有一位負(fù)責(zé)人“,并且結(jié)合試題所給出的“部門(mén)”關(guān)系
示例(見(jiàn)表5-18)可知,僅用“部門(mén)號(hào)”作為主鍵,可以唯一區(qū)分部門(mén)關(guān)系中的每一個(gè)
元組。同時(shí)考慮到部門(mén)負(fù)責(zé)人應(yīng)該來(lái)自職員,所以“負(fù)責(zé)人代碼”應(yīng)為部門(mén)關(guān)系模式
的外鍵。最后可得部門(mén)關(guān)系模式的主鍵和外鍵如下:部門(mén)(部門(mén)號(hào),部門(mén)名,
負(fù)貢人代碼,任職時(shí)間)(4)職工關(guān)系模式的主鍵和外鍵。由題干中給出的關(guān)鍵信息
“每位職工屬于并且僅屬于一個(gè)部門(mén)”可知,僅用"職工號(hào)''作為主鍵,可以唯一區(qū)分
職工關(guān)系中的每一個(gè)元組0同時(shí)考慮到“部門(mén)號(hào)”是部門(mén)關(guān)系模式的主犍,所以它應(yīng)
是職工關(guān)系模式的外鍵。最后可得職工關(guān)系模式的主鍵和外鍵如下:職工(職工
號(hào),姓名,年齡,月工資,部C1號(hào),電話,辦公室)。
知識(shí)點(diǎn)解析:暫無(wú)解析
6、對(duì)于表5-17和表5-18所示的“職工”和“部門(mén)”關(guān)系,請(qǐng)指出表5-19中第①、②
和③行是否允許插入?請(qǐng)分別用100字以?xún)?nèi)的文字簡(jiǎn)要說(shuō)明理由。
表5-19新噌“職工”關(guān)系示例表
行號(hào)職工號(hào)姓名年齡月工資部門(mén)號(hào)電話辦公室
①1001王新軍28100018001234主樓201
②2003李力281000
③5802趙曉嘯361500680015683號(hào)樓503
標(biāo)準(zhǔn)答案:這是一道要求考生掌握完整性定義的約束性的綜合分析題。本試題的解
答思路如下。(1)用SQL定義關(guān)系模式的一個(gè)非常重要的問(wèn)題是完整性控制。完整
性控制應(yīng)具有①定義功能、②檢測(cè)功能和③處理功能等3方面的功能。一旦發(fā)現(xiàn)
違背了完整性約束條件,則應(yīng)采取相關(guān)的動(dòng)作來(lái)保證數(shù)據(jù)的完整性。數(shù)據(jù)庫(kù)中最重
要的約束是聲明一個(gè)或一組屬性形成關(guān)系的鍵。鍵的約束在SQL的CREATE
TABLE命令中聲明。在關(guān)系系統(tǒng)中,最重要的完整性約束條件是:實(shí)體完整性和
參照完整性。(2)實(shí)體完整性定義。在關(guān)系中只能有一個(gè)主鍵。聲明主鍵有以下兩
種方法:①將PRIMARYKEY保留字加在屬性類(lèi)型之后;②在屬性列表中引入一
個(gè)新元素,該元素包含保留字PRIMARYKEY和用圓括號(hào)括起的,形成該鍵的屬
性或?qū)傩越M列表。(3)參照完整性定義。定義格式如下:
FOREIGNKEY(屬性名)REFERENCES表名(屬性名)
【ONDELETECASCADEISETNULL]參照完整性是通過(guò)使用保留字
“FOREIGNKEY”定義哪些列為外碼;REFERENCES用于指明外鍵對(duì)應(yīng)于哪個(gè)表
的主鍵:ONDELETECASCADE指明刪除被參照關(guān)系的元組時(shí),同時(shí)刪除參照關(guān)
系中的元組;SETNULL表示置為空值方式。(4)由于在職工表的定義中,職工號(hào)
主碼是唯一標(biāo)識(shí)每個(gè)元組(記錄)的,而在表5-19第①行中的職工號(hào)是“1001”,在
題目給出的表5-17“職工”關(guān)系示例表中已經(jīng)存在該職主號(hào)的記錄,為了保證實(shí)體的
完整性,該條記錄不能插入。(5)表5-19第②行的元組可以插入到表5-17“職工”關(guān)
系表中,盡管部門(mén)號(hào)、電話和辦公室為空,但是它表示該雇員暫時(shí)沒(méi)有分配到某個(gè)
部門(mén)。雖然職工表中部門(mén)號(hào)是外鍵,但在定義中也沒(méi)有約束它不能為空。(6)表5-
19第③行的元組不能插入到表5-17“職工”關(guān)系表中,部門(mén)號(hào)是外鍵,而在部門(mén)關(guān)
系中找不到部門(mén)號(hào)為“6”的元組,違反了參照完整性,所以不能做插入操作。
知識(shí)點(diǎn)解析:暫無(wú)解析
7、查詢(xún)每個(gè)部門(mén)中月工資最高的“職工號(hào)”的SQL查詢(xún)語(yǔ)句如下。
Select職工號(hào)from職工E
where月工資=(SelectMax(月工資)
fromWCasM
whereM.部門(mén)號(hào)=E.部門(mén)號(hào))(])請(qǐng)用30字以?xún)?nèi)文字簡(jiǎn)要說(shuō)明該查詢(xún)語(yǔ)句對(duì)查
詢(xún)效率的影響。(2)對(duì)該查詢(xún)語(yǔ)句進(jìn)行修改,使它既可以完成相同功能,乂可以提
高查詢(xún)效率。
標(biāo)準(zhǔn)答案:這是一道要求考生分析查詢(xún)效率的綜合分析題。通常在涉及相關(guān)查詢(xún)的
某些情形中,構(gòu)造臨時(shí)關(guān)系可以提高查詢(xún)效率。(1)試題中所給出的SQL查詢(xún)語(yǔ)
句,對(duì)于外層的職工關(guān)系E中的每一個(gè)元組,都要對(duì)內(nèi)層的整個(gè)職工關(guān)系M進(jìn)行
檢索,因此查詢(xún)效率不高。(2)對(duì)該查詢(xún)語(yǔ)句進(jìn)行修改,使它既可以完成相同功
能,乂可以提高查詢(xún)效率。解答思路①:改正后的SQL語(yǔ)句使用了臨時(shí)表。
SelectMax(月工資)as最高工資,部門(mén)號(hào)intcTernpfrom職T
Groupby部門(mén)號(hào)
Selecz號(hào)fromKX,Temp
where月工資=最高工資and職工.部門(mén)號(hào)=Tenp.部門(mén)號(hào)解答思路②:
Select職工號(hào)from職工,(SelectMax(月工資)as最高匚資,部門(mén)號(hào)Groupby部門(mén)W)
asdepMax
where月工資-1ft高1-資and職工用門(mén)號(hào):depMax.部門(mén)號(hào)
知識(shí)點(diǎn)解析:暫無(wú)解析
8、假定分別在“職工”關(guān)系中的“年齡”和“月工資”字段上創(chuàng)建了索引,如下的Select
查詢(xún)語(yǔ)句可能不會(huì)促使查詢(xún)優(yōu)化器使用索引,從而降低查詢(xún)效率,請(qǐng)寫(xiě)出既可以完
成相同功能又可以提高查詢(xún)效率的SQL語(yǔ)句。
Select姓名,年齡,月工資from職工
where年齡>45or月工資<100Ci
標(biāo)準(zhǔn)答案:本試題所給出的原Select查詢(xún)語(yǔ)句中使用了條件or,系統(tǒng)在查詢(xún)的時(shí)候
將對(duì)全表進(jìn)行掃描,不會(huì)促使查詢(xún)優(yōu)化器使用索引,從而降低了查詢(xún)效率。既可
以完成相同功能乂可以提高查詢(xún)效率的SQL語(yǔ)句修改如下。
Select姓名,年齡,月工資from職工
where年齡>45;
union
Select姓名,年齡,月工資frocr.職工
where年齡月工費(fèi)(1000:
知識(shí)點(diǎn)解析:暫無(wú)解析
9、該數(shù)據(jù)庫(kù)系統(tǒng)在設(shè)計(jì)時(shí),采用了異構(gòu)數(shù)據(jù)庫(kù)技術(shù)。請(qǐng)給出目前3種通用的異構(gòu)
數(shù)據(jù)庫(kù)查詢(xún)技術(shù)。[附]關(guān)系模式的標(biāo)記規(guī)則如下關(guān)系名(屬性名1,屬性名
2,屬性名n)其中:①若該屬性?xún)H為主鍵屬性時(shí),則該屬性名下畫(huà)實(shí)下畫(huà)
線;②若該屬性?xún)H為外鍵屬性時(shí),則該屬性名下畫(huà)虛下畫(huà)線;③若該屬性既是主
鍵屬性,又是外鍵屬性時(shí),則在該屬性名下畫(huà)實(shí)下畫(huà)線和虛下畫(huà)線;④若該屬性
既不是主鍵屬性,乂不是外鍵屬性時(shí),則在該屬性名下不做標(biāo)記。
標(biāo)準(zhǔn)答案:這是一道要求考生掌握異構(gòu)數(shù)據(jù)庫(kù)的基本概念題。本題所涉及的知識(shí)點(diǎn)
如下。異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)是相關(guān)的多個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的集合,可以實(shí)現(xiàn)數(shù)據(jù)的共享和
透明訪問(wèn),每個(gè)數(shù)據(jù)庫(kù)系統(tǒng)在加入異構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)之前本身就已經(jīng)存在,擁有各自
的DMBS。異構(gòu)數(shù)據(jù)庫(kù)的各個(gè)組成部分具有自身的自治性,實(shí)現(xiàn)數(shù)據(jù)共享的同
時(shí),每個(gè)數(shù)據(jù)庫(kù)系統(tǒng)仍保有各自的應(yīng)用特性、完整性控制和安全性控制。目前通用
的異構(gòu)數(shù)據(jù)庫(kù)查詢(xún)技術(shù)包括公共數(shù)據(jù)庫(kù)網(wǎng)關(guān)技術(shù)、公共協(xié)議技術(shù)和公共編程接口技
術(shù)。
知識(shí)點(diǎn)解析:暫無(wú)解析
閱讀以下UML類(lèi)圖及其說(shuō)明,根據(jù)要求回答問(wèn)題I?問(wèn)題4。[說(shuō)明]某客戶(hù)信息
管理系統(tǒng)中保存著兩類(lèi)客戶(hù)的信息:①個(gè)人客戶(hù)。對(duì)于這類(lèi)客戶(hù),系統(tǒng)保存了其
客戶(hù)標(biāo)識(shí)(由系統(tǒng)生成)和基本信息(包括姓名、住宅電話和E-mail)。②集團(tuán)客戶(hù)。
集團(tuán)客戶(hù)可以創(chuàng)建和管理自己的若干名聯(lián)系人。對(duì)于這類(lèi)客戶(hù),系統(tǒng)除了保存其客
戶(hù)標(biāo)識(shí)(由系統(tǒng)生成)之外,也保存了其聯(lián)系人的信息。聯(lián)系人的信息包括姓名、住
宅電話、E-mail、辦公電話以及職位。該系統(tǒng)除了可以保存客戶(hù)信息之外,還具有
以下功能:①向系統(tǒng)中添加客戶(hù)(addCustomer);②根據(jù)給定的客戶(hù)標(biāo)識(shí)在系統(tǒng)中
查找該客戶(hù)(getCustomer);③根據(jù)給定的客戶(hù)標(biāo)識(shí)從系統(tǒng)中刪除該客戶(hù)
(removeCustomer);④創(chuàng)建新的聯(lián)系人(addContactj;⑤在系統(tǒng)中查找指定的聯(lián)系
人(getContact);⑥從系統(tǒng)中刪除指定的聯(lián)系人(removcContact)。該系統(tǒng)采用面向
對(duì)象方法進(jìn)行開(kāi)發(fā)。在面向?qū)ο蠓治鲭A段,根據(jù)上述描述,得到如表5-20所示的
類(lèi)。
表6-20客戶(hù)信息管理系統(tǒng)類(lèi)表
類(lèi)名說(shuō)明
CustomerlnformationSystem客戶(hù)信息管理系統(tǒng)
IndividualCustomer個(gè)人客戶(hù)
InstitutionalCustomer集團(tuán)客戶(hù)
Contact聯(lián)系人
眄述該置戶(hù)信息管理系統(tǒng)的UML類(lèi)圖如圖5-12所示。
ICustoaerlnforBHtionSysteaI
----------3rp-----------
|Custceer"|
[IM£v,dua!Cu$toaor]|InttitutionalCustcwr|
(5)1Hi
'---尸]
[叫:――」
圖542客戶(hù)信息管理系統(tǒng)的UML類(lèi)圖
10、根據(jù)上述描述,圖5-12中類(lèi)Cuslomer的屬性是(1);類(lèi)Person的屬性是(2)。
(1)A.客戶(hù)標(biāo)識(shí)B.姓名、住宅電話、E-mailC.客戶(hù)標(biāo)識(shí)、辦公電話、職位
D.姓名、住宅電戶(hù)、辦公電話、E-mail、職位⑵A.客戶(hù)標(biāo)識(shí)B.姓名、住
宅電話、E-mailC.客戶(hù)標(biāo)識(shí)、辦公電話、職位D.姓名、住宅電戶(hù)、辦
公電話、E-mail>職位
標(biāo)準(zhǔn)答案:由試題關(guān)鍵信息”……對(duì)于這類(lèi)客戶(hù)(個(gè)人客戶(hù)),系統(tǒng)保存了其客戶(hù)標(biāo)
識(shí)……對(duì)于這類(lèi)客戶(hù)(集團(tuán)客戶(hù)),系統(tǒng)保存了其客戶(hù)標(biāo)識(shí)……”可知,“客戶(hù)標(biāo)識(shí)”是
個(gè)人客戶(hù)和集團(tuán)客戶(hù)的共同屬性,囚此該標(biāo)識(shí)也必然是類(lèi)“客戶(hù)”的一個(gè)屬性。據(jù)此
可先排除(1)空缺處的選項(xiàng)B和選項(xiàng)D。而選項(xiàng)C的“辦公電話、職位”是類(lèi)
InstitutionalCustomer(集團(tuán)客戶(hù))的屬性,如果它們也是類(lèi)“客戶(hù)”的屬性,那么類(lèi)
Individualcustomer(個(gè)人客戶(hù))也必然繼承這兩個(gè)屬性,而試題中對(duì)于類(lèi)“個(gè)人客戶(hù)”
無(wú)此相關(guān)描述,可見(jiàn)選項(xiàng)C不是正確答案。因此依據(jù)試題的描述,類(lèi)Customer(客
戶(hù))的屬性只有“客戶(hù)標(biāo)識(shí)”。因此(1)空缺處的正確答案是選項(xiàng)A。在UML類(lèi)圖
中,---->'表示其相連的兩個(gè)類(lèi)之間存在泛化關(guān)系,即在圖5-12中類(lèi)Person(人)
是類(lèi)Contact(聯(lián)系人)的基類(lèi);----表示其相連的兩個(gè)類(lèi)之間存在關(guān)聯(lián)關(guān)系,即
在圖5-12中類(lèi)Person與IndividualCuslomer(個(gè)人客戶(hù))之間具有關(guān)聯(lián)關(guān)系。由試題
關(guān)鍵信息“對(duì)于這類(lèi)客戶(hù)(個(gè)人客戶(hù)),系統(tǒng)保存了其客戶(hù)標(biāo)識(shí)和基本信息(包拈姓
名、住宅電話和E-mail)”,以及對(duì)⑴空缺處解析中類(lèi)“個(gè)人客戶(hù)”繼承了類(lèi)“客戶(hù)”的
“客戶(hù)標(biāo)識(shí)”屬性,可見(jiàn)類(lèi)“個(gè)人客戶(hù)”還有“姓名、住宅電話和E?mail”屬性沒(méi)有體
現(xiàn),在圖5-12中這些屬性應(yīng)該從類(lèi)Person(人)中進(jìn)行關(guān)聯(lián)。從試題關(guān)鍵信息“聯(lián)系
人的信息包括姓名、住宅電話、E-mail.辦公電話和職位”可知,類(lèi)Contact(聯(lián)系
人)除了從類(lèi)"人''中繼承了“姓名、住宅電話和E-mail”屬性之外,還追加了“辦公電
話、職位”屬性。這一點(diǎn)分析也證明了類(lèi)Person(人)具有“姓名、住宅電話和E-mail”
的屬性。因此⑵空缺處的正確答案是選項(xiàng)B。
知識(shí)點(diǎn)解析:暫無(wú)解析
11、識(shí)別關(guān)聯(lián)的多重度是面向?qū)ο蠼_^(guò)程中的一個(gè)重要步驟。根據(jù)說(shuō)明中給出的
描述,請(qǐng)將圖5-12中⑶?(8)空缺處的內(nèi)容填寫(xiě)完整。
標(biāo)準(zhǔn)答案:關(guān)聯(lián)表示了對(duì)象間的結(jié)構(gòu)關(guān)系,它暗示兩個(gè)類(lèi)在概念上位于相同的級(jí)
別。在UML類(lèi)圖中,符號(hào),-A表示其相連的兩個(gè)類(lèi)之間存在關(guān)聯(lián)關(guān)系。識(shí)別
關(guān)聯(lián)的多重度是面向?qū)ο蠼_^(guò)程中的一個(gè)重要步驟。即說(shuō)明一個(gè)關(guān)聯(lián)的實(shí)例中有
多少個(gè)相互連接的對(duì)象是很重要的。其中,這個(gè)“多少”被稱(chēng)為關(guān)聯(lián)角色的多重度,
把它寫(xiě)成一個(gè)表示取值范圍的表達(dá)式或?qū)懗梢粋€(gè)具體值。指定關(guān)聯(lián)一端的多重
度,就是說(shuō)明在關(guān)聯(lián)另一端的類(lèi)的每個(gè)對(duì)象要求在本端的類(lèi)必須有多少個(gè)對(duì)象。由
題干給出的關(guān)鍵信息“集團(tuán)客戶(hù)可以創(chuàng)建和管理自己的若干名聯(lián)系人”可知,類(lèi)
InstitutionalCustomer(集團(tuán)客戶(hù))和類(lèi)Contact(聯(lián)系人)之間存在著一對(duì)多(l:m)的聯(lián)
系。根據(jù)圖5-12類(lèi)圖中給出的關(guān)聯(lián)導(dǎo)航,(7)空缺處應(yīng)填入(8)空缺處應(yīng)填入
“1…叱。客戶(hù)管理系統(tǒng)中必然包含若干個(gè)需要管理的客戶(hù)信息,即類(lèi)
CustomcrInfonnationSysicm(客戶(hù)信息管理系統(tǒng))與類(lèi)Customer(客戶(hù))之間存在著一
對(duì)多(l:m)的聯(lián)系。根據(jù)圖5-12類(lèi)圖中給出的關(guān)聯(lián)導(dǎo)航,(3)空缺處應(yīng)填入“1”,(4)
空缺處應(yīng)填入“0...*”。根據(jù)[問(wèn)題1]的解析可知,類(lèi)Person(人)的屬性有姓名、住
宅電話和E-mail,類(lèi)Customer(客戶(hù))的屬性是“客戶(hù)標(biāo)識(shí)類(lèi)
Individualcustomer(個(gè)人客戶(hù))從類(lèi)Customer只能繼承到屬性“客戶(hù)標(biāo)識(shí)”,其他的屬
性都要依靠與類(lèi)Person之間的關(guān)聯(lián)關(guān)系來(lái)獲取,即類(lèi)Person(人)、類(lèi)
Individualcustomer(個(gè)人客戶(hù))端的關(guān)聯(lián)多重度均為"I”。因此(5)空缺處應(yīng)填入“1”,
(6)空缺處應(yīng)填入“1”。
知識(shí)點(diǎn)解析?:暫無(wú)解析
12、根據(jù)說(shuō)明中的敘述,抽象出如表5-21所示的方法。
表5-21各方法名稱(chēng)及功能描述表
功能描述方法名
向系統(tǒng)中添加客戶(hù)addCustomer
根據(jù)給定的客戶(hù)標(biāo)識(shí),在系統(tǒng)中查找該客戶(hù)getCustomer
根據(jù)給定的客戶(hù)標(biāo)識(shí),從系統(tǒng)中刪除該客戶(hù)removeCustomei
創(chuàng)建新的聯(lián)系人addContact
在系統(tǒng)中查找指定的聯(lián)系人getContact
從系統(tǒng)中刪除指定的聯(lián)系人removeContact
請(qǐng)指出圖5-12中,類(lèi)CuslomerlnformationSystem應(yīng)具有的方法:(9);類(lèi)
InstitutionalCustomer應(yīng)具有的方法:(10)。
標(biāo)準(zhǔn)答案:類(lèi)CustomerlnformalionSyslem(客戶(hù)信息管理系統(tǒng))的作用是向用戶(hù)提供
與客戶(hù)管理相關(guān)的操作接口,所以addCustomer、getCustomer和removeCuslomer
是類(lèi)CustomerlnfomiationSystem(客戶(hù)信息管理系統(tǒng))的方法。由于聯(lián)系人是由集團(tuán)
客戶(hù)創(chuàng)建和管理的,按照面向?qū)ο蟮睦砟睿c聯(lián)系人相關(guān)的直接操作應(yīng)由類(lèi)
InslilutionalCustomer(集團(tuán)客戶(hù))來(lái)提供。因此addContact>getContact和
rcinovcContact是類(lèi)InstitutionalCustomer(集團(tuán)客戶(hù))的方法。
知識(shí)點(diǎn)解析:暫無(wú)解析
13、關(guān)聯(lián)(Association)和聚集(Aggregation)是UML中兩種非常重要的關(guān)系。請(qǐng)用
150字以?xún)?nèi)的文字簡(jiǎn)要說(shuō)明關(guān)聯(lián)和聚集的關(guān)系,并說(shuō)明其不同之處。
標(biāo)準(zhǔn)答案:在UML規(guī)范中,構(gòu)成關(guān)系可以使用關(guān)聯(lián)和聚集來(lái)表示。關(guān)聯(lián)
(Association)關(guān)系用于描述兩個(gè)概念上位于相同級(jí)別的類(lèi)的實(shí)例之間存在的某種語(yǔ)
義上的聯(lián)系。例如,售票員小張為某個(gè)長(zhǎng)途汽車(chē)站工作,1個(gè)汽車(chē)站有多輛長(zhǎng)途汽
車(chē),那么售票員小張與長(zhǎng)途汽車(chē)站、汽車(chē)站與汽車(chē)就存在著關(guān)聯(lián)關(guān)系。聚集
(Aggregation)關(guān)系是關(guān)聯(lián)關(guān)系的一種特例(即聚集是關(guān)聯(lián)的一種),它代表兩個(gè)類(lèi)之
間的整體和局部關(guān)系。例如,一臺(tái)電腦與鍵盤(pán)、鼠標(biāo)、顯示器之間就存在著聚集關(guān)
系。聚集暗示著整體在概念上處于比局部更高的一個(gè)級(jí)別,在實(shí)例圖中不存在回
路,即只能是一種單向關(guān)系;而關(guān)聯(lián)暗示兩個(gè)類(lèi)在概念上位于相同的級(jí)別。換言
之,聚集表示部分與整體關(guān)系的關(guān)聯(lián)。若從生命周期的角度考慮,則關(guān)聯(lián)對(duì)象的生
命周期一般無(wú)必然關(guān)系,聚集的整體對(duì)象往往對(duì)部分對(duì)象的生命周期負(fù)責(zé)。另
外,聚集和組裝也是UML中兩種非常重要的關(guān)系,它們都表示實(shí)例之間的整體/部
分關(guān)系。組裝(Composition)關(guān)系是聚集關(guān)系的一種特殊形式,它暗示“局部”在“整
體''內(nèi)部的生存期職責(zé)。例如,某電子商務(wù)公司與其銷(xiāo)售部、財(cái)務(wù)部之間就存在著
組裝關(guān)系。聚集是概念性的,只是區(qū)分整體與部分。組裝具有很強(qiáng)的歸屬關(guān)系,
而且整體與部分的對(duì)象生存周期是一致的。
知識(shí)點(diǎn)解析:暫無(wú)解析
閱讀以下標(biāo)準(zhǔn)書(shū)號(hào)校驗(yàn)碼的技術(shù)說(shuō)明和程序流程圖,根據(jù)要求回答問(wèn)題1至問(wèn)題
3。【說(shuō)明|為實(shí)現(xiàn)圖書(shū)的國(guó)際統(tǒng)一編碼,便于實(shí)現(xiàn)口算機(jī)化的圖書(shū)管理,每本正式
出版的圖書(shū)都印有國(guó)際標(biāo)準(zhǔn)書(shū)號(hào)。標(biāo)準(zhǔn)書(shū)號(hào)由“ISBN”、10個(gè)數(shù)字(0?9)組成,其
格式如下。ISBN組號(hào)-出版者號(hào)-書(shū)名號(hào)-校驗(yàn)碼其中,校驗(yàn)碼是根據(jù)前面9個(gè)數(shù)字
計(jì)算得到的,用于計(jì)算機(jī)自動(dòng)校驗(yàn)。假設(shè)標(biāo)準(zhǔn)書(shū)號(hào)的10個(gè)數(shù)字依次是a(l),
a(2)........a(10),則校驗(yàn)碼a(10)的設(shè)置應(yīng)使S=10*a(l)十/a(2)+8*a(3)+…+l*a門(mén)0)
能被11整除。如果校驗(yàn)碼a(10)應(yīng)設(shè)置成10,則規(guī)定以“X”表示之。例如,《軟件
設(shè)計(jì)師考試考前沖刺預(yù)測(cè)卷及考點(diǎn)解析》的標(biāo)準(zhǔn)書(shū)號(hào)為:ISBN7-121-05027-5。第
1段上的數(shù)字“7”是國(guó)際ISBN中心分配給中國(guó)ISBN中心管理的組號(hào);第2段上的
“121”表示電子工業(yè)出版社。標(biāo)準(zhǔn)書(shū)號(hào)的校驗(yàn)過(guò)程如圖5-13所示,計(jì)算校驗(yàn)碼的過(guò)
程如圖5?14所示。其中,Mod(S,11)表示S除以11得到的余數(shù)。
圖5?13標(biāo)準(zhǔn)書(shū)號(hào)的校驗(yàn)過(guò)程
圖5?14計(jì)算校驗(yàn)碼的過(guò)程
14、請(qǐng)根據(jù)標(biāo)準(zhǔn)書(shū)號(hào)校驗(yàn)碼的技術(shù)說(shuō)明,將圖5-13和圖5-14程序流程圖中⑴?(4)
空缺處的內(nèi)容填補(bǔ)完整。
標(biāo)準(zhǔn)答案:制訂標(biāo)準(zhǔn)書(shū)號(hào)的目的是實(shí)現(xiàn)圖書(shū)的國(guó)際統(tǒng)一編碼,以便于實(shí)現(xiàn)計(jì)算機(jī)化
的圖書(shū)管理,使出版社內(nèi)的圖書(shū)管理、書(shū)庫(kù)中的圖書(shū)管理以及書(shū)店的圖書(shū)銷(xiāo)售管理
具有更高的工作效率和管理水平。標(biāo)準(zhǔn)書(shū)號(hào)由“ISBN”、10個(gè)數(shù)字(0?9)組成,采
用“ISBN組號(hào)-出版者號(hào)-書(shū)名號(hào)-校驗(yàn)碼”的格式。其中,出版者號(hào)規(guī)定為2-7位數(shù)
字。對(duì)較大的出版社分配比較短的碼,留出較長(zhǎng)的書(shū)名號(hào)為較多的書(shū)進(jìn)行編碼。
標(biāo)準(zhǔn)書(shū)號(hào)的最后一位是校驗(yàn)碼。設(shè)置校驗(yàn)碼可以大大減少錄入錯(cuò)誤造成的管理混
亂。校驗(yàn)碼一般由計(jì)算機(jī)程序產(chǎn)生。當(dāng)操作人員錄入前伸個(gè)數(shù)字后,計(jì)算機(jī)就會(huì)自
動(dòng)啟動(dòng)計(jì)算校驗(yàn)碼的過(guò)程,輸出正確的校驗(yàn)碼。在書(shū)店(或書(shū)庫(kù)),不論是建庫(kù)還是
查詢(xún)檢索,在手工輸入帶校驗(yàn)碼的標(biāo)準(zhǔn)書(shū)號(hào)后,計(jì)算機(jī)就會(huì)自動(dòng)啟動(dòng)校驗(yàn)過(guò)程,判
斷是否輸入錯(cuò)誤。在圖5-14計(jì)算校驗(yàn)碼的過(guò)程中,首先要計(jì)算部分S值,即
S=10*a(1)+9*a(2)+8*a(3)+...+2*a(9)o此時(shí)需要使月循環(huán)處理。在循環(huán)開(kāi)始之前,
應(yīng)設(shè)置初始值S=0。在循環(huán)體內(nèi),應(yīng)執(zhí)行語(yǔ)句“S+=(11-I)*a⑴"或"S+=(l+I)*a(10-
I)”(注意,其中的乘號(hào)不要丟失)。該循環(huán)應(yīng)對(duì)循環(huán)變量1=1?9進(jìn)行(步長(zhǎng)默認(rèn)為
1)控制,因此,(2)空缺處應(yīng)填入“9”,(3)空缺處所填寫(xiě)的內(nèi)容是的
或“S+(l+I)*a(10-I)->S"。接著再計(jì)算該S值除以11的余數(shù)R。顯然
由于“校驗(yàn)碼a(10)的設(shè)置應(yīng)使S=10*a(l)+9*a(2)+8*a(3)+…+l*a(10)能被11整
除“,即余數(shù)R與校驗(yàn)碼之和應(yīng)能被II整除,因此校驗(yàn)碼應(yīng)等于MOD(1I-R,II),
即(4)空缺處所填寫(xiě)的內(nèi)容是“MOD(11-R,11)”。若讀者該空缺處填入“MOD(11-
R)“,則是沒(méi)有考慮R=0這一情況。當(dāng)校驗(yàn)碼等于10時(shí),還應(yīng)以符號(hào)X表示之。
在對(duì)標(biāo)準(zhǔn)書(shū)號(hào)的校驗(yàn)過(guò)程(圖5-13)中,首先要將校驗(yàn)碼為X的情況轉(zhuǎn)換成數(shù)據(jù)
10,以便于后續(xù)計(jì)算。為了計(jì)算S=10*a(l)+9*a(2)+8*a(3)+…+l*a(10),需要使用
循環(huán)處理。在循環(huán)開(kāi)始之前,應(yīng)0設(shè)置初始值S=0,對(duì)循環(huán)變量I從1到10(步長(zhǎng)
默認(rèn)為1)。在循環(huán)體內(nèi),應(yīng)執(zhí)行語(yǔ)句"S+=(U-I)*a(l)”或"S+=I*a(ll?I)”。因此(1)空
缺處所填寫(xiě)的內(nèi)容是⑴"或Ta(ll-I)”。在圖5/3中,計(jì)算出S值之后,
還應(yīng)判斷S除以11的余數(shù)是否為0。若余數(shù)為0,說(shuō)明S能夠被11整除,表示校
驗(yàn)結(jié)果正確;若余數(shù)非0,則說(shuō)明輸入的標(biāo)準(zhǔn)書(shū)號(hào)芍錯(cuò)(可能是校驗(yàn)碼輸入有錯(cuò),
也可能是前面的數(shù)字輸入有錯(cuò))。此時(shí)計(jì)算機(jī)應(yīng)輸出相應(yīng)的錯(cuò)誤提示信息“提醒信
息錄入人員仔細(xì)校對(duì)改正。
知識(shí)點(diǎn)解析:暫無(wú)解析
15、圖5-13(或圖5-14)中Mod(S,11)表示S除以11得到的余數(shù)。以下[C程序]實(shí)
ist'aflc'in-爸iMintp;'£nLd)數(shù)P和除數(shù)q之間的余數(shù)。C程序]
{intx=0;
while(x<=p)
{if(x==p)
return0;
(5)
)
return(6)
)
標(biāo)準(zhǔn)答案:不使用求余計(jì)算符號(hào)“%”,求取被除數(shù)p和除數(shù)q之間的余數(shù)的C程序
staticintfun-Mod(intp,intq)
{intx=0;
while(x<=p)
{if(x==p)
return0;
x?=q;
)
returnq-(x-p);
)
【C程序2】
intfun_Mod(intp,intq)
(while(pxj)
(if(x==p)
return0;
P-=Q;
)
returnp;
如下。[C程序I])
知識(shí)點(diǎn)解析:暫無(wú)解析
16、假設(shè)《應(yīng)試捷徑——典型考題解析與考點(diǎn)貫通.系統(tǒng)分析師考試》書(shū)籍標(biāo)準(zhǔn)書(shū)
號(hào)前9個(gè)數(shù)字為7-121-04715,請(qǐng)寫(xiě)出其對(duì)應(yīng)的校驗(yàn)碼。
標(biāo)準(zhǔn)答案:由題干說(shuō)明可知,校驗(yàn)碼可以是某個(gè)“0”?“9”的數(shù)字或者是符號(hào)“X”。
《軟件設(shè)計(jì)師考試考前沖刺預(yù)測(cè)卷及考點(diǎn)解析》的標(biāo)準(zhǔn)書(shū)號(hào)為:ISBN7-121-05027-
5o該標(biāo)準(zhǔn)書(shū)號(hào)的校驗(yàn)過(guò)程如下。
10x7+9x1+8x2+7x1+6x0+5x5+4x0+3x2+2x7+1x7154.八
-----------------------------------------------------------------------------------=-----=1t4…。
1111余數(shù)為
0,說(shuō)明輸入的標(biāo)準(zhǔn)書(shū)號(hào)正確。結(jié)合[問(wèn)題1]要點(diǎn)解析思路,若《應(yīng)試捷徑——典
型考題解析與考點(diǎn)貫通一系統(tǒng)分析師考試》書(shū)籍標(biāo)準(zhǔn)書(shū)號(hào)前9個(gè)數(shù)字為7-121-
04715,則其對(duì)應(yīng)的校驗(yàn)碼a(10)計(jì)算過(guò)程如卜.:
①S1=10xa(l)+9xa(2)+8xa(3)+7xa(4)+6xa(5)+5xa(6)4-4xa(7)+3xa(8)+2xa(9)
螞3
=10x7+9xl+8x2+7x1+6x0+5x4+4x7+3x1+2x5=163②由于11,因此
R=Mod(163,11)=9@a(10)=Mod(11-RJ1)=Mod(2,11)=2
知識(shí)點(diǎn)解析:暫無(wú)解析
二、選答題(本題共3題,每題分,共3分。)
17、閱讀以下算法說(shuō)明和C程序,根據(jù)要求回答問(wèn)題1至問(wèn)題2。[說(shuō)明][算法4-
1]的功能是:用來(lái)檢查文本文件中的圓括號(hào)是否匹配。若文件中存在圓括號(hào)沒(méi)有對(duì)
應(yīng)的左括號(hào)或者右括號(hào),則給出相應(yīng)的提示信息,如圖4-18所示。
文件■示■息
(1*2)
缺少對(duì)應(yīng)左括號(hào):第2行.男4列
獻(xiàn)少對(duì)應(yīng)左括號(hào)?第3行,第10列
(((h)
ijHk
(imn)就少對(duì)應(yīng)右括號(hào),第5行?笫4列?第4行?第1列
圖4J8系統(tǒng)提示信息在[算法4-1]中,stack
為一整數(shù)棧。算法中各函數(shù)的說(shuō)明如表4-16所示。
^4-16各函數(shù)的功能說(shuō)明表
函數(shù)名函數(shù)功能
push(inti)將整數(shù)i壓入棧stack中
pop()stack的棧頂元素出棧
empty()判斷stack棧是否為空.若為空,函數(shù)返回1,否則函數(shù)返回0
讀取文本文件中的下一個(gè)字符,并返回該字符的ASCII值,將字符所在的行號(hào)以及
nextch()字符在行中的位置分別存儲(chǔ)到變量row和col中,若遇到文件結(jié)束符,則將變量EOF
置為true
判斷字符ch是左括號(hào)還是右括號(hào),若是左括號(hào),函數(shù)返回1;若是右括號(hào),函數(shù)返
kind(charch)
回2;若兩者都不是,函數(shù)返回0
[算法4-1]將棧stack置空,置EOF為false
ch<-nextch()i
while(notEOF)
k*-kind<ch);
if(k=?=(1)){
push((2)
push((3));)
elseif(k■?(4))
if(notempty<)){
pop():
pop()?)
else(
眼示精誤信息(缺少對(duì)應(yīng)左括號(hào)或右括號(hào)):
顯示行號(hào)row:顯示列號(hào)cob)
endif
endif
ch<-nextch()t
endwhile
if(notempty())
顯示錯(cuò)誤信息(跳少對(duì)應(yīng)左括號(hào)或右括號(hào)為
while(notempty(?(
row<-pop()t
col<-pop():
顯示行號(hào)row,顯示列號(hào)col;)
endwhile
endif為了識(shí)別更多種類(lèi)的括號(hào),
對(duì)[算法4-1]加以改進(jìn)后得至IJ[算法4-2]。[算法4-2]能夠識(shí)別圓括號(hào)、方括號(hào)和花括
號(hào)(不同類(lèi)型的括號(hào)不能互相匹配)。改進(jìn)后,函數(shù)kind(charch)的參數(shù)及其對(duì)應(yīng)的
返回值如表4-17所示。
表4T7函數(shù)Kind(chaxch)的參數(shù)及其對(duì)應(yīng)的返回值
ch(){}[1其他
返回值1234560
[算法4.2]
將棧stack置空,置EOF為false
ch<-nextch():
while(notEOF){
k<-kind<ch)i
if(k>0)
if<
push((5))?
push((6))i
push((7))i)
elseif<andW件3){
pop():
popC)i
pop();)
else(
顯示幡誤信息(缺少對(duì)應(yīng)左括號(hào)或右括號(hào));
顯示行號(hào)row:顯示列號(hào)col:}
endif
endif
ch<-nextch()i}
endwhile
if(noten^pty())(
顯示錯(cuò)誤信息(缺少對(duì)應(yīng)左括號(hào)或右括號(hào)%
while(notempty()){
pop()|
row<-popOs
colv-pop();
顯示行號(hào)row:顯示列號(hào)co】i}}
endwhile
endif[問(wèn)題1]請(qǐng)將[算法4-
1]和[算法4-2]中,(1)?(7)空缺處的內(nèi)容補(bǔ)充完整。[問(wèn)題2]請(qǐng)從以下選項(xiàng)中選擇
相應(yīng)的判斷邏輯填補(bǔ)[算法4-2]中的“判斷條件1”至“判斷條件3"。注意,若“判斷條
件2”的邏輯判斷結(jié)果為假,就無(wú)需對(duì)“判斷條件3”進(jìn)行判斷。判斷條件1:(8)判
斷條件2:(9)判斷條件3:(10)[供選擇的答案]A.棧頂元素表示的是與當(dāng)前字符
匹配的左括號(hào)B.棧頂元素表示的是與當(dāng)前字符匹配的右括號(hào)C.字符是左括號(hào)
D.字符是右括號(hào)E.棧不空F.棧空G.字符是括號(hào)
標(biāo)準(zhǔn)答案:這是一道要求讀者用創(chuàng)建Thread類(lèi)的子類(lèi)的方法實(shí)現(xiàn)多線程的編程
題。本題的解答思路如下。通常把限定只能在一端進(jìn)行插入和刪除操作的線也表
稱(chēng)為棧,所以棧又稱(chēng)為運(yùn)算受限的線性表。把可以進(jìn)行插入和刪除操作的一端稱(chēng)為
棧頂(習(xí)慣用top指針指示),而另一端稱(chēng)之為棧底。當(dāng)棧中不包含任何數(shù)據(jù)元素
時(shí),這個(gè)棧就為空棧。由于棧具有“后進(jìn)先出”的運(yùn)算特點(diǎn),因此在程序設(shè)計(jì)中應(yīng)
用十分廣泛。例如,進(jìn)制轉(zhuǎn)換、括號(hào)匹配的檢驗(yàn)、表達(dá)式求值以及迷宮求解等。
[算法4-1]的功能是檢查文本文件中的圓括號(hào)是否匹配。若文件中存在圓括號(hào)沒(méi)有
對(duì)應(yīng)的左括號(hào)或者右括號(hào),則給出圖4-18所示的提示信息。從圖4-18所給出的信
息可知,程序不但要求檢查出是否有括號(hào)匹配錯(cuò)誤,而且還需給出具體錯(cuò)在哪個(gè)括
號(hào)。通常,括號(hào)匹配的規(guī)則是把最近的左右括號(hào)配成一對(duì),所以括號(hào)匹配最常用的
方法是遇到左括號(hào)則入棧,遇到右括號(hào)就出棧。這樣,出棧的左括號(hào)與當(dāng)前的右括
號(hào)是匹配的。[算法4-1]分析:①棧置空,置EOF為FALSE,并從文件中讀取第
一個(gè)字符到ch,然后進(jìn)入循環(huán)。循環(huán)體執(zhí)行一次處理一個(gè)ch。進(jìn)入循環(huán),利月
kind函數(shù)算出ch的類(lèi)型k。②雖然[算法4-1]中有(1)?(4)空缺處,但其基本結(jié)構(gòu)
卻很明顯,大致流程如下。當(dāng)k等于什么的時(shí)候把什么入棧;當(dāng)k等于什么的時(shí)
候且棧不為空的時(shí)候,進(jìn)行出棧操作。如果棧為空,則打印錯(cuò)誤信息;如果都不
是,則讀文件的下一個(gè)字符再次進(jìn)入循環(huán)。根據(jù)以上所提及的算法可知,入棧操
作應(yīng)該發(fā)生在類(lèi)型k為1(即ch為左括號(hào))時(shí),而出棧操作應(yīng)該發(fā)生在類(lèi)型k為2(即
ch為右括號(hào))時(shí)。因此⑴空缺處所填寫(xiě)的內(nèi)容是“1”,(4)空缺處所填寫(xiě)的內(nèi)容是
“2”。由于在(4)空缺處之后的出棧操作中,并沒(méi)有用到棧的內(nèi)容。因此可能有些讀
者理所當(dāng)然地認(rèn)為棧中的內(nèi)容沒(méi)有什么用,可以在(2)、(3)空缺處隨便壓個(gè)ch,即
兩個(gè)空缺處所填寫(xiě)“ch”。但換個(gè)角度思考,從邏輯上就可以推翻這種解答。如果
(2)、(3)空缺處壓的是同樣的數(shù)據(jù),又是在同一位置出棧,算法大可只用一個(gè)
PUSH、POP就可以了。由語(yǔ)句“rowV-pop();colV-pop();”可知,(2)、(3)空缺處
應(yīng)該把row和col壓入堆棧。由于是先彈出row后彈出col,且根據(jù)棧的“后進(jìn)先
出''操作規(guī)則可知,應(yīng)先將col壓入棧,再壓入row,因此(2)空缺處所填寫(xiě)的內(nèi)容
是“col”,(3)空缺處所填寫(xiě)的內(nèi)容是“row”。[算法4-2]分析?:同理,由[算法4-2]中
的語(yǔ)句“rowV?pop();colV?pop();''可知,(5)、(6)空缺處應(yīng)該把row和col壓入堆
棧。由于是先彈出row后彈出col,因此應(yīng)先將col壓入棧,再壓入row,即(5)空
缺處所填寫(xiě)的內(nèi)容是飛。1”,(6)空缺處所填寫(xiě)的內(nèi)容是“row”。由于判斷條件1為真
時(shí),需要進(jìn)行入棧操作,因此判斷條件1應(yīng)是判斷字符是不是左括號(hào),如果是就入
棧,即(8)空缺處應(yīng)選擇選項(xiàng)C的”字符是左括號(hào)“。判斷條件2和判斷條件3是相
關(guān)聯(lián)的,當(dāng)兩個(gè)判斷條件都為真時(shí),要進(jìn)行出棧操作,因此要判斷棧是否為空。由
此可以得出在判斷條件2和判斷條件3中,至少有一個(gè)必定是用來(lái)判斷棧是否為空
的。可以用判斷棧頂元素米確定當(dāng)前拈號(hào)是否和棧中壓入拈號(hào)是同一類(lèi)型的,但前
提是左括號(hào)類(lèi)型入了棧,而且要在棧頂。如果(7)空缺處壓入的是k,則正好符合這
一條件。所以⑺空缺處所填寫(xiě)的內(nèi)容是“k”。同時(shí),判斷括號(hào)是否匹配的條件也就
可以確定了,如果當(dāng)前ch是右括號(hào)且當(dāng)前棧頂?shù)淖罄ㄌ?hào)(只有左括號(hào)入了棧)類(lèi)型
與ch匹配,則匹配成功。根據(jù)試題說(shuō)明中的提示信息:若“判斷條件2”的邏輯判
斷結(jié)果為假,就無(wú)需對(duì)“判斷條件3”進(jìn)行判斷,所以應(yīng)把“棧不空”作為判斷條件
2,“棧頂元素表示的是與當(dāng)前字符匹配的左括號(hào)”作為判斷條件3,即(9)空缺處應(yīng)
選擇選項(xiàng)E的“棧不空”,(10)空缺處應(yīng)選擇選項(xiàng)A的“棧頂元素表示的是與當(dāng)前字
符匹配的左括號(hào)”。
知識(shí)點(diǎn)解析:暫無(wú)解析
18、請(qǐng)閱讀以下技術(shù)說(shuō)明、類(lèi)圖及C++代碼,根據(jù)要求將(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐食供應(yīng)及配送中心項(xiàng)目可行性研究報(bào)告寫(xiě)作模板-備案審批
- 制漿和造紙專(zhuān)用設(shè)備企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 大型寵物護(hù)欄、網(wǎng)及圈企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 堆內(nèi)構(gòu)件企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 分體式房間空氣調(diào)節(jié)器企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報(bào)告
- 半自動(dòng)雙桶洗衣機(jī)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 無(wú)機(jī)陶瓷膜企業(yè)縣域市場(chǎng)拓展與下沉戰(zhàn)略研究報(bào)告
- 2025-2030中國(guó)天膠行業(yè)市場(chǎng)發(fā)展分析及前景趨勢(shì)與投資研究報(bào)告
- 2025-2030中國(guó)多色印刷品行業(yè)市場(chǎng)發(fā)展分析及發(fā)展趨勢(shì)與投資研究報(bào)告
- 2025-2030中國(guó)聲學(xué)測(cè)量?jī)x器行業(yè)發(fā)展分析及發(fā)展趨勢(shì)與投資前景預(yù)測(cè)研究報(bào)告
- 2025年江蘇省徐州市銅山區(qū)中考一模道德與法治試題(原卷版+解析版)
- 制造業(yè)自檢自控流程優(yōu)化計(jì)劃
- 《人工智能的進(jìn)展》課件
- 風(fēng)濕免疫病患者結(jié)核病診治及預(yù)防實(shí)踐指南(2025版)解讀課件
- 大建安-大連市建筑工程安全檔案編制指南
- 上海2024-2025學(xué)年五年級(jí)數(shù)學(xué)第二學(xué)期期末聯(lián)考模擬試題含答案
- GB/T 45421-2025城市公共設(shè)施非物流用智能儲(chǔ)物柜服務(wù)規(guī)范
- 北京市豐臺(tái)區(qū)2025屆高三一模試卷語(yǔ)文試題(含答案)
- 安徽省合肥市高三下學(xué)期第二次教學(xué)質(zhì)量檢測(cè)數(shù)學(xué)試卷(含答案)
- 2025年河南工業(yè)貿(mào)易職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)往年題考
- PE特種設(shè)備焊工理論復(fù)習(xí)題庫(kù)(帶解析)
評(píng)論
0/150
提交評(píng)論