程式設計

程式設計

程式設計是給出解決特定問題程式的過程,是軟體構造活動中的重要組成部分。程式設計往往以某種程式設計語言為工具,給出這種語言下的程式。程式設計過程應當包括分析設計編碼、測試、排錯等不同階段。專業的程式設計人員常被稱為程式設計師

任何設計活動都是在各種約束條件和相互矛盾的需求之間尋求一種平衡,程式設計也不例外。在計算機技術發展的早期,由於機器資源比較昂貴,程式的時間和空間代價往往是設計關心的主要因素;隨著硬體技術的飛速發展和軟體規模的日益龐大,程式的結構、可維護性、復用性、可擴展性等因素日益重要。

基本介紹

  • 中文名:程式設計
  • 外文名: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的編程,好像就是把我們在某個方面的功能提出來與一批對象進行隔離,這樣與一批對象之間降低了耦合性,可以就某個功能進行編程.
程式設計

語言

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

語言分類

程式設計語言的基本成分有:①數據成分,用於描述程式所涉及的數據;②運算成分,用以描述程式中所包含的運算;③控制成分,用以描述程式中所包含的控制;④傳輸成分,用以表達程式中數據的傳輸。
程式設計語言 計算機 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)是指設計、編制、調試程式的方法和過程。它是目標明確的智力活動。由於程式是軟體的本體,軟體的質量主要通過程式的質量來體現,在軟體研究中,程式設計的工作非常重要,內容涉及到有關的基本概念、工具、方法以及方法學等。程式設計通常分為問題建摸,算法設計,編寫代碼,編譯調試和整理並寫出文檔資料五個階段。

相關詞條

熱門詞條

聯絡我們