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