目錄
1 算法的表示形式 ——傳統流程圖
1.1 概 念 及 符 号
1.1.1 規則
1.1.2 常見的符号
1.2 案 例 分 析
1.2.1 案例
1.2.2 案例解析
1.2.3 傳統流程圖缺點
2 算法的表示形式 ——N-S流程圖
2.1 結 構 化 程 序 設 計
2.1.1 子產品化設計思想
2.1.2 結構化程式設計之父
2.2 N - S 圖
2.2.1 N - S流程圖
2.2.2 N - S流程圖符号
2.3 案例
3 算法的表示形式 ——僞代碼及程式設計語言
3.1 僞 代 碼
3.1.1 僞代碼
3.1.2案例
3.1.3 僞代碼
3.2 程 序 設 計 語 言
3.2.1 程式設計語言描述
3.2.2 案例:C語言描述
1 算法的表示形式 ——傳統流程圖
1.1 概 念 及 符 号
1.1.1 規則
規則:使用規定的流程圖符号來描述算法思想。1.1.2 常見的符号
符号:起止框 (2)輸入輸出 (3)判斷:修改密碼 (4)處理框:求和 符号:連接配接框 (6)注釋框1.2 案 例 分 析
1.2.1 案例
【案例】從鍵盤輸入一個學生的成績,并判斷,
如果該成績大于等于60分時,輸出:及格;
否
則輸出:不及格。請用流程圖描述該算法。
1.2.2 案例解析
1.2.3 傳統流程圖缺點
箭頭較多,步驟稍微複雜點的算法,流程圖顯得很亂
2 算法的表示形式 ——N-S流程圖
2.1 結 構 化 程 序 設 計
2.1.1 子產品化設計思想
子產品化
:要解決的
總目标
分解為
子目标
,再進一步分解為具體的小目标
,把每個小目标稱為一個
子產品
。
2.1.2 結構化程式設計之父
(1)1965
艾茲格·迪科斯特拉
(
E.W.Dijikstra
):提出采用自頂向下、逐漸求精的程式設計方法。
(2)三種基本控制結構:
順序
、
分支
、
循環
。
2.2 N - S 圖
2.2.1 N - S流程圖
(1)流程線不一定是必需的。
(2)N-S圖:
1973年,美國學者
艾克納西
(Ike
N
assi)和
本·施耐
德曼
(Ben
S
hneiderman)提出算法的每一步都用一個矩形框描述,按執行次序連接配接起來就是一個完整的算法描述。
2.2.2 N - S流程圖符号
(1)循環結構1
執行流程
:隻有當滿足一定條件時,才重複執行某操作,條件不滿足時,停止執行。
舉例
:
阿甘正傳
特點
: 先判斷,
可能一次也不做
相當于while、for循環
(2)循環結構2
執行流程
:
先執行一次
操作,再判斷條件是否成立,
若
條件滿足
,則
繼續
執行,
直到
條件
不滿足
時,
停止
執行。
舉例
:猜數字謎,直到猜對為止
特點
:
至少做一次!
相當于do-while循環
2.3 案例
【案例】從鍵盤輸入一個學生的成績,并判斷,如果該成績大于等于60分,輸出:及格;否則輸出:不及格。請用N-S圖描述該算法。
3 算法的表示形式 ——僞代碼及程式設計語言
3.1 僞 代 碼
3.1.1 僞代碼
定義
:使用一種
仿
程式設計語言
來描述算法。
目的
:便于轉換為某種程式設計語言描寫的算法。
3.1.2案例
【案例】從鍵盤輸入一個學生的成績,并判斷,如果該成績大于等于60分,輸出:及格;否則輸出:不及格。請用僞代碼
描述該算法。
3.1.3 僞代碼
Begin
int sc;
Input score;
if(sc>=60)
print “及格”
else
print “不及格”
End
3.2 程 序 設 計 語 言
3.2.1 程式設計語言描述
定義:
使用某種具體的程式設計語言,如C、C++、Java等描述算法。
特點:
可直接在計算機中運作驗證。
3.2.2 案例:C語言描述
#include<stdio.h>
int main(void)
{
int sc;
printf("該輸入成績:");
scanf( "%d",&sc); //d:decimal,&:取位址
if(sc>=60)
printf("及格\n");
else
printf("不及格\n");
return 0;
}