1,for,
2.while
3.do while
4.goto
1、实现无限循环,判断输入值。
2、循环部分用的是以上循环,初始中芦值一般巧岩是0,i++。这孝培御就让循环的条件一直满足,当然你可以编写出无数的条件。
3定义变量的时候,i,j可作为循环变量、
4、循环的时候不建议使用goto语句,这样会让程序跑乱。
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)的包装问题算法);
首先for循环语句是程序中性能最高的循环之一,我一般都用它。for 有两种形式:一种是数字形式,另一种是通用形式。
数字形式的 for 循环,通过一个数学运算不断地运行内部的代码块。 下面是它的语法:
block 将把 name 作循环变量。 从第一个 exp 开始起,直到第二个 exp 的值为止, 其步长为第三个 exp 。 更确切的说,一个 for 循环看起来是这个样子
注意下面这几点:
所有三个控制表达式都只被运算一次, 表达式的计算在循环开始之前。 这些表达式的结果必须是数字。
var,limit,以及 step 都是一些不可见的变量。 这里给它们起的名字都仅仅用于解释方便。
如果第三个表达式(步长)没有给出,会把步长设为 1 。
你可以用 break 和 goto 来退出 for 循环。
循环变量 v 是一个循环内部的局部变量; 如果你需要在循环结束后使用这个值, 在退出循环前把它赋给另一个变量。
通用形式的 for 通过一个叫作 迭代器 的函数工作。 每次迭代,迭代器函数都会被调用以产生一个新的值, 当这个值为 nil 时,循环停止。 通用形式的 for 循环的语法如下:
注意以下几点:
explist 只会被计算一次。 它返回三个值, 一个 迭代器 函数, 一个 状态, 一个 迭代器的初始值。
f, s,与 var 都是不可见的变量。 这里给它们起的名字都只是为了解说方便。
你可以使用 break 来跳出 for 循环。
环变量 var_i 对于循环来说是一个局部变量; 你态拦滑不可以在 for 循环结束后继续使用。 如果你需要保留这些值,那么就在循环跳出或结束前赋值到别的变量里去。
到第二个 exp 的值为止, 其步长为第三个 exp 。 更确切的说,一个 for 循环看起来是这个样子
注意下面这几点:
所有三个控制表达式都只被运算一次, 表达式的计算在循环开始之前。 这些表达式的结果必须是数字。
var,limit,以及 step 都是一些不可见的变量。 这里给它们衡物起的名字都仅仅用于解释方便。
如帆腊果第三个表达式(步长)没有给出,会把步长设为 1 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)