《程序的循环结构》PPT课件.ppt

上传人:xian****812 文档编号:16088777 上传时间:2020-09-18 格式:PPT 页数:19 大小:227.50KB
返回 下载 相关 举报
《程序的循环结构》PPT课件.ppt_第1页
第1页 / 共19页
《程序的循环结构》PPT课件.ppt_第2页
第2页 / 共19页
《程序的循环结构》PPT课件.ppt_第3页
第3页 / 共19页
点击查看更多>>
资源描述
2.4 程序的循环结构,掌握For循环语句的基本格式 理解For循环语句的执行过程 掌握循环变量在执行过程中的变化情况 能用For循环结构编写简单的程序,实例1、编程求1+2+3+10的和,按照顺序结构编写程序如下: Private Sub Command1_Click() dim s as integer s=0 s=s+1 s=s+2 s=s+10 print s end sub,用这种方法能不能编程求出1+2+3+100的和,1+2+3+1000的和?,实际这10条赋值语句在重复着同一个操作,都是将s加一个数和赋给s,如果用变量x表示每一个加数,那么这10条语句就可以用一条表示:s=s+x,然后让x的取值分别为1到10这10个自然数,重复执行这条语句,就可以实现该程序的编写。这就要用到循环结构。,2.4.1 用ForNext语句建立循环结构,用循环语句编写: Private Sub Command1_Click() Dim s as integer, x as integer S=0 For X=1 to 10 step 1 S=S+X next X print S End sub,循环变量,初值,终值,步长,循环体,1、 For next循环语句的格式: 用于建立已知循环次数的循环结构For 循环变量=初值 To 终值 Step 步长 循环体 Next 循环变量 2、For循环语句的功能: 执行For语句:先将初值赋给循环变量,并记住终值和步长(两数间隔)。然后进行判断,是否超出终值?如“超出”终值时,执行 Next 下一语句,否则执行循环体。 执行循环体 执行Next语句:循环变量加步长,返回重新判断,2.4.2 For循环语句的执行过程,练一练,针对for循环语句的语句格式,设置如下练习,指出下面程序中的错误: 1、求1+2+3+4+5的和 s=0 for i=1 to 5 step 1 s=s+i next j print s,2、在VB窗体界面上输出110这10个自然数 for I=1 to 10 print i,j-i 循环变量的名称要相同。,For语句与Next语句必须成对出现,而且仅只步长为1时,才可以省略 step 1,3、求5+4+3+2+1的和 s=0 for I=5 to 1 s=s+I next I print s,4、求7+5+3+1的和: S=0 For I= 7 to 1 Step 2 S=S+I Next I Print S,当初值小于终值时,步长为正数;当初值大于终值时,步长为负数;,补充: 1、循环变量必须为数值型,初值、终值:都是数值型,可以是数值表达式。 2、循环体:在For语句和Next语句之间的语句序列。可以是一条语句,也可以是多条语句。,Step 1,2,问题2 求 S=1+2+100和值,分析 a、用循环产生 1100 的自然数 b、每产生一个自然数将其累加到求和变量中 即:S = S + N c、重复执行 S = S + N 即:循环体 d、打印和的值的语句应在程序的末尾 即:Print S = 1 + 2 + + 1000 = ; S,程序: Private Sub Command1_Click() Dim N as integer, S as integer S = 0 For N = 1 To 100 S = S + N Next NPrint S = 1 + 2 + + 100 = ; S End Sub,问题3:一小球从 200 米高度自由下落,每次落地后反弹为原来高度的一半,然后再落下,求该小球第十次落地时共经过了多少米的路程?,分析: 设 S 表示小球经过的路程变量 S = S + 2H H 表示小球反跳的高度变量 H = H / 2 I 表示小球落地的次数变量 I = 2 To 10,Private Sub Command1_Click() Dim H as integer, S as integer, I as integer S = 200 H = S / 2 For I = 2 To 10 S = S + 2*H H = H / 2 Next I Print 到第十次落地共经过的路程是: ; S ; 米 end sub,问题3:一小球从 200 米高度自由下落,每次落地后反弹为原来高度的一半,然后再落下,求该小球第十次落地时共经过了多少米的路程?,分析: 设 S 表示小球经过的路程变量 S = S + H H 表示小球反跳的高度变量 H = H / 2 I 表示小球落地的次数变量 I = 2 To 10,Private Sub Command1_Click() Dim H as integer, S as integer, I as integer S = 200 H = S / 2 For I = 2 To 10 S = S + 2*H H = H / 2 Next I Print 到第十次落地共经过的路程是: ; S ; 米 end sub,Private Sub Command1_Click() Dim S as integer, I as integer S = 200 For I = 2 To 10 S = S + 200*2*(0.5(I-1) Next I Print 到第十次落地共经过的路程是: ;S; 米 end sub,问题4:一小球从 200 米高度自由下落,每次落地后反弹为原来高度的一半,然后再落下,求该小球多少次落地时经过的路程大于600米呢?,Private Sub Command1_Click() Dim S as integer, I as integer S = 200 I=2 do while S600 S = S + 200*2*(0.5(I-1) I=I+1 Loop Print “到“;I; ”次时落地经过的路程是超过600米 end sub,Private Sub Command1_Click() Dim S as integer, I as integer S = 200 I=2 do S = S + 200*2*(0.5(I-1) I=I+1 Loop until S600 Print “到“;I; ”次时落地经过的路程是超过600米 end sub,2.4.4 用 Do 语句建立循环结构,1、Do 语句的功能:用于建立循环次数未知的循环结构 2、Do 语句的格式: 格式一(当循环) Do While 循环体 Loop 功能:执行 Do 语句先判断条件,当条件满足,则执行循环体,然后执行 Loop 语句就回到 Do While 再判断,直到条件不满足,跳出循环,执行 Loop 下一语句。,S0 N0 Do While N = 10 S = S + 1 N = N + 1 Loop,Do 语句的第二种格式(直到循环),1、 直到形循环格式Do 循环体 Loop while 2、 格式二功能:执行 Do 语句,就进入循环,直接执行循环体,在判断条件,当条件满足,回到上面执行循环体,直到条件不满足,跳出循环,执行 Loop 下一语句。,S = 0 N = 0 Do N = N + 1 S = S + N Loop while N 100,三种循环求解 S=1+2+100和值,Private Sub Command1_Click() Dim N As integer, S As integer S = 0 For N = 1 To 100 S = S + N Next N Print “S ; S End Sub,Private Sub Command1_Click() Dim s As Integer, n As Integer s = 0 n = 0 Do While n = 100 s = s + n n = n + 1 Loop Print s End Sub,Private Sub Command1_Click() Dim s as integer, n as integer S=0 N=0 Do S = S+N N = N + 1 Loop until (n100) print S End sub,P12 实践(1)“猴子摘桃”,Private Sub Command1_Click() Dim day As Integer, S As Integer S = 1 For day = 9 To 1 Step -1 S = (S + 1) * 2 Next day Print s=; S End Sub,猴子吃桃:每次吃掉一半多一个,直到第10天只剩一个,第一天共摘了多少个桃子?,问题8 要将100元的钞票换成等值的10元、5元、2元、1元的小钞票。要求每次换成40张小钞票,每种至少一张,有多少种换法?,分析:10元一张最多能换9张, 5元一张最多能换17张, 2元一张最多能换37张,一元只要用40减去10、5、2元的数目就可以了!,Dim i As Integer, j As Integer, k As Integer, m As Integer, sum As Integer sum = 0 For i = 1 To 9 For j = 1 To 17 For k = 1 To 37 m = 40 - i - j - k If (m = 1) And (i * 10 + j * 5 + k * 2 + m = 100) Then sum = sum + 1 Print i=; i, j=; j, k=; k, m=; m End If Next k Next j Next i Print sum=; sum End Sub,2.4.5 循环语句嵌套的定义,双重循环语句:在循环体内含有另一个循环语句的结构如: For 循环变量1 = 初值 To 终值 Step 步长 For 循环变量2 = 初值 To 终值 Step 步长 循环体 Next 循环变量2 Next 循环变量1 多重循环:如循环体内再包含循环结构,我们将这种循环结构称作多重循环。,多重循环的原则是:外层循环与内层循环必须层层相套,循环体之间不能交叉。每个循环必须有一个唯一的循环控制变量。,问题5 求解 1 2 + 3 4 + + 99100,Private Sub Command1_Click() Dim i As integer, S As integer S = 0 For i = 1 To 100 s = s + ( -1 )(i + 1) * i Next i Print “S ; S End Sub,Private Sub Command1_Click() Dim i As integer, S As integer S = 0 For i = 1 To 100 If i Mod 2 = 0 Then s = s i Else s = s + i End If Next i Print “S ; S End Sub,问题6 1 - 1/2 + 1/3 1/4 + + 1/99 1/100,Private Sub Command1_Click() Dim i As integer, S As integer S = 0 For i = 1 To 100 s = s + ( -1 )(i + 1) * (1/i ) Next i Print “S ; S End Sub,问题7 求 11000之间的素数 素数是指只能被1和他本身整除的数,要判断一个数i是否为素数,只要看i是否能被2到i1范围内的数整除,若能被整除,则不是素数。,Private Sub Command1_Click() Dim i As Integer, j As Integer Dim prime As Boolean For i = 2 To 1000 prime = True j = 2 Do While (j i) And prime If (i Mod j = 0) Then prime = False j = j + 1 Loop If prime Then Print i ; i Next i End Sub,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!