VB控制结构多重循环

上传人:san****019 文档编号:21522889 上传时间:2021-05-03 格式:PPT 页数:27 大小:327.01KB
收藏 版权申诉 举报 下载
VB控制结构多重循环_第1页
第1页 / 共27页
VB控制结构多重循环_第2页
第2页 / 共27页
VB控制结构多重循环_第3页
第3页 / 共27页
资源描述:

《VB控制结构多重循环》由会员分享,可在线阅读,更多相关《VB控制结构多重循环(27页珍藏版)》请在装配图网上搜索。

1、1 v提 要多 重 循 环常 用 算 法v重 点多 重 循 环常 用 算 法第 4章 Visual Basic语 言 基 础 5 2 v一 个 循 环 结 构 的 循 环 体 内 包 含 了 另 一 个 循 环 结 构 .v嵌 套 一 层 称 为 二 重 循 环v多 重 循 环 中 遇 Exit For(Do), 只 跳 出 当 前 一 层 循 环 . 3 v讨 论 多 重 循 环内 、 外 循 环 的 循 环 变 量 不 可 同 名 .内 、 外 循 环 不 可 交 叉 (外 循 环 完 全 包 含 内 循 环 ).执 行 次 数当 外 循 环 执 行 一 次 , 内 循 环 全 部 执 行

2、 .内 循 环 执 行 总 次 数 =外 循 环 次 数 内 循 环 次 数错 误正 确 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、 印 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;输 出 一 行 所 有 列 之

4、 后 能 换 行 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的 其 中 一 个 整 数 整 除优 化

5、 算 法 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

6、 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.最 大 、 最 小 值 若 干 数 求 最 大 值 , 一 般 先 假 设 第 一 个 数 为 最 大 值 初 值 ; 然 后 将 剩 余 的 每 一 个 数 与 最 大 值 比 较 , 若 该 数 大 于 最 大 值 , 将 该 数 替 换 为 最 大 值 ; 依 次 逐 一 比

7、较 . 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

8、 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 F

9、or 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思 考 : 能 否 交 换 两 者 次 序 即 : 先 连 乘 ,后 产 生 新 一 项 ? 而 令

10、初 值 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

11、 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

12、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元

13、, 可 买 公 、 母 、 小 鸡 各 多 少 只 ? 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

14、 前 一 天 的 桃 子 数 是 第 2天 桃 子 数 加 1的 2倍 x = yNext dayPrint xv分 析 : 此 问 题 属 于 “ 倒 推 ” 问 题 , 先 从 最 后 一 天 推 出 倒数 第 二 天 的 桃 子 , 再 从 倒 数 第 二 天 的 桃 子 推 出 倒 数 第 三 天的 桃 子 v设 第 n天 的 桃 子 为 x, 第 n-1天 的 桃 子 为 y, 前 一 天 的 桃 子数 为 : y=( x+1) 2 25 1. 多 重 循 环 的 内 外 循 环 之 间 的 联 系2. 常 用 算 法 :累 加 、 最 值 、 穷 举 、 素 数 等本 节 小 结

15、26 循 环 控 制 结 构 常 见 错 误1.不 循 环 或 死 循 环 的 问 题 主 要 是 循 环 的 条 件 、 初 值 、 终 值 、 步 长 的 设 置 有 问 题2.循 环 结 构 中 缺 少 配 对 的 结 束 语 句 For 缺 少 配 对 的 Next 3.循 环 嵌 套 时 , 内 外 循 环 交 叉4.累 加 、 连 乘 时 , 存 放 累 加 、 连 乘 的 变 量 赋 初 值 问 题 27 课 后 任 务 3 课 后 习 题 P56一 .选 择 题 P61二 .填 空 题 P66三 .编 程 题 (3 4) 实 验 四 P21实 验 案 例 一 P22 三 .实 验 内容 (3)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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