程式設計

程式設計

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

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

  • 中文名稱
    程式設計
  • 外文名稱
    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按照語言級別可以分為低級語言和高級語言。低級語言有機器語言和匯編語言。低級語言與特定的機器有關、功效高,但使用復雜、繁瑣、費時、易出差錯。機器語言是表示成數碼形式的機器基本指令集,或者是操作碼經過符號化的基本指令集。匯編語言是機器語言中地址部分符號化的結果,或進一步包括宏構造。高級語言的表示方法要比低級語言更接近于待解問題的表示方法,其特點是在一定程度上與具體機器無關,易學、易用、易維護。

程式語言按照使用者的要求有過程式語言和非過程式語言之分。過程式語言的主要特征是,使用者可以指明一列可順序執行的運算,以表示相應的計算過程,如FORTRANCOBOL、PASCAL等。

按照套用範圍,有通用語言與專用語言之分。如FORTRAN、COLBAL、PASCAL、C語言等都是通用語言。目標單一的語言稱為專用語言,如APT等。

按照使用方式,有互動式語言和非互動式語言之分。具有反映人機互動作用的語言成分的語言成為互動式語言,如BASIC等。不反映人機互動作用的語言稱為非互動式語言,如FORTRANCOBOL、ALGOL69、PASCAL、C語言等都是非互動式語言。

按照成分性質,有順序語言、並發語言和分布語言之分。隻含順序成分的語言稱為順序語言,如FORTRAN、C語言等。含有並發成分的語言稱為並發語言,如PASCAL、Modula和Ada等。

程式語言是軟體的重要方面,其發展趨勢是模組化、簡明化、形式化、並行化和可視化。

程式語言還分為面向對象和面向過程,面向對象的例如:C++/C#/Delphi……面向過程的例如:Free Pascal/C語言……

常見語言

C語言 即中文版的C語言

O語言 O語言是一款中文電腦語言(或稱套裝:O匯編語言、O中間語言、O高級語言)

AAuto

ActionScript

APL、

A+

B語言

J語言

Ada

匯編語言

AWK

Basic

Fortran

VBScript

Brainfuck

C語言

C++

C#

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)是指設計、編製、調試程式的方法和過程。它是目標明確的智力活動。由于程式是軟體的本體,軟體的質量主要通過程式的質量來體現,在軟體研究中,程式設計的工作非常重要,內容涉及到有關的基本概念、工具、方法以及方法學等。程式設計通常分為問題建摸,演算法設計,編寫代碼,編譯調試和整理並寫出文檔資料五個階段。

相關詞條

相關搜尋

其它詞條