《《程序框圖與算法的基本邏輯結(jié)構(gòu)》課件.ppt》由會員分享,可在線閱讀,更多相關(guān)《《程序框圖與算法的基本邏輯結(jié)構(gòu)》課件.ppt(39頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1.1.2 程 序 框 圖 與 算法 的 基 本 邏 輯 結(jié) 構(gòu) 一 、 復 習 回 顧1、 算 法 的 概 念 是 什 么 ? 在 數(shù) 學 中 , 算 法 通 常 是 按 照 一 定 規(guī) 則 解 決 某一 類 問 題 的 明 確 和 有 限 的 步 驟 。 現(xiàn) 在 , 算 法 通 ???以 編 成 計 算 機 程 序 , 讓 計 算 機 執(zhí) 行 并 解 決 問 題 。2、 自 然 語 言 表 述 一 個 算 法 有 什 么 缺 點 ? 我 們 可 以 用 自 然 語 言 表 述 一 個 算 法 , 但往 往 過 程 復 雜 , 缺 乏 簡 潔 性 。 因 此 , 我 們 有 必 要 探 究
2、使 算 法 表 達 更加 直 觀 、 準 確 的 方 法 。 這 個 方 法 是 什 么 嗎 ? 二 、 講 授 新 課1、 程 序 框 圖 程 序 框 圖 又 稱 流 程 圖 , 是 一 種 用 程 序框 、 流 程 線 和 文 字 說 明 來 表 示 算 法 的 圖 形 。 程 序 框 圖 是 算 法 的 一 種 表 現(xiàn) 形 式 。一 個 算 法 可 以 用 自 然 語 言 表 示 , 也 可以 用 程 序 框 圖 表 示 。 通 常 是 先 寫 出 算法 的 步 驟 , 然 后 再 轉(zhuǎn) 化 為 對 應 的 程 序框 圖 。 構(gòu) 成 程 序 框 圖 的 圖 形 符 號 及 其 功 能圖 形
3、 符 號 名 稱 功 能表 示 一 個 算 法的 起 始 與 結(jié) 束輸 入 框輸 出 框 表 示 輸 入 輸 出操 作終 端 框(起 止 框 ) 一 個 完 整 的 程 序 框 圖 ,一 定 是 以 起 止 框 表 示 開 始 ,同 時 又 以 起 止 框 表 示 結(jié) 束 。 處 理 框(執(zhí) 行 框 ) 賦 值 、 計 算判 斷 框 判 斷 某 一 條 件 是否 成 立 , 成 立 時 在出 口 處 標 明 “ 是 ”或 “ Y”, 不 成 立 時標 明 “ 否 ” 或 “ N”。流 程 線 連 接 程 序 框連 結(jié) 點 連 接 程 序 框 圖 的兩 部 分v流 程 線 是 帶 有 方 向 的
4、 箭 頭 , 用 以 連 接 程 序 框 ,直 觀 的 表 示 算 法 的 流 程 。v在 程 序 框 圖 中 , 任 意 兩 個 程 序 框 圖 之 間 都 存 在流 程 線 ; v除 起 止 框 外 , 任 意 一 個 程 序 框 都 只 有 一 條 流 程線 “ 流 進 ”v輸 入 輸 出 框 、 處 理 框 都 只 有 一 條 流 程 線 “ 流 出 ”v但 是 判 斷 框 一 定 是 兩 條 流 程 線 “ 流 出 ” 即 興 練 習 : 1、 下 面 四 個 程 序 框 圖 中 , 從左 到 右 依 次 是 ( ) A、 輸 入 框 、 終 端 框 、 處 理 框 、 判 斷 框
5、B、 終 端 框 、 輸 出 框 、 處 理 框 、 判 斷 框 C、 輸 出 框 、 處 理 框 、 終 端 框 、 判 斷 框 D、 處 理 框 、 輸 入 框 、 終 端 框 、 判 斷 框 答 案 : C 2、 在 程 序 框 圖 中 , 一 個 算 法 的 步 驟 到 另 一 個算 法 的 步 驟 的 連 接 用 ( ) A、 連 接 點 B、 判 斷 框 C、 流 程 線 D、 處 理 框答 案 : C 在 1.1.1節(jié) 中 判 斷 “ 整 數(shù) n (n2)是 否 是 質(zhì)數(shù) ” 的 算 法 。算 法 步 驟 : 第 一 步 : 給 定 大 于 2的 整 數(shù) n 第 二 步 : 令
6、i =2 第 三 步 : 用 i 除 n得 到 余 數(shù) r 第 四 步 : 判 斷 “ r=0”是 否 成 立 . 若 是 , 則 n不 是 質(zhì) 數(shù) , 算 法 結(jié) 束 ; 否 則 , 將 i的 值 增 加 1, 仍 用 i表 示 . 第 五 步 : 判 斷 “ i(n-1)”是 否 成 立 . 若 是 , 則 n是 質(zhì) 數(shù) , 算 法 結(jié) 束 ; 否 則 , 返 回 第 三 步 。 從 1.1.1節(jié) 的 算 法 可 以 看 出 , 算 法步 驟 有 明 確 的 順 序 性 , 而 且 有 些 步 驟 只有 在 一 定 條 件 下 才 會 被 執(zhí) 行 , 有 些 步 驟在 一 定 條 件 下
7、會 被 重 復 執(zhí) 行 。 程 序 框 圖 : v開 始v輸 入 nvi =2v求 n除 以 i的 余 數(shù) rvi的 值 增 加 1v仍 用 i表 示 vin-1或 r=0?vr=0?v結(jié) 束v輸 出 “ n不 是 質(zhì) 數(shù) ” v輸 出 “ n是 質(zhì) 數(shù) ”v是v是 v否v否輸 入 一 個 大 于 2的 整數(shù) 判 斷 是 否 為 質(zhì) 數(shù) i=i+1in或 r=0? 否是求 n除 以 i的 余 數(shù)輸 入 ni=2 n不 是 質(zhì) 數(shù)r=0? n是 質(zhì) 數(shù)是 否 盡 管 不 同 的 算 法 千 差 萬 別 ,但 它 們 都 是 由三 種 基 本 的 邏 輯 結(jié) 構(gòu) 構(gòu) 成 的 。2、 程 序 框 圖
8、 有 以 下 三 種 不 同 的 邏 輯 結(jié) 構(gòu) :順 序 結(jié) 構(gòu) 條 件 結(jié) 構(gòu) 循 環(huán) 結(jié) 構(gòu) 你 能 說 出 這 三 種 基 本 邏 輯 結(jié) 構(gòu)的 特 點 嗎 ? 順 序 結(jié) 構(gòu) 是 出 現(xiàn) 最 多 的 基 本 結(jié) 構(gòu) , 它 可 以單 獨 出 現(xiàn) , 也 可 以 出 現(xiàn) 在 條 件 結(jié) 構(gòu) 和 循 環(huán)結(jié) 構(gòu) 中 。 沒 有 判 斷 框 。 條 件 結(jié) 構(gòu) 的 主 要 作 用 就 是 表 示 分 類 。 有 判斷 框 。 循 環(huán) 結(jié) 構(gòu) 中 一 定 包 含 著 條 件 結(jié) 構(gòu) , 用 以 控制 循 環(huán) 的 進 程 , 避 免 出 現(xiàn) “ 死 循 環(huán) ” 。 有判 斷 框 。 順 序 結(jié)
9、構(gòu)1、 含 義 : 順 序 結(jié) 構(gòu) 是 由 若 干 個 依 次 執(zhí) 行 的步 驟 組 成 , 是 最 簡 單 的 算 法 結(jié) 構(gòu) , 框 與 框 之間 從 上 到 下 進 行 。 任 何 算 法 都 離 不 開 順 序 結(jié)構(gòu) 。2、 框 圖 表 示 步 驟 n步 驟 n+1 例 1、 已 知 一 個 三 角 形 的 三 條 邊 長 分 別 為a,b,c, 利 用 海 倫 公 式 秦 九 韶 公 式 設 計 一個 計 算 三 角 形 面 積 的 算 法 , 并 畫 出 程 序 框圖 表 示 .算 法 分 析 :第 一 步 : 輸 入 三 角 形 三 條 邊 長 a,b,c.第 二 步 : 計 算
10、 .2 cbap 第 三 步 : 計 算 .)()( cpbpappS 第 四 步 : 輸 出 S. 程 序 框 圖 : 結(jié) 束開 始輸 入 a, b, c輸 出 s2 cbap ( )( )( )S p p a p b p c 寫 出 下 圖 的 運 行 結(jié) 果 。 開 始輸 入 a,b a=2 b=4 c=a a=b b=cS=a-b 輸 出 S結(jié) 束答 案 : S=2 條 件 結(jié) 構(gòu) 在 算 法 中 , 通 過 對 某 個 條 件 的 判 斷 , 根 據(jù)條 件 是 否 成 立 選 擇 不 同 流 向 的 算 法 結(jié) 構(gòu) 稱 為 條件 結(jié) 構(gòu) 。條 件 結(jié) 構(gòu) 可 以 用 程 序 框 圖
11、表 示 為 下 面 兩 種 形 式 : v滿 足 條 件 ?v是 v否 v滿 足 條 件 ?v是 v否步 驟 A 步 驟 B 步 驟 A 例 2、 任 意 給 定 3個 正 實 數(shù) ,設 計 一 個 算法 ,判 斷 分 別 以 這 三 個 數(shù) 為 三 邊 邊 長 的三 角 形 是 否 存 在 .畫 出 這 個 算 法 的 程 序框 圖 .第 一 步 : 輸 入 3個 正 實 數(shù) a,b,c.第 二 步 : 判 斷 a+bc,b+ca,a+cb,是 否 同時 成 立 .若 是 , 則 存 在 這 樣 的 三 角 形 ; 否則 不 存 在 這 樣 的 三 角 形 . 程 序 框 圖 : v結(jié) 束v
12、開 始v輸 入 a,b,cv存 在 這 樣 的 三 角 形va+ bc, a+ cb,v b+ ca是 否 同 時v成 立 ? v不 存 在 這 樣 的 三 角 形v是 v否 下 圖 是 求 實 數(shù) x的 絕 對 值 的 算 法 程 序 框 圖 , 則判 斷 框 中 可 填 。開 始輸 入 x輸 出 x 輸 出 -x結(jié) 束答 案 : 0? 0?x x 或 “ ”是 否 6 1, 5x x 22x+1, x5、 設 計 求 一 個 函 數(shù) y= 的 算 法 , 并3x畫 出 相 應 的 程 序 框 圖 。5x 用 自 然 語 言 表 述 為 :第 一 步 : 輸 入 x;第 二 步 : 如 果
13、x5,則 y=2x+1, 如 果 ,則 ;y= 1x 23x第 三 步 : 輸 出 y; 程 序 框 圖 如 下 圖 所 示 :輸 入 xX5?Y=2x+1輸 出 y開 始結(jié) 束 1x 2y=3x是 否 循 環(huán) 結(jié) 構(gòu)1.含 義 : 循 環(huán) 結(jié) 構(gòu) 是 指 在 算 法 中 從 某 處 開始 ,按 照 一 定 的 條 件 反 復 執(zhí) 行 某 些 步 驟 的 算法 結(jié) 構(gòu) .反 復 執(zhí) 行 的 步 驟 稱 為 循 環(huán) 體 。在 科 學 計 算 中 ,有 許 多 有 規(guī) 律 的 重 復 計 算 ,如累 加 求 和 、 累 乘 求 積 等 問 題 要 用 到 循 環(huán) 結(jié) 構(gòu) . 直到型循環(huán)結(jié)構(gòu) 滿 足
14、 條 件 ?循 環(huán) 體是 直 到 型 循 環(huán) 執(zhí) 行 了 一 次 循 環(huán) 體 之 后 ,對 控制 循 環(huán) 條 件 進 行 判 斷 ,當 條 件 不 滿 足 時 執(zhí) 行 循環(huán) 體 ,直 到 條 件 滿 足 時 終 止 循 環(huán) .2.框 圖 表 示 否 當型循環(huán)結(jié)構(gòu) 滿 足 條 件 ? 循 環(huán) 體是否 當 型 循 環(huán) 結(jié) 構(gòu) 在 每 次 執(zhí) 行 循 環(huán) 體 前 對 控 制循 環(huán) 條 件 進 行 判 斷 ,當 條 件 滿 足 時 執(zhí) 行 循 環(huán) 體 ,不 滿 足 則 停 止 . 例 4、 設 計 一 算 法 ,求 和 :1+2+3+ +100.算 法 步 驟 :第 一 步 :第 二 步 :第 三 步
15、 :程 序 框 圖 : 100i 若 成 立 , 則 執(zhí) 行 第 三 步 ; 否 則 ,=1i令 , s=0.s輸 出 , 結(jié) 束 算 法 。1,i i 返 回 第 二 步 。 當 型 循 環(huán) 結(jié) 構(gòu) v開 始vi =1vs=0100?i 否 v輸 出 s”v結(jié) 束 vs=s+i是 vi =i+1 直 到 循 環(huán) 結(jié) 構(gòu) v開 始v s=0 vi100?v結(jié) 束v輸 出 sv是vi =1v s=s+i v i =i+1v否 北 京 獲 得 了 2008年 第 29屆 奧 林 匹 克 運動 會 主 辦 權(quán) .你 知 道 在 申 辦 奧 運 會 的 最 后 階級 ,國 際 奧 委 會 是 如 何
16、通 過 投 票 決 定 主 辦 權(quán)歸 屬 的 嗎 ?用 怎 樣 的 算 法 結(jié) 構(gòu) 表 述 上 面 的 操 作 過 程 ?算 法 步 驟 :第 一 步 : 投 票 ;第 二 步 :統(tǒng) 第 一 步 計 票 數(shù) ,如 果 有 一 個 城 市 得票 超 過 總 票 數(shù) 的 一 半 ,那 么 該 城 市 就 獲 得 主辦 權(quán) ,執(zhí) 行 第 三 步 ,否 則 淘 汰 得 票 數(shù) 最 少 的 城市 ,返 回 第 一 步 ;第 三 步 : 宣 布 主 辦 城 市 . 開 始投 票有 一 個 城 市得 票 數(shù) 超 過 總 票 數(shù) 的 一 半輸 出 該 城 市結(jié) 束 淘 汰 得 票 數(shù)最 少 的 城 市Y N
17、在 許 多 算 法 中 ,需 要對 問 題 的 條 件 作 出 邏 輯 判斷 ,判 斷 后 依 據(jù) 條 件 是 否成 立 而 進 行 不 同 的 處 理 方式 ,這 就 需 要 用 條 件 結(jié) 構(gòu)來 實 現(xiàn) 算 法 . 2、 閱 讀 下 面 的 程 序 框 圖 , 若 輸 出 的s=57, 則 判 斷 框 內(nèi) 為 ( )開 始S=1,k=1K=k+1 s=2s+k輸 出 s結(jié) 束 YN答 案 : K4?或 s57?. 3、 程 序 框 圖 的 畫 法 2“ ” x -2=0(X0)根 據(jù) 例 2的 算 法 步 驟 , 利 用 三 種 基 本 邏 輯 結(jié) 構(gòu)畫 出 程 序 框 圖 , 表 示 用
18、 二 分 法 求 方 程的 近 似 解 的 算 法 。設 計 一 個 算 法 的 程 序 框 圖 通 常 要 經(jīng) 過以 下 步 驟 。第 一 步 : 用 自 然 語 言 表 述 算 法 步 驟 。第 二 步 : 確 定 每 個 算 法 步 驟 所 包 含 的 結(jié) 構(gòu) , 并 用 相 應 的 程 序 框 圖 表 示 , 得 到 該 步 驟的 程 序 框 圖 。 ( 1) 算 法 步 驟 中 的 “ 第 一 步 ” “ 第 二 步 ” 和 “ 第三 步 ” 可 用 順 序 結(jié) 構(gòu) 來 表 示 。2( ) 2f x x 輸 入 精 確 度 d和 初 始 值 a,b 2a bm a=m v是v否 b=
19、mvf(a)f(m)0?(2)算 法 步 驟 中 的 “ 第 四 步 ” 可 以 用 條 件構(gòu) 來 表 示 。 (3)算 法 步 驟 中 的 “ 第 五 步 ” 包 含 一 個 條 件 結(jié) 構(gòu) ,這 個 條 件 結(jié) 構(gòu) 與 “ 第 三 步 ” “ 第 四 步 ” 構(gòu) 成 一個 循 環(huán) 結(jié) 構(gòu) 。 va-b d或 f(m)=0?v第 三 步v第 四 步v輸 出 m v否v是 第 三 步 : 將 所 有 步 驟 的 程 序 框 圖 用 流 程 線 連接 起 來 , 并 加 上 終 端 框 , 得 到 表 示 整 個 算 法的 程 序 框 圖 。 小 結(jié) : 1、 掌 握 程 序 框 的 畫 法 。 2、 了 解 什 么 是 程 序 框 圖 , 知 道 學 習 程 序 框 圖 的 意 義 。 3、 構(gòu) 成 程 序 框 圖 的 圖 形 符 號 及 其 功 能 。 4、 算 法 的 三 種 基 本 邏 輯 結(jié) 構(gòu) 的 概 念 和 應 用 。 5、 算 法 的 三 種 基 本 邏 輯 結(jié) 構(gòu) 之 間 的 聯(lián) 系 和區(qū) 別 。 作 業(yè) : P20習 題 1.1A組 3題 。 思 考 : 畫 出 解 不 等 式 ax+b 0(ab0)的程 序 框 圖