新Visual Basic程序设计 第3版 教学课件 吴昌平 第5章.pptVIP

  • 7
  • 0
  • 约8.02千字
  • 约 90页
  • 2016-10-26 发布于广东
  • 举报

新Visual Basic程序设计 第3版 教学课件 吴昌平 第5章.ppt

第 5 章 循 环 结 构 在本章中,我们将要介绍结构化程序三种基本结构的最后一种——循环结构。 5.1 循环概述 所谓循环就是重复地执行一组语句。 在实际工作中,常遇到一些操作过程不复杂但需要反复进行相同处理的问题,这些问题如果单纯用顺序结构来处理,将得到一个非常乏味且冗长的程序。 例如,计算1~100所有奇数的平方和,如果用顺序结构来解决这个问题,我们就会给出下面的程序: Private Sub Form_Click() Dim s, x% s = 0 x = 1 s = s + x ^2 x = x + 2 s = s + x ^2 x = x + 2 s = s + x ^2 …… x = x +2 x的值累加到99 s = s + x ^2 Print 1~100之间所有奇数的平方和=; s End Sub 我们用循环语句解决上面的问题,程序非常简短: Private Sub Form_Click() Dim s, x% s = 0 For x = 1 To 99 Step 2 s = s + x ^2 Next x Print 1~100所有奇数的平方和=; s End Sub VB提供了三种不同风格的循环语句,它们分别是: (1)For…Next语句; (2)While…Wend语句; (3)Do…Loop语句。 我们将对这三种循环语句逐一介绍。 5.2 For循环 For循环的一般格式如下: For 循环变量=初值 To 终值 [Step 步长] [循环体] Next [循环变量] 说明: 1.格式中各项的说明 (1)循环变量: 亦称为循环控制变量,必须为数值型变量。 (2)初值、终值: 都是数值型,可以是数值表达式。 (3)步长: 循环变量的增量,是一个数值表达式。一般来说,其值为正,初值应小于终值;若为负,初值应大于终值。但步长不能是0。如果步长是1, Step 1可略去不写。 (4)循环体: 在For语句和Next语句之间的语句序列。 (5)Next后面的循环变量与For语句中的循环变量必须相同。 2.执行过程 For循环语句的执行过程如下: (1)系统将初值赋给循环变量,并自动记下终值和步长。 (2)检查循环变量的值是否超过终值。如果超过就结束循环,执行Next后面的语句;否则,执行一次循环体。 (3)执行Next语句,将循环变量增加一个步长值再赋给循环变量,转到(2)继续执行。 以上执行过程用流程图描述,如图5-1所示。 这里所说的“超过”有两种含义,即大于或小于。当步长为正值时,循环变量大于终值为“超过”;当步长为负值时,循环变量小于终值为“超过”。 我们通过分析下面的程序来进一步理解For语句的执行过程。 For n=1 To 10 Step 3 Print n, Next n 具体执行情况如下: 上面程序的执行结果为: 1 4 7 10 3.其它说明 (1)循环次数计算公式为: 循环次数=Int((终值-初值)/步长)+1 (2)循环控制变量通常用整型数,也可以用单精度数或双精度数。值得注意的是,无论初值、终值和步长值是什么数值类型,最后都要转换成循环控制变量的类型。 【例5.1】求N!(N为自然数)。 分析:由阶乘的定义,我们可以得出N!=1*2*…*(N-2)*(N-1)*N=(N-1)!*N,也就是说,一个自然数的阶乘,等于该自然数与前一个自然数阶乘的乘积, 程序如下: Private Sub Form_Click() Dim I%, f#, n% n= InputBox(输入一个自然数:, 输入提示, 10) f = 1 For I = 1 To n f = f * I Next I Print n; !=; f End Sub 【例5.2】判断用户输入的数是否为素数。 分析:素数的特征是只能被1和它自身整除。假设用户输

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档