二級(jí)共公基礎(chǔ)知識(shí)教程第2章

字號(hào):

第2章 程序設(shè)計(jì)基礎(chǔ)
    2.1 程序設(shè)計(jì)方法與風(fēng)格
    就程序設(shè)計(jì)方法和技術(shù)的發(fā)展而言,主要經(jīng)過了結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟮某绦蛟O(shè)計(jì)階段。
    一般來講。程序設(shè)計(jì)風(fēng)格是指編寫程序時(shí)所表現(xiàn)出的特點(diǎn)、習(xí)慣和邏輯思路。程序是由人來編寫的,為了測(cè)試和維護(hù)程序,往往還要新聞?dòng)浾吆透櫝绦?,因此程序設(shè)計(jì)的風(fēng)格總體而言應(yīng)該強(qiáng)調(diào)得意和清晰,程序必須是可以理解的。
    要形成良好的程序設(shè)計(jì)風(fēng)格,主要應(yīng)注重和考慮下述一些因素。
    1、源程序文檔化
    2、源程序文檔化應(yīng)考慮如下幾點(diǎn):
    (1) 符號(hào)名的命名:符號(hào)名的命名應(yīng)具有一定的實(shí)際含義,以便于對(duì)程序功能的理解。
    (2) 程序注釋:下克的注釋能夠幫助讀者理解程序。
    (3) 禮堂組織:為使程序的結(jié)構(gòu)一目了然,可以在程序中利用空格、空行、縮進(jìn)待技巧使程序?qū)哟吻逦?BR>    2、數(shù)據(jù)說明的方法
    在編寫程序時(shí),需要注意數(shù)據(jù)說明的風(fēng)格,以便使程序中的數(shù)據(jù)說明更易于理解和維護(hù)。一般應(yīng)注意如下幾點(diǎn):
    (1) 數(shù)據(jù)說明的次序規(guī)范化鑒于程序理解、新聞?dòng)浾吆途S護(hù)的需要,使數(shù)據(jù)說明次序固定,可以使數(shù)據(jù)的發(fā)生容易查找,也有利于測(cè)試、排錯(cuò)和維護(hù)。
    (2) 說明語句中變量安排有序化。當(dāng)一個(gè)說明語句說明多個(gè)變量時(shí),變量按照字母順序?yàn)楹谩?BR>    (3) 使用注釋來說明復(fù)雜數(shù)據(jù)的結(jié)構(gòu)。
    3、 語句的結(jié)構(gòu)
    程序應(yīng)該簡(jiǎn)單易懂,語句構(gòu)造應(yīng)該簡(jiǎn)單直接,不應(yīng)該為提高效率而把語句復(fù)雜化。一般應(yīng)注意如下:
    (1) 在一行內(nèi)只寫一條語句;
    (2) 程序編寫應(yīng)優(yōu)先考慮清晰性;
    (3) 除非對(duì)效率有特殊要求,程序編寫要做清晰第一,效率第二;
    (4) 首先要保證程序正確,然后才要求提高速度;
    (5) 避免使用臨時(shí)變量而使程序的可讀性下降;
    (6) 避免不必要的轉(zhuǎn)移;
    (7) 盡可能使用庫函數(shù);
    (8) 避免采用復(fù)雜的條件語句;
    (9) 盡量減少使用“否定”條件的條件語句;
    (10) 數(shù)據(jù)結(jié)構(gòu)要有利于程序的簡(jiǎn)化;
    (11) 要模塊化,使模塊功能盡可能單一化;
    (12) 利用住處隱蔽,確保每一個(gè)模塊的獨(dú)立性;
    (13) 從數(shù)據(jù)出發(fā)去構(gòu)造程序;
    (14) 不要修補(bǔ)不好的程序,要重新編寫;
    4、輸入和輸出
    無論是批處理的輸入和輸出方式,還是交互式的輸入和輸出方式,在設(shè)計(jì)和編程時(shí)都應(yīng)該考慮如下原則:
    (1) 對(duì)所有的輸入數(shù)據(jù)都要檢驗(yàn)數(shù)據(jù)的合法性;
    (2) 檢查輸入項(xiàng)的各種重要組合的合理性;
    (3) 輸入格式要簡(jiǎn)單,以使得輸入的步驟和操作盡可能簡(jiǎn)單;
    (4) 輸入數(shù)據(jù)時(shí),應(yīng)允許使用自由格式;
    (5) 應(yīng)允許缺省值;
    (6) 輸入一批數(shù)據(jù)時(shí),使用輸入結(jié)束標(biāo)志;
    (7) 在以交互式輸入/輸出方式進(jìn)行輸入時(shí),要在屏幕上使用提示符明確提示輸入的請(qǐng)求,同時(shí)在數(shù)據(jù)輸入過程中的輸入結(jié)束時(shí),應(yīng)在屏幕上給出狀態(tài)信息。
    (8) 當(dāng)程序設(shè)計(jì)語言對(duì)輸入格式有嚴(yán)格要求時(shí),應(yīng)保持輸入格式與輸入語句的一致性;給所有的輸入出加注釋,并設(shè)計(jì)輸出報(bào)表格式。
    2.2結(jié)構(gòu)化程序設(shè)計(jì)
    一、結(jié)構(gòu)化程序設(shè)計(jì)的原則
    結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下,逐步求精,模塊化,限制使用goto語句。
    1、 自頂向下:程序設(shè)計(jì)時(shí),應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。不要一開始就過多追求眾多的細(xì)節(jié),先從最上層總目標(biāo)開始設(shè)計(jì),逐步使問題具體化。
    2、 逐步求精:對(duì)復(fù)雜問題,應(yīng)設(shè)計(jì)一些子目標(biāo)作過渡,逐步細(xì)化。
    3、 模塊化:一個(gè)復(fù)雜問題,肯定是由若干稍簡(jiǎn)單的問題構(gòu)成。模塊化是把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每個(gè)小目標(biāo)稱為一個(gè)模塊。