VB控制结构多重循环

上传人:san****019 文档编号:21522889 上传时间:2021-05-03 格式:PPT 页数:27 大小:327.01KB
返回 下载 相关 举报
VB控制结构多重循环_第1页
第1页 / 共27页
VB控制结构多重循环_第2页
第2页 / 共27页
VB控制结构多重循环_第3页
第3页 / 共27页
点击查看更多>>
资源描述
1 v提 要多 重 循 环常 用 算 法v重 点多 重 循 环常 用 算 法第 4章 Visual Basic语 言 基 础 5 2 v一 个 循 环 结 构 的 循 环 体 内 包 含 了 另 一 个 循 环 结 构 .v嵌 套 一 层 称 为 二 重 循 环v多 重 循 环 中 遇 Exit For(Do), 只 跳 出 当 前 一 层 循 环 . 3 v讨 论 多 重 循 环内 、 外 循 环 的 循 环 变 量 不 可 同 名 .内 、 外 循 环 不 可 交 叉 (外 循 环 完 全 包 含 内 循 环 ).执 行 次 数当 外 循 环 执 行 一 次 , 内 循 环 全 部 执 行 .内 循 环 执 行 总 次 数 =外 循 环 次 数 内 循 环 次 数错 误正 确 4 For i=1 to 6 step 1 Print Next iFor i=1 to 6 step 1 Print ;Next i问 题 1: 要 求 利 用 循 环 结 构 在 一 列 打 印 6个 “ ”问 题 2:要 求 利 用 循 环 结 构 在 一 行 打 印 6个 “ ” , 如 何 修改 ?归 纳 :分 隔 符 “ ;”使 多 个 内 容 一 个 个 紧 跟 着 打 印 输出 5 For k=1 To 3 Next kFor i=1 to 6 Print ;Next i 问 题 3: 打 印 3行 , 每 行 6个 “ ” , 如 何 解 决 ? For i = 1 To 6 Step 1 Print ; Next I For i = 1 To 6 Step 1 Print ; Next i For i = 1 To 6 Step 1 Print ; Next iv结 论 单 层 循 环 : 控 制 一 行 上 的 所 有 列 ,采 用 “ 紧 凑 ” 方 式 输 出 ;双 层 循 环 : 内 循 环 控 制 一 行 上 的 所 有 列 ,外 循 环 控 制 所 有 行 . 6For J= 1 To 9Print J; x; 1; =; 1*J;输 出 一 行 所 有 列 之 后 能 换 行 7 思 考 : 打 印 上 三 角 或 程 序 如 何 改 动 ?说 明 :Tab(n)函 数 后 项 内 容 在 第 n个 字 符 位 上 输 出 8 打 印 金 字 塔 _(选 做 ) 9 v 素 数 是 一 个 大 于 2且 只 能 被 1和 本 身 整 除 的 整 数 .v 判 别 一 个 数 n是 否 为 素 数 的 方 法 :对 于 n 从 i=2, 3, , n-1判 别 n能 否 被 i整 除 , 只 要 有 一个 能 整 除 , n不 是 素 数 , 否 则 n是 素 数 。算 法 1: 素 数 不 能 被 2 n-1的 其 中 一 个 整 数 整 除优 化 算 法 1 :素 数 不 能 被 2 n/2的 其 中 一 个 整 数 整 除优 化 算 法 2 :素 数 不 能 被 2 Sqr(n)的 其 中 一 个 整 数整 除问 题 : 判 断 一 个 数 n是 否 为 素 数 10 v 判 断 一 个 数 n是 否 为 素 数 ?For i=2 to n-1 if n mod i=0 then Exit For 被 整 除Next i Exit For 退 出 当 前 循 环If i n-1 then Print n;“是 素 数 ” Else Print n;“是 非 素 数 ”End if Int(sqr (n) 11 For n = 101 To 300 Step 2 Next n要 求 :输 出 100 300之 间 的 所 有 素 数 .For i = 2 To Int(Sqr(n) If n Mod i = 0 Then Exit For Next iIf i Int(Sqr(n) Print n;“是 素 数 ”课 后 任 务 1 12 1.最 大 、 最 小 值 若 干 数 求 最 大 值 , 一 般 先 假 设 第 一 个 数 为 最 大 值 初 值 ; 然 后 将 剩 余 的 每 一 个 数 与 最 大 值 比 较 , 若 该 数 大 于 最 大 值 , 将 该 数 替 换 为 最 大 值 ; 依 次 逐 一 比 较 . Dim x%,Max% x = Int(Rnd * 101 + 100 ) For i = 2 To 5 x = Int(Rnd * 101 + 100 ) Next i Print 最 大 值 =; Max 随 机 产 生 5个 100 200之 间 的 整 数 ,求 最 大 值 . 13 计 算 1 100的 3或 7的 倍 数 的 和 计 算 3 10的 乘 积S = ?2.累 加 、 连 乘 、 计 数 _ S= 0For I = 1 To 100 If I Mod 3 = 0 Or I Mod 7 = 0 Then S = S + I k = k + 1 End IfNext IPrint S,k For I =3 To 10 Next I Print S计 数 器累 加 器 连 乘 器= 0End If 14 分 析 : 每 一 项 每 次 累 加 之 和 都 是 变 化 量因 此 , 需 要 两 个 变 量 用 T表 示 每 一 项 的 值 :T=T+1 用 S表 示 累 加 之 和 :S=S+T 循 环 终 止 条 件 : 循 环 次 数 n 初 始 化 : S=0回 顾 :计 算 s=1+2+3+nPrivate sub Form_Click( ) Dim I% , S%, T%,n% T为 每 一 项 n=val(Inputbox(“n=”) S=0 For I=1 To n T=T+1 S=S+T Next I Print “S=”;SEnd Sub S=S+Is=1 2 3 4 n S=n!S=1For I=1 o n S= * INext I累 加 问 题 : 公 式 S=S+T ;初 值 S=0 连 乘 问 题 : 公 式 S=S*T ; 初 值 S=1 15 例 : 计 算 s=1 1/2 1/3 1/n分 析 : T表 示 每 一 项 : T = 1/n S 表 示 连 乘 的 值 : S = S * T 初 始 化 : S= 1思 考 : 能 否 交 换 两 者 次 序 即 : 先 连 乘 ,后 产 生 新 一 项 ? 而 令 初 值 T=第 一 项 S=T= S * T1n S=T= S * TBAS=T=S * T1n T可 理 解 为 通 式 16 )12()1-(2n n)(2.7565343122 2222 nS=T=S * Tv观 察当 n=10时 , p = ? ;当 n=50时 , p = ? ;当 n=100时 , p = ?;当 n=10000时 , p = 比 较 精 确 . 可 见 该 公 式 收 敛 较 慢 .(2*n)2 / (2*n-1)*(2*n+1)B=(2*n)2 : A=(2*n-1)*(2*n+1)BA从 第 二 项 开 始 才 有 规 律 可 循 17 Private Sub Form_Click() Dim S#, T#, i i; 项 的 和 是 ; SEnd Sub m1i i!11 . !1.3!1!211!11e i 21 v累 加初 值 : S=0, T=第 一 项 通 用 公 式 : S=S+T : :T=B/Av连 乘初 值 : S=1, T=第 一 项 通 用 公 式 : S=S*T : :T=B/A v 说 明 : T=B/A中 的 A或 B均 可 为 常 量 或 变 量 表 达 式 若 A=1, 则 T=B 若 B=1, 则 T=1/A 22 v 设 小 鸡 x只 、 公 鸡 y只 、 母 鸡 z只 , 列 出 方 程 :x+y+z=100 0.5x+2y+3z=100 可 见 , 三 个 未 知 数 , 两 个 方 程 , 此 题 有 若 干 个 解 。v可 穷 举 X、 Y、 Z的 每 一 种 取 值 , 符 合 就 是 其 中 一 种 方 案列 举 各 种 可 能 情 况 , 找 出 符 合 要 求 的Private Sub Form_click() For x = 1 To 100 For y = 1 To 100 For z = 1 To 100 Next z Next y Next xEnd Sub问 题 : 100元 买 100只 鸡 , 小 鸡 每 只 0.5元 , 公 鸡 每 只 2元 , 母 鸡 每 只 3元 , 可 买 公 、 母 、 小 鸡 各 多 少 只 ? 23 24 4.递 推 法 (课 本 P11)猴 子 吃 桃 子 问 题 : 猴 子 摘 下 若 干 个 桃 子 , 第 一 天 吃 了桃 子 的 一 半 多 一 个 , 以 后 每 天 吃 了 前 一 天 剩 下 的 一 半 多 一个 , 到 第 十 天 吃 以 前 发 现 只 剩 下 一 个 桃 子 , 问 猴 子 第 一 天共 摘 了 几 个 桃 子 ?Dim day As Integer, x As Integer, y As Integerx = 1 For day = 9 To 1 Step -1 y = (x + 1) *2 前 一 天 的 桃 子 数 是 第 2天 桃 子 数 加 1的 2倍 x = yNext dayPrint xv分 析 : 此 问 题 属 于 “ 倒 推 ” 问 题 , 先 从 最 后 一 天 推 出 倒数 第 二 天 的 桃 子 , 再 从 倒 数 第 二 天 的 桃 子 推 出 倒 数 第 三 天的 桃 子 v设 第 n天 的 桃 子 为 x, 第 n-1天 的 桃 子 为 y, 前 一 天 的 桃 子数 为 : y=( x+1) 2 25 1. 多 重 循 环 的 内 外 循 环 之 间 的 联 系2. 常 用 算 法 :累 加 、 最 值 、 穷 举 、 素 数 等本 节 小 结 26 循 环 控 制 结 构 常 见 错 误1.不 循 环 或 死 循 环 的 问 题 主 要 是 循 环 的 条 件 、 初 值 、 终 值 、 步 长 的 设 置 有 问 题2.循 环 结 构 中 缺 少 配 对 的 结 束 语 句 For 缺 少 配 对 的 Next 3.循 环 嵌 套 时 , 内 外 循 环 交 叉4.累 加 、 连 乘 时 , 存 放 累 加 、 连 乘 的 变 量 赋 初 值 问 题 27 课 后 任 务 3 课 后 习 题 P56一 .选 择 题 P61二 .填 空 题 P66三 .编 程 题 (3 4) 实 验 四 P21实 验 案 例 一 P22 三 .实 验 内容 (3)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!