A-level 計算機科學 2009/AQA/處理和程式設計技術/程式設計概念
高階語言通常是面向問題的。這意味著大多數(但不是全部)高階語言被編寫來解決特定領域的難題。因此,程式設計師可以使用許多不同的高階語言 - 網際網路上的一些資源列出了超過 2,000 種。這使得選擇最合適的語言成為一項艱鉅的任務。
程式設計師可以使用以下幾種方法來選擇合適的語言:
- 檢視語言提供的功能並將其與問題進行比較
- 程式需要與其他現有程式進行互動的程度
- 輸入或輸出的適宜性以滿足使用者的需求
- 程式設計師對特定語言的熟練程度
- 必要的編譯器/直譯器的成本
- 如果需要,學習新語言需要多長時間
沒有程式設計師可以精通目前市場上所有計算機語言。現有的語言一直在不斷升級和新增,新的語言正在開發以應對新情況。
高階語言可以透過它們組織的方式進行分類。這種組織方法被稱為正規化,其中有幾個公認的正規化。
命令式是一種必須服從的命令,這就是命令式語言的工作方式。這種語言由計算機將執行的一長串指令組成。只要輸入了完全相同的變數,它將始終執行完全相同的過程。變數允許使用者控制程式,但它仍然會以類似的方式執行。
命令式語言的一些示例包括
- Fortran - 用於幫助數學和科學產品。
- COBOL(面向商業的通用語言) - 專為處理資料檔案而開發,並由強大的搜尋和報告建立例程支援。
- BASIC(初學者通用符號指令程式碼) - 最初是為了讓學生建立簡單的計算機程式而建立的。近年來,微軟從原始語言中派生出 Visual Basic,並將其轉向面向物件。
- Java - 近年來,這種語言與網際網路和建立線上應用程式相關聯,但最初用於為行動電話和傳呼機的晶片程式設計。這種語言允許開發人員建立稱為“applet”的獨立程式,這些程式無需直譯器即可執行。
宣告是在做出陳述的地方。在程式語言的上下文中,使用宣告式語言,你向計算機提供有關問題領域的事實和規則,這些事實和規則可以被查詢以返回資料。
面向物件程式由許多互動物件組成。每個物件都有屬性和行為,就像物理物件一樣。這種與物理世界的相似性通常用於對現有系統進行建模,或對程式的動作進行理論化。物件類似於過程式程式,它們具有變數、方法和函式。
物件和線性程式碼段之間的主要區別在於,變數、方法和函式的使用可能存在限制。透過不允許直接訪問狀態,而是自行執行任何更改,物件可以確保自身狀態的一致性。此屬性稱為物件封裝,它是面向物件程式設計比線性程式碼更適合複雜問題的首要原因之一。線上性程式碼中,通常將系統狀態儲存在一系列全域性變數中,這些全域性變數可以被程式的任何部分訪問。物件封裝允許對每個物件進行推理,而不必考慮來自另一個物件中的程式碼的可能副作用。
物件有兩個部分,物件的狀態和行為。物件的狀態儲存在一系列變數中,而行為則在方法和函式中定義。物件由“類”定義。“類”是變數和方法程式碼的定義。當面向物件程式執行時,記憶體中只需要一個類的單個副本,但可以建立多個狀態集。這些狀態集被稱為物件,因為編譯器、直譯器或執行時環境隱藏了對類資訊的共享。
當面向物件程式啟動時,沒有物件,那麼物件是如何建立的呢?程式載入器被提供一個初始類載入到記憶體中,以及一個初始方法來開始處理。第一個方法然後負責建立更多物件,這些物件可能還會建立更多物件。
面向物件程式也適合在物件集合中具有一個或多個併發處理流。
例項化、類、繼承、多重繼承、多型性。
面向物件程式設計採用“椅子”和“人”等物理現實生活物件的思想,並將這一概念應用於程式語言。它將“物件”作為基本基礎,可以為其分配變數(例如,一個人的姓名、一個人的年齡)和方法(例如,一個用於返回儲存在物件中的姓名的呼叫方法)。然後將這些物件組合在一起以構建程式。
與函式式和麵向物件語言形成對比的是,宣告式語言(如 prolog)包含關於問題領域的斷言,通常以元組的形式出現。語言執行時通常是互動式的,並允許輸入查詢。然後,語言使用宣告來推斷答案。
資料結構涉及資料演算法和資料重組,用於定義良好的資料庫管理系統。
演算法是逐步表示,不應用任何特定的邏輯,例如,在新增 3 個數字的程式中,步驟 1 - 開始,步驟 2 - 獲取數字 m1、m2、m3、temp。步驟 3 - 獲取 m1=1、m2=2、m3=3。步驟 4 - 新增三個數字。步驟 5 - temp=m1+m2+m3(加法的結果值轉到 temp)步驟 6 - 列印 temp。步驟 7 - 停止