C 面向過程的程式設計和演算法

2021-06-26 07:02:42 字數 1129 閱讀 9902

關於演算法,在c語言教程中已經講述(請檢視c語言演算法),已檢視的讀者或者有程式設計經驗的讀者請跳過這裡。

在面向過程的程式設計中,程式設計者必須指定計算機執行的具體步驟,程式設計者不僅要考慮程式要「做什麼」,還要解決「怎麼做」的問題,根據程式要「做什麼」的要求,寫出乙個個語句,安排好它們的執行順序。怎樣設計這些步驟,怎樣保證它的正確性和具有較高的效率,這就是演算法需要解決的問題。

演算法的概念

乙個面向過程的程式應包括以下兩方面內容:

對資料的描述。在程式中要指定資料的型別和資料的組織形式,即資料結構(data structure)。

對操作的描述。即操作步驟,也就是演算法(algorithm)。

對於面向過程的程式,可以用下面的公式表示:

程式=演算法+資料結構

作為程式設計人員,必須認真考慮和設計資料結構和操作步驟(即演算法)。演算法是處理問題的一系列的步驟。演算法必須具體地指出在執行時每一步應當怎樣做。

不要認為只有「計算」的問題才有演算法。廣義地說,為解決乙個問題而採取的方法和步驟,就稱為「演算法」。

計算機演算法可分為兩大類別:數值演算法和非數值演算法。數值演算法的目的是求數值解。非數值演算法包括的面十分廣泛,最常見的是用於事務管理領域。目前,計算機在非數值方面的應用遠遠超過了在數值方面的應用。

c++既支援面向過程的程式設計,又支援物件導向的程式設計。無論面向過程的程式設計還是物件導向的程式設計,都離不開演算法設計。

演算法的表示

1. 自然語言

用中文或英文等自然語言描述演算法。但容易產生歧義性,在程式設計中一般不用自然語言表示演算法。

2. 流程圖

可以用傳統的流程圖或結構化流程圖。用圖的形式表示演算法,比較形象直觀,但修改演算法時顯得不大方便。

3. 偽**(pseudo code)

偽**是用介於自然語言和計算機語言之間的文字和符號來描述演算法。如

if x is positive then

print x

else

print-x

用偽**寫演算法並無固定的、嚴格的語法規則,只需把意思表達清楚,並且書寫的格式要寫成清晰易讀的形式。它不用圖形符號,因此書寫方便、格式緊湊,容易修改,便於向計算機語言演算法(即程式)過渡。

4. 用計算機語言表示演算法

用一種計算機語言去描述演算法,這就是電腦程式。

C 面向過程的程式設計和演算法

關於演算法,在c語言教程中已經講述 請檢視c語言演算法 已檢視的讀者或者有程式設計經驗的讀者請跳過這裡。在面向過程的程式設計中,程式設計者必須指定計算機執行的具體步驟,程式設計者不僅要考慮程式要 做什麼 還要解決 怎麼做 的問題,根據程式要 做什麼 的要求,寫出乙個個語句,安排好它們的執行順序。怎樣...

3 1 面向過程的程式設計和演算法

在面向過程的程式設計中,程式設計者必須指定計算機執行的具體步驟,程式設計者不僅要考慮程式要 做什麼 還要解決 怎麼做 的問題,根據程式要 做什麼 的要求,寫出乙個個語句,安排好它們的執行順序。怎樣設計這些步驟,怎樣保證它的正確性和具有較高的效率,這就是演算法需要解決的問題。乙個面向過程的程式應包括以...

面向過程的程式設計

概念 核心是 過程 二字,過程 指的是解決問題的步驟,即先幹什麼再幹什麼,基於面向過程設計程式就好比在設計一條流水線,是一種機械式的思維方式。若程式一開始是要著手解決乙個打的問題,面向過程的基本設計思路就是把這個大的問題分解成很多個小問題或子過程,這些子過程再執行的過程中繼續分解,知道小問題足夠簡單...