跳轉到內容

程式設計概念:程式設計正規化

來自華夏公益教科書,開放的書籍,為一個開放的世界

試卷 1 - ⇑ 程式設計基礎 ⇑

程式設計正規化 面向過程程式設計 →


程式設計正規化

[編輯 | 編輯原始碼]
正規化 - 某事物的典型例子或模式;模式或模型

你應該有程式設計解決問題的經驗。這種經驗可能是在諸如 VB.NET、PHP、Python、Java 或 Pascal 等語言中,你應該能夠快速理解類似這樣的程式碼會做什麼

numBananas = 2
numApples = 5
numFruit = numBananas + numApples

到目前為止,你一直在使用結構化程式設計技術。看看上面的例子,結構化語言從程式一行一行地執行,從 1 開始,然後是 2,然後是 3。

程式設計中還有許多其他正規化,但在這門課程中,你將學習以下型別

  • 結構化程式設計技術
  • 函數語言程式設計
  • 邏輯程式設計
  • 事件驅動程式設計
  • 面向過程程式設計
  • 面向物件程式設計

結構化程式設計技術

[編輯 | 編輯原始碼]

結構化程式設計技術涉及給你的程式碼編寫結構,這些結構通常涉及在塊中編寫程式碼,例如

  • 順序 - 程式碼逐行執行
  • 選擇 - 分支語句,例如 if..then..else 或 case。
  • 重複 - 迭代語句,例如 for、while、repeat、loop、do、until。

它還涉及將問題分解成更小的問題,直到可以編寫執行單個任務的例程。例程對透過引數傳遞給它們的資料進行操作,這些例程可以重複使用,並且通常打包到庫中以節省開發時間。

dim x as integer
x = 7
If x = 2 then
  x = x + 4
else
  x = x - 2
end if

面向過程程式設計

[編輯 | 編輯原始碼]

面向過程程式設計與結構化程式設計技術共享相同的特性,它實現過程/子例程來執行通用功能

dim x as integer
x = 7
x = doubleIt(x)
console.writeline(x)

面向物件程式設計

[編輯 | 編輯原始碼]

面向物件程式設計將結構化程式設計中使用的技術進一步發展,並將例程及其使用的資料組合到物件中。為物件儲存的資料項稱為屬性,而對這些欄位進行操作的例程稱為方法

class Building
{
	private int height = 50;

	public int getHeight()
	{
		return height;
	}

	public void demolish()
	{
		System.out.println( "3 .. 2 .. 1 .. BOOM!" );
		height = 0;
	}
}

class Program
{
	public static void main( String[] args )
	{
		Building house1 = new Building();
		Building house2 = new Building();

		house2.demolish();
		System.out.println( "House 1 height = "+house1.getHeight() );
		System.out.println( "House 2 height = "+house2.getHeight() );
	}
}

函數語言程式設計

[編輯 | 編輯原始碼]

在函數語言程式設計中,程式定義數學函式。解決問題的方案包括一系列函式呼叫。沒有變數或賦值語句,而是有列表和操縱這些列表的函式。函數語言程式設計語言的一個例子是Haskell

邏輯程式設計

[編輯 | 編輯原始碼]

一個邏輯程式包含一組事實和規則。建立一個關於特定主題的知識庫,並且一個推理引擎使用知識庫來回答以目標形式提出的查詢。邏輯程式設計通常用於人工智慧系統。

事件驅動程式設計

[編輯 | 編輯原始碼]

事件驅動程式設計指的是標準的 Windows 窗體概念,程式在一個迴圈中等待,直到發生一個事件(例如,單擊一個按鈕或按下一個鍵)。然後,程式執行與該事件相關聯的程式碼,然後返回到其迴圈,前提是程式碼沒有指示它關閉。

如果發生多個事件,程式會將程式碼排隊,並按事件觸發的順序執行。

練習:程式設計正規化

列出 4 種不同的程式設計正規化

答案


  • 面向過程程式設計
  • 結構化程式設計技術
  • 事件驅動程式設計
  • 面向物件程式設計

什麼是程式設計正規化

答案


模型或模式;模板,定義程式語言如何運作

描述事件驅動語言的工作原理

答案


程式在一個迴圈中等待,直到發生一個事件(例如,單擊一個按鈕或按下一個鍵)。然後,程式執行與該事件相關聯的程式碼,然後返回到其迴圈,前提是程式碼沒有指示它關閉。

描述你可能期望一個電腦遊戲處理的 2 個事件

答案


  • 按鈕按下
  • 網路通訊,例如有人給你傳送訊息

描述你可能期望一個文字處理器處理的 2 個事件

答案


  • 鍵盤輸入
  • 滑鼠按鈕
華夏公益教科書