《程序的循环结构》PPT课件

上传人:san****019 文档编号:22860858 上传时间:2021-06-01 格式:PPT 页数:19 大小:225KB
返回 下载 相关 举报
《程序的循环结构》PPT课件_第1页
第1页 / 共19页
《程序的循环结构》PPT课件_第2页
第2页 / 共19页
《程序的循环结构》PPT课件_第3页
第3页 / 共19页
点击查看更多>>
资源描述
2.4 程 序 的 循 环 结 构 掌 握 For循 环 语 句 的 基 本 格 式 理 解 For循 环 语 句 的 执 行 过 程 掌 握 循 环 变 量 在 执 行 过 程 中 的 变 化 情 况 能 用 For循 环 结 构 编 写 简 单 的 程 序 实 例 1、 编 程 求 1+2+3+10的 和 按 照 顺 序 结 构 编 写 程 序 如 下 :Private Sub Command1_Click()dim s as integers=0 s=s+1 s=s+2 s=s+10print send sub用 这 种 方 法 能 不 能 编 程 求 出1+2+3+100的 和 , 1+2+3+1000的 和 ? 实 际 这 10条 赋 值 语 句 在 重 复 着同 一 个 操 作 , 都 是 将 s加 一 个数 和 赋 给 s,如 果 用 变 量 x表 示 每一 个 加 数 , 那 么 这 10条 语 句 就可 以 用 一 条 表 示 : s=s+x, 然后 让 x的 取 值 分 别 为 1到 10这 10个 自 然 数 , 重 复 执 行 这 条 语 句 ,就 可 以 实 现 该 程 序 的 编 写 。 这就 要 用 到 循 环 结 构 。 2.4.1 用 For Next语 句 建 立 循 环 结 构 用 循 环 语 句 编 写 :Private Sub Command1_Click()Dim s as integer, x as integerS=0 For X=1 to 10 step 1 S=S+X next Xprint SEnd sub循 环 变 量初 值 终 值 步 长循 环 体 1、 For next循 环 语 句 的 格 式 :用 于 建 立 已 知 循 环 次 数 的 循 环 结 构For 循 环 变 量 =初 值 To 终 值 Step 步 长 循 环 体Next 循 环 变 量2、 For循 环 语 句 的 功 能 : 执 行 For语 句 : 先 将 初 值 赋 给 循 环 变量 , 并 记 住 终 值 和 步 长 ( 两 数 间 隔 ) 。然 后 进 行 判 断 , 是 否 超 出 终 值 ? 如“ 超 出 ” 终 值 时 , 执 行 Next 下 一 语 句 , 否 则 执 行 循 环 体 。 执 行 循 环 体 执 行 Next语 句 : 循 环 变 量 加 步 长 , 返回 重 新 判 断 2.4.2 For循 环 语 句 的 执 行 过 程 开 始 0 S 1 X X=10 S+X S X+1 X 输 出 S 结 束 Y N 练 一 练针 对 for循 环 语 句 的 语 句 格 式 , 设 置 如 下 练 习 , 指 出 下 面 程 序 中的 错 误 :1、 求 1+2+3+4+5的 和 s=0for i=1 to 5 step 1s=s+inext jprint s 2、 在 VB窗 体 界 面 上输 出 110这 10个 自 然数for I=1 to 10print i j-i循 环 变 量 的 名 称 要 相 同 。 For语 句 与 Next语 句 必 须 成 对出 现 , 而 且 仅 只 步 长 为 1时 ,才 可 以 省 略 step 1 3、 求 5+4+3+2+1的 和s=0for I=5 to 1s=s+Inext Iprint s 4、 求 7+5+3+1的 和 : S=0For I= 7 to 1 Step 2S=S+INext IPrint S 当 初 值 小 于 终 值 时 , 步 长 为 正 数 ; 当 初 值 大 于 终 值 时 , 步 长为 负 数 ;补 充 :1、 循 环 变 量 必 须 为 数 值 型 , 初 值 、 终 值 : 都 是 数 值 型 , 可 以是 数 值 表 达 式 。2、 循 环 体 : 在 For语 句 和 Next语 句 之 间 的 语 句 序 列 。 可 以 是 一条 语 句 , 也 可 以 是 多 条 语 句 。Step 1 2 问 题 2 求 S=1+2+100和 值 分 析 a、 用 循 环 产 生 1 100 的自 然 数 b、 每 产 生 一 个 自 然 数 将 其累 加 到 求 和 变 量 中 即 : S = S + N c、 重 复 执 行 S = S + N 即 :循 环 体 d、 打 印 和 的 值 的 语 句 应 在程 序 的 末 尾 即 : Print S = 1 + 2 + + 1000 = ; S 程 序 :Private Sub Command1_Click() Dim N as integer, S as integer S = 0 For N = 1 To 100 S = S + N Next N Print S = 1 + 2 + + 100 = ; S End Sub 问 题 3: 一 小 球 从 200 米 高 度 自 由 下 落 , 每 次 落 地 后 反 弹 为 原 来 高 度 的 一 半 ,然 后 再 落 下 , 求 该 小 球 第 十 次 落 地 时 共 经 过 了 多 少 米 的 路 程 ? 分 析 : 设 S 表 示 小 球 经 过 的 路 程 变 量 S = S + 2H H 表 示 小 球 反 跳 的 高 度 变 量 H = H / 2 I 表 示 小 球 落 地 的 次 数 变 量 I = 2 To 10Private Sub Command1_Click() Dim H as integer, S as integer, I as integer S = 200 H = S / 2 For I = 2 To 10 S = S + 2*H H = H / 2 Next I Print 到 第 十 次 落 地 共 经 过 的 路 程 是 : ; S ; 米 end sub 问 题 3: 一 小 球 从 200 米 高 度 自 由 下 落 , 每 次 落 地 后 反 弹 为 原 来 高 度 的 一 半 ,然 后 再 落 下 , 求 该 小 球 第 十 次 落 地 时 共 经 过 了 多 少 米 的 路 程 ? 分 析 : 设 S 表 示 小 球 经 过 的 路 程 变 量 S = S + H H 表 示 小 球 反 跳 的 高 度 变 量 H = H / 2 I 表 示 小 球 落 地 的 次 数 变 量 I = 2 To 10Private Sub Command1_Click() Dim H as integer, S as integer, I as integer S = 200 H = S / 2 For I = 2 To 10 S = S + 2*H H = H / 2 Next I Print 到 第 十 次 落 地 共 经 过的 路 程 是 : ; S ; 米 end sub Private Sub Command1_Click() Dim S as integer, I as integerS = 200For I = 2 To 10S = S + 200*2*(0.5(I-1)Next I Print 到 第 十 次 落 地 共 经过 的 路 程 是 : ;S; 米 end sub 问 题 4: 一 小 球 从 200 米 高 度 自 由 下 落 , 每 次 落 地 后 反 弹 为 原 来 高 度 的 一 半 ,然 后 再 落 下 , 求 该 小 球 多 少 次 落 地 时 经 过 的 路 程 大 于 600米 呢 ?Private Sub Command1_Click() Dim S as integer, I as integer S = 200 I=2 do while S600 Print “到 “ ;I; ”次 时 落 地 经 过的 路 程 是 超 过 600米 end sub 2.4.4 用 Do 语 句 建 立 循 环 结 构 1、 Do 语 句 的 功 能 : 用 于 建 立 循 环 次 数 未 知 的 循 环 结 构2、 Do 语 句 的 格 式 :格 式 一 ( 当 循 环 ) Do While 循 环 体 Loop功 能 : 执 行 Do 语 句 先 判 断 条 件 , 当 条 件 满 足 , 则 执 行 循 环 体 ,然 后 执 行 Loop 语 句 就 回 到 Do While 再 判 断 , 直 到 条 件 不 满 足 ,跳 出 循 环 , 执 行 Loop 下 一 语 句 。S 0N 0Do While N = 10 S = S + 1 N = N + 1 Loop Do 语 句 的 第 二 种 格 式 ( 直 到 循 环 ) 1、 直 到 形 循 环 格 式 Do 循 环 体 Loop while 2、 格 式 二 功 能 : 执 行 Do 语 句 , 就 进 入 循 环 , 直 接 执 行 循 环 体 ,在 判 断 条 件 , 当 条 件 满 足 , 回 到 上 面 执 行 循 环 体 , 直 到 条 件 不满 足 , 跳 出 循 环 , 执 行 Loop 下 一 语 句 。 S = 0 N = 0 Do N = N + 1 S = S + N Loop while N 100 三 种 循 环 求 解 S=1+2+100和 值 Private Sub Command1_Click() Dim N As integer, S As integer S = 0 For N = 1 To 100 S = S + N Next N Print “S ; S End Sub Private Sub Command1_Click()Dim s As Integer, n As Integers = 0n = 0Do While n 100) print SEnd sub P12 实 践 ( 1) “ 猴 子 摘 桃 ”Private Sub Command1_Click() Dim day As Integer, S As Integer S = 1For day = 9 To 1 Step -1S = (S + 1) * 2Next dayPrint s=; SEnd Sub猴 子 吃 桃 : 每 次 吃 掉 一 半 多 一 个 , 直 到 第 10天 只 剩 一 个 ,第 一 天 共 摘 了 多 少 个 桃 子 ? 问 题 8 要 将 100元 的 钞 票 换 成 等 值 的 10元 、 5元 、 2元 、 1元 的 小 钞票 。 要 求 每 次 换 成 40张 小 钞 票 , 每 种 至 少 一 张 , 有 多 少 种 换 法 ?分 析 : 10元 一 张 最 多 能 换 9张 , 5元 一 张 最 多 能 换 17张 , 2元 一 张 最 多 能 换 37张 , 一 元 只 要 用 40减 去 10、 5、 2元 的 数 目 就 可 以 了 ! Dim i As Integer, j As Integer, k As Integer, m As Integer, sum As Integer sum = 0For i = 1 To 9 For j = 1 To 17 For k = 1 To 37 m = 40 - i - j - k If (m = 1) And (i * 10 + j * 5 + k * 2 + m = 100) Then sum = sum + 1 Print i=; i, j=; j, k=; k, m=; m End If Next kNext jNext iPrint sum=; sumEnd Sub 2.4.5 循 环 语 句 嵌 套 的 定 义双 重 循 环 语 句 : 在 循 环 体 内 含 有 另 一 个 循 环 语 句 的 结 构如 : For 循 环 变 量 1 = 初 值 To 终 值 Step 步 长 For 循 环 变 量 2 = 初 值 To 终 值 Step 步 长 循 环 体 Next 循 环 变 量 2 Next 循 环 变 量 1多 重 循 环 : 如 循 环 体 内 再 包 含 循 环 结 构 , 我 们 将 这 种 循 环 结 构称 作 多 重 循 环 。 多 重 循 环 的 原 则 是 :外 层 循 环 与 内 层 循 环 必 须 层 层 相 套 , 循 环体 之 间 不 能 交 叉 。 每 个 循 环 必 须 有 一 个 唯 一 的 循 环 控 制 变 量 。 问 题 5 求 解 1 2 + 3 4 + + 99 100 Private Sub Command1_Click() Dim i As integer, S As integer S = 0 For i = 1 To 100 s = s + ( -1 )(i + 1) * i Next iPrint “S ; S End Sub Private Sub Command1_Click() Dim i As integer, S As integer S = 0For i = 1 To 100 If i Mod 2 = 0 Then s = s i Else s = s + i End IfNext i Print “S ; S End Sub 问 题 6 1 - 1/2 + 1/3 1/4 + + 1/99 1/100Private Sub Command1_Click() Dim i As integer, S As integer S = 0 For i = 1 To 100 s = s + ( -1 )(i + 1) * (1/i ) Next iPrint “S ; S End Sub 问 题 7 求 1 1000之 间 的 素 数 素 数 是 指 只 能 被 1和 他 本 身整 除 的 数要 判 断 一 个 数 i是 否 为 素 数 , 只 要 看 i是 否 能 被 2到 i 1范 围 内 的数 整 除 , 若 能 被 整 除 , 则 不 是 素 数 。Private Sub Command1_Click() Dim i As Integer, j As Integer Dim prime As Boolean For i = 2 To 1000 prime = True j = 2 Do While (j i) And prime If (i Mod j = 0) Then prime = False j = j + 1 Loop If prime Then Print i ; i Next i End Sub
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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