《《循環(huán)結(jié)構(gòu) 》PPT課件》由會員分享,可在線閱讀,更多相關(guān)《《循環(huán)結(jié)構(gòu) 》PPT課件(13頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、第 四 節(jié) 循 環(huán) 結(jié) 構(gòu) (3)安 陽 一 中 李 永 恒 教 學(xué) 目 標(biāo)n 1、 掌 握 do.loop語 句 的 使 用 方 法 。n 2、 完 成 活 動 四 及 體 驗(yàn) 活 動 引 言n 前 面 學(xué) 習(xí) 的 用 fornext語 句 實(shí) 現(xiàn) 循 環(huán) ,循環(huán) 的 次 數(shù) 都 是 事 先 知 道 的 ,而 在 現(xiàn) 實(shí) 生 活中 有 很 多 重 復(fù) 操 作 的 次 數(shù) 大 都 不 是 事 先就 知 道 的 ,這 種 情 況 下 就 要 用 另 外 的 語 句來 實(shí) 現(xiàn) 循 環(huán) ,這 就 是 今 天 咱 們 要 學(xué) 習(xí) 的do.loop語 句 . 學(xué) 習(xí) 指 引 DOLOOP語 句Do Wh
2、ile 條 件 語 句 塊Loop形 式 1: Do While/Until Loop i=1s=1Do while i50 s=s*i i=i+1Loopp2語 句 2否 是 學(xué) 習(xí) 指 引 DOLOOP語 句Do 語 句 塊Loop While 條 件形 式 2: Do Loop While/Until i=1s=1Do s=s*i i=i+1Loop while i50p2語 句 塊 2 否是 學(xué) 習(xí) 指 引 DOLOOP語 句n 通 過 對 DoLoop語 句 以 上 幾 種 形 式 的 比 較 , 我 們 總 結(jié) 如 下 :n 在 以 上 兩 種 形 式 的 比 較 中 , 我 們
3、發(fā) 現(xiàn) while和 until的 區(qū) 別 僅 僅是 循 環(huán) 條 件 相 反 , 通 過 修 改 循 環(huán) 條 件 , 它 們 之 間 可 以 互 相 轉(zhuǎn)化 , 所 以 在 實(shí) 際 應(yīng) 用 中 , 我 們 習(xí) 慣 上 經(jīng) 常 使 用 Do whileLoop 和 DoLoop Until兩 種 形 式 , 即 “ 當(dāng) 結(jié) 構(gòu) ” 和 “ 直 到 結(jié) 構(gòu) ” 。n 使 用 “ 當(dāng) 結(jié) 構(gòu) ” , 即 當(dāng) 滿 足 循 環(huán) 條 件 才 執(zhí) 行 循 環(huán) 體 ; n 使 用 “ 直 到 結(jié) 構(gòu) ” , 即 直 到 滿 足 條 件 才 退 出 循 環(huán) , 循 環(huán) 體 至少 執(zhí) 行 一 次 , 而 “ 當(dāng) 結(jié)
4、 構(gòu) ” 中 , 若 不 滿 足 條 件 , 可 能 循 環(huán) 體一 次 也 不 執(zhí) 行 ;n 使 用 DoLoop語 句 需 要 注 意 循 環(huán) 體 中 一 定 要 有 修 改 循 環(huán) 控 制條 件 的 語 句 , 否 則 一 旦 進(jìn) 入 循 環(huán) 體 就 無 法 結(jié) 束 循 環(huán) , 陷 入 死循 環(huán) 。 活 動 四 用 DOLOOP語 句 實(shí) 現(xiàn) 循 環(huán) 結(jié) 構(gòu)n 問 題 : 小 明 的 爸 爸 決 定 對 某 種 電 腦 進(jìn) 行促 銷 。 促 銷 方 案 為 : 買 第 一 臺 電 腦 時 需付 全 價 6400元 , 買 第 二 臺 時 只 需 付 全 價的 95%, 依 此 類 推 ,
5、買 后 一 臺 電 腦 的 價格 是 前 一 臺 的 95%, 但 是 最 低 價 不 得 低于 3800元 , 如 果 低 于 3800元 就 按 3800元的 價 格 購 買 。 有 一 位 顧 客 需 要 為 單 位 購置 電 腦 , 他 計 劃 購 買 電 腦 的 費(fèi) 用 是 50000元 , 求 該 顧 客 最 多 能 買 幾 臺 電 腦 , 需 付多 少 錢 。 1.問 題 分 析 。n 本 問 題 的 解 決 思 路 是 : 一 、 每 買 一 臺 電 腦 , 需 要 計 算 這 臺 電 腦 的 價 格 ,然 后 累 加 到 總 金 額 上 , 當(dāng) 總 金 額 超 過 50000
6、元 時 就 停 止 循 環(huán) 。 因 此 , 本循 環(huán) 過 程 中 的 重 復(fù) 操 作 是 計 算 電 腦 的 單 價 及 總 金 額 。 二 、 在 計 算 電 腦 的單 價 時 , 還 需 要 做 一 個 判 斷 : 如 果 打 折 后 的 價 格 大 于 3800元 , 那 么 在 前一 次 價 格 的 基 礎(chǔ) 上 打 折 , 折 扣 率 為 95%, 否 則 價 格 即 為 3800元 , 不 再 打折 , 此 后 的 折 扣 率 可 看 作 為 100%。 設(shè) 電 腦 的 價 格 為 p, 折 扣 率 為 m, 購 買 電 腦 的 臺 數(shù) 為 n, 購 買 電 腦 的 總金 額 為 s
7、。 折 扣 率 m的 值 需 要 根 據(jù) 前 一 臺 電 腦 的 價 格 p來 確 定 。 如 果 p3800,那 么 m=_; 否 則 _。 根 據(jù) 促 銷 方 案 , 購 買 某 臺 電 腦 的 價 格 是 在 前 一 臺 的 價 格 上 再 打 折 ,可 采 用 累 乘 的 方 式 計 算 某 臺 電 腦 的 價 格 。 計 算 公 式 為p=p*_。 采 用 累 加 的 方 式 , 購 買 電 腦 總 金 額 的 計 算 公 式 為 s=s+_。 2.算 法 設(shè) 計n 算 法 11. 令 p=6400;2. 令 n=1;3. 令 m=0.95;4. s=p;5. 如 果 s=50000
8、, 則 執(zhí) 行 第 6步 , 否 則 執(zhí) 行 第 10步 ; 6. p=p*m;7. 如 果 p3800, 則 p=3800,m=1;8. s=s+p;9. n=n+1, 轉(zhuǎn) 第 5步 執(zhí) 行 ;10. 輸 出 n和 s;11. 結(jié) 束 。 算 法 21. 令 p=6400;2. 令 n=1;3. 令 m=0.95;4. s=p;5. 如 果 s=50000, 則 執(zhí) 行 第 6步 , 否 則 執(zhí) 行 第 10步 ;6. p=p*m;7. 如 果 p3800, 則 p=3800,m=1;8. s=s+p;9. n=n+1, 轉(zhuǎn) 第 5步 執(zhí) 行 ;10. n=n-1;11. s=s-p;12.
9、 輸 出 n和 s;13. 結(jié) 束 。討 論 : 參 照 教 材 83頁 的 問 題 , 討 論這 兩 種 算 法 的 正 確 性 。 1 )、 兩 個 算 法 求 出 的 s是 大 于 5 0 0 0 0 ,還 是 小 于 等 于 5 0 0 0 0 ?哪 個 算 法 的輸 出 結(jié) 果 正 確 ?為 什 么 ?2 ) 、 如 果 將 算 法 1 第 5 步 中 控 制 循環(huán) 的 條 件 s=5 0 0 0 0 改 為s+p*m=5 0 0 0 0 ,該 算 法 的 運(yùn) 行 結(jié) 果正 確 嗎 ?為 什 么 ?3 ) 、 能 否 將 算 法 1 或 算 法 2 中 的 第6 步 和 第 7 步
10、互 換 位 置 ?為 什 么 ? 完 成 流 程 圖 開 始n=1 , p=6 4 0 0 , m=0 .9 5 , s=ps+p*m=5 0 0 0 0 輸 出 最 多 能 購 買 電 腦 的 臺數(shù) n及 總 金 額 s結(jié) 束 否是 完 成 流 程 圖 開 始n=1 , p=6 4 0 0 , m=0 .9 5 , s=ps+p*m=5 0 0 0 0p=p*mp3 8 0 0 p=3 8 0 0m=1s=s+pn=n+1輸 出 最 多 能 購 買 電 腦 的 臺數(shù) n及 總 金 額 s結(jié) 束 否是 是 否 3、 實(shí) 現(xiàn) 應(yīng) 用 程 序Private Sub Form_Click()Dim
11、s As Single, m As Single, p As SingleDim n As Integern = 1p = 6400m = 0.95s = pDo While s + p * m = 50000 p = p * m If p 3800 Then p = 3800 m = 1 End If s = s + p n = n + 1LoopPrint “ 最 多 可 購 買 ” ; n; “ 臺 電 腦 ,” ; “ 需 付 ; Format(s, #,#.00); 元 錢 。 “End Subn 本 程 序 中 控 制 循 環(huán) 的 表 達(dá) 式 是 什 么 ?程 序 中 通 過 哪
12、些 語 句 來 改 變 該 表 達(dá) 式 的 值 ?n 循 環(huán) 結(jié) 束 后 s的 值 是 否 會 大 于 50000? 本 程 序 中 ,每 次 執(zhí) 行Do.while語 句 ,首 先 判 斷 條件 s+p*m=5 0 0 0 0 ,若 條 件成 立 ,則 執(zhí) 行 后 面 的 語 句 ,遇 到 loop語 句 返 到Do.while再 次 進(jìn) 行 條 件 判斷 ;若 條 件 不 成 立 ,則 跳 轉(zhuǎn)到 loop語 句 后 結(jié) 束 循 環(huán) . 體 驗(yàn) 活 動n 若 按 照 算 法 2編 寫 程 序 , 需 要 怎樣 修 改 以 上 代 碼 ?n 如 果 使 用 “ 直 到 結(jié) 構(gòu) ” 如 何 修 改以 上 代 碼 ?