VisualBasic循环结构程序设计.ppt

上传人:san****019 文档编号:17229767 上传时间:2020-11-15 格式:PPT 页数:40 大小:507.60KB
收藏 版权申诉 举报 下载
VisualBasic循环结构程序设计.ppt_第1页
第1页 / 共40页
VisualBasic循环结构程序设计.ppt_第2页
第2页 / 共40页
VisualBasic循环结构程序设计.ppt_第3页
第3页 / 共40页
资源描述:

《VisualBasic循环结构程序设计.ppt》由会员分享,可在线阅读,更多相关《VisualBasic循环结构程序设计.ppt(40页珍藏版)》请在装配图网上搜索。

1、计算机软件技术基础 Visual Basic程序设计 计算机软件技术基础 Visual Basic 程序设计 选择结构程序设计 : If Then 语句 ( 单分支结构 ) If.ThenElse 语句(双分支结构) IfThen Else If 语句(多分支结构)结构 Select Case 语句 ( 多分支结构 ) 回 顾 计算机软件技术基础 Visual Basic 程序设计 IfThen Else If 语句(多分支结构)结构 语句格式: If 表达式 1 Then 语句块 1 ElseIf 表达式 2 Then 语句块 2 Else 语句块 n+1 End If F T T T 表达

2、式 1 表达式 2 表达式 nn 语句块 11 语句块 2 语句块 nn 语句块 n+11 F 图 多分支结构 计算机软件技术基础 Visual Basic 程序设计 Select Case语句(多分支结构) F T F F 表达式表 n 语句块 n+1 语句块 n T 表达式表 2 语句块 2 T 表达式表 1 语句块 1 图 Select Case 结构 格式: Select Case 测试变量或表达式 Case 表达式表 1 语句块 1 Case 表达式表 2 语句块 2 Case 表达式表 n 语句块 n Case Else 语句块 n+1 End Select 计算机软件技术基础 V

3、isual Basic 程序设计 表达式表有四种形式: 一个表达式 。 如: Case 6 一组用逗号隔开的枚举值 。 如: Case 1, 3, 5, 7 表达式 1 TO 表达式 2。 如: Case 1 To 10 Is 。 如: Case Is=80 另外 , 在一个情况语句中 , 上述四种形式可以混合使用 。 格式: Select Case 测试变量或表达式 Case 表达式表 1 语句块 1 Case 表达式表 2 语句块 2 Case 表达式表 n 语句块 n Case Else 语句块 n+1 End Select 计算机软件技术基础 Visual Basic 程序设计 3.

4、3 循环结构程序设计 在指定的条件下多次重复执行一组语句。 VB中提供了两种类型的循环语句: 计数循环语句; 条件循环语句。 计算机软件技术基础 Visual Basic 程序设计 1. Do.Loop循环 Do Loop循环用于事先不知道循环次数的循环结构 。 此种语句四种语法格式: Do While Loop 语句 Do Loop While 语句 Do Until Loop 语句 Do Loop Until 语句 计算机软件技术基础 Visual Basic 程序设计 格式: Do While 条件表达式 循环体 Loop . Do While Loop 语句 T F 条件 循环体 图

5、Do While Loop 语句流程图 说明: 条件表达式可以是一个逻辑表达式 , 也可以是一个关系表达 式 , 其值应是逻辑型 。 Do While和 Loop应成对出现 。 循环体中要有控制循环的语句 , 以避免出现死循环 。 这种循环可以一次也不执行循环体 。 计算机软件技术基础 Visual Basic 程序设计 例 打印 1到 20的整数。 格式: Do While 条件表达式 循环体 Loop Private Sub Form_Click() Dim i As Integer i = 1 Do While i = 20 Print i i = i + 1 Loop End Sub

6、计算机软件技术基础 Visual Basic 程序设计 T F 条件 循环体 图 Do Loop While 语句流程图 格式: Do 循环体 Loop While 条件表达式 . Do Loop While 语句 说明: 至少要执行循环体一次 。 与 Do While循环的区别: Do While循环先测试条件是否成立 , 只有成立才执行循环; 而该循环先执行循环体 , 后测试条件是否成立 。 计算机软件技术基础 Visual Basic 程序设计 Private Sub Form_Click() Dim i As Integer i = 1 Do Print i i = i + 1 Loo

7、p While i 20 Print i i = i + 1 Loop End Sub 计算机软件技术基础 Visual Basic 程序设计 Private Sub Form_Click() Dim i As Integer i = 1 Do Print i i = i + 1 Loop Until i 20 End Sub . Do Loop Until 语句 格式: Do 循环体 Loop Until 条件表达式 T F 条件 循环体 图 Do Loop Until 语句流程图 打印 1到 20的整数。 计算机软件技术基础 Visual Basic 程序设计 例 Do Loop循环编程计

8、算下式的值 (两种方法当型和直到型 )。 100 1 2 1 1 1 X 方法一、 用 当型循环 实现,程序如下: Private Sub Form_Click() s = 0: i = 1 Do While i 100 s = s + 1 / i i = i + 1 Loop Print s=; s End Sub 计算机软件技术基础 Visual Basic 程序设计 方法二、用直到型循环实现: Private Sub Form_Click() s = 0: i = 1 Do s = s + 1 / i i = i + 1 Loop Until i 100 也可写为 Loop While

9、i = 100 Print s=; s End Sub 计算机软件技术基础 Visual Basic 程序设计 2. For Next 循环 循环体 Exit For 循环体 循环变量增加步长 循环变量获得初值 F T 循环变量在终值内 图 For循环的执行过程 格式: For 循环变量 = 初值 To 终值 Step 步长 Next 循环变量 计算机软件技术基础 Visual Basic 程序设计 For 循环变量 = 初值 To 终值 Step 步长 Next 循环变量 For i = m To n Step x s = s * i Print s Next i m = 1: n = 10

10、: s = 1: x = 2 计算机软件技术基础 Visual Basic 程序设计 说明: 格式中的参数说明: 循环变量必须为数值型 。 循环的初值 、 终值和步长都是数 值表达式 , 其值不一定是整数 , 可 以是实数 , VB自动取整 。 增量参数可正可负 。 如果增量为正 , 则初值必须小于等 于终值 如果增量为负 , 则初值必须大于等 于终值 。 如果没有设置 step, 则增量默认为 1。 m = 1: n = 10: s = 1 For i = m To n Step 2 s = s * i Print s Next i 计算机软件技术基础 Visual Basic 程序设计 在

11、 For语句和 Next语句之间 的语句序列称为 循环体 ,可 以是一个或多个语句。 Next是循环终端语句,在 Next后面的循环变量与 For 中的循环变量必须相同。 当循环是单层循环时, Next后面的循环变量可以 不写。 m = 1: n = 10: s = 1 For i = m To n Step 2 s = s * i Print s Next i 计算机软件技术基础 Visual Basic 程序设计 For循环语句的执行过程 1)把初值赋给循环变量 2)检查循环变量的值是否超过终值 3)如果超过就不执行循环体,跳出 循环,执行 Next后面的语句 4)否则执行一次循环体,然后

12、把循 环变量增加步长,再赋给循环变量 重复上述过程。 m = 1: n = 10: s = 1 For i = m To n Step 2 s = s * i Print s Next i 计算机软件技术基础 Visual Basic 程序设计 当初值等于终值时,不管 步长是正数还是负数,都执 行一次循环体。 m = 1: n = 10: s = 1 For i = m To n Step 2 s = s * i Print s Next i 循环次数由初值、终值和步长决定,计算公式为: 循环次数 =INT(终值 初值) /步长 +1) 计算机软件技术基础 Visual Basic 程序设计

13、For语句和 Next语句必须成对出现 , 不能单独使用 。 在循环体中可以使用循环变量 , 但一般不再对循环 变量赋值 。 For 循环变量 = 初值 To 终值 Step 步长 Next 循环变量 计算机软件技术基础 Visual Basic 程序设计 例 3.18 求 N的阶乘 N!=1*2*3*(N-1)*N Private Sub Form_Click() Dim s As Single Dim n As Integer s = 1 n = Val(InputBox(输入自然数 n) If n 34 Then Exit Sub End If For i = 1 To n s = s

14、* i Print s Next i Print n=; n, s=; s End Sub 计算机软件技术基础 Visual Basic 程序设计 3、循环的强制退出 Exit For Exit Do 常和 If、 Select Case配合使用,使循环中的 程序不再继续进行 计算机软件技术基础 Visual Basic 程序设计 3-19 求从 1001000之间所有 3的倍数的数之和,当和 大于 3000时,停止计算并输出和。 Private Sub Command1_Click() Dim i As Integer Dim sum As Integer sum = 0 i = 100 D

15、o While i 3000 Then Exit Do End If End If i = i + 1 Loop Print i, sum End Sub 计算机软件技术基础 Visual Basic 程序设计 4、 WhileWend 循环 格式: While Wend 例 打印 1到 20的整数 功能:和 Do While循环 的功能完全相同 Private Sub Form_Click() Dim I As Integer I = 1 While I = 20 Print I I = I + 1 Wend End Sub 计算机软件技术基础 Visual Basic 程序设计 允许将一个

16、循环语句完整地放到另一个循环语句中, 形成循环的嵌套或多层嵌套。 被包含的循环称为 内循环 ,包含循环的循环称为 外循 环 。 如果嵌套层数较多,也可以从外到内依次称之为第一 层循环,第二层循环, 。 Visual Basic循环嵌套的层数 没有 限制 注意 : 外循环必须完全包含内循环 , 不得交叉 。 For i=1 To 9 For j=1 to 9 Next i Next j 5.循环的嵌套 多重循环结构 计算机软件技术基础 Visual Basic 程序设计 (2) 循环语句的开始关键字和终端关键字必须成 对出现 For Next语句 , 内外层循环有相同终点时 , 允 许共用一个关

17、键字 Next, 各层中的循环控制变量不 能省略 , 内层在前 , 外层在后 For i=1 To 9 For j=1 to 9 Next j Next i For i=1 To 9 For j=1 to 9 Next j,i 可以写成 计算机软件技术基础 Visual Basic 程序设计 ForNext 循环语句构成的嵌套来说,各层的循 环变量名 (成员名 )不能相同。 For i=1 To 9 For j=1 to 9 Next j Next i (4)为了便于阅读和维护,编程时每层循环建议采 用缩排方式书写。 计算机软件技术基础 Visual Basic 程序设计 3.21 百元买百鸡

18、问题 Private Sub Form_click() Cls Rem 百元买百鸡问题 Print 公鸡 , 母鸡 , 小鸡 For x = 0 To 20 For y = 0 To 33 z = 100 - x - y If 5 * x + 3 * y + z / 3 = 100 Then Print x, y, z End If Next y, x End Sub 100元钱买 100只鸡 公鸡 5元一只 母鸡 3元一只 小鸡 1元三只 计算机软件技术基础 Visual Basic 程序设计 循环结构程序设计 VB中提供了两种类型的循环语句: 计数循环语句; 条件循环语句。 要求掌握的循环

19、结构: DoLoop For.Next DoLoop 语句有四种语法格式: Do While Loop 语句 Do Loop While 语句 Do Until Loop 语句 Do Loop Until 语句 小 结 计算机软件技术基础 Visual Basic 程序设计 For 循环变量 = 初值 To 终值 Step 步长 Next 循环变量 小 结 循环次数计算公式为: 循环次数 =INT(终值 初值) /步长 +1) 计算机软件技术基础 Visual Basic 程序设计 习 题 计算机软件技术基础 Visual Basic 程序设计 3-23 用下面公式计算 的近似值, 直到最后一

20、项的绝对值小于 10-6为止 . 7 1 5 1 3 1 1 4 计算机软件技术基础 Visual Basic 程序设计 Private Sub Form_Click() Dim s As Integer Dim n As Single, t As Single, pi As Single n = 1 pi = 0 s = 1 t = 1 Do While Abs(t) = 0.000001 pi = pi + t n = n + 2 s = -s t = s / n Loop pi = pi * 4 Print pi=; pi End Sub . 7 1 5 1 3 11 4 计算机软件技术

21、基础 Visual Basic 程序设计 5-2 编程求 ex的近似值展开式。 要求最后一项的值小于等于 0.000001为止。 k x k x k x kk )!1(! 1 ! . !3!2!1 1 32 n xxxxe nx 计算机软件技术基础 Visual Basic 程序设计 Private Sub Form_Click() Dim x As Single, y As Single, f1 As Single Dim f2 As Single, k As Integer x = InputBox(输入 x的值 , 求 exp(x)的值 ) y = 1 f1 = x For k = 2

22、To 1000 y = y + f1 f2 = f1 * x / k If Abs(f2) 0.000001 Then Exit For Else f1 = f2 End If Next k Print exp(; x; )=; y End Sub !.!3!2!11 32 n xxxxe nx k x k x k x kk )!1(! 1 5-3 求一个数,它除 3余 2,除 5余 3,除 7 余 2,求满足上面要求的最小正整数 Private Sub Form_Click() Dim a As Integer If a Mod 3 = 2 And a Mod 5 = 3 And a Mod

23、 7 = 2 Then Print a End If End Sub Exit For For a = 2 To 1000 Next a 5-4 求所有的 3位数,它满足该数中某两位有相同数字, 且该数是一个完全平方数,并求出所有这些数的和。 Private Sub Form_Click() Dim a As Integer Dim b As Integer Dim sum As Integer For a = 10 To 31 b = a * a sum = sum + b Next a Print sum End Sub Dim b3 As Integer, b2 As Integer Dim b1 As Integer b3 = b 100 b2 = (b 10) Mod 10 b1 = b Mod 10 If b1 = b2 Or b1 = b3 Or b2 = b3 Then Print a, b End If 计算机软件技术基础 Visual Basic 程序设计 习题三 三、编程题 5-9 实验题

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