天天看點

算法的表示形式(C語言)

目錄

​​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 常見的符号

算法的表示形式(C語言)
符号:起止框                                             (2)輸入輸出
算法的表示形式(C語言)
算法的表示形式(C語言)
(3)判斷:修改密碼
算法的表示形式(C語言)
(4)處理框:求和 符号:連接配接框
算法的表示形式(C語言)
算法的表示形式(C語言)
(6)注釋框
算法的表示形式(C語言)

1.2 案 例 分 析

1.2.1 案例

【案例】從鍵盤輸入一個學生的成績,并判斷,

如果該成績大于等于60分時,輸出:及格;

則輸出:不及格。請用流程圖描述該算法。

1.2.2 案例解析

算法的表示形式(C語言)

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流程圖符号

算法的表示形式(C語言)

(1)循環結構1

執行流程

:隻有當滿足一定條件時,才重複執行某操作,條件不滿足時,停止執行。

舉例

阿甘正傳

特點

: 先判斷,

可能一次也不做

相當于while、for循環

算法的表示形式(C語言)

(2)循環結構2

執行流程

先執行一次

操作,再判斷條件是否成立,

條件滿足

,則

繼續

執行,

直到

條件

不滿足

時,

停止

執行。

舉例

:猜數字謎,直到猜對為止

特點

至少做一次!

相當于do-while循環

算法的表示形式(C語言)

2.3 案例

【案例】從鍵盤輸入一個學生的成績,并判斷,如果該成績大于等于60分,輸出:及格;否則輸出:不及格。請用N-S圖描述該算法。
算法的表示形式(C語言)

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;

}      

繼續閱讀