-
算法描述
鎖定
- 中文名
- 算法描述
- 外文名
- Algorithm Description
- 涉及學科
- 信息科學
- 描述語言
- 自然語言、偽代碼等
- 目 的
- 以便與人交流
- 對 象
- 對設計出的算法
算法描述簡介
算法可採用多種描述語言來描述,例如,自然語言、計算機語言或某些偽語言。各種描述語言在對問題的描述能力方面存在一定的差異。例如,自然語言較為靈活,但不夠嚴謹。而計算機語言雖然嚴謹,但由於語法方面的限制,使得靈活性不足。因此,許多教材中採用的是以一種計算機語言為基礎,適當添加某些功能或放寬某些限制而得到的一種類語言。這些類語言既具有計算機語言的嚴謹性,又具有靈活性,同時也容易上機實現,因而被廣泛接受。目前,許多“數據結構”教材採用類PASCAL語言、類C++或類C語言作為算法描述語言。
[1]
算法描述算法的特徵
- 輸出:一個算法應有一個或以上輸出量,輸出量是算法計算的結果。
- 明確性:算法的描述必須無歧義,以保證算法的實際執行結果是精確地符合要求或期望,通常要求實際運行結果是確定的。
- 有限性:依據圖靈的定義,一個算法是能夠被任何圖靈完備系統模擬的一串運算,而圖靈機器只有有限個狀態、有限個輸入符號和有限個轉移函數(指令)。而一些定義更規定算法必須在有限個步驟內完成任務。
- 有效性:又稱可行性。能夠實現,算法中描述的操作都是可以通過已經實現的基本運算執行有限次來實現。
算法描述功能
輸入和輸出語句
該語句可用下面的形式同時輸入多個不同類型的變量。
cin>>x1>>x2>>x3>>x4>>x5;
(2)輸出:cout<<exp;
其功能是將表達式exp的值輸出到屏幕上。其中表達式exp的類型可以是整型、浮點型、字符型等不同類型。
該語句可用下面的形式同時輸出多個不同類型的表達式的值。
cout<<exp1<<exp2<<exp3<<exp4<<exp5;
最小值和最大值函數min和max
(1)最小值函數:datatype min(datatype expl,datatype exp2,…,datatype expn);
返回表達式expi(i=1,2,…,n)中的最小的值。其中元素類型datatype可以是各種類型。
(2)最大值函數:datatype max(datatype expl,datatype exp2,…,dalatype expn);
返回表達式expi(i=1,2,…,n)中的最大的值。
交換變量的值
x1<= =>x2;交換變量x1和x2的值。
註釋
在雙斜線“//”後面的內容就是註釋的內容。例如,下面語句的右面就是一個註釋。
A[i]=i*i; //此處為註釋內容
程序錯誤輸出提示
error(”exp”);
算法描述語句形式
算法描述語法形式
算法描述語言的語法不是十分嚴格,它主要由符號與表達式、賦值語句、控制轉移語句、循環語句、其他語句構成。符號命名、數學及邏輯表達式一般與程序書寫一致。賦值用箭頭表示。語句可有標識,標識可以是數字,也可以是具有實際意義的單詞。例如,循環累加可表示為:
loop:n=n+1;
算法描述控制轉移語句
無條件轉移語句用“GOTO語句標識”表示。條件轉移語句用“IF C THEN S1 ELSE S2”表示,其中C、S1和s2可以是一個邏輯表達式,也可以是用“{”與“}”括起來的語句組。如果C為“真”,則S1被執行;如果C為“假”,則執行S2。
算法描述循環語句
循環語句有兩種形式:WHILE語句的形式為“WHILE C DO S”,其中C和S意義同上。如果C為“真”,則執行S,且在每次執行S之後都要重新檢查C;如果C為“假”,控制就轉到緊跟在WHILE後面的語句。FOR語句的形式為“FOR i=init TO limit BY step DO S”,其中i是循環控制變量,init、limit和step都是算術表達式,而S意義同上。每當S被執行一次時,i從初值加步長,直到i>limit為止。
算法描述其他語句
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:4次歷史版本
- 最近更新: tujiaqi大本营