程式設計理論

程式設計理論

程式設計(Programming)是指設計、編制、調試程式的方法和過程。它是目標明確的智力活動。由於程式是軟體的本體,軟體的質量主要通過程式的質量來體現,在軟體研究中,程式設計的工作非常重要,內容涉及到有關的基本概念、工具、方法以及方法學等。程式設計通常分為問題建摸,算法設計,編寫代碼和編譯調試四個階段。

基本介紹

  • 書名:程式設計理論
  • 又名:programming theory
  • 拼音:chengxushejililun
  • 類型:基本原則和一般方法的一種理論
定義,詞條信息,基本概念,基本步驟,發展歷程,起步,發展,

定義

程式設計理論是研究程式設計的理論基礎、基本原則和一般方法的一種理論。是計算機軟體工程學的基礎。程式設計的基本過程是:對待解決的問題進行分析,定義用戶需求,描述數據和加工過程,再把這種描述細化、編碼,轉換成計算機可以接受的表示形式。如:Visual Basic程式設計理論、C語言程式設計理論等。
程式設計理論

詞條信息

詞條:程式設計理論
拼音:chengxushejililun
英文:programming theory

基本概念

研究程式設計的理論基礎、基本原則和一般方法的一種理論。是計算機軟體工程學的基礎。程式設計的基本過程是:對待解決的問題進行分析,定義用戶需求,描述數據和加工過程,再把這種描述細化、編碼,轉換成計算機可以接受的表示形式。

基本步驟

(1)分析問題
對於接受的任務要進行認真的分析,研究所給定的條件,分析最後應達到的目標,找出解決問題的規律,選擇解題的方法,完成實際問題。
(2)設計算法
即設計出解題的方法和具體步驟。
(3)編寫程式
將算法翻譯成電腦程式設計語言,對源程式進行編輯、編譯和連線。
(4)運行程式,分析結果
運行可執行程式,得到運行結果。能得到運行結果並不意味著程式正確,要對結果進行分析,看它是否合理。不合理要對程式進行調試,即通過上機發現和排除程式中的故障的過程。
(5)編寫程式文檔
許多程式是提供給別人使用的,如同正式的產品應當提供產品說明書一樣,正式提供給用戶使用的程式,必須向用戶提供程式說明書。內容應包括:程式名稱、程式功能、運行環境、程式的裝入和啟動、需要輸入的數據,以及使用注意事項等。

發展歷程

起步

自20世紀40年代帶記憶體程式的計算機誕生後,計算機編寫程式的工作越來越重要。到60年代中期,計算機套用已相當普遍,但軟體設計技術卻很落後,許多大型軟體的質量低劣,可靠性不高,可維護性極差;軟體生產率很低,從而價格昂貴,供不應求,造成所謂的軟體危機。計算機科學家開始認真研究程式設計的基本理論和方法。60年代末期,結構化程式設計與自頂向下逐步求精的原則和方法受到廣泛重視。結構化程式設計希望通過完善程式的靜態結構來保證程式動態運行的正確性,因而需要限制或取消某些不良程式語句,例如GOTO語句。自頂向下逐步求精的主要思想是從待解問題出發,運用科學抽象的方法,把原問題分解成若干相對獨立的小問題,依次細分,直至各個小問題都獲得圓滿解決為止。 與此同時,使用邏輯方法驗證程式正確性的研究取得了豐碩成果,形式語義學也得到長足的進展。驗證框圖程式的斷言方法是在框圖的每條邊上附上一個斷言(謂詞公式),其意義是,每當程式運行到達這條邊時,此斷言應為真。對於循環,即框圖上的一個迴路,可以定義一個斷點,並在斷點上設定一個斷言ρ,然後證明若循環開始時斷點上的ρ為真,則當循環返回到該斷點時ρ仍然為真。斷言ρ常稱為循環不變式。Hoare邏輯是基於上述斷言方法的程式驗證系統,它是一階謂詞邏輯的擴充,用於證明程式的部分正確性。形式語義學是程式設計理論的主要組成部分。70年代程式設計理論研究的主要課題是大型程式的設計方法。對於複雜而龐大的大型程式設計,原先的簡單類型、子程式、過程等概念已顯不足,需要一種表示能力更強、更靈活、結構更清晰的程式單位,這就是抽象數據類型。抽象數據類型把模組概念精確化和理論化,成為程式設計理論中的重要組成部分。

發展

70年代中期以後,程式設計理論朝多方向發展。第一,對程式設計的范型進行研究。最主要的程式設計范型有:邏輯式程式設計,函式式程式設計,面向對象的程式設計。第二,軟體生產自動化研究。這種研究的主要目的是希望能像工業生產自動化那樣,使程式設計的某些過程實現自動化,從而提高軟體生產率,保證程式正確性。這方面研究的主要成果是形式化軟體開發方法,其目標是為使用者提供一整套思維方法和描述、開發手段,如規範描述的原則、程式開發的一般過程、描述語言等等,使開發者能利用數學概念和表示方法恰當合理地構造形式規範,根據開發過程的框架及設計原則進行規範描述和系統化的設計精化,並使用證明的概念對規範的性質和設計步驟進行分析和驗證。第三,發展新套用領域中的程式設計理論與方法,例如並行程式設計,實時程式設計,混雜系統的程式設計等等。

相關詞條

熱門詞條

聯絡我們