程序設計

程序設計

程序設計
程序設計是給出解決特定問題程序的過程,是軟件構造活動中的重要組成部分。程序設計往往以某種程序設計語言為工具,給出這種語言下的程序。程序設計過程應當包括分析、設計、編碼、測試、排錯等不同階段。專業的程序設計人員常被稱為程序員。任何設計活動都是在各種約束條件和相互矛盾的需求之間尋求一種平衡,程序設計也不例外。
    中文名:程序設計 外文名:Programming 領 域:計算機編程 分 類:面向過程,面向對象,面向切面等

概述

某種意義上,程序設計的出現甚至早于電子計算機的出現。英國著名詩人拜倫的女兒愛達·勒芙蕾絲曾設計了巴貝奇分析機上計算伯努利數的一個程序。她甚至還創建了循環和子程序的概念。由于她在程序設計上的開創性工作,愛達·勒芙蕾絲被稱為世界上第一位程序員。

在計算機技術發展的早期,由于機器資源比較昂貴,程序的時間和空間代價往往是設計關心的主要因素;随着硬件技術的飛速發展和軟件規模的日益龐大,程序的結構、可維護性、複用性、可擴展性等因素日益重要。

另一方面,在計算機技術發展的早期,軟件構造活動主要就是程序設計活動。但随着軟件技術的發展,軟件系統越來越複雜,逐漸分化出許多專用的軟件系統,如操作系統、數據庫系統、應用服務器,而且這些專用的軟件系統愈來愈成為普遍的計算環境的一部分。這種情況下軟件構造活動的内容越來越豐富,不再隻是純粹的程序設計,還包括數據庫設計、用戶界面設計、接口設計、通信協議設計和複雜的系統配置過程。但C語言具有邏輯性強、處理問題周密、嚴謹的特點,是集知識和技能于一體,實踐性很強的課程。

步驟

分析問題

對于接受的任務要進行認真的分析,研究所給定的條件,分析最後應達到的目标,找出解決問題的規律,選擇解題的方法,完成實際問題。

設計算法

即設計出解題的方法和具體步驟。

編寫程序

将算法翻譯成計算機程序設計語言,對源程序進行編輯、編譯和連接。

運行程序,分析結果

運行可執行程序,得到運行結果。能得到運行結果并不意味着程序正确,要對結果進行分析,看它是否合理。不合理要對程序進行調試,即通過上機發現和排除程序中的故障的過程。

編寫程序文檔

許多程序是提供給别人使用的,如同正式的産品應當提供産品說明書一樣,正式提供給用戶使用的程序,必須向用戶提供程序說明書。内容應包括:程序名稱、程序功能、運行環境、程序的裝入和啟動、需要輸入的數據,以及使用注意事項等。

方法

面向過程

面向過程的結構化程序設計分三種基本結構:順序結構、選擇結構、循環結構

原則

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

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

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

按照使用方式,有交互式語言和非交互式語言之分。具有反映人機交互作用的語言成分的語言成為交互式語言,如BASIC等。不反映人機交互作用的語言稱為非交互式語言,如FORTRAN、COBOL、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)是指設計、編制、調試程序的方法和過程。它是目标明确的智力活動。由于程序是軟件的本體,軟件的質量主要通過程序的質量來體現,在軟件研究中,程序設計的工作非常重要,内容涉及到有關的基本概念、工具、方法以及方法學等。程序設計通常分為問題建摸,算法設計,編寫代碼,編譯調試和整理并寫出文檔資料五個階段。

上一篇:順磁性物質

下一篇:冒泡排序

相關詞條

相關搜索

其它詞條