版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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+
2、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循
3、环语句的功能: 执行For语句:先将初值赋给循环变量,并记住终值和步长(两数间隔)。然后进行判断,是否超出终值?如“超出”终值时,执行 Next 下一语句,否则执行循环体。 执行循环体 执行Next语句:循环变量加步长,返回重新判断,2.4.2 For循环语句的执行过程,问题2 求 S=1+2+100和值,分析 a、用循环产生 1100 的自然数 b、每产生一个自然数将其累加到求和变量中 即:S = S + N c、重复执行 S = S + N 即:循环体 d、打印和的值的语句应在程序的末尾 即:Print S = 1 + 2 + + 1000 = ; S,程序: Private Sub Co
4、mmand1_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,P52实践,2. A=1 第一次 A100 ? S=S+A=1 Next a: A=A+步长=2 第二次 A100 ? S=S+A=1+2 Next a: A=A+步长=3 . A=A+步长=100 第100次 A100 ? S=S+A=1+2+3+100 Netx a:A=A+步长=101 第101次 A100? 退出循环,问题3:求:t=10!,D
5、IM t AS LONG,I as integer t=1 FOR i=1 TO 10 t=t*i NEXT i PRINT “T=10!=“;t END,分析:t=1*2*3*4*10这是一个累乘.初值: t=1 循环初值: i=1, 循环终值: i-10 循环体: t=t*i,练一练,针对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 循环变量的名称要相同。,
6、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,方法1分析:设初值为0,终值为100,步长
7、为3. 程序: dim I as integer,s as integer s=0 FOR i=0 TO 100 STEP 3 s=s+1 NEXT i print s,dim I as integer,s as integer s=0 FOR i=0 TO 100 IF i MOD 3=0 THEN s=s+1 NEXT i,*条件: n MOD 3=0 FOR _ TO _ IF _ THEN _ NEXT i,方法2: n能被3整除的条件?,问题4:输出100以内能被3整除的个数。,问题5 求解 1 2 + 3 4 + + 99100,Private Sub Command1_Click
8、() 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,在VB代码窗口程序代码实现,求2*4*6*8*10*12
9、*98*100 的值。,问题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,P52实践,1. 循环开始: A=1 第一次 A10 ? PRINT A Next: A=A+步长=2 第二次 A10 ? PRINT A . Next: A=A+步长=3 第十次 A10 ? PRINT A Next
10、:A=A+步长=11 第十一次 A10? 退出循环,P52实践,2. A=1 第一次 A100 ? S=S+A=1 A=A+步长=2 第二次 A100 ? S=S+A=1+2 . A=A+步长=100 第100次 A100 ? S=S+A=1+2+3+100 A=A+步长=101 第101次 A100? 退出循环,P52实践,2. A=1 第一次 A100 ? S=S+A=1 A=A+步长=2 第二次 A100 ? S=S+A=1+2 . A=A+步长=100 第100次 A100 ? S=S+A=1+2+3+100 A=A+步长=101 第101次 A100? 退出循环,P52实践,3. A
11、=100 第一次 A1 ? S=S+A=100 A=A+步长=99 第二次 A1 ? S=S+A=100+99 . A=A+步长=1 第100次 A1 ? S=S+A=100+99+98+1 A=A+步长=0 第101次 A1? 退出循环,P52实践,4. A=1 第一次 A10 ? A=A+1=1+1 print a A=A+步长=3 第二次 A10 ? A=A+1=3+1 print a A=A+步长=5 第3次 A10 ? A=A+1=5+1 print a A=A+步长=7 第4次 A10 ? A=A+1=7+1 print a A=A+步长=9 第5次 A10 ? A=A+1=9+1
12、 print a A=A+步长=11 第6次 A10 ? 退出,问题7:一小球从 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
13、= H / 2 Next I Print 到第十次落地共经过的路程是: ; S ; 米 end sub,问题8:一小球从 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 T
14、o 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,问题9:一小球从 200 米高度自由下落,每次落地后反弹为原来高度的一半,然后再落下,求该小球多少次落地时经过的路程大于600米呢?,Private Sub
15、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米
16、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 语句,就进入循环,直接执
17、行循环体,在判断条件,当条件满足,回到上面执行循环体,直到条件不满足,跳出循环,执行 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 In
18、teger 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
19、Step -1 S = (S + 1) * 2 Next day Print s=; S End Sub,猴子吃桃:每次吃掉一半多一个,直到第10天只剩一个,第一天共摘了多少个桃子?,打印: *,For I=1 to 5 print “*”; Next I,如何打印? * * *,For I=1 to 3 for j=1 to 5 print “*”; next j print Next I,2.4.5 循环语句嵌套的定义,双重循环语句:在循环体内含有另一个循环语句的结构如: For 循环变量1 = 初值 To 终值 Step 步长 For 循环变量2 = 初值 To 终值 Step 步长 循
20、环体 Next 循环变量2 Next 循环变量1 多重循环:如循环体内再包含循环结构,我们将这种循环结构称作多重循环。,多重循环的原则是:外层循环与内层循环必须层层相套,循环体之间不能交叉。每个循环必须有一个唯一的循环控制变量。,For I=1 to 5 for j=1 to 10 print I+j next j Next I,For I=1 to 5 for j=1 to 10 print I+j next i Next j,打印: * * * *,Private Sub Command1_Click() Dim i As Integer Dim j As Integer For i = 1 To 4 Print Tab(5 - i); For j = 1 To (2 * i - 1) Print *; Next j Print Next i End Sub,问题9 打印乘法表,Dim se As String Dim i As In
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB 48147.2-2026矿山隐蔽致灾因素普查规范第2部分:煤矿
- 2026年10月11日 衡水市冀州区考核基地 道达尔 市场开发专员 16人
- 陕西榆林市府谷县2025-2026学年度第二学期期末质量抽样监测七年级地理试卷(含答案)
- 辽宁省营口市2025-2026学年七年级上学期1月期末质量监测生物试卷(含解析)
- 湖北省黄冈市2026-2027学年高三上学期开学9月供题数学试题(含简略答案)
- 广东省上进联考2027届高三上学期9月开学供题训练物理试卷(含答案)
- 2026年北京市小学三年级数学第8单元统计课件
- 皮肤性病科护理单元工作总结
- 2026初一年级学科带头人工作经验分享课件-班主任的专业化成长之路
- 水务集团招聘考试笔试试题及答案
- 第十九届D2终端技术大会:淘宝 Weex 跨多端业务高效交付实践
- 2023年江苏省五年制专转本英语统考真题(试卷+答案)
- 八年级生物上册 18.1《微生物在生物圈中的作用》教案 (新版)北师大版
- (正式版)HG∕T 20644-2024 弹簧支吊架选用标准
- 部编版三年级上册语文全册
- 第二届全国乡村振兴职业技能大赛海南选拔赛中式面点技术文件
- 气液相反应动力学-
- 市政道路工程进度计划横道图
- 小数四则混合运算专项练习-及答案
- 管理学ch02y11数据挖掘理论与应用课件
- 凡尔赛宫 园林设计案例分析
评论
0/150
提交评论