VB程序的基本结构——循环结构之For-Next语句
VB循环结构程序设计

格式四:
Do [<语句组1>]
[Exit Do] [<语句组2>] Loop Until<条件>
2. 功能
使用While <条件>: 条件为True时,执行循环体
条件为False时,退出循环
使用Until <条件>: 条件为False时,执行循环体
条件为True时,退出循环
格式一、二:在循环起始处判断条件,为当型循环
X=X+K
Next K
Print K,X
6
6.1 For…Next循环结构
【例6-2】求 N!( N!=1×2×3×…×N)
累乘分析:
初始化: F=1
循环体: F=F × I (I=1,2,3……N)
程序:
Private Sub Command1_Click()
Dim N As Integer, I As Integer, F As Long
Text1
Command1
Text2
13
6.2 Do…Loop循环结构
Private Sub Command1_Click()
Dim n As Long , S As Long
Text1 Label3
4
6.1 For…Next循环结构
思考: 1. 求12+22+32+42+……+1002 2. 求13+33+53+……+n3 3. 求1-3+5-7+…+(-1)n+1(2n-1)
4. 求 1 1 1 (1)n1 1
13 5
2n 1
【信息技术(选修)】VB循环结构之For...Next语句

By HBYZ.CS
来个简单点的
求出第N个格子内的 麦子的数量。
(0 < N ≤ 64)
解决方案: 输入N,输出2N-1即
可!
开始 输入N 计算2^(N-1) 输出结果 结束
By HBYZ.CS
动手练一下
求出第N个格子内的麦子的数量。 (0<N≤64)
解决方案:输入N,输出2N-1即可!
开始 输入N
sum = 0 For n = 2 To 100 Step 2
sum = suHBYZ.CS
动手练一下
求出前N个格子内的麦子的数量。 (0<N≤64)(使用两种方法) 方法1:使用等比数列前N项之和。 方法2:使用循环累加的方法。
By HBYZ.CS
N≤10
Sum=Sum+2N-1 N=N+1
输出结果 结束
By HBYZ.CS
For循环结构
For … Next循环说明:
For 计数器变量 = 初始值 To 结束值 Step 步长 循环内容
Next 计数器变量
当循环的步长等于1时,Step 1可以省略,其他的情况不能省略。
举例:
求1到100之间 所有偶数的和。
复杂一点点
求出前10个格子内的麦子的 数量。
解决方案1:等比数列前10项之和。
1 1 210
Sn 1 2 210 1
Private Sub Command1_Click() Dim sum As Double sum = 2 ^ 10 - 1 Text2.Text = sum
End Sub
开始 Sum=0 Sum=2^10-1 输出Sum
结束
By HBYZ.CS
For-next循环

For-next循环For... Next循环语句For…next循环简称为For循环。
它是⼀种指定循环次数(事先知道循环次数)的循环程序结构。
在这种结构中,使⽤了⼀个称为循环变量的特殊变量作为计数器,指定它的初始数值,然后每重复执⾏⼀次循环,循环变量就会⾃动增加或减少⼀个指定的数值(称为步长值),直到循环变量的改变达到最终的指定值,循环才停⽌执⾏。
1.For …Next语句的语法格式For <循环变量>=<初值> To <终值> [Step步长][语句块][Exit For]Next [循环变量]功能:⽤来控制重复执⾏⼀组语句。
指定循环变量以步长为增量,从初值到终值依次取值,并且对于循环变量的每⼀个值,把语句块执⾏⼀次。
说明:(1)关键字For和Next成对出现,For是循环语句的开始,Next是循环语句的终端,必须出现在For语句的后⾯。
在关键字For 和Next之间的语句块叫循环体,它们将被重复执⾏指定的次数,执⾏的次数由初值、终值、步长值决定。
(2)初值、终值和步长值都是数值表达式,步长值可以是正数,也可以为负数。
如果步长值为1,可以省略不写,即系统默认步长值为1。
(3)<循环变量>为必要参数,是⽤作循环计数器的数值变量,这个变量不能是数组元素。
在循环体内,⼀般不提倡再给循环变量另外赋值。
循环变量从初值开始,逐次按照步长值增加或减少⽽改变,直到超过终值,这时循环停⽌执⾏。
这⾥所说的“超过”有两种含义:即⼤于或者⼩于。
(4)<初值>和<终值>也都是必要参数。
当初值⼩于终值时,<步长值>必须是正数;反过来,如果初值⼤于终值,则步长值必须为负数。
(5)如果循环体中安排了Exit For 语句,当程序执⾏到该语句时直接跳出循环结构,不再执⾏循环体中Exit For的后续语句(如果有),⽽是转到Next后⾯的其他指令继续执⾏。
For…Next循环语句

例题:编程求[1,100]内的奇数和。 分析:本题即求S=1+3+5+…+99的和。
程序代码如下: Rem 编程求[1,100]内的奇数和。 Private Sub Command1_Click() Dim x, s As Long s=0 ' s为累加求和的变量,没有累加前,s的初始值应该为0 For x = 1 To 99 Step 2 s=s+x ' 将变量x的值进行累加 Next Print "[1,100]内的奇数和为"; s Print "循环结束后循环变量x的值为"; x End Sub
循环体
[Exit For] Next [循环变量]
功能:在指定的次数内,重复执行循环体。
说明: (1)循环变量是For循环中的计数变量,控制着循环的次数,因此一般用整型变量; (2)初值、终值、步长,可以是常数、数值变量、或表达式; (3)步长指的是每完成一次循环,循环变量改变的量,省略时步长为1; (4)只有当循环变量“不超过”终值时,循环才能正常进行; (5)Next后面的循环变量可以省略不写; (6)若循环没有结束,但程序需要退出循环时,可以使用Exit For语句退出循环。 (7)由于循环体内的语句都是For…Next的子句,因此需要使用缩进格式书写。
6
2
3
1 999992
求π的值,结果保留5位小数。 分析:先求等式
然后Pi=Round(Sqr(6*s),5)
1 1 1 S 1 2 2 的和。 2 3 999992
Round(x,n)是对x四舍五入后保留n位小数的函数。 可以用For循环,共循环99999次,步长为1。
代码说明:
(1)因为步长2,所以需要Step 2的语句; (2)因为需要将每次的变量值累加,因此需要用一个累加变量S,将所有结 果全加到S里。累加的语句为:S=S+…。 打个比喻来说:现在有50个容器中盛有水,每个容器中的水分别为1升、3升、 5升、…。现在需要统计,这50个容器中的水共有多少升? 简单的方法:准备好一个大缸S,每次取一个容器中的水往大缸里到。 没倒之前,大缸S应该是空的。然后依次将容器中的水倒入大缸。 第一次,将容量为1的水倒入大缸S,则此时大缸中的水就是1; 第二次,将容量为2的水倒入大缸S,则此时大缸中的水就是3; …… 第50次,将容量为99的水倒入大缸S,则此时大缸中的水就是2500; 提问1:循环语句共循环了几次? 答:50次。 提问2:当循环语句结束后,此时的循环变量是多少? 答:此时的循环变量x值为101。
教案(VB_FOR)

FOR---NEXT循环语句教案主讲: 常庆红教案【导入新课】编写一个程序:打印5行竖排的“*”。
如果是打印10行,100行甚至更多,那应该怎样实现?在窗体上输出1到10这十个数字。
如果是输出到100甚至更多,那应该怎样实现?在以上两个例子中,可以看到如果完成这个任务,有很多重复的语句,如何来减化这个程序并达到相同的效果呢?这就要用到一个新的知识,循环结构。
今天,这节课上我们讲解循环结构其中的For-Next循环结构语句。
【新课讲解】循环结构与循环结构语句1、For-Next循环结构语句(1)一般形式:For 循环变量=初值to 终值Step 步长值循环语句组Next 循环变量[格式说明]①For与Next必须成对出现,Next必须位于For语句之后。
②循环变量必须是数值型,且最好为整型变量。
③当步长值=1时,[Step 步长值]部分可以省略④Next后面的循环变量可以省略,For、Next后面的循环变量是同一个。
⑤For循环分递增循环和递减循环两种。
递增循环:当初值小于等于终值,步长值>0。
递减循环:当初值大于终值,步长值<0。
[格式举例] 例For I= 1 To 5Print “*” Next I(2今天先讲For 循环的递增过程,流程图如下:具体执行过程描述如下: ①将初值赋值给循环变量②判断循环变量的值是否小于等于终值若为真(True ),则执行循环语句,而后转到③执行若为假(False ),则转到④执行I 为变量1是初值,5是终值语句组③将变量的值加上步长值,而后返回②执行 ④循环结束,顺序执行Next 后面的语句 [程序举例]For/next 循环语句1、请同学们阅读下面程序,写出结果并上机验证,画出流程图,说明程序功能。
for i=1 to 3 step 1print i next i end执行执行停止执行<3=3>3234123123执行下一次循环否?i 与终值比较执行NEXT 之后i 的值循环开始时i的值第几次循环I =1Prnit iI=I+1I >= 3N Y[程序执行过程分析]For/next 循环语句1)如果把程序中的step 1改成step -1,应该如何修改程序。
for...next循环结构课件

课外作业
1、用for循环语句求:21+22+23+…+264的和 2、预习教材上do…loop循环
S=0 For i=1 to 8 step 3 S=s+3 Next i Print s • 提问: 此循环语句中,循环变量是? 初值是? 终值是? 步长是? 循环体中的语句是?
For-Next循环语句的执行过程 For-Next循环语句的执行过程
For-Next循环语句的执行步骤 For-Next循环语句的执行步骤
FOR…NEXT循环程序结构 FOR NEXT循环程序结构 NEXT
复习
• 顺序结构 从上往下、顺序执行 • 分支结构 If <条件> Then <语句块1> Else <语句块2> End If
For-Next循环语句的格式: For-Next循环语句的格式: 循环语句的格式
• For <循环变量>=<初值> To <终值> step <步长>
• • • •
语句块 [Exit for] 语句块 Next <循环变量>
例1
• 在窗体上输出1到10这十个数字。 • 程序代码: for i=1 to 10 step 1 print i next i • 分析此循环语句中
循环变量 初值 终值 步长 循环体中的语句
实例1程序的执行过程:
例2
分析程序 分析执行过程:
应用提高: 应用提高:
• 用for循环语句编程求1+1/2+1/3+1/4+1/5的和
课外探究
• 1、循环变量的步长能否为0,如果为0, 将会出现什么情况? • 2、循环变量是不是一定要出现在循环体 中,参与运算? • 3、对于循环变量的值超过终值,你是如 何理解的?(结合步长为正,为负两种情 况) • 4、循环体被执行的次数由什么决定?
VB程序的循环结构For-Next语句

循环次数=INT(终值-初值)/步长+1
【操作实践】(设计用时:3分钟)
由学生阅读(调试、运行)下列程序,指出循环结束时变量a的值、程序循环的次数、运行的结果。
实践1
For a = 1 To 100
s = s + a
Next a
Print "s="; s
Print "a="; a
Print I
Next j
5) For I=5 To 1
Print I
Next I
【深入理解】(设计用时:4分钟)
1、师生共同分析For循环语句的执行过程;
2、关于FOR循环语句的几点说明:
①对于循环变量的值超过终值的理解:
初值<终值,步长为正,循环变量的值>终值时停止循环
初值>终值,步长为负,循环变量的值<终值时停止循环
【学生练习】(设计用时:20分钟)
题目:设计一程序,计算1*2+2*3+3*4+4*5+……+N*(N+1)的和(N<=60)。程序界面如下:
评讲:(程序代码)
Private Sub Command1_Click()
Dim N 1.text
S=0
[设计意图:以课后探究的形式将本节所学知识进行应用,抓住要害,人人参与,优化知识结构,培养认知能力。]
[教学反思:]
问题1:如何最快最简洁的在程序里实现偶数的算术平方根?
问题2:For循环中如何控制取数的范围?
教师提示
学生归纳
学生小组讨论
师生共同讨论
学生上机实践,教师巡视
VB for循环

(1)、For 后的"变量"与 Next 后的"变量"为同一个,"变量"应该是数值类型的。
(2)、Start 代表的是循环的初始值,End 代表的是循环的终值。假设从 1 到 100 进行循环,那么,循环初值是 1 ,终值是 100 ;假设从 1 到 50 进行循环,那么初值是 1 ,终值是 50 。
VB for 循环 5
在编制本节程序前,我们有必要对 For ··· Next ···循环结构语句做个了解。
一、For 循环语句:
在实际生活中,我们经常会遇到一些操作并不复杂,但需要重复多次处理的情况,如人口统计、银行利率的计算等,为此,Visual Basic 提供了循环语句来专门解决此类情况。
Private Sub CmdStart_Click()
x = 0
For y = 1 To 100
x = x + y
Next y
LblShow.Caption = "最后的结果是:" & x
End Sub
说明:
(1)、1 到 100 中所有整数的和可以这样来看:1+2+3+······+100 ,即 100 次相加,那么这重复的 100 次相加可以通过 For 循环来完成。
(4)、经过第一百次循环,程序执行 Next y 后的语句,即将最后结果用标签显示出来。
3、示例二:
计算 1 到 100 间所有奇数的和。
只需将上例中的"开始"按钮的循环程序加上步长值即可。代码如下:
Private Sub CmdStart_Click()
x = 0
For y = 1 To 100 Step 2
VB循环结构

从上至下逐条执行
2 分支结构流程图
根据不同情况, 选择执行不同分 支中的语句
3 循环结构流程图
能够控制计算机 自动重复执行某 些程序段
2.分支结构
Y 分支1
条件 语句
N 分支2
VB循环结构
For-Next语句的基本结构:
步长,可以是正数,也可以是负数。 步长为1时可以省略。
For 循环变量 = 初值 to 终值 [ step 步长] 循环体
Next 循环变量
循环变量=当前循环变量+步长
将下面程序补充完整
Private Sub Command1_Click()
Dim xyz As Integer
For xyz = 2 To 1 Step -1
Print i
Next (
Private Sub Command1_Click() Dim i As Integer For i = 25 To 1 Step -1 Print i Next i End Sub
计算循环次数
a=0 for i=1 to 6 step 2
a=a+1 mod 4 print a next i a的值()
)
End Sub
Private Sub Command2_Click()
Dim a As Single, b As Single 'a是公里数 b是车费
a=4
If a <= 3 Then
b=7
(
)
b = 7 + (a - 3) * 1.5
End If
Print b
End Sub
VB循环结构,For-Next语句举例
VB循环结构——FOR NEXT语句

VB循环结构——FOR NEXT语句
For/next 循环语句
• 例 1 :编写一个程序:打印 5 行竖排的“ * ”。
Private Sub form_click() Print “*” Print “*” Print “*” Print “*” Print “*” End Sub
☆如果是打印10行,100行甚至更多,那应该 怎样实现?
For/next 循环语句
• 循环结构:
循环结构也称重复结构,它的作用是使 一段程序能重复执行,被重复执行的部分称 为循环体。但重复一般都是有条件的,即在 满足FOR语句中的条件下才执行循环体,否 则退出循环体。
For/next 循环语句
• For/next循环语句 :
For/next 循环语句
• 总结:
1、For 循环控制变量 = 初值 To 终值
[ Step 循环变量增量(步长) ]
循环体语句块(循环体) Next [ 循环控制变量 ] 2、解决问题的思路和方法(算法)→制作流程图 →编写VB代码
3、循环变量的值“超过”终值时才终止循环过程。
For/next 循环语句
循环变量←循环变量+步长
End Sub
☆FOR语句称为“循环起始语句”,它的作用是确定循环变量的值如何变化, 从而控制循环的次数;I是循环变量,它的值在执行过程中是变化的,它的 初值为1,终值为5,循环增量(步长)为1。
For/next 循环语句
2、请同学们阅读下面程序,写出结果,画出流程图, 说明程序功能。 For i=1 to 7 step 2 print i Next i
循环变量<= 终值吗? Y 语句序列
循环变量←循环变量+步长
VB程序的基本结构——循环结构之For-Next语句

课题:程序的基本结构——循环结构之For-Next语句第课时课型:新授备课教师授课时间教学目标知识与技能1、了解循环的概念,理解循环结构的基本思想2、掌握For-Next语句的基本结构的写法循环变量,初值,终值和步长。
3、理解For-Next语句的执行过程过程与方法1.通过分析问题,能准确找出循环变量、确定循环结束条件。
2.能利用For-Next语句解决简单的问题。
情感态度与价值观1.通过编写循环结构的程序,体会循环结构的执行过程。
2.通过利用循环思想解决问题,体会循环思想的重要性。
教学重点1、理解循环结构的基本思想2、理解For-Next语句的执行过程教学难点根据需要采用循环结构解决实际问题,并提炼出for语句的基本结构学生理解For-Next语句的执行过程教学准备几个以For-Next语句组成的不同功能的程序教学过程设计教学内容师生教学活动设计备注栏(学生笔记栏)一、设疑导入同学们,请先看这个图形(在窗体左边输出显示竖行排列的1,2,3,4,5),如果用以前学过的程序设计语言怎样来编写它的程序呢?生(稍做思考,然后回答):使用Print语句P rint“1”Print“2”Print“3”Print“4”Print“5”师:同学们做得很好,,如果想要显示1-10,或是1-100的数字呢?怎么做,难道就这样顺序写下去吗?这样编写是不是太繁琐了。
如果能让计算机去完成这部分重复的内容,而我们只要告诉计算机重复操作的次数就可以了,这个愿望能否实现呢?通过我们今天学习的FOR—NEXT循环语句,就可以很容易的实现这个想法。
二、探索新知直接在vb 中修改刚才的程序,并通过流程图和表格详细讲解该程序的循环执行过程,让学生了解初值,终值,步长和循环体语句的变化。
程序代码:Private Sub cmd_start_Click()Dim i As Integer ‘定义变量i 为整型For i = 1 To 5 Step 1 ‘设置循环变量,起始为1,终止到5,步长为1 Print i ‘打印变量值 Next i End Sub师:循环结构也称重复结构,它的作用是使一段程序能重复执行,被重复执行的部分称为循环体。
【烟花原创】VBA零基础之第16篇For...Next循环

【烟花原创】VBA零基础之第16篇For...Next循环在写代码的时候,经常会有这种情况,需要反复的执行一条或多条语句。
执行一次,咱就写一次,如果执行100次,1000次,咱是不是也给复制粘贴100次,1000次了?今天我们要讲的For…Next语句正是为解决此问题而设计的For…Next语句重复执行一条或多条语句,他的循环次数是指定的。
语法:For 计数器变量 = 起始值 T o 结束值 Step 步长语句Exit For语句Next 计数器变量计数器变量:必要参数,用来做循环计数器的数值变量。
For I = 1 To 5起始值:必要参数,可以是数值或表达式,指定计数器从哪个值开始结束值:必要参数,可以是数值或表达式,指定计数器结束于哪个值步长:可选参数,指定计数器变量每次增加的值。
当缺少step 步长时,则默认为step 1。
步长可以是正数,也可以是负数。
当然也可以是0(是0的话,就只有死循环一条路了)。
正确: For I = 1 To 5正确: For I = 1 To 5 Step 1错误: For I = 5 To 1以上步长是正数(正增长),我们再看看步长为负数的情况(负正确: For I = 5 To 1 Step -1错误: For I = 1 To 5 Step -1要保证循环的运行,在步长值为正数或0的的情况下,计数器变量的值必须是小于等于结束值;在步长值为负数的情况下,计数器变量的值是大于等于结束值的。
当循环中的所有语句都执行后,步长的值会加到计数器变量中。
此时循环中的语句可能会再次执行(基于循环开始执行时同样的测试),也可能是退出循环并从 Next 语句之后的语句继续执行。
需要注意的是:在循环中改变counter 的值,将会使程序代码的阅读和调试变得更加困难。
Dim i As IntegerFor i = 1 To 10i = i + 2Next大家可以看看上面的代码,循环语句一共执行了几次。
vb程序设计与数据库应用》04第四章:循环结构

If x = 0 Then Exit For
If x > 0 Then
NCount = NCount + 1 : NSum = NSum + x
Else
PCount = PCount + 1 :
PSum = PSum + x
End If
Next i
Print "正数个数:"; NCount, "正数之和:"; NSum
If Min > x ThIenfMMina=xx < x Then Max = x
Next i
If Min > x Then Min = x
NPerinxtt"miax="; Max, "min="; Min PErndiSnutb "max="; Max, "min="; Min
End Sub
– 注意那些语句应该作为循环体,写在For语句和next 语句之间,哪些语句应写在for语句之前,哪些语句 应写在next语句之后。
For i = 3 To 30
f3 = f1 + f2 :
Print f3,
If i Mod 5 = 0 Then Print
f1 = f2 : f2 = f3
Next i
End Sub
(1)程序中用语句“If i Mod 5 = 0 Then Print”控制每行输出 5个数据。
(2)把变量f1、f2、f3定义为长整型,是避免产生数据溢出。
Print "负数个数:"; PCount, "负数之和:"; PSum
End Sub
VB的For…Next循环语句

VB的For…Next循环语句当你知道你需要重复运⾏多少次某段语句时,可以使⽤For…Next语句。
它的语法如下:For 计数器 = 开始 To 结束 [步长]语句1语句2语句NNext [计数器]括号⾥⾯的代码是可选的。
计数器是个储存反复次数的数字型变量,开始是你期望的起始计数点,结束则表明循环应该执⾏多少次。
例如,你想要重复执⾏循环⾥的语句5次,使⽤下述For语句:For counter = 1 To 5你的语句Next当VB遇到关键字Next时,它将回到循环的开始处,并且再次执⾏循环⾥⾯的代码,直到计数器到达结束值。
⼀旦计数器的值⼤于关键字To 后⾯的数值,VB就会跳出循环。
因为计数器变量在每次执⾏循环后会⾃动地变化,它早晚会超出结束的值。
每次VB执⾏循环⾥的语句后,变量计数器的值会默认地增加1,你可以使⽤Step语句来改变这个默认设置。
例如,要使计数器每次增加3,就可以使⽤以下语句:For counter = 1 To 5 Step 3你的代码Next counter当VB遇到上⾯的语句,它会执⾏循环⾥的语句两次。
在第⼀次的循环⾥,counter等于1,第⼆次则等于4(3+1)。
在执⾏两次循环后,counter就等于7(4+3),这导致VB退出该循环。
注意,步长(Step)是可选的。
可选语句总是显⽰则⽅括号⾥⾯(参加本段开头部分的语法)。
步长不需要明确,除⾮它不等于1。
你可以在Step后⾯放个负值作为步长,那么VB每次遇到关键字Next后都会将计数器减⼩。
关键字Next后⾯的变量名称(counter)也是可选的,然⽽,好的编程习惯是要强制在关键字Next后⾯加上计数器。
如何将For…Next循环使⽤在Excel⾥⾯呢?假使你只想要在你的销售报告⾥⾯包括某⼏个特定⽉份的产品销售,当你从Access导⼊数据时,你同样也会将那些销售额为0的数据⾏⼀起导⼊。
你如何快速取出数据为0的⾏呢?尽管,有很多种⽅法可以解决这个问题,但是,我们来看看如何使⽤For…Next循环来处理这个问题吧。
VB辅导:VB的2种循环结构

1.For……Next循环如果知道循环次数,可以使⽤For……Next循环。
For循环使⽤⼀个叫做计数器的变量,每重复⼀次循环之后,计数器变量的值就会增加或者减少。
For循环的语法如下:参数Counter、Start、end和increment都是数值型的。
increment参数可正可负。
如果increment为正,则Start必须⼩于等于end,否则将不执⾏循环内的语句。
如果increment为负,则Start必须⼤于等于end,这样才能执⾏循环体。
如果没有设置Step,则increment缺省值为1。
Ⅵsual Basic执⾏For循环语句的过程为:①设置COUnter等于start。
②当increment为正时,测试COUnter是否⼤于end,若是,则退出循环;当increment为负时,测试COUnter是否⼩于end,若是,则退出循环。
③执⾏语句。
④COUnter增加1,如果指定了increment,则增加increment(increment为负时,COU_nter减⼩)。
⑤重复步骤②到步骤④。
循环可以嵌套,但要避免嵌套的交叉,因此Next后⾯的循环变量不要省略。
2.Do…Loop循环Do循环与For循环的不同之处在于For循环指定了循环的次数,⽽Do的循环次数是不固定的,是否执⾏循环,取决于循环条件。
此循环共有4种循环结构:①条件在前的“当”循环,语法为:执⾏这个Do…Loop循环时,⾸先测试condition,如果condition为False(零),则跳过所有语句,如果condition为True(⾮零),则执⾏statements语句块,然后退回到Do While语句再测试条件。
因此,只要condition为True或⾮零,循环就继续执⾏。
如果condition⼀开始便为False,则不会执⾏⼀条语句。
这个形式的Do……Loop语句⾸先执⾏statements语句块,然后再测试condition,如果为true,则返回再次执⾏statements语句块,否则退出循环。
循环结构vb语句

1、在VB中,以下程序段: x=0 Do While x<50 x=(x+2)*(x+3) Loop 执行后,x的值为:( ). A、168 B、50 C、72 D、0 2、阅读下面程序,当单击窗体之后,窗体上输出的是( Private Sub Form_Click() Dim i As Integer:Dim s As Integer s=0 For i = 1 To 5 s=s+i Next i Print s,i End Sub 选项: A、15 6 B、 s=15 i=6 C、6 5 D、s=6 i=5
s=0 P=0 for i=1 to 200 P= (9+i)*(i*10+2) s=s+p next i
while…wend 语句
While…wend也属于当型循环.但它与for…next不同的
是:while…wend 不是通过计算来决定是否循环,而是直 接通过判断语句中的条件表达式是否为true来决定是否 循环. 格式: while <条件> <循环体> wend 执行过程: 说明:条件为关系表达式或逻o 100 p=p+i
s=s+p
next i print s
2、编程计算1*100+2*99+3*98+……+100*1
s=0 P=0 for i=1 to 100 P=i*(101-i) s=s+p next i
3、编程计算10*12+11*22+12*32+……+209*2002
例题:求最大公约数 Private Sub Command1_Click() Dim a As Integer Dim b As Integer Dim r As Integer a = Val(Text1.Text) b = Val(Text2.Text) r = a Mod b While r <> 0 a=b b=r r = a Mod b
2 For...Next循环结构

购买数量 Q Q<500 500≤Q<600 600≤Q<1000 1000≤Q<5000 Q≥5000
折扣 95% 90% 80% 70% 60%
循环结构
当程序中有规律地重复执行某些操作时, 可以用循环结构实现
循环结构的执行过程,总是在一定条件的 控制下对循环体进行重复操作,当满足某
一终止条件时停止循环,并结束循环退出
For…Next语句
实践2:
编写一个宏MySub1,在Sheet1工作表的 A1:J1区域各单元格中分别随机生成[100, 999] 之间的整数;再编写一个宏MySub2,在 Sheet1工作表的A1:J1区域中,将奇数所在的 单元格设置为红色字体
Exit 语句(P.32)
Exit For 语句,用于跳出 For 循环以提前终 止循环,例如:
For…Next语句
实践1:
编写一个宏,使用 InputBox 函数输入一个正 整数 n,然后计算 n 的阶乘(n!),并将计算 结果用 MsgBox 函数输出?
For…Next语句
实例2:
编写一个宏MySub1,在Sheet1工作表的 A1:A10区域各单元格中分别随机生成[10, 99] 之间的整数;再编写一个宏MySub2,在 Sheet1工作表的A1:A10区域中,将偶数所在 的单元格设置为黄色背景
For…Next语句
功能:以指定的次数重复执行循环体
格式: For 变量 = 初值 To 终值 [Step 步长] 语句块
[Exit For] 循环体
语句块 Next [变量]
变量又称循环控制变量、计数器变量,初值为循环起始值,终值 为循环的结束值
步长为循环控制变量的每次改变增量,缺省为1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课题:程序的基本结构——循环结构之For-Next语句第课时课型:新授备课教师授课时间
教学目标
知识与技能
1、了解循环的概念,理解循环结构的基本思想
2、掌握For-Next语句的基本结构的写法循环变量,初值,终值和步长。
3、理解For-Next语句的执行过程
过程与方法
1.通过分析问题,能准确找出循环变量、确定循环结束条件。
2.能利用For-Next语句解决简单的问题。
情感态度与价值观
1.通过编写循环结构的程序,体会循环结构的执行过程。
2.通过利用循环思想解决问题,体会循环思想的重要性。
教学重点1、理解循环结构的基本思想
2、理解For-Next语句的执行过程
教学难点根据需要采用循环结构解决实际问题,并提炼出for语句的基本结构学生理解For-Next语句的执行过程
教学
准备
几个以For-Next语句组成的不同功能的程序
教学过程设计教学
内容师生教学活动设计
备注栏
(学生笔记栏)
一、设疑导入
同学们,请先看这个图形(在窗体左边输出显示
竖行排列的1,2,3,4,5),如果用以前学过的程
序设计语言怎样来编写它的程序呢?
生(稍做思考,然后回答):使用Print语句
P rint“1”
Print“2”
Print“3”
Print“4”
Print“5”
师:同学们做得很好,,如果想要显示1-10,或是1-100的数字呢?怎么做,难道就这样顺序写下去吗?这样编写是不是太繁琐了。
如果能让计算机去完成这部分重复的内容,而我们只要告诉计算机重复操作的次数就可以了,这个愿望能否实现呢?
通过我们今天学习的FOR—NEXT循环语句,就可以很容易的实现这个想法。
二、探索新知
直接在vb 中修改刚才的程序,并通过流程图和表格详细讲解该程序的循环执行过程,让学生了解初值,终值,步长和循环体语句的变化。
程序代码:
Private Sub cmd_start_Click()
Dim i As Integer ‘定义变量i 为整型
For i = 1 To 5 Step 1 ‘设置循环变量,起始为1,终止到5,步长为1 Print i ‘打印变量值 Next i End Sub
师:循环结构也称重复结构,它的作用是使一段程序能重复执行,被重复执行的部分称为循环体。
但重复一般都是有条件的,即在满足FOR 语句中的条件下才执行循环体,否则退出循环体。
现在我们一起利用表格更直观的观察循环的执行过程。
循环次数
变量i 循环体内语句
1 1 打印i 的值
2 2
3 3
4 4 5
i=i+1
【探索·实践】
请大家自己根据前面所学,总结FOR/NEXT 语句的语句格式:并与小组其他成员讨论程序的执行过程
For <循环变量>= <初值> To <终值> [step <步长>]
<循环体>
Next <循环变量>
【知识点拨】
1) 步长值可以为正数或者负数,当步长为1时,STEP 1可省略不写;
2)循环体语句中可以含有任意多条语句,也可无任何语句,称为空循环;
3) 循环体语句可以含有循环结构;
4) For—Next必须成对出现
5)有时需中途退出循环,这时用EXIT FOR命令。
三、排疑·解错
1、在VB窗体显示输出1到10这十个数字。
分析此循环语句中,循环变量是()
初值是()终值是()步长是
()循环体中的语句是(),
请尝试写出运行结果
()。
(提示,直接在VB中验证答案)
2、小组内任意抽取1个程序讨论,分析对错,并说明错误原因
四、实践探究(任选一任务程序完成,)备注一:加粗显示为错误原因,学案端不显示答案。
1、打印1~5这5个数Dim i As Integer
For i = 1 To 5 Step -1 Print i
Next i
End Sub
[步长应为1] 2、打印5~1这5个数
Dim n As Integer
For n=5 to 1
Print n
Next i
[步长为-1,不能省,应for
n=5 to 1 step?1]
3打印1~5这5个数
Dim n As Integer
For n=1 to 5
Print “n”
Next n
[n加上引号,就变成了字符
串,应把引号去掉]
5)打印1~5这5个数
Cls
Dim n As Integer
For n=1 to 5
Print n
[FOR与NEXT必须成对出现,不能缺省]
6)打印1~5这5个数
Cls
Dim n As Integer
For 1 to 5
Print n
Next
[循环变量n要赋值,for n=1 to 5]
1、分析下列程序,说出程序功能,交尝试在表格中写出循环变量的值及程序的变化过程。
Dim x As Integer s=0
For i=1 to 100 s=s+i Next i print s
功能:求1到100的累加和 2、分析下列程序,说出程序功能 Cls
Dim i As Integer for i=20 to 10 step-2 print i next i
功能:输入出20,18,16,14,12,10六个数 3、编程,竖排输出1~10的偶数 4、编程,求100以内的奇数 5、编程,s=1*3*5*......*101
五、拓展提高
通过分析老师给出的提示代码,尝试将下面程序补充完整,思考如何通过循环内嵌套循
环来完成一些复杂的程序设计?
六、自我检测 ,这节课我学会了什么?
课 后 反 思
课间游戏要安全,上下楼梯不打闹。
循环次数
变量i 求和表达式 值(s) 1 1 s=s+1 1 2 s=s+2 3 3 s=s+3
i=i+1
s=s+i。