版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.3 循环语句循环语句u 程序的另一种结构是循环结构程序的另一种结构是循环结构u 循环结构作用是重复执行一段程序循环结构作用是重复执行一段程序u 循环是有条件的、次数是有限的循环是有条件的、次数是有限的u vb的循环语句:的循环语句:fornext、do whileloop for eachnext、whilewend u 应用最多的:应用最多的:fornext与与do whileloop返回目录返回目录3.4 循环语句循环语句fornext循环循环 ufornext循环一般应用于循环次数已知的场合循环一般应用于循环次数已知的场合 for = 初值初值 to 终值终值 step 步长步长 语
2、句块(循环体)语句块(循环体) next 循环变量循环变量 u工作原理工作原理 返回目录返回目录循环变量循环变量=初值初值循环变量超出范围?循环变量超出范围?循环体循环体循环变量增加一个步长循环变量增加一个步长noyesstep缺省为缺省为 1 3.4 循环语句循环语句fornext循环循环 例例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 = sum + i next i msgbox
3、 1+3+5+99= & sum, , 求和求和end sub 返回目录返回目录 本例的特点是数据本例的特点是数据项之间相差项之间相差2, 即即step的值为的值为2 思考:思考:例中当输出对话框出现时,例中当输出对话框出现时,i 的值是多少?的值是多少?如果省略如果省略step 2,程序的结果如何?,程序的结果如何?for语句能不能改写成语句能不能改写成for i=99 to 1 step -2 ? 3.4 循环语句循环语句fornext循环循环 例例3.10 求平均成绩求平均成绩 const n = 10 学生人数学生人数private sub form_click() dim sum a
4、s 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 & 名学生的平均分为名学生的平均分为 & average, , 求平均分求平均分end sub 返回目录返回目录确确
5、定定本例的循环变量本例的循环变量 i 控制人数控制人数 3.5 循环语句循环语句doloop循环循环 1. 当型循环当型循环 返回目录返回目录do while 循环体循环体loop do 循环体循环体loop while 条件表达式条件表达式成立?成立?循环体循环体noyes条件表达式条件表达式成立?成立?循环体循环体noyes先判断后执行先判断后执行 先执行后判断先执行后判断特点:条件表达式特点:条件表达式成立执行成立执行循环体内容循环体内容 3.5 循环语句循环语句doloop循环循环 例例3.12 计算平均分计算平均分 private sub form_click() dim data
6、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 & 个同学的成绩个同学的成绩, 求平均分求平均分) loop average = sum / n msgbox n & 位同学的平均分为位同学的平均
7、分为 & average, , 求平均分求平均分end sub返回目录返回目录3.5 循环语句循环语句doloop循环循环 例例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 = 10000 n = n + 1 sum = sum + n loop sum = sum - n n = n - 1 print
8、sum=; sum, n=; n end sub返回目录返回目录当当sum的值超出的值超出10000时循环才时循环才终止。因此终止。因此sum值要减去多加的值要减去多加的一个一个n;而在循环过程中,;而在循环过程中,n也也被多加了一个被多加了一个1,需要减去。,需要减去。 3.5 循环语句循环语句doloop循环循环 2. 直到型循环直到型循环 返回目录返回目录do until 循环体循环体loop do 循环体循环体loop until 特点:条件表达式特点:条件表达式不成立执行不成立执行循环体内容循环体内容 先判断后执行先判断后执行 条件表达式条件表达式成立?成立?循环体循环体noyes先
9、执行后判断先执行后判断条件表达式条件表达式成立?成立?循环体循环体noyes3.5 循环语句循环语句doloop循环循环 例例3.14计算平均分计算平均分( (要求同要求同例例4.12) ) private sub form_click() dim data as integer, sum as integer, n as integer sum = 0 : n = 0 data = inputbox(输入成绩输入成绩, 计算总分计算总分) do until data = -1 sum = sum + data n = n + 1 data = inputbox(“输入成绩输入成绩, 计算总分
10、计算总分) loop print 全班平均分为全班平均分为:; sum / nend sub返回目录返回目录 do while data -1 sum = sum + data n = n + 1 data = inputbox(“输入成绩输入成绩, 计算总分计算总分) loop3.6 循环语句循环语句两重循环两重循环 两重循环两重循环:在一个循环的循环体中还包含另一个循环:在一个循环的循环体中还包含另一个循环例例3.15 在窗体上显示一个几何图形在窗体上显示一个几何图形private sub form_click() dim i, j as integer i、j为循环变量为循环变量 for
11、 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 输出乘法口诀表输出乘法口诀表private sub form_click() dim i as integer, j as integer, m as integer for i = 1 to 9 f
12、or 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 long 阶乘值用长整型保存阶乘值用长整型保存 dim e as double for i = 0 to 10 f = 1 每个阶乘值先置每个阶乘值先置1以便累乘以便累乘 for j = 1 to i f = f
13、* j next j e = e + 1 / f next i print e=; e end sub返回目录返回目录!101.! 31! 21! 111e本循环计算本循环计算f= i!3.6 循环语句循环语句多重循环多重循环 多重循环多重循环:循环次数在两重以上的循环结构:循环次数在两重以上的循环结构 例例3.19 计算计算将将1角钱兑换成零钱有多少种方案角钱兑换成零钱有多少种方案 private sub form_click() dim i, j, k, s as integer s = 0 统计兑换统计兑换1角钱的方案数角钱的方案数 for i = 0 to 10 1分钱个数分钱个数 f
14、or 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分、分、2分和分和5分种分种1角钱全换成角钱全换成1分需分需10个个1角钱全换成角钱全换成2分需分需5个个1角钱全换成角钱全换成5分需分需2个个 3.7 其他语句其他语句exit与与end 1.
15、 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 if i = n then msgbox n & 是素数是素数, , 验证素数验证素数 else msgbox n & 不是素数不是素数, , 验证素数验证素数 end if返回目录返回目录 素数素数:一
16、个正整数:一个正整数n除了能被除了能被1和自身所整和自身所整除外,不能被其它任除外,不能被其它任何数所整除何数所整除。 3.7 其他语句其他语句exit与与end 2. end语句语句uend:终止程序的运行:终止程序的运行uend sub:终止一个过程;:终止一个过程;uend function:终止函数过程:终止函数过程uend if:终止条件语句:终止条件语句uend type:终止类型声明:终止类型声明uend select:终止情况语句:终止情况语句uend property:终止属性过程:终止属性过程uend with:终止:终止with语句语句返回目录返回目录例如:例如:priv
17、ate sub command1_click() endend sub 3.7 其他语句其他语句goto u 功能:无条件转向功能:无条件转向u 格式:格式:goto label称为语句标号称为语句标号( (数字或标识符数字或标识符) )例例3.22 求若干个同学的成绩总分求若干个同学的成绩总分 private sub form_click() dim data, sum as integer sum = 0 loop1: data = inputbox(输入成绩输入成绩) if data = -1 then goto loop2 else sum = sum + data goto loop
18、1 end if loop2: print 总分总分=; sum end sub返回目录返回目录 goto语句不符合结语句不符合结构化程序设计的要求,构化程序设计的要求,所以不提倡使用。所以不提倡使用。 程序调试程序调试程序的错误类型程序的错误类型 语法错误语法错误 运行错误运行错误返回目录返回目录中文逗号中文逗号n n未赋过值未赋过值逻辑错误:算法不正确。逻辑错误:算法不正确。显然系统不会报告这类出错信息显然系统不会报告这类出错信息。程序调试程序调试简单调试简单调试 方法:在程序中适当插入方法:在程序中适当插入print语句跟踪变量值的变化语句跟踪变量值的变化 返回目录返回目录应该是应该是6与与24 程序调试程序调试使用调试工具使用调试工具 1. 断点调试断点调试 断点断点:程序执行到该此自动暂停:程序执行到该此自动暂停 单击单击“继续继续”按钮按钮 ,程序可继续执行。程序可继续执行。 返回目录返回目录 设置断点:在代码窗口中单设置断点:在代码窗口中单击该语句左侧的阴影边框。击该语句左侧的阴影边框。 暂停时,将鼠标指针移动到暂停时,将鼠标指针移动到程序中的各个变量上略作停留,程序中的各个变量上略作停留,系统将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 猪场应急预案范围
- 济宁启动应急预案
- 宏达矿业应急预案
- 支教活动应急预案
- 舟山活动策划方案定做
- 应急预案追踪评价
- 音乐节表演者排练与演出准备
- 防止猝死应急预案
- 中间渠道营销方案
- 石油部门应急预案
- 新媒体运营PPT完整全套教学课件
- 第四章烟草与环境
- YY/T 0079-2006外科植入物 金属夹
- YY 1301-2016激光治疗设备铒激光治疗机
- ABB机器人基础及操作课件
- 第二章-剩余价值学说的创立和马克思主义政治经济学的形成-(《马克思主义发展史》课件)
- 2023年北京市基础设施投资有限公司校园招聘笔试模拟试题及答案解析
- 电梯每月巡检记录表
- 顶驱培训课件
- JJF(苏)161-2014漆包绕组线静摩擦系数试验仪校准规范-(现行有效)
- 2022数控铣工技师高级职业技能鉴定核心题库(答案)
评论
0/150
提交评论