版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 问题的提出 2. 循环概念 3. Goto语句4. 前测型循环5. 后测型循环 6. 实例分析 7. 计数型循环 8. 常用算法 9. 对象集合For EachNext语句 10.控件:列表框(ListBox) 组合框(ComboBox)第5章 循环结构程序设计主 要 内 容1.问题的提出问题问题1: 求前求前N项和。项和。 例如:例如:1+2+3+.+99+100问题问题2: 求正整求正整N的阶乘。的阶乘。 例如:例如:5!=12345问题问题3: 从从N个数据中查找极值。个数据中查找极值。 例如:查找例如:查找10个数中最大值。个数中最大值。问题问题4: 处理有限数据集合中符合命题要
2、求的数据。处理有限数据集合中符合命题要求的数据。 例如例如:分别统计某班分别统计某班N个学生的考试成绩为个学生的考试成绩为“优、良、可、差优、良、可、差”的人数的人数。 .问题问题N:.2. 循环基本概念(1) 上述问题中的共性:上述问题中的共性: 程序设计中需要按照某种规律反复不断执行某一段程序设计中需要按照某种规律反复不断执行某一段程序;能够完成此功能的程序结构成为程序;能够完成此功能的程序结构成为“循环结构循环结构”,被反复执行的被反复执行的“程序段程序段”成为成为“循环体语句循环体语句”。(2) 循环结构的三要素:循环结构的三要素: A. 构成循环的基本条件是什么?构成循环的基本条件是
3、什么? B. 循环体要完成的功能是什么?循环体要完成的功能是什么? C.在什么情况下结束循环过程在什么情况下结束循环过程?3. GoTo型控制Goto语句又称为无条件转向语句,它的一般形式为语句又称为无条件转向语句,它的一般形式为Goto 语句标号语句标号或或 Goto 行号行号说明:说明:语句标号或行号必须存在,否则会出现错误。语句标号或行号必须存在,否则会出现错误。语句标号是一个标识符,在标识位置上,其后紧语句标号是一个标识符,在标识位置上,其后紧跟一个冒号。行号是一个整数。语句标号的命名跟一个冒号。行号是一个整数。语句标号的命名规则与变量名相同。例如,规则与变量名相同。例如,Goto a
4、b,Goto a1,Goto 123是合法的(是合法的(ab,a1是语句标号,是语句标号,123是是行号),而行号),而Goto a%,Goto 10a是非法的是非法的。 基本循环语句结构基本循环语句结构(例如:累加和问题)(例如:累加和问题) Do Loop 说明:说明:循环结构的关键是循环结构的关键是“有始有终有始有终”。问题关键:问题关键:如何根据实际要求设置条件来限定如何根据实际要求设置条件来限定循环次数?循环次数?解决方案:解决方案: 在在Do.Loop循环结构中添加分支语句循环结构中添加分支语句 DoIf Then Exit DoLoop解释:当满足设定条件时退出循环,执行解释:当
5、满足设定条件时退出循环,执行Loop之后的之后的语句。语句。例:例:求求1+2+3+.+100 设累加和变量设累加和变量Sum累计求和;计数器变量累计求和;计数器变量C累计循累计循环次数,当循环环次数,当循环100次时次时 结束。(结束。(C=100)4. 当型循环(1) 循环语句结构循环语句结构Do While Loop(2) 说明:说明: A.逻辑表达式作为进入循环的条件,当条件成立逻辑表达式作为进入循环的条件,当条件成立时进入循环时进入循环. B. 循环体由若干条语句构成,在循环体中至少包循环体由若干条语句构成,在循环体中至少包含一条不断修正逻辑表达式的语句,使得循环过含一条不断修正逻辑
6、表达式的语句,使得循环过程朝退出的方向发展。程朝退出的方向发展。 C. 一直循环到逻辑表达式不成立为止。一直循环到逻辑表达式不成立为止。条件成立否?循环体FalseTrueDoLoop(3) 流程框图流程框图实例: (1)求求N的阶乘的阶乘 设计思路:设计思路:设累乘积变量设累乘积变量T保存阶乘值,保存阶乘值,T初始值为初始值为1;设设循环次数由循环控制变量循环次数由循环控制变量I控制,取值范围:控制,取值范围:1N (2) 找出找出10个正整数中最小值个正整数中最小值设计思路:设计思路:A.随机数产生随机数产生10个个(0100)正整数正整数,存放在列表框中。存放在列表框中。B. 设保存最小
7、值变量设保存最小值变量Min,初值为,初值为10个数中的第一个个数中的第一个数。数。C.从第从第2个数开始每次循环将个数开始每次循环将Min与其进行比较,小与其进行比较,小者保存在变量者保存在变量Min中。中。D.一直循环到第一直循环到第10个数据后结束,输出个数据后结束,输出Min值。值。5. 直到型循环功能:先执行循环体,后判断条件的循环结构功能:先执行循环体,后判断条件的循环结构(1) 循环语句结构循环语句结构DoLoop Until (2) 流程框图:流程框图:循环体条件成立否?TrueFalse(3)说明:说明: 无条件进入循环体,循环到逻辑表达式成立为无条件进入循环体,循环到逻辑表
8、达式成立为止。止。(4) 实例:实例:10个数任意数,去掉其中的最大、最小个数任意数,去掉其中的最大、最小值,求其余值,求其余8个数据的平均值。个数据的平均值。设计思路:设计思路:A. 设累加和变量设累加和变量Sum,累加,累加10个数据之和;个数据之和;B. 设设Max、Min分别保存最大、最小值;分别保存最大、最小值;C. 循环中分别累计求和、找最大值及最小值。循环中分别累计求和、找最大值及最小值。D. 循环结束后计算结果循环结束后计算结果 (Sum-Max-Min) / 8(5)总结:总结:A. 用两种不同的循环结构处理相同命题时,前测用两种不同的循环结构处理相同命题时,前测While型
9、循环与后测型循环与后测Until型循环的逻辑表达式为型循环的逻辑表达式为互逆。互逆。B. Do .Loop循环常用于循环次数不确定的情况,循环常用于循环次数不确定的情况,例如:限定输入的数据例如:限定输入的数据N必须正整数,则有:必须正整数,则有:当型循环:当型循环:N=Val(InputBox(“Enter N:”)Do While N0 Or NInt(N)N=Val(InputBox(“Enter N:”)Loop 直到型循环:直到型循环:Do N=Val(InputBox(“Enter N:”)Loop Until N=0 And N =Int(N)6. 实例分析某班某班3535名学生
10、参加计算机考试,要求统计各分数段人数名学生参加计算机考试,要求统计各分数段人数; ;找出考试成绩的最高分数、最低分数及学生找出考试成绩的最高分数、最低分数及学生。 * * 算法分析:算法分析:(1)(1)程序框架:程序框架:用循环结构按学号用循环结构按学号(135)(135)顺序循环一遍;顺序循环一遍;(2)(2)在循环体中,用多分支程序结构统计四个分数段人数;在循环体中,用多分支程序结构统计四个分数段人数;(3)(3)在循环体中查找最高分和最低分,同时保存学生学号在循环体中查找最高分和最低分,同时保存学生学号。* * 算法实现算法实现:(1) (1) 由随机函数产生考试分数保存在列表框由随机
11、函数产生考试分数保存在列表框List1List1中,列中,列表框各数据项的顺序号表框各数据项的顺序号( (索引号索引号) )表示学号,第一个数据项表示学号,第一个数据项的索引号为的索引号为0 0,对应学号为,对应学号为1 1的学生。的学生。 (2) (2) 由由Do .LoopDo .Loop构成循环,当最后一名学生构成循环,当最后一名学生( (学号学号为为35)35)统计完毕后结束循环。统计完毕后结束循环。(3) (3) 循环体中统计四个分数段的人数,用循环体中统计四个分数段的人数,用Select CaseSelect Case结构实现多分支结构,设置结构实现多分支结构,设置4 4个累计人数
12、的变量个累计人数的变量C1C1、C2C2、C3C3和和C4C4,用于分别统计四个分数段的人数。,用于分别统计四个分数段的人数。 (4) (4) 循环体中查找最高分数、最低分数,需要两个变循环体中查找最高分数、最低分数,需要两个变量量Max,MinMax,Min始终跟踪大数。为保存学生学号,另需要两始终跟踪大数。为保存学生学号,另需要两个变量:个变量:StuMax, StuMinStuMax, StuMin。 (5) (5) 循环结束后将各项统计结果显示在标签中。循环结束后将各项统计结果显示在标签中。 思考题:思考题:如果使用终止标识数据如果使用终止标识数据 1 1作为循环结束,应作为循环结束,
13、应如何修改本程序?如何修改本程序?7. 计数型循环计数型循环常用于循环次数确定的场合计数型循环常用于循环次数确定的场合1). 1). 计数型循环三要素计数型循环三要素B.B.循环控制变量初始值循环控制变量初始值( (循环起始位置循环起始位置) )C.C.循环控制变量终止值循环控制变量终止值( (循环结束条件循环结束条件) )D.D.循环控制变量步长循环控制变量步长( (循环控制变量的增量循环控制变量的增量) )2). 2). 循环语句结构及流程框图循环语句结构及流程框图For I=For I= To To Step Step Next INext I是否超出终止值是否超出终止值?执行循环体执行
14、循环体循环控制变量循环控制变量+步长步长循环控制变量赋初始值循环控制变量赋初始值TrueFalse程序出口入口For语句语句Next语句语句3).3).实例:设计一个循环实例:设计一个循环1010次的计数型循环次的计数型循环注意:循环结束后的循环控制变量值注意:循环结束后的循环控制变量值(1) (1) For i = 1 To 10 Step 1For i = 1 To 10 Step 1Debug . Print i;Debug . Print i; Next i Next i(2) (2) For i = 10 To 1 Step For i = 10 To 1 Step 1 1Debug
15、 . Print i,Debug . Print i, Next i Next i4). 4). 循环次数计算公式循环次数计算公式: : C=C=(ABS(ABS(终止值终止值 初始值初始值)/)/步长)步长) 1 1仍为循环仍为循环1010次循环:次循环: For i= 1 To 19 Step 2For i= 1 To 19 Step 2 Print i Print i Next i Next i Print i Print i问题:问题:循环结束后,循环控制变量值?循环结束后,循环控制变量值?小结:小结:三种循环结构的比较三种循环结构的比较5).5).实例:分别累计实例:分别累计1001
16、00之内奇数及其偶数之和之内奇数及其偶数之和方法方法1 1:For i= 1 to 100 For i= 1 to 100 if i/2 int(i/2) Thenif i/2 int(i/2) ThenSum1=Sum1+iSum1=Sum1+iElseElseSum2=Sum2+iSum2=Sum2+iEnd ifEnd ifNext iNext i 方法方法2 2: For i=1 to 99 Step 2For i=1 to 99 Step 2Sum1= Sum1+iSum1= Sum1+iSum2= Sum2+(i+1)Sum2= Sum2+(i+1) Next i Next i 方
17、法方法3:3:用当型循环实现用当型循环实现方法方法4 4:用直到型循环实现:用直到型循环实现6).6).循环嵌套多重循环结构循环嵌套多重循环结构(1) (1) 语句结构语句结构For i .For i .For j .For j . Next jNext jNext i Next i (2)(2)嵌套中需要注意的问题嵌套中需要注意的问题 A.A.嵌套循环语句结构要匹配;嵌套循环语句结构要匹配; B.B.嵌套循环控制变量要对称;嵌套循环控制变量要对称; C.C.循环嵌套的循环次数为:循环嵌套的循环次数为: 第第1 1层循环次数层循环次数 * * 第第2 2层循环次数层循环次数 * * . .*
18、* 第第N N层循环次数层循环次数(3)(3)嵌套实例嵌套实例求:求:E1+1/1!+1/2!+1/3!+1/4!+1/5!+1/6!E1+1/1!+1/2!+1/3!+1/4!+1/5!+1/6!改进:如需将精度控制在改进:如需将精度控制在0.0000010.000001 条件设置为条件设置为1/N!=1E-61/N!0 And Int(n)=nlgfact=1For i=n to 1 step -1lgfact=lgfact*iNext i9. 对象集合For EachNext语句语句格式:For Each In Next 说明:For Each . Next 循环与 For.Next 循
19、环类似,但它的循环控制变量不是数值型变量,而是象Screen、Printer等对象。 当对象元素作为循环控制变量时,循环次数是由对象集合中所拥有的对象元素个数所确定。 循环体内主要涉及对象元素的处理。注:Screen、Printer分别为VB系统中默认的屏幕与打印机对象。10. 控件:列表框、组合框1、列表框ListBox1)主要特点可以动态添加或删除用户的选择项,并同时具备多选一或多选多的功能。特别是在大量的数据选择时,使用列表框非常方便。2) 常用属性List 属性属性用于保存列表中各个数据项。通常有两种向列表框添加数据项的方法。第一种:在设计阶段选中列表框属性表中的 List 选项,单击
20、向下箭头,向文本框中输入一项数据后接着按 CTRL+ENTER 组合键换行,输入下一项数据。第二种方法是在程序中用AddItem方法向列表框中添加数据。用 List 属性可访问列表框中全部数据项。list(0)表示列表框中的第一项的内容,为“Item1”,list(1)的值为“Item2”.。其中,括号中的数据是数据项的索引。索引值为 0表示列表框第一个数据项的索引,依此类推。 ListIndex 属性属性ListIndex属性的值表示在程序执行时,用户选择的列表项的索引值。如果未选定任何数据项, ListIndex 属性为 1,选中列表的第一项时ListIndex的值为0。ListCount
21、 属性属性使用 ListCount 属性返回列表框数据项数,例如:下列语句用 ListCount 属性判断列表框中的项目数 Columns 属性属性指定列表框中的列数,此属性取值如下:值描述 0垂直滚动的单列列表框。 1水平滚动的单列列表框。 1水平滚动的多列列表框。 MultiSelect 属性属性设置 MultiSelect 属性来处理标准列表框中的多项选择,使用户可从列表中选择多个项目。MultiSelect 属性取值为0时,只能选中一项。而MultiSelect 属性取值为1,可同时选中多项。Sorted 属性属性该属性只能在设计阶段使用。可以将Sorted 属性设置为True,使列表
22、框中的项目按字母顺序进行排列,排序时不区分大小写 Selected属性属性该属性只能用于程序的运行阶段,可快速检查在列表中哪些项已被选中。也可以从代码中使用该属性选中或取消选中列表中的一些项。它是一个逻辑数组,表示它所对应的项是否被选中。例如:第一项被选中,则selected(0)的值为True,可以编程序实现检索被选中的列表项。 Text 属性属性通常,获取当前选定项值的最简单方法是使用Text 属性。当鼠标单击选中某数据项时,被选中的数据项直接体现在Text 属性。AddItem 方法方法向列表框中添加数据项,语法格式如下:列表框名称.AddItem Item, index说明:Item被添加到列表框
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年世界历史知识竞赛考试题库及答案
- 税务代理服务协议2025年税务优惠条款
- 2025 八年级道德与法治下册法治与革命文物保护实践课件
- 2026年华北理工大学轻工学院单招职业适应性测试题库含答案详解(培优)
- 2026年保定理工学院单招职业适应性考试题库带答案详解(基础题)
- 2026年内蒙古建筑职业技术学院单招职业倾向性测试题库含答案详解(b卷)
- 2026年内蒙古美术职业学院单招职业倾向性考试题库带答案详解(培优)
- 2026年兰州科技职业学院单招职业技能测试题库及答案详解一套
- 2026年包头钢铁职业技术学院单招职业技能考试题库附参考答案详解(研优卷)
- 2026年内蒙古机电职业技术学院单招职业适应性考试题库带答案详解(模拟题)
- 2026及未来5年中国抽纱刺绣工艺品行业竞争现状及投资前景趋势报告
- 【地理】2025年1月浙江省普通高校招生选考科目考试试题(精校版)
- 2025动物防疫专员试题及答案
- 单元复习:解码中国-我国区域差异的深度整合与素养提升
- 高二生物DNA的复制一节教案(2025-2026学年)
- 法律合规风险评估检查表
- 福建省莆田市擢英中学2026届九年级英语第一学期期末联考试题含解析
- 小儿急性呼吸衰竭课件
- 2024~2025学年北京市大兴区八年级下学期期中考试数学试卷
- 设备故障抢修管理办法
- 大连东软信息学院《高等数学一》2024-2025学年第一学期期末试卷
评论
0/150
提交评论