




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章VB NET面向对象程序设计 第3节3循环结构语句 3 3结构化程序设计语句 第3章VB NET面向对象程序设计 第3节3循环结构语句 循环控制 本节目标 1 掌握For循环 计数循环 和Do Loop循环 条件循环 结构的应用 2 理解ExitFor ExitDo在程序控制中的作用 3 掌握循环程序设计的基本方法 4 掌握逻辑运算符的使用 第3章VB NET面向对象程序设计 第3节3循环结构语句 循环控制 循环的本质 不断地重复某种动作 在许多问题中需要用到循环控制 例如 求若干个数之和 1 1 2 2 3 3 1 2 3 4 对计算机程序而言 循环必须具备两个重要因素 1 在一定的条件下 重复执行一组指令 2 必然出现不满足条件的情况 使循环终止 第3章VB NET面向对象程序设计 第3节3循环结构语句 例 求1 100的和 根据已有的知识 可以用 1 2 100 来求解 但显然很繁琐 现在换个思路来考虑 1 首先设置一个累加器sum 其初值为0 2 利用sum sum n来计算 n依次取1 2 100 只要解决以下3个问题即可 1 将n的初值置为1 2 每执行1次sum sum n后 n增加1n n 1 3 当n增到101时 停止计算 此时 sum的值就是1 100的累计和 根据已有的知识 单独实现每一步都不难 由于需要经常使用这种重复计算结构 循环结构 VB语言提供了2类循环语句来实现 以简化 并规范循环结构程序设计 第3章VB NET面向对象程序设计 第3节3循环结构语句 在VB语言中可用以下语句实现循环 1 用Goto和If构成循环 2 For语句 3 Do Loop语句 第3章VB NET面向对象程序设计 第3节3循环结构语句 3 3 3循环结构语句一 计数循环控制语句 ForNext语句 语句功能 按指定的次数重复执行某组语句 语句格式 For循环变量 初值To终值 Step步长值 语句块 ExitFor 语句块Next 循环变量 流程图 第3章VB NET面向对象程序设计 第3节3循环结构语句 说明 1 循环变量必须是数值型变量 2 初值 终值 步长值可以是表达式 它们的类型必须与循环变量的类型相同 3 步长值可以是正数 初值应当小于终值 或负数 初值应当大于终值 缺省值为1 4 ExitFor 退出循环 执行Next语句的后继语句 5 For与Next中间的语句块称为循环体 可以是多个语句 例如 ForI 1To10Step1TextBox1 Text TextBox1 Text I NextI该程序段执行10次循环 在文本框内输出结果为 12345678910 第3章VB NET面向对象程序设计 第3节3循环结构语句 例 求1 100的累计和Fori 1To100sum sum iNexti计算机执行For语句的过程 1 将初值赋予循环变量 2 判断循环变量的值是否小于等于循环终值 步长值为正 如果条件满足 则执行循环体内的语句 循环变量增加步长值 否则循环结束 执行Next语句的后继语句 第3章VB NET面向对象程序设计 第3节3循环结构语句 例3 17 计算并输出下列调和级数前10项之和 DimIAsInteger SAsSingleS 0ForI 1To10S S 1 INextIMessageBox Show S S 第3章VB NET面向对象程序设计 第3节3循环结构语句 例3 18 学生成绩统计 用For Next语句实现例3 16要求的功能 smax 1 smin 101Fornum 1To30ch 请输入第 num 个学生的成绩 s InputBox ch 输入学生成绩sum sum s 学生成绩累加 保留最高分及对应学号Ifs smaxThensmax s nummax num 保留最低分及对应学号Ifs sminThensmin s nummin numNextnum 第3章VB NET面向对象程序设计 第3节3循环结构语句 例3 19 输入一个正整数n 判断其是否为素数 若是素数 输出 是素数 否则输出 不是素数 DimNAsInteger IAsIntegerN InputBox 请输入一个整数 例题 ForI 2ToN 1IfNModI 0ThenMessageBox Show N 不是素数 GoTo10EndIfNextIMessageBox Show N 是素数 10 不是素数 输出以后转移 第3章VB NET面向对象程序设计 第3节3循环结构语句 错误使用Goto语句的例子 Fori 1To1010 MessageBox Show 循环体 NextiGoTo10错误 从循环外转到循环内 第3章VB NET面向对象程序设计 第3节3循环结构语句 在使用循环语句时 还应注意 在循环体内不能改变循环变量的初值 终值 步长值 例如 a 2 b 6 c 2Fori aTobStepca 3 b 10 c 1TextBox1 Text TextBox1 Text i Nexti程序执行结果为 246 第3章VB NET面向对象程序设计 第3节3循环结构语句 循环语句嵌套 在一个循环结构的循环体内包含另一个或多个循环结构 也称为多重循环 例如 Form 1To9Forn 1To9TextBox1 Text TextBox1 Text m n NextnTextBox1 Text TextBox1 Text vbCrLfNextm 第3章VB NET面向对象程序设计 第3节3循环结构语句 注意 1 内外层循环不能交叉 例如 ForI 1To5ForJ 1To5 NextINextJ 2 嵌套循环变量名不可相同 例如 ForI 1To5ForI 1To5 NextINextI 第3章VB NET面向对象程序设计 第3节3循环结构语句 例3 20 利用FOR循环结构语句 在文本框内显示由 号组成的下列图形 第3章VB NET面向对象程序设计 第3节3循环结构语句 DimIAsInteger JAsIntegerForI 1To5TextBox1 Text TextBox1 Text Space 8 I ForJ 1To2 I 1TextBox1 Text TextBox1 Text NextJTextBox1 Text TextBox1 Text vbCrLfNextI外层I循环控制行数 内层J循环控制列数使用Space函数输出空格以确定每行输出的起始位置 外层循环中的vbCrlf起换行的作用 第3章VB NET面向对象程序设计 第3节3循环结构语句 例3 21 在文本框内显示2到100之间的素数 要求每行输出5个素数 DimIAsInteger KAsInteger NAsIntegerFork 2To100ForI 2Tok 1IfkModI 0ThenGoTo10EndIfNextIIfk 10ThenTextBox1 Text TextBox1 Text k Space 3 ElseTextBox1 Text TextBox1 Text k Space 2 EndIfN N 1IfN 5ThenN 0 TextBox1 Text TextBox1 Text vbCrLf10 NextK 每行输出5个数字 依次判断2 100之间的每一个数 第3章VB NET面向对象程序设计 第3节3循环结构语句 请考虑 如何将 例3 9 改成由For Next构成的循环结构 假设循环10次 学习要点熟练使用For Next语句进行程序设计 第3章VB NET面向对象程序设计 第3节3循环结构语句 二 条件循环控制 当型循环结构 直到型循环结构 1 流程图中P是条件 A可以是一个简单语句 也可以是一个基本结构2 条件循环控制用于处理无法预先确定循环次数的情况 第3章VB NET面向对象程序设计 第3节3循环结构语句 一 四种形式的条件循环控制语句 DoWhileLoop DoLoopWhile DoUntilLoop DoLoopUntil 先测型 后测型 第3章VB NET面向对象程序设计 第3节3循环结构语句 1 Do LoopWhile语句语句功能 重复执行循环体内的语句 直到条件不成立 条件值为False 语句格式 Do语句块LoopWhile条件说明 1 条件可以是关系表达式 逻辑表达式 数值表达式 数值表达式的值非0 则为True 条件满足 数值表达式的值为0条件值为False 条件不满足 例如 第3章VB NET面向对象程序设计 第3节3循环结构语句 s 5DoPrintss 0LoopWhiles进入循环后条件表达式S的值等于0 即条件值为False 因此循环结束 2 Do Loop中间的语句块称为循环体 可以包含多个语句 第3章VB NET面向对象程序设计 第3节3循环结构语句 3 计算机执行Do LoopWhile语句的过程 1 首先执行Do和Loop之间的语句 2 当执行到Loop语句时 进行条件判断 若值是True 满足条件 则继续执行Do和Loop之间的语句块 循环 若值是False 不满足条件 则循环结束 执行Do LoopWhile语句的后继语句 例 DoPW InputBox 输入密码 LoopWhilePW ABCD 该程序段将反复执行 直到输入正确的密码 ABCD 后循环结束 第3章VB NET面向对象程序设计 第3节3循环结构语句 2 Do LoopUntil语句语句功能 重复执行循环体内的语句 直到条件成立 条件值为True 语句格式 Do语句块LoopUntil条件说明 1 语句中的条件与Do LoopWhile语句的条件相同 2 计算机执行Do LoopUntil语句的过程 第3章VB NET面向对象程序设计 第3节3循环结构语句 1 首先执行Do和Loop之间的语句 2 当执行到Loop语句时 进行条件判断 与Do LoopWhile相反 若值是False 不满足条件 则继续执行Do和Loop之间的语句块 循环 若值是True 满足条件 则循环结束 执行Do LoopUntil语句的后继语句 例 DoPW InputBox 输入密码 LoopUntilPW ABCD 注意 Do LoopWhile语句与Do LoopUntil语句对条件的逻辑设置相反 第3章VB NET面向对象程序设计 第3节3循环结构语句 3 DoWhile Loop语句语句功能 若条件成立 则重复执行循环 语句格式 DoWhile条件语句块Loop说明 1 语句中的条件与Do LoopWhile语句的条件相同 2 计算机执行DoWhile Loop语句的过程 第3章VB NET面向对象程序设计 第3节3循环结构语句 首先判断DoWhile语句后的条件 若值是True 则执行Do和Loop之间的语句 若值是False 则循环结束 执行DoWhile Loop语句的后继语句 例 PW InputBox 输入密码 DoWhilePW ABCD PW InputBox 输入密码 Loop该程序段首先判断变量PW的值是否为 ABCD 若不是 ABCD 则执行循环 直到输入 ABCD 后循环结束 第3章VB NET面向对象程序设计 第3节3循环结构语句 4 DoUntil Loop语句语句功能 若条件不成立 则重复执行循环 语句格式 DoUntil条件语句Loop说明 1 语句中的条件与前三种语句的条件相同 2 计算机执行DoUntil Loop语句的过程 首先判断DoUntil语句后的条件 若值是False 则执行Do和Loop之间的语句 若值是True 则循环结束 执行DoUntil Loop语句的后继语句 第3章VB NET面向对象程序设计 第3节3循环结构语句 例 PW InputBox 输入密码 DoUntilPW ABCD PW InputBox 输入密码 Loop该程序段首先判断变量PW的值是否为 ABCD 若不是 ABCD 则执行循环 直到输入 ABCD 后循环结束 注意 DoWhile Loop语句与DoUntil Loop语句对条件的逻辑设置是相反的 第3章VB NET面向对象程序设计 第3节3循环结构语句 4种条件语句的比较 1 DoPW InputBox 输入密码 LoopWhilePW ABCD 2 DoPW InputBox 输入密码 LoopUntilPW ABCD 第3章VB NET面向对象程序设计 第3节3循环结构语句 3 PW InputBox 输入密码 DoWhilePW ABCD PW InputBox 输入密码 Loop4 PW InputBox 输入密码 DoUntilPW ABCD PW InputBox 输入密码 Loop 第3章VB NET面向对象程序设计 第3节3循环结构语句 二 条件循环控制的几个问题 1 循环次数 取决于循环体的各语句如何去影响循环终止条件 条件表达式中的各个变量可称为循环控制变量 例如 k 10DoWhilek0a a 1b b 1Loop结果 死循环 重复不停地执行循环体 修改方法 在Loop语句前可增加一个诸如k k 1的语句 第3章VB NET面向对象程序设计 第3节3循环结构语句 2 四种不同形式的条件循环 根据其功能可分成两类 1 在循环之前先判断条件是否成立 先判后做 DoWhile Loop与DoUntil Loop2 在循环之后判断条件是否成立 先做后判 Do LoopWhile与Do LoopUntil两类循环的区别 先做后判 时循环至少被执行一次 而 先判后做 时循环可能一次也不被执行 第3章VB NET面向对象程序设计 第3节3循环结构语句 3 在DoWhile或DoUntil语句之前 一般应先确定循环控制变量的初值 例如 s InputBox 请输入 DoWhiles 9999Sum sum ss InputBox 请输入 Loop 4 条件循环语句允许循环嵌套 5 在条件循环中可以使用ExitDo语句 以退出循环 第3章VB NET面向对象程序设计 第3节3循环结构语句 Do Loop语句 DoWhileLoop DoLoopWhile DoUntilLoop DoLoopUntil Until相当于Whilenot可用ExitDo中止循环 先测型 后测型 第3章VB NET面向对象程序设计 第3节3循环结构语句 先测型与后测型的比较 先测试条件 至少执行一次 第3章VB NET面向对象程序设计 第3节3循环结构语句 例3 22 计算并显示满足下列不等式的调和级数的项数 1 1 2 1 3 1 n E用循环结构求级数和的问题 求级数和的项数和精度都是有限的 否则可能会溢出或死循环 本例根据某项值的精度控制循环的结束 累加与连乘累加 在原有和的基础上一次次地加上一个数 如e e t 连乘 在原有积的基础上一次次地乘以一个数 如n n I 第3章VB NET面向对象程序设计 第3节3循环结构语句 例3 23 从键盘输入两个正整数m和n 用辗转相除法计算并输出m和n的最大公约数 算法简介 设m na r1 0 r1 n 即m除以n的余数为r1 那么m和n的最大公约数与n和r1的最大公约数相同 若r1 0 则n就是m和n的最大公约数 若r1 0 再对n和r1重复上面的过程 直到求出rn 0为止 算法演示 VB NEW 第3章VB NET面向对象程序设计 第3节3循环结构语句 DimaAsInteger bAsInteger rAsIntegera InputBox 请输入第一个数据 b InputBox 请输入第二个数据 Dor aModba b b rLoopWhiler0MessageBox Show a 和 b 的最大 公约数是 a 第3章VB NET面向对象程序设计 第3节3循环结构语句 例3 24 编写一个译码程序 将一个由大写字母组成的英语句子译成数字代码 译码规则 以数字1代替字母A 数字2代替字母B 数字26代替字母Z 如遇空格则输出 号 英语句子以句号结束 设letter为字符串变量 存放输入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年环境影响评价公众参与与可持续发展战略融合报告
- 2025年工业互联网平台安全多方计算在智能金融风控中的应用报告
- 18.2 抽样调查说课稿-2025-2026学年初中数学冀教版2012八年级下册-冀教版2012
- 2025年中国氟化钨行业市场分析及投资价值评估前景预测报告
- 7.4分享协作学习成果(教学设计)苏科版小学信息技术三年级下册
- 贵州 侗族大歌 五月蝉歌说课稿初中音乐粤教版八年级上册-粤教版
- 高二心理考试试卷及答案
- 保卫干部知识培训会课件
- 一、查看文件与文件夹教学设计小学信息技术粤教版B版四年级上册-粤教版(B版)
- 5.《摆的快慢》(教学设计)五年级上册科学教科版
- 研发项目管理流程
- 八年级英语组工作总结
- 《船用格栅》规范
- 重大(2023)版信息科技五年级上册教学设计
- 《出师表》原文及英文对照版-20210722094410
- 实验室装修工程设计书
- 2024-2025学年人教版八年级英语上册Unit 2 测试卷
- 退休人员出国探亲申请书
- 电商直播带货的营销策略手册
- 云计算与边缘计算协同详述
- 船舶水污染物内河接收设施配置规范
评论
0/150
提交评论