Chapter 2-2 演算法表示和程式設計的三個基本結構

2020-08-14 17:13:03

一、演算法的特性

  • 有窮性:不能成爲死回圈
  • 確定性:每個步驟都是明確的,不能有歧義
  • 零個或多個輸入
  • 有一個或多個輸出:演算法必須要有輸出,沒有輸出的演算法是沒有意義的
  • 有效性

二、演算法的表示方法

  1. 用自然語言表示
  2. 用流程圖法表示

 左圖是一個求5!的演算法流程圖,右圖是ANSI(美國國家標準化協會)規定的符號含義

 

     3.用N-S流程圖表示

表示5!

     4.用僞代碼表示

虛擬碼是用介於自然語言和計算機語言之間的文字和符號來描述演算法。它如同一篇文章一樣自上而下地寫下來。每一行或幾行表示一個基本操作,它不用圖形符號。它書寫方便,格式緊湊,修改方便,容易看懂,也便於向計算機語言演算法過渡。

     5.用計算機語言表示

計算機語言必須嚴格遵循所用的語言的語法規則

比如C語言:

三、結構化程式設計方法

  • 自頂向下,逐步細化。
  • 自下而上,逐步積累。
  • 模組化設計。
  • 結構化編碼。

PS:

三種基本結構

一,順序結構。

按照順序執行。

二,選擇結構。

選擇結構又稱選取結構或分支結構。判斷後執行。

三,回圈結構。

回圈結構又稱重複結構,即使反覆 反復執行某一部分的操作。

1、當型(while型)回圈結構。

當給定的條件成立時執行操作,執行完後再判斷條件是否成立,如果仍然成立,再次執行,如此反覆 反復執行。直到某一次這個條件不成立爲止,這時候不再執行這個操作,而從這一點直接脫離回圈節。

2、直到型(until)回圈結構。

先執行操作,然後判斷給定的條件是否成立,如果條件不成立,那麼就執行這個操作。然後再對條件做判斷,如果條件仍然不成立,再次執行操作。如此反覆 反復執行操作,直到給定的條件成立爲止,這時不再執行這一操作,從這點脫離回圈。