複製鏈接
請複製以下鏈接發送給好友

程序設計

(計算機編程術語)

鎖定
程序設計是給出解決特定問題程序的過程,是軟件構造活動中的重要組成部分。程序設計往往以某種程序設計語言為工具,給出這種語言下的程序。程序設計過程應當包括分析設計編碼、測試、排錯等不同階段。專業的程序設計人員常被稱為程序員
任何設計活動都是在各種約束條件和相互矛盾的需求之間尋求一種平衡,程序設計也不例外。在計算機技術發展的早期,由於機器資源比較昂貴,程序的時間和空間代價往往是設計關心的主要因素;隨着硬件技術的飛速發展和軟件規模的日益龐大,程序的結構、可維護性、複用性、可擴展性等因素日益重要。
中文名
程序設計
外文名
Programming
領    域
計算機編程
分    類
面向過程,面向對象,面向切面等

程序設計概述

程序設計是給出解決特定問題程序的過程,是軟件構造活動中的重要組成部分。程序設計往往以某種程序設計語言為工具,給出這種語言下的程序。程序設計過程應當包括分析、設計、編碼、測試、排錯等不同階段。專業的程序設計人員常被稱為程序員
某種意義上,程序設計的出現甚至早於電子計算機的出現。英國著名詩人拜倫的女兒愛達·勒芙蕾絲曾設計了巴貝奇分析機上計算伯努利數的一個程序。她甚至還創建了循環子程序的概念。由於她在程序設計上的開創性工作,愛達·勒芙蕾絲被稱為世界上第一位程序員。
任何設計活動都是在各種約束條件和相互矛盾的需求之間尋求一種平衡,程序設計也不例外。在計算機技術發展的早期,由於機器資源比較昂貴,程序的時間和空間代價往往是設計關心的主要因素;隨着硬件技術的飛速發展和軟件規模的日益龐大,程序的結構、可維護性、複用性、可擴展性等因素日益重要。
另一方面,在計算機技術發展的早期,軟件構造活動主要就是程序設計活動。但隨着軟件技術的發展,軟件系統越來越複雜,逐漸分化出許多專用的軟件系統,如操作系統數據庫系統應用服務器,而且這些專用的軟件系統愈來愈成為普遍的計算環境的一部分。這種情況下軟件構造活動的內容越來越豐富,不再只是純粹的程序設計,還包括數據庫設計用户界面設計、接口設計、通信協議設計和複雜的系統配置過程。

程序設計步驟

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

程序設計方法

程序設計面向過程

面向過程的結構化程序設計分三種基本結構:順序結構、選擇結構、循環結構
原則
1,自頂向下:指從問題的全局下手,把一個複雜的任務分解成許多易於控制和處理的子任務,子任務還可能做進一步分解,如此重複,直到每個子任務都容易解決為止。
2,逐步求精
3,模塊化:指解決一個複雜問題是自頂向下逐層把軟件系統劃分成一個個較小的、相對獨立但又相互關聯的模塊的過程。
注意事項
1,使用順序、選擇、循環等有限的基本結構表示程序邏輯。
2,選用的控制結構只准許有一個入口和一個出口
3,程序語句組成容易識別的塊,每塊只有一個入口和一個出口。
4,複雜結構應該用基本控制結構進行組合或嵌套來實現。
5,程序設計語言中沒有的控制結構,可用一段等價的程序段模擬,但要求改程序段在整個系統中應前後一致。
6,嚴格控制GOTO語句。

程序設計面向對象的程序設計

面向對象的基本概念
1,對象
2,類
3,封裝
4,繼承
5,消息
6,多態性
優點
1,符合人們認識事物的規律
2,改善了程序的可讀性
3,使人機交互更加貼近自然語言

程序設計面向切面程序設計

程序設計 程序設計
Aspect Oriented Programming(AOP),面向切面編程,是一個比較熱門的話題。AOP主要實現的目的是針對業務處理過程中的切面進行提取,它所面對的是處理過程中的某個步驟或階段,以獲得邏輯過程中各部分之間低耦合性的隔離效果。比如我們最常見的就是日誌記錄了,舉個例子,我們現在提供一個查詢學生信息的服務,但是我們希望記錄有誰進行了這個查詢。如果按照傳統的OOP的實現的話,那我們實現了一個查詢學生信息的服務接口(StudentInfoService)和其實現類 (StudentInfoServiceImpl.java),同時為了要進行記錄的話,那我們在實現類(StudentInfoServiceImpl.java)中要添加其實現記錄的過程。這樣的話,假如我們要實現的服務有多個呢?那就要在每個實現的類都添加這些記錄過程。這樣做的話就會有點繁瑣,而且每個實現類都與記錄服務日誌的行為緊耦合,違反了面向對象的規則。那麼怎樣才能把記錄服務的行為與業務處理過程中分離出來呢?看起來好像就是查詢學生的服務自己在進行,但卻是背後日誌記錄對這些行為進行記錄,並且查詢學生的服務不知道存在這些記錄過程,這就是我們要討論AOP的目的所在。AOP的編程,好像就是把我們在某個方面的功能提出來與一批對象進行隔離,這樣與一批對象之間降低了耦合性,可以就某個功能進行編程. [1] 

程序設計語言

是用於編寫計算機程序的語言。語言的基礎是一組記號和一組規則。根據規則由記號構成的記號串的總體就是語言。在程序設計語言中,這些記號串就是程序。程序設計語言包含三個方面,即語法、語義和語用。語法表示程序的結構或形式,亦即表示構成程序的各個記號之間的組合規則,但不涉及這些記號的特定含義,也不涉及使用者。語義表示程序的含義,亦即表示按照各種方法所表示的各個記號的特定含義,但也不涉及使用着,語用表示程序與使用的關係。

程序設計語言分類

程序設計語言的基本成分有:①數據成分,用於描述程序所涉及的數據;②運算成分,用以描述程序中所包含的運算;③控制成分,用以描述程序中所包含的控制;④傳輸成分,用以表達程序中數據的傳輸。
程序設計語言 計算機 IT按照語言級別可以分為低級語言和高級語言。低級語言有機器語言彙編語言。低級語言與特定的機器有關、功效高,但使用複雜、繁瑣、費時、易出差錯。機器語言是表示成數碼形式的機器基本指令集,或者是操作碼經過符號化的基本指令集。彙編語言機器語言中地址部分符號化的結果,或進一步包括宏構造。高級語言的表示方法要比低級語言更接近於待解問題的表示方法,其特點是在一定程度上與具體機器無關,易學、易用、易維護。
程序設計語言按照用户的要求有過程式語言和非過程式語言之分。過程式語言的主要特徵是,用户可以指明一列可順序執行的運算,以表示相應的計算過程,如FORTRANCOBOLPASCAL等。
按照應用範圍,有通用語言與專用語言之分。如FORTRAN、COLBAL、PASCALC語言等都是通用語言。目標單一的語言稱為專用語言,如APT等。
按照使用方式,有交互式語言和非交互式語言之分。具有反映人機交互作用的語言成分的語言成為交互式語言,如BASIC等。不反映人機交互作用的語言稱為非交互式語言,如FORTRANCOBOL、ALGOL69、PASCALC語言等都是非交互式語言。
按照成分性質,有順序語言、併發語言和分佈語言之分。只含順序成分的語言稱為順序語言,如FORTRANC語言等。含有併發成分的語言稱為併發語言,如PASCAL、Modula和Ada等。
程序設計語言是軟件的重要方面,其發展趨勢是模塊化、簡明化、形式化、並行化和可視化。
程序設計語言還分為面向對象和麪向過程,面向對象的例如:C++/C#/Delphi……面向過程的例如:Free Pascal/C語言……

程序設計常見語言

C語言 即中文版的C語言
O語言 O語言是一款中文計算機語言(或稱套裝:O彙編語言、O中間語言、O高級語言)
AAuto
ActionScript
APL、
Clipper
COBOL
dBase
易語言
PASCAL
Delphi
Forth
FoxPro
F#
Fava
IDL
Java
JavaScript
J#
LISP
Lua
LOGO
Modula
Nuva
Perl
PHP
PL/I
Prolog
Python
R語言
Ruby
Scheme
Smalltalk
IceMaker
SQL
Tcl/Tk
Visual Basic
Visual FoxPro
XML

程序設計分類

按照結構性質,有結構化程序設計與非結構化程序設計之分。前者是指具有結構性的程序設計方法與過程。它具有由基本結構構成複雜結構的層次性,後者反之。按照用户的要求,有過程式程序設計與非過程式程序設計之分。前者是指使用過程式程序設計語言的程序設計,後者指非過程式程序設計語言的程序設計。按照程序設計的成分性質,有順序程序設計、併發程序設計、並行程序設計、分佈式程序設計之分。按照程序設計風格,有邏輯式程序設計、函數式程序設計、對象式程序設計之分。

程序設計規範

程序設計的基本概念有程序、數據、子程序子例程、協同例程、模塊以及順序性、併發性並行性、和分佈性等。程序是程序設計中最為基本的概念,子程序和協同例程都是為了便於進行程序設計而建立的程序設計基本單位,順序性、併發性並行性和分佈性反映程序的內在特性。 程序設計規範是進行程序設計的具體規定。程序設計是軟件開發工作的重要部分,而軟件開發是工程性的工作,所以要有規範。語言影響程序設計的功效以及軟件的可靠性、易讀性和易維護性。專用程序為軟件人員提供合適的環境,便於進行程序設計工作。
程序設計=數據結構+算法
程序設計(Programming)是指設計、編制、調試程序的方法和過程。它是目標明確的智力活動。由於程序是軟件的本體,軟件的質量主要通過程序的質量來體現,在軟件研究中,程序設計的工作非常重要,內容涉及到有關的基本概念、工具、方法以及方法學等。程序設計通常分為問題建摸,算法設計,編寫代碼,編譯調試和整理並寫出文檔資料五個階段。
參考資料