7.3While…Wend循环结构(课件)-《程序设计基础(Visual Basic)》同步教学(电子工业出版社)

2024-08-10
| 22页
| 87人阅读
| 18人下载
普通

内容正文:

项目7 循环结构 项目导入 循环控制结构是程序中的另一个基本结构。 在实际问题中,常常需要进行大量的重复处理,循环结构可以使程序设计者只写很少的语句,就可以让计算机反复执行,从而完成大量类似的计算。 Visual Basic 提供了 For 语句、Do … Loop 语句和 While 语句实现循环结构。 项目7由4个任务组成,分别是For…Next 循环语句、Do循环语句、While…Wend循环语句,以及循环的嵌套。 2 项目目标 掌握 For...Next 循环语句的格式及使用 掌握Do...Loop 循环语句的格式及使用 掌握While...Wend 循环语句的格式及使用 掌握多重循环的执行过程 3 任务3 While…Wend循环结构 任务目标 掌握While…Wend循环语法格式、功能及执行过程。 能够运用While…Wend循环编写简单的循环结构程序 任务实施 4 (1)格式: While <条件> [语句组] Wend (2)说明: 该循环格式中的条件一般为布尔表达式,也可以是数值和字符表达式,结果为True 或 False,用来表示一个判断条件。 5 1.While…Wend 语句的格式 2.While…Wend 语句的执行过程 该语句首先计算给定的条件的值,若结果为True(非 0 值),则执行循环体,当遇到 Wend 语句时,控制返回并继续对条件进行测试,若仍然为True,重复上述过程;若条件的结果为False,则直接执行Wend后面的语句。 6 7 这种循环结构的循环体内一般应该包括对“条件”进行改变的语句,使条件的结果发生变化。 否则,若初始条件成立,则每次执行完循环体后再检验条件,条件仍然成立,再执行循环体,这样无限执行下去,就形成了“死循环”。 若初始条件不成立,则循环体一次也不执行,循环就毫无意义。 3.注意事项 【例7.11】 找出1000以内能够被5和17整除的最大的10个数,并将它们输出。 8 (1)分析: 这里专门设置一个变量 found 记录当前找到的 数的个数。 (2)创建界面 (3)编写代码 9 编写窗体的Click事件代码: Private Sub Form_Click() a=1000 found=0 While (found< >10) a=a-1 If a Mod 5=0 And a Mod 17=0 Then found=found+1 Print a; End If Wend End Sub 10 程序运行结果如图7-13所示。 注意: 与 While…Wend 语句相比,Do…Loop 语句提供了一种结构化与适应性更强的方法来执行循环。 Do…Loop 语句中的条件既可以放在循环之首,也可以放在循环之尾。此外, Do…Loop 循环可以在条件没有满足的情况下退出循环(当遇到 Exit Do 语句)。 11 课堂反馈: 已知s=1×2×3×…×n,计算s不大于3000时n的最大值。 12 任务4 循环的嵌套 【任务目标】 了解什么是循环的嵌套。 掌握双重循环嵌套执行的过程。 能够运用双重循环编写简单的程序。 【任务实施】 13 1.循环的嵌套 一个循环体内又包含另一个完整的循环体结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环的嵌套。 在嵌套结构中,对嵌套的层数没有限制,有几层嵌套,就称为几重循环。 2.多重循环的执行 外循环每执行一次,内循环都要从头到尾执行一遍。同类循环和不同种类的循环都可以互相嵌套。 14 嵌套时需要注意,内层循环必须完全包含在外层循环之内,不能相互“交叉”,内层循环和外层循环应该使用不同的循环控制变量。 在多重循环的任何一层循环中,都可以使用 Exit Do 或 Exit For 退出循环,但要注意只能退出 Exit Do 或 Exit For 语句所对应的最内层循环,而不是一次退出多层循环。 15 3.注意事项 【例7.12】用双循环打印九九乘法表 程序代码如下: Private Sub Form_Click() Dim cf As String Print Tab(35); "九九乘法表" Print Tab(35); "-----------" For i=1 To 9 For j=1 To 9 cf=i &"×"& j &"="& i*j Print Tab((j-1)*9+1); cf; Next j Print Next i End Sub 16 程序运行结果如图7-14所示。 17 拓展与提升: 同学们还可以想到其他方法吗? 【例7.13】编程计算 Sum=1+(1+2)+(1+2+3)+…+ (1+2+3+…+n),其中 n 由用户输入。 分析: 这是一个累加问题,共有n项相加,可以设置存放累加和的变量为Sum,而对于第 I 个累加项1+2+…+I,又是一个累加问题,设存放该累加项的变量为Sum1,因此可以用双重循环实现。用外循环对I依次取1、2、…、n值,对于每一次的累加项(如第I项),用内循环控制求1+2+…+I。设文本框Text1用于输入总项数n,Text2用于输出总和Sum。 18 程序代码如下: Private Sub Form_Click() n=Val(Text1.Text) Sum=0 For I=1 To n Sum1=0' 在计算每个累加项之前,将存放累加和的变量清零 For J=1 To I Sum1=Sum1+J Next J Sum=Sum+Sum1 Next I Text2.Text=Sum End Sub 19 程序运行结果如图7-15所示。 【例7.14】将一张面值为100元的人民币等值换为100张包含5元、1元、0.5元的零钞,要求每张零钞不少于1张,问有哪几种组合? 程序代码如下: Private Sub Form_Click() Dim x%,y%,z%,n% Print "5元", "1元","0.5元" n=0 For x=1 To 19 For y=1 To 100-x z=100-x-y If 5*x+1*y+0.5*z=100 Then Print x,y,z n=n+1 End If Next y Next x Print"共有"&n&"组合" End Sub 20 程序运行结果如图7-16所示。 课堂反馈: 编程:百钱百鸡问题。 一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少。 21 项目小结 本项目要求学生能够 掌握For…Next 循环语句、Do…Loop循环语句、While…Wend循环语句的语法格式、循环法则; 分析总结三种循环各自的适用情况,并能处理累加、累乘、倍数、递推问题等; 了解多重循环的执行顺序,能够编写简单的多重循环结构的程序。 22 $$

资源预览图

7.3While…Wend循环结构(课件)-《程序设计基础(Visual Basic)》同步教学(电子工业出版社)
1
7.3While…Wend循环结构(课件)-《程序设计基础(Visual Basic)》同步教学(电子工业出版社)
2
7.3While…Wend循环结构(课件)-《程序设计基础(Visual Basic)》同步教学(电子工业出版社)
3
7.3While…Wend循环结构(课件)-《程序设计基础(Visual Basic)》同步教学(电子工业出版社)
4
7.3While…Wend循环结构(课件)-《程序设计基础(Visual Basic)》同步教学(电子工业出版社)
5
7.3While…Wend循环结构(课件)-《程序设计基础(Visual Basic)》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。