查看匯總:2014計(jì)算機(jī)二級(jí)VB考試重難點(diǎn)分析匯總
第3章 程序設(shè)計(jì)基礎(chǔ)
本章主要考查程序設(shè)計(jì)的一些基本知識(shí),比如程序設(shè)計(jì)的方法與風(fēng)格、結(jié)構(gòu)化程序設(shè)計(jì)與面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思想。從歷次的試題來看,本章試題分值約占2.4%,屬于非重點(diǎn)考查對(duì)象。盡管分值所占的比例較少,但基本上每次至少有一道試題。試題以選擇和填空的形式出現(xiàn)。
3.1 程序設(shè)計(jì)
該節(jié)知識(shí)點(diǎn)所占試題比重為17%,屬于非重點(diǎn)考查對(duì)象。到目前為止,該知識(shí)點(diǎn)只出過一道選擇題。從考試大綱來看,主要考查程序設(shè)計(jì)的方法、程序設(shè)計(jì)風(fēng)格。
3.1.1 考點(diǎn)1:程序設(shè)計(jì)的方法
程序是指令的有序集合,它是為了解決某一問題而設(shè)計(jì)的一系列指令。程序設(shè)計(jì)是使用計(jì)算機(jī)系統(tǒng)的指令或語句,組成求解不同問題,實(shí)現(xiàn)不同算法所需的完整序列的一個(gè)工作過程。隨著計(jì)算機(jī)硬件技術(shù)的發(fā)展以及計(jì)算機(jī)技術(shù)的廣泛應(yīng)用,根據(jù)需求程序設(shè)計(jì)的方法也經(jīng)過了幾個(gè)發(fā)展的過程。
在程序設(shè)計(jì)早期,由于受到計(jì)算機(jī)硬件的限制,運(yùn)行速度慢,存儲(chǔ)空間少,使得程序員不得不提高程序的效率,在這種情況下,編程成了一種技巧和藝術(shù),程序的可理解性和可擴(kuò)充性沒有得到重視。在這個(gè)時(shí)期出現(xiàn)的高級(jí)語言有Fortran、COBOL、ALGOL、Basic等語言,在這個(gè)時(shí)期不注重程序的結(jié)構(gòu),可以說這是沒有固定程序設(shè)計(jì)方法的時(shí)期。
計(jì)算機(jī)硬件得到了很大的發(fā)展,在編程的時(shí)候,運(yùn)行速度和存儲(chǔ)空間不再困擾程序員,計(jì)算機(jī)技術(shù)應(yīng)用范圍的擴(kuò)大使得程序必須要有良好的結(jié)構(gòu),在這種需求下,提出了結(jié)構(gòu)化程序設(shè)計(jì)方法。這時(shí)出現(xiàn)的高級(jí)語言有PASCAL、C等。20世紀(jì)60年代后期,提出了類和對(duì)象的概念,程序設(shè)計(jì)已經(jīng)不是問題的中心,如何更好地描述問題已經(jīng)成為了主題,因此在這種情況下,面向?qū)ο蟮某绦蛟O(shè)計(jì)方法發(fā)展起來了,并得到廣泛地應(yīng)用。進(jìn)入20世紀(jì)80年代后,出現(xiàn)了一系列的面向?qū)ο蟪绦蛟O(shè)計(jì)語言,如C++等。
下面我們會(huì)詳細(xì)討論結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)。
3.1.2 考點(diǎn)2:程序設(shè)計(jì)的風(fēng)格
我們?cè)诰帉懗绦驎r(shí)要養(yǎng)成良好的程序設(shè)計(jì)習(xí)慣,對(duì)程序的要求不僅能夠在計(jì)算機(jī)上正確運(yùn)行,而且要便于閱讀和被別人理解,便于程序的調(diào)試和維護(hù)。好的程序設(shè)計(jì)風(fēng)格有助于提高程序的正確性、可讀性、可維護(hù)性和可用性。要使程序具有良好的風(fēng)格,概括起來可以分成4部分:源程序文檔化、數(shù)據(jù)說明、語句結(jié)構(gòu)、輸入/輸出方法。
1.源程序文檔化
源程序文檔化主要包括:標(biāo)識(shí)符的命名、程序中添加注釋以及程序的編輯風(fēng)格。
(1)標(biāo)識(shí)符的命名
標(biāo)識(shí)符即符號(hào)名,包括變量名、模塊名、常量名、標(biāo)號(hào)名、函數(shù)名、數(shù)據(jù)區(qū)名和緩沖區(qū)名等。一個(gè)程序中必然有很多的標(biāo)識(shí)符,特別是在一個(gè)復(fù)雜大型的程序中,標(biāo)識(shí)符可能成千上萬,對(duì)標(biāo)識(shí)符作用的正確理解是讀懂程序的前提,如果程序員隨意命名標(biāo)識(shí)符,程序的可讀性會(huì)很差。
因此,標(biāo)識(shí)符的命名應(yīng)該要規(guī)范化,具體要根據(jù)下面幾個(gè)原則來命名。
、 選取有實(shí)際意義的標(biāo)識(shí)符名稱。為了方便理解標(biāo)識(shí)符的作用,標(biāo)識(shí)符的名字要能夠反映其作用,如用于存儲(chǔ)數(shù)量的變量的名稱可以是count等。
、 為了便于程序的輸入,標(biāo)識(shí)符的名字不宜太長(zhǎng)。必要時(shí)可以用一些縮寫,但是要注意縮寫規(guī)則要一致,并且要給每一個(gè)變量加上注釋。
、 為了便于區(qū)分,不同的標(biāo)識(shí)符不要取過于相似的名字。
、 由于程序中通常需要大量不同類型的標(biāo)識(shí)符,為了使說明部分閱讀起來更加清晰,在對(duì)其進(jìn)行類型說明時(shí)應(yīng)注意以下幾點(diǎn):按照某種順序?qū)Ω鞣N類型的變量進(jìn)行集中說明,如先說簡(jiǎn)單類型,再說明記錄類型;在使用一個(gè)說明語句對(duì)同一類型的多個(gè)變量進(jìn)行說明時(shí),按照變量名中的字母順序進(jìn)行排列。
(2)程序中加注釋
注釋是程序員與日后的程序讀者之間通信的重要工具,用自然語言或偽碼描述。它說明了程序的功能,特別在維護(hù)階段,對(duì)理解程序提供了明確指導(dǎo)。一些正規(guī)的程序文本中,注釋行的數(shù)量占到整個(gè)源程序的1/3~1/2,甚至更多。注釋分序言性注釋和功能性注釋。
① 序言性注釋:一般置于每個(gè)程序模塊的開頭部分,它應(yīng)當(dāng)給出程序的整體說明,用來引導(dǎo)讀者理解程序。主要描述內(nèi)容可以包括:程序標(biāo)題、程序功能說明、主要算法、接口說明、有關(guān)數(shù)據(jù)描述、程序位置、開發(fā)簡(jiǎn)歷、程序設(shè)計(jì)者、復(fù)審者、復(fù)審日期和修改日期等。
、 功能性注釋:一般置于程序體中,用來描述其后的語句或程序段是用來做什么的,或者是執(zhí)行了其下面的語句或程序段會(huì)產(chǎn)生什么樣的效果,而不要解釋下面該怎么做。
(3)程序的編輯風(fēng)格
為了使程序的結(jié)構(gòu)一目了然,可以在程序中利用空格、空行、縮進(jìn)等技巧使程序?qū)哟吻逦,便于程序的理解?梢园凑找韵聨讉(gè)原則來編輯程序。
、 恰當(dāng)?shù)乩美ㄌ?hào),可以突出運(yùn)算的優(yōu)先性,避免發(fā)生運(yùn)算錯(cuò)誤。
、 程序段之間可用空行隔開。
、 對(duì)于選擇語句和循環(huán)語句,應(yīng)該做適當(dāng)?shù)目s進(jìn),使得程序的邏輯結(jié)構(gòu)更加清晰。
2.數(shù)據(jù)說明
在程序設(shè)計(jì)時(shí),應(yīng)該注意數(shù)據(jù)說明的風(fēng)格。為了使數(shù)據(jù)定義更易于理解和維護(hù),有以下指導(dǎo)原則。
(1)數(shù)據(jù)說明順序應(yīng)規(guī)范化,使數(shù)據(jù)的屬性更易于查找,從而有利于測(cè)試、糾錯(cuò)與維護(hù)。原則上,數(shù)據(jù)說明的次序與語法無關(guān),其次序是任意的,但是便于閱讀和理解,最好使其規(guī)范化,使說明次序按照某種規(guī)則固定。例如,按以下順序:常量說明、類型說明、全程量說明及局部量說明。
(2)語句中變量的說明應(yīng)有序化,多個(gè)變量在同一個(gè)說明語句中說明時(shí),各變量名按字典序排列。
(3)使用注釋來說明復(fù)雜的數(shù)據(jù)結(jié)構(gòu)時(shí),要說明在程序?qū)崿F(xiàn)這個(gè)數(shù)據(jù)結(jié)構(gòu)時(shí)的特點(diǎn)。
3.語句結(jié)構(gòu)
單個(gè)語句結(jié)構(gòu)是編碼階段的任務(wù),語句結(jié)構(gòu)追求簡(jiǎn)單直接,不能為了追求效率而使代碼復(fù)雜化。我們可以根據(jù)下面的原則來構(gòu)造語句。
、 為了便于閱讀和理解,不要一行多個(gè)語句。
、 不同層次的語句采用縮進(jìn)形式,使程序的邏輯結(jié)構(gòu)和功能特征更加清晰。
③ 要避免復(fù)雜的判定條件,避免多重的循環(huán)嵌套。
、 表達(dá)式中使用括號(hào)以提高運(yùn)算次序的清晰度。
、 程序編寫首先應(yīng)當(dāng)考慮程序結(jié)構(gòu)的清晰性,不要刻意追求技巧性,使得程序復(fù)雜。
、 除非對(duì)效率有特殊要求,否則先要考慮程序的清晰性,不要追求高效率而喪失程序的清晰度。
⑦ 程序編寫要簡(jiǎn)單,要直截了當(dāng)?shù)乇磉_(dá)出程序員的用意。
、 首先要保證程序正確,然后才要求提高速度。
、 避免使用臨時(shí)變量而使程序可讀性下降。
、 盡可能使用庫(kù)函數(shù)。
4.輸入和輸出
輸入和輸出是程序的一個(gè)重要的組成部分,是用戶和計(jì)算機(jī)交互直接相關(guān)的。輸入和輸出的方式應(yīng)當(dāng)盡量方便用戶的使用。一定要避免輸入輸出的不當(dāng)而導(dǎo)致用戶使用軟件麻煩。因此,在軟件需求分析階段和設(shè)計(jì)階段,就應(yīng)基本確定輸入和輸出的風(fēng)格。軟件能否被用戶接受,有時(shí)就取決于輸入和輸出的風(fēng)格。
一個(gè)良好的輸入輸出風(fēng)格能夠使用戶很方便地使用系統(tǒng),我們?cè)诰幋a階段可以根據(jù)下面的原則來設(shè)計(jì)一個(gè)好的輸入輸出。
① 對(duì)所有輸入的數(shù)據(jù)都要進(jìn)行有效性檢查,要能夠識(shí)別出錯(cuò)誤的輸入,對(duì)錯(cuò)誤的輸入做出異常處理,使得每個(gè)輸入數(shù)據(jù)都具有有效性。
② 檢查輸入數(shù)據(jù)項(xiàng)的各種重要組合的合理性,必要時(shí)報(bào)告輸入狀態(tài)信息。
、 在輸入時(shí),輸入的步驟和方式應(yīng)該盡量簡(jiǎn)單。
、 輸入數(shù)據(jù)時(shí),應(yīng)允許使用自由格式輸入。
⑤ 允許默認(rèn)值
、 輸入一批數(shù)據(jù)時(shí),最好使用輸入結(jié)束標(biāo)志,而不要用戶指定輸入數(shù)據(jù)數(shù)目。
、 在交互輸入時(shí),要給用戶提示信息,如可使用選擇項(xiàng)的種類和取值范圍,在輸入結(jié)束時(shí),給出狀態(tài)信息。
⑧ 當(dāng)程序設(shè)計(jì)語言對(duì)輸入/輸出格式有嚴(yán)格要求時(shí),應(yīng)保持輸入格式與輸入語句的要求的一致性。
、 給所有的輸出加注解,并設(shè)計(jì)輸出報(bào)表格式。
例3.1.1 以下敘述中錯(cuò)誤的是( )。[2005年9月 選擇第11題]
A.用戶所定義的標(biāo)識(shí)符允許使用關(guān)鍵字
B.用戶所定義的標(biāo)識(shí)符應(yīng)盡量做到“見名知意”
C.用戶所定義的標(biāo)識(shí)符必須以字母或下劃線開頭
D.用戶定義的標(biāo)識(shí)符中,大、小寫字母代表不同標(biāo)識(shí)
答案:A
相關(guān)推薦:
2014年全國(guó)計(jì)算機(jī)二級(jí)VB考點(diǎn)解析匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |