壽新煥
摘 要 近年來,隨著我國計(jì)算機(jī)應(yīng)用的普及,計(jì)算機(jī)程序設(shè)計(jì)也越來越多的受到人們的關(guān)注,我國的大多數(shù)高校也開設(shè)了計(jì)算機(jī)程序設(shè)計(jì)的相關(guān)課程。隨著計(jì)算機(jī)軟件的廣泛應(yīng)用,計(jì)算機(jī)程序語言的編寫也得到了長足的進(jìn)步,計(jì)算機(jī)程序設(shè)計(jì)向多元化方向發(fā)展的同時(shí)也給計(jì)算機(jī)程序設(shè)計(jì)帶來了一定的難度。文章介紹了計(jì)算機(jī)程序設(shè)計(jì)的一般概念,論述了計(jì)算機(jī)軟件設(shè)計(jì)的要點(diǎn),就如何提高計(jì)算機(jī)程序設(shè)計(jì)的規(guī)范性進(jìn)行了簡單分析。
【關(guān)鍵詞】計(jì)算機(jī) 程序設(shè)計(jì) 要點(diǎn) 規(guī)范性
隨著計(jì)算機(jī)和互聯(lián)網(wǎng)在全球各個領(lǐng)域的廣泛應(yīng)用,越來越多的計(jì)算機(jī)程序應(yīng)用到人們的辦公生活當(dāng)中。這些年,移動互聯(lián)網(wǎng)在我國的快速發(fā)展,計(jì)算機(jī)程序設(shè)計(jì)在我國普及起來,目前,多種語言被應(yīng)用于在計(jì)算機(jī)程序設(shè)計(jì)中,其中大家用的比較多的有C語言、和可視化的VF和VB,在一些比較特殊的程序設(shè)計(jì)時(shí)可能還會用到JAVA語言和匯編語言等。計(jì)算機(jī)程序設(shè)計(jì)的語言常分為機(jī)器語言和高級語言兩種,其中人們比較容易理解的是高級語言,匯編語言就屬于機(jī)器語言,人們常用的C語言、VF、VB等語言都屬于高級語言。由于計(jì)算機(jī)的底層程序是由0和1組成,所以,不管使用哪種語言進(jìn)行計(jì)算機(jī)程序編寫,在程序執(zhí)行的時(shí)候,都會最終轉(zhuǎn)化成0和1的形式。
1 計(jì)算機(jī)程序設(shè)計(jì)的概念
計(jì)算機(jī)程序是指具備特別作用的指令,該指令是根據(jù)事務(wù)的時(shí)間先后順序和各項(xiàng)流程和編寫而成的。計(jì)算機(jī)程序主要是對操作及數(shù)據(jù)進(jìn)行描述,其中,對操作進(jìn)行描述就是“算法”;對數(shù)據(jù)的描述主要指程序中需指出的數(shù)據(jù)組織形式以及數(shù)據(jù)類型。程序操作的基本目標(biāo)是以數(shù)據(jù)為操作的對象,對數(shù)據(jù)進(jìn)行加工和處理,從而獲得預(yù)期的結(jié)構(gòu)。程序設(shè)計(jì)的過程中程序員需慎重考慮與設(shè)計(jì)操作流程及數(shù)據(jù)結(jié)構(gòu)。
在計(jì)算機(jī)程序的實(shí)際編寫中,計(jì)算機(jī)程序除了操作和數(shù)據(jù)外,還需要選用適當(dāng)?shù)恼Z言環(huán)境和編程方法,從而完成設(shè)計(jì)工作。在計(jì)算機(jī)軟件編寫的過程中,計(jì)算機(jī)程序設(shè)計(jì)語言是結(jié)構(gòu)實(shí)現(xiàn)的載體與工具,數(shù)據(jù)結(jié)構(gòu)怎是用來充當(dāng)加工的對象,算法是程序的靈魂。計(jì)算機(jī)程序其實(shí)是通過對未知問題的分析,從而提出解決問題的方案,最終通過一系列計(jì)算機(jī)指令編寫為能夠執(zhí)行的程序語言。
2 計(jì)算機(jī)程序設(shè)計(jì)的要點(diǎn)
2.1 對算法進(jìn)行科學(xué)的設(shè)計(jì)
算法的設(shè)計(jì)是計(jì)算機(jī)程序設(shè)計(jì)的重點(diǎn)內(nèi)容,算法的設(shè)計(jì)其實(shí)是通過一定的方式來把平時(shí)使用的機(jī)器語言進(jìn)行轉(zhuǎn)化。程序設(shè)計(jì)的過程中對算法進(jìn)行科學(xué)的設(shè)計(jì),有利于把軟件使用者對軟件功能的需求轉(zhuǎn)化為程序語言。隨著計(jì)算機(jī)程序設(shè)計(jì)的語言逐漸向著高級化方向發(fā)展,如何實(shí)現(xiàn)機(jī)器語言和高級語言之間的相互轉(zhuǎn)化已成為程序設(shè)計(jì)中的重點(diǎn)問題。在計(jì)算機(jī)產(chǎn)生的初期階段,計(jì)算機(jī)編程全部采用的是匯編等低級語言,編程不需要進(jìn)行機(jī)器語言的轉(zhuǎn)化,對設(shè)計(jì)算法的要求也比較簡單。隨著全球計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)程序也變得越來越復(fù)雜,與此同時(shí),計(jì)算機(jī)算法也呈現(xiàn)出多元化的發(fā)展趨勢,因此,對算法進(jìn)行設(shè)計(jì)時(shí)要力求算法的科學(xué)與簡潔,只有人和機(jī)器都能夠方便掌握和理解的算法才能算是可靠的算法。
2.2 弄清函數(shù)調(diào)用
在計(jì)算機(jī)互聯(lián)網(wǎng)技術(shù)飛速發(fā)展的今天,人們對計(jì)算機(jī)功能的要求也越來越高。計(jì)算機(jī)在不斷滿足人們各項(xiàng)需要的同時(shí),其程序設(shè)計(jì)的難度也越來越多,在這種情形下,同一函數(shù)往往需要被多次執(zhí)行,如果程序每執(zhí)行一次這一函數(shù)都在程序所對應(yīng)得位置添加這一函數(shù),那么則會增大程序的占用空間,程序運(yùn)行的難度也會大大增加,函數(shù)的調(diào)用在此情形下產(chǎn)生。函數(shù)的調(diào)用是指一種能夠反復(fù)次執(zhí)行同一個函數(shù)的方案。在計(jì)算機(jī)程序設(shè)計(jì)時(shí),把需要調(diào)用的函數(shù)存放于內(nèi)存中,然后把用于函數(shù)調(diào)用指令的地址保存在堆棧,通過這種方式,在之后的程序設(shè)計(jì)時(shí)可以通過堆棧中的函數(shù)調(diào)用指令,從而完成函數(shù)的調(diào)用。
2.3 掌握C語言的自增和自減運(yùn)算符要點(diǎn)
在C語言表達(dá)式中,如果出現(xiàn)自增或自減運(yùn)算符,一般比較容易改變表達(dá)式中變量值,或者弄錯其值的計(jì)算。主要的改變?nèi)缦拢?/p>
(1)如果是前綴自增或自減,就是運(yùn)算符在使用前自動增加或自動減少1;
(2)如果是后綴自增或自減,就是運(yùn)算符在使用后自動增加或自動自減少1。
本文中,將前綴自增或自減,后綴自增或自減運(yùn)算符作為兩種不同的運(yùn)算符,并且對于運(yùn)算規(guī)則有如下約定:
(1)前綴自增或自減運(yùn)算符的優(yōu)先級要優(yōu)于算術(shù)運(yùn)算符;
(2)后綴自增或自減運(yùn)算符的優(yōu)先級小于賦值運(yùn)算符,僅僅優(yōu)于逗號運(yùn)算符。
例如:如果i=3,則執(zhí)行賦值語句j=++i;時(shí)是將i的值先變成4,再賦值給j,j的值變成4;而執(zhí)行賦值語句j=i++;時(shí)是先將i的值賦給j,j的值是3,然后i的值再變成4。
在自增或自減運(yùn)算過程中需要注意以下兩個問題:
(1)如果一個變量出現(xiàn)在一個函數(shù)的多個參數(shù)中時(shí),就無法將自增或自減運(yùn)算符應(yīng)用于這個變量,不然用本文約定的規(guī)則無法正確計(jì)算表達(dá)式的值以及輸出結(jié)果。例如:如果i=3,則執(zhí)行賦值語句printf(“%d,%d”,i,i*i++);時(shí)其輸出結(jié)果是(4,12);而執(zhí)行賦值語句printf(“%d,%d”,i*i++,i);時(shí)其輸出結(jié)果是(12,3)。
(2)如果自增或自減運(yùn)算符出現(xiàn)在邏輯表達(dá)式中,那么自增或自減運(yùn)算有可能不被計(jì)算。例如:若i=1,j=1,k=1,在計(jì)算表達(dá)式++i||++j&&++k時(shí),因++i非0,不再計(jì)算++j&&++k部分,直接得出表達(dá)式的值是1,所以說,計(jì)算表達(dá)式后,變量i的值是2,而j和k沒有執(zhí)行自增加運(yùn)算,它們的值都是1。
3 計(jì)算機(jī)程序設(shè)計(jì)的規(guī)范性分析
程序設(shè)計(jì)的要點(diǎn)是根據(jù)程序使用語言不同而不同,但是,計(jì)算機(jī)程序設(shè)計(jì)的規(guī)范與計(jì)算機(jī)程序設(shè)計(jì)要點(diǎn)不一樣,計(jì)算機(jī)程序設(shè)計(jì)的規(guī)范卻是程序設(shè)計(jì)人員在進(jìn)行程序設(shè)計(jì)時(shí)需要遵守的規(guī)則常識。目前為止,我國程序設(shè)計(jì)規(guī)范主要由兩個部分組成,一部分是針對過程程序設(shè)計(jì)的,另一部分是面向?qū)ο蟪绦蛟O(shè)計(jì)的,在計(jì)算機(jī)程序設(shè)計(jì)時(shí),設(shè)計(jì)人員通常不是直接在計(jì)算機(jī)上編寫程序,而是會在草稿上進(jìn)行程序流程的設(shè)計(jì)。計(jì)算機(jī)程序設(shè)計(jì)的規(guī)范就是指邏輯設(shè)計(jì)中使用的一個通用的工具和符號等,在最初的計(jì)算機(jī)程序設(shè)計(jì)時(shí),程序設(shè)計(jì)人員通常會根據(jù)個人喜好采用一些符號和工具,但是,隨著計(jì)算機(jī)程序設(shè)計(jì)的逐漸普及,并且越來越復(fù)雜,單純的一個程序設(shè)計(jì)人員根本無法完成龐大復(fù)雜的程序設(shè)計(jì)工作,一個程序必須要由多個程序設(shè)計(jì)員各自承擔(dān)一部分的程序設(shè)計(jì),由他們共同完成。然而在這個多程序員配合的過程中,也會遇到一些問題,主要因?yàn)槊總€程序員都有自己偏愛的符號和工具,可能導(dǎo)致與其合作的其他設(shè)計(jì)人員不能理解,這就為程序設(shè)計(jì)到來了麻煩,致使龐大的程序設(shè)計(jì)任務(wù)無法順利的完成,但是如果程序設(shè)計(jì)有了規(guī)范性的要求,就可以避免這種問題。所以說,計(jì)算機(jī)程序設(shè)計(jì)的規(guī)范性能夠有效的提高程序設(shè)計(jì)的效率。
隨著我國信息時(shí)代的來臨,各種各樣的軟件逐漸問世,計(jì)算機(jī)軟件也形成了自己獨(dú)特的項(xiàng)目管理,假如沒有規(guī)范性的程序設(shè)計(jì),就有可能引起設(shè)計(jì)問題,導(dǎo)致了軟件存在漏洞。特別是對于航天類軟件設(shè)計(jì),一旦軟件存在設(shè)計(jì)漏洞或者出現(xiàn)其他的問題,就可能會帶來災(zāi)難性的事故。在計(jì)算機(jī)程序軟件設(shè)計(jì)時(shí),一般都是按照規(guī)范性的步驟進(jìn)行設(shè)計(jì),下面舉兩個例子說明:
(1)例如系統(tǒng)的整體規(guī)劃、語言編寫、邏輯分析、軟件測試,而工具和符號的使用貫穿著整個程序設(shè)計(jì)的過程。
(2)例如在某一個軟件設(shè)計(jì)時(shí),第一步就是根據(jù)軟件的需要畫出流程圖,第二步是依據(jù)需求關(guān)系等條件,畫出軟件結(jié)構(gòu)的層次圖,第三步就是軟件代碼的編寫。
但是,在實(shí)際的計(jì)算機(jī)設(shè)計(jì)時(shí),很多時(shí)候都有不重視規(guī)范,流程圖不標(biāo)準(zhǔn)、程序員之間溝通不到位等等,以上各種問題都會導(dǎo)致計(jì)算機(jī)程序軟件的漏洞。所以說,在計(jì)算機(jī)程序設(shè)計(jì)上,只有加強(qiáng)規(guī)范制度的完善,加強(qiáng)對設(shè)計(jì)人員的培訓(xùn),使其對規(guī)范有足夠的重視,才能夠促進(jìn)程序設(shè)計(jì)的科學(xué)化、合理化。
4 結(jié)語
總而言之,運(yùn)用語言的不同,那么計(jì)算機(jī)程序設(shè)計(jì)的要點(diǎn)也不一樣。在計(jì)算機(jī)程序設(shè)計(jì)方面,要解決編程規(guī)范性的問題,并且保證規(guī)范的科學(xué)性、合理性,這就要求專業(yè)程序設(shè)計(jì)人員在這方面做出更多的努力,為計(jì)算機(jī)編程事業(yè)增磚添瓦。信息時(shí)代的不斷進(jìn)步,技術(shù)手段也越來越先進(jìn),計(jì)算機(jī)編程也必將越來越規(guī)范。
參考文獻(xiàn)
[1]王義.匯編語言程序設(shè)計(jì)的要點(diǎn)和技巧[J].中國西部科技,2011(29).
[2]謝端.計(jì)算機(jī)程序的評價(jià)技術(shù)[J].惠州學(xué)院學(xué)報(bào),2012(S1).
[3]尚維來.計(jì)算機(jī)程序設(shè)計(jì)類課程教學(xué)模式改革與探索[J].成功(教育),2013(11).
[4]吳小晨.關(guān)于程序設(shè)計(jì)教學(xué)中幾個問題的探討[J].天津市財(cái)貿(mào)管理干部學(xué)院學(xué)報(bào),2012(03).
[5]張秀山,徐炳良,吳艷征.專用字符集譯碼邏輯的程序優(yōu)化設(shè)計(jì)[J].海軍工程大學(xué)學(xué)報(bào),2011(06).
作者單位
諸暨市職教中心 浙江省諸暨市 311800