答案:1、运行For语句和Do语句的循环语句的功能示范.frm(注意步长为负时,如-1时For语句的运行情况讨论),掌握它们的功能;
2、例2:求S=1+1/2+1/3+…+1/n的循环结构程序如下:(演示:例2累加求和程序.FRM,再一次说明为什么要用第二种Do循环语句)
S = 0
n = Val(Text1.Text) (因为条件表达式是数值比较,所以要把Text1.Text得到的
字符串数字转为数值类型,例如:”100”100)
Do While n < 1 Or n <> Fix(n) Fix(x)是取整函数;
n = InputBox("输入n不是自然数,请重新输入n=?") ‘输入框:InputBox
Text1.Text = n
n = Val(n) (因为条件表达式是数值比较,所以要把InputBox得到的
Loop 字符串数字转为数值类型,例如:”100”100)
For k = 1 To n
S = S + 1 / k 循环求S=1+1/2+1/3+…+1/n
Next k
Text2.Text = S
3、两种循环结构语句的格式:
(1) For语句的一般格式: P79
For 循环变量=初值 To 终值 Step 步长
程序段
Next循环变量 (当循环变量没超出终值时,执行程序段)
(2) Do语句的常用格式: P80
Do While 条件表达式 (当条件成立时,进入循环,执行程序段)
程序段
Loop (负责回到条件表达式,判断是否成立?)
提问:程序段的结构是什么样的?
就是以前讲的程序有三种基本控制结构:顺序结构、(分支)选择结构、循环结构!
这三种基本控制结构通常会被组合起来使用,以表达各种较为复杂的问题的算法。例如:
在(分支)选择模式内嵌入(分支)选择模式;
在循环模式内嵌入循环模式;
在循环模式内嵌入在(分支)选择模式;在(分支)选择模式内嵌入循环模式;
因此,循环内的程序段可以再包含选择模式和循环模式,今天我们先来讨论:
循环内的程序段可以再包含循环模式——多重循环的使用!
如果一层循环内只包含一层循环,我们把它叫做双重循环,掌握了双重循环的用法,那么多重循环也就容易使用掌握了。
二、双重循环的使用:
1、一般结构:(以For语句为例)
For 循环变量A=初值 To 终值 Step 步长
…
For 循环变量B=初值 To 终值 Step 步长
程序段
Next循环变量B
…
Next循环变量A
2、双重循环执行实例:
双重循环是如何执行的呢?我们来看下面:
实例1:For i=1 To 3 Step 1
For j=1 To 5 Step 1
List1.AddItem Str(i) + "*" + Str(j) ‘复习列表框List1.AddItem的作用,
Next j
Next i ‘运行、演示多重循环程序;
从实际演示可知:当i=1时,j=1、2、3、4、5;
当i=2时,j=1、2、3、4、5;
当i=3时,j=1、2、3、4、5;
规律总结:先外循环,后内循环,内循环完成后,再进入外循环;
实例2:打印(输出)用“*”组成的图形;
右边程序中,只要改变a、b的值,便打印出用“*”组成的各种图形;(演示…)
注意:Print "*"; 后分号“;” 表示不换行,下次循环打印还在同一行上。用立即方式验证如下:
Print "3";"+" ;"9=";3*9
3+9= 27
提问:输出 3*9=27 的语句有几种写法?(用立即方式展示)
实例3:修改实例2,可得到一个九九乘法表,程序如下:
For i=1 To 9 Step 1
For j=i To 9 Step 1
Print Str(i) + "*" + Str(j)+ "=";i*j;
Nextj
Print ‘打印空行,起到换行的作用!
Next i
讲解上程序,演示九九乘法表程序;
注意:为了内、外循环程序结构层次清楚,上面程序的同一个循环语句For/Next上下对齐,而且内循环语句缩进2格书写;
1、循环内的程序段可以再包含循环模式,我们称为多重循环;
如果一层循环内只包含一层循环,我们把它叫做双重循环。
2、双重循环的运行是先外循环,后内循环,内循环完成后,再进入外循环;
(多重循环运行次序也一样类推,见课本P22-23(P96-97)的包装问题算法);三类:
1.for ... next
2.while...wend
3.do ...loop
我也只知道:
1.for ... next
2.while...wend
3.do ...loop这3类。经常用的是for...next
上一个:学Vb需要准备什么?
下一个:vb中Execute函数的用法?