VB循环结构程序设计课件

上传人:m**** 文档编号:590496164 上传时间:2024-09-14 格式:PPT 页数:20 大小:182KB
返回 下载 相关 举报
VB循环结构程序设计课件_第1页
第1页 / 共20页
VB循环结构程序设计课件_第2页
第2页 / 共20页
VB循环结构程序设计课件_第3页
第3页 / 共20页
VB循环结构程序设计课件_第4页
第4页 / 共20页
VB循环结构程序设计课件_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《VB循环结构程序设计课件》由会员分享,可在线阅读,更多相关《VB循环结构程序设计课件(20页珍藏版)》请在金锄头文库上搜索。

1、3.3 循环语句循环语句u 程序的另一种结构是循环结构程序的另一种结构是循环结构u 循环结构作用是重复执行一段程序循环结构作用是重复执行一段程序u 循环是有条件的、次数是有限的循环是有条件的、次数是有限的u VB的循环语句:的循环语句:ForNext、Do WhileLoop For EachNext、WhileWend u 应用最多的:应用最多的:ForNext与与Do WhileLoop返回目录返回目录3.4 循环语句循环语句ForNextForNext循环循环循环循环 uForNext循环一般应用于循环次数已知的场合循环一般应用于循环次数已知的场合 For = 初值初值 To 终值终值

2、Step 步长步长 语句块(循环体)语句块(循环体) Next 循环变量循环变量 u工作原理工作原理 返回目录返回目录循环变量循环变量=初值初值循环变量超出范围?循环变量超出范围?循环体循环体循环变量增加一个步长循环变量增加一个步长NoYesStep缺省为缺省为 1 3.4 循环语句循环语句ForNextForNext循环循环循环循环 例例3.9 求求1+3+5+7+99Private Sub Form_Click() Dim Sum As Integer, I As Integer Sum = 0 保存累加和,先清零保存累加和,先清零 For I = 1 To 99 Step 2 Sum =

3、 Sum + I Next I MsgBox 1+3+5+99= & Sum, , 求和求和End Sub 返回目录返回目录 本例的特点是数据本例的特点是数据项之间相差项之间相差2, 即即Step的值为的值为2 思考:思考:例中当输出对话框出现时,例中当输出对话框出现时,I 的值是多少?的值是多少?如果省略如果省略Step 2,程序的结果如何?程序的结果如何?For语句能不能改写成语句能不能改写成For I=99 To 1 Step -2 ? 3.4 循环语句循环语句ForNextForNext循环循环循环循环 例例3.10 求平均成绩求平均成绩 Const N = 10 学生人数学生人数Pr

4、ivate Sub Form_Click() Dim Sum As Integer, I As Integer Dim Data As Integer, Average As Single Sum = 0 存放累加值的变量清零存放累加值的变量清零 For I = 1 To N 循环循环40次,步长值为次,步长值为1省略省略 Data = InputBox(输入第输入第 & I & 位同学的成绩位同学的成绩, 求平均分求平均分) Sum = Sum + Data Next I Average = Sum / N MsgBox 全班全班 & N & 名学生的平均分为名学生的平均分为 & Avera

5、ge, , 求平均分求平均分End Sub 返回目录返回目录确确定定本例的循环变量本例的循环变量 I 控制人数控制人数 3.5 循环语句循环语句DoLoopDoLoop循环循环循环循环 1. 当型循环当型循环 返回目录返回目录Do While 循环体循环体Loop Do 循环体循环体Loop While 条件表达式条件表达式成立?成立?循环体循环体NoYes条件表达式条件表达式成立?成立?循环体循环体NoYes先判断后执行先判断后执行 先执行后判断先执行后判断特点:条件表达式特点:条件表达式成立执行成立执行循环体内容循环体内容 3.5 循环语句循环语句DoLoopDoLoop循环循环循环循环

6、例例3.12 计算平均分计算平均分 Private Sub Form_Click() Dim Data As Integer, Sum As Integer, N As Integer Dim Average As Single Sum = 0 : N = 0 Data = InputBox(输入第输入第 & N + 1 & 个同学的成绩个同学的成绩, 求平均分求平均分) Do While Data -1 -1表示结束输入表示结束输入 Sum = Sum + Data N = N + 1 Data = InputBox(输入第输入第 & N + 1 & 个同学的成绩个同学的成绩, 求平均分求平

7、均分) Loop Average = Sum / N MsgBox N & 位同学的平均分为位同学的平均分为 & Average, , 求平均分求平均分End Sub返回目录返回目录3.5 循环语句循环语句DoLoopDoLoop循环循环循环循环 例例3.13 Sum=1+2+3+N 求求Sum不超过不超过10000的最大整数值和数据项数的最大整数值和数据项数N Private Sub Form_Click() Dim Sum, N As Integer N = 0 开始时项数为开始时项数为0 Sum = 0 保存累加值的变量保存累加值的变量Sum清零清零 Do While Sum = 100

8、00 N = N + 1 Sum = Sum + N Loop Sum = Sum - N N = N - 1 Print Sum=; Sum, N=; N End Sub返回目录返回目录当当Sum的值超出的值超出10000时循环才时循环才终止。因此终止。因此Sum值要减去多加的值要减去多加的一个一个N;而在循环过程中,;而在循环过程中,N也也被多加了一个被多加了一个1,需要减去。,需要减去。 3.5 循环语句循环语句DoLoopDoLoop循环循环循环循环 2. 直到型循环直到型循环 返回目录返回目录Do Until 循环体循环体Loop Do 循环体循环体Loop Until 特点:条件表

9、达式特点:条件表达式不成立执行不成立执行循环体内容循环体内容 先判断后执行先判断后执行 条件表达式条件表达式成立?成立?循环体循环体NoYes先执行后判断先执行后判断条件表达式条件表达式成立?成立?循环体循环体NoYes3.5 循环语句循环语句DoLoopDoLoop循环循环循环循环 例例3.14计算平均分计算平均分( (要求同要求同例例4.12) ) Private Sub Form_Click() Dim Data As Integer, Sum As Integer, N As Integer Sum = 0 : N = 0 Data = InputBox(输入成绩输入成绩, 计算总分计

10、算总分) Do Until Data = -1 Sum = Sum + Data N = N + 1 Data = InputBox(“输入成绩输入成绩, 计算总分计算总分) Loop Print 全班平均分为全班平均分为:; Sum / NEnd Sub返回目录返回目录 Do While Data -1 Sum = Sum + Data N = N + 1 Data = InputBox(“输入成绩输入成绩, 计算总分计算总分) Loop3.6 循环语句循环语句两重循环两重循环两重循环两重循环 两重循环两重循环:在一个循环的循环体中还包含另一个循环:在一个循环的循环体中还包含另一个循环例例3

11、.15 在窗体上显示一个几何图形在窗体上显示一个几何图形Private Sub Form_Click() Dim I, J As Integer I、J为循环变量为循环变量 For I = 1 To 8 I 控制行数控制行数(8行行) Print Tab(10 - I); 定每行定每行*的起始位的起始位 For J = 1 To I J 控制每行输出控制每行输出I个个* Print *; Next J Print 换行换行 Next IEnd Sub返回目录返回目录注意:两重循环不能形成交叉注意:两重循环不能形成交叉 3.6 循环语句循环语句两重循环两重循环两重循环两重循环 例例3.16 输出

12、乘法口诀表输出乘法口诀表Private Sub Form_Click() Dim I As Integer, J As Integer, M As Integer For I = 1 To 9 For J = 1 To I M = I * J Print J & * & I & = & M & ; Next J Print 打印换行打印换行 Next IEnd Sub返回目录返回目录3.6 循环语句循环语句两重循环两重循环两重循环两重循环 例例3.17 计算计算 Private Sub Form_Click() Dim I As Integer, J As Integer Dim F As L

13、ong 阶乘值用长整型保存阶乘值用长整型保存 Dim e As Double For I = 0 To 10 F = 1 每个阶乘值先置每个阶乘值先置1以便累乘以便累乘 For J = 1 To I F = F * J Next J e = e + 1 / F Next I Print e=; e End Sub返回目录返回目录本循环计算本循环计算F= I!3.6 循环语句循环语句多重循环多重循环多重循环多重循环 多重循环多重循环:循环次数在两重以上的循环结构:循环次数在两重以上的循环结构 例例3.19 计算计算将将1角钱兑换成零钱有多少种方案角钱兑换成零钱有多少种方案 Private Sub

14、 Form_Click() Dim I, J, K, S As Integer S = 0 统计兑换统计兑换1角钱的方案数角钱的方案数 For I = 0 To 10 1分钱个数分钱个数 For J = 0 To 10 Step 2 2分钱个数分钱个数 For K = 0 To 10 Step 5 5分钱个数分钱个数 If I + J + K = 10 Then S = S + 1 Next K Next J Next I MsgBox 1角钱兑换成零钱的方案有角钱兑换成零钱的方案有 & S & 种种, , 兑换零钱兑换零钱End Sub返回目录返回目录1角角钱钱以以下下的的硬硬币币有有1分分

15、、2分和分和5分种分种1角钱全换成角钱全换成1分需分需10个个1角钱全换成角钱全换成2分需分需5个个1角钱全换成角钱全换成5分需分需2个个 3.7 其他语句其他语句ExitExit与与与与EndEnd 1. Exit语句语句Exit Do:跳出:跳出DoLoop循环循环Exit For:跳出:跳出ForNext循环循环例例4.20 判断一个正整数是否为素数判断一个正整数是否为素数(质数质数) N = InputBox(请输入一个正整数请输入一个正整数, 验证素数验证素数) For I = 2 To N - 1 If N Mod I = 0 Then Exit For End If Next I

16、 If I = N Then MsgBox N & 是素数是素数, , 验证素数验证素数 Else MsgBox N & 不是素数不是素数, , 验证素数验证素数 End If返回目录返回目录 素数素数:一个正整数:一个正整数N除了能被除了能被1和自身所整和自身所整除外,不能被其它任除外,不能被其它任何数所整除何数所整除。 3.7 其他语句其他语句ExitExit与与与与EndEnd 2. End语句语句uEnd:终止程序的运行:终止程序的运行uEnd Sub:终止一个过程;:终止一个过程;uEnd Function:终止函数过程:终止函数过程uEnd If:终止条件语句:终止条件语句uEnd

17、 Type:终止类型声明:终止类型声明uEnd Select:终止情况语句:终止情况语句uEnd Property:终止属性过程:终止属性过程uEnd With:终止:终止With语句语句返回目录返回目录例如:例如:Private Sub Command1_Click() EndEnd Sub 3.7 其他语句其他语句Goto Goto u 功能:无条件转向功能:无条件转向u 格式:格式:Goto label称为语句标号称为语句标号( (数字或标识符数字或标识符) )例例3.22 求若干个同学的成绩总分求若干个同学的成绩总分 Private Sub Form_Click() Dim Data,

18、 Sum As Integer Sum = 0 loop1: Data = InputBox(输入成绩输入成绩) If Data = -1 Then GoTo loop2 Else Sum = Sum + Data GoTo loop1 End If loop2: Print 总分总分=; Sum End Sub返回目录返回目录 Goto语句不符合结语句不符合结构化程序设计的要求,构化程序设计的要求,所以不提倡使用。所以不提倡使用。 程序调试程序调试程序的错误类型程序的错误类型程序的错误类型程序的错误类型 语法错误语法错误 运行错误运行错误返回目录返回目录中文逗号中文逗号n n未赋过值未赋过值

19、逻辑错误:算法不正确。逻辑错误:算法不正确。显然系统不会报告这类出错信息显然系统不会报告这类出错信息。程序调试程序调试简单调试简单调试简单调试简单调试 方法:在程序中适当插入方法:在程序中适当插入Print语句跟踪变量值的变化语句跟踪变量值的变化 返回目录返回目录应该是应该是6与与24 程序调试程序调试使用调试工具使用调试工具使用调试工具使用调试工具 1. 断点调试断点调试 断点断点:程序执行到该此自动暂停:程序执行到该此自动暂停 单击单击“继续继续”按钮按钮 ,程序可继续执行。程序可继续执行。 返回目录返回目录 设置断点:在代码窗口中单设置断点:在代码窗口中单击该语句左侧的阴影边框。击该语句

20、左侧的阴影边框。 暂停时,将鼠标指针移动到暂停时,将鼠标指针移动到程序中的各个变量上略作停留,程序中的各个变量上略作停留,系统将以浮动标签的方式显示系统将以浮动标签的方式显示该变量的值。该变量的值。程序调试程序调试使用调试工具使用调试工具使用调试工具使用调试工具 2. 逐语句执行逐语句执行 启动逐语句执行:启动逐语句执行:“调试调试逐语句逐语句” ” 或或 按按F8 终止终止逐语句执行逐语句执行: “调试调试跳出跳出” ” 3. 使用立即窗口使用立即窗口 程序运行处于暂停状态时,程序运行处于暂停状态时, 在立即窗口中输入:在立即窗口中输入: Print 或或 ? 4. 逐过程逐过程 启动逐过程执行:启动逐过程执行:“调试调试逐过程逐过程”或或 按按Shift+F8 终止终止逐过程执行逐过程执行: “调试调试跳出跳出”返回目录返回目录

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号