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