当前位置:
文档之家› visual basic (vb)第5章_2(循环语句)
visual basic (vb)第5章_2(循环语句)
Visual Basic 程序设计
趣味问题2
编程计算古代算术题: 公鸡五元一只;鸡母 三元一只;小鸡一元三只。百元买百鸡,问公 鸡、母鸡、小鸡各几只?
Visual Basic 程序设计
趣味问题1解答
Visual Basic 程序设计
1 为什么要使用循环结构? 但上述程序结构让人觉得烦琐,尤其是当 需要100行或1000 行 “ ********** ”的话,源 程序将变得很长。所以,在程序设计中,我们 需要使用循环结构,来进行一系列重复的动作。
在VB中,当需要对某一段程序反复执行多 次,且反复执行的次数是可以预知的或可以用 某种条件控制的,就可以使用循环结构。
以下程序段,每层循环各执行多少次?写出运行结果。 For I = 1 To 3 Print "######" For J = 1 To 2 Print "@@@@@@" Next J Next I
Visual Basic 程序设计
5 循环嵌套
例题3:计算S=1!+2!+3!+……+20!
分析 ■ 根据前面的经验,计算阶乘可以用循环结构完成, 计算阶乘的累加和也可以使用循环结构完成。 ■ 构造两重循环,外层循环实现累加,完成和的计 算;内层循环实现累乘,完成阶乘的计算。
Visual Basic 程序设计
例题2-4 用Do语句计算1+…+100
Private Sub Form_Click() Dim S As Integer, I As Integer S = 0 I = 0 Do S = S + I I = I + 1 Loop Until I > 100 Print "1+2+3+……+100=", S End Sub
■问题3:根据例题1,自己编写程序计算20!,与 计算累加和相比,计算阶乘时应注意什么问题?
Visual Basic 程序设计
例题2:七彩字 Private Sub Form_click() Dim i% Randomize For i = 1 To 1000 Form1.CurrentX = 500 + i Form1.CurrentY = 500 + i ForeColor = RGB(Int(256 * Rnd),
例6 输出图形
Visual Basic 程序设计
Private Sub picture1_Click() Picture1.Cls ' 清除图片框 n = Val(InputBox("请输入行数")) For i = 1 To n Picture1.Print Tab(n + 1 - i); ' 控制打印起点 For j = 1 To 2 * i - 1 Picture1.Print "*"; Next j Picture1.Print For j = 1 To n - i Next i Picture1.Print Spc(1); End Sub
Visual Basic 程序设计
趣味问题1
有一箱球(1到100个),如果一次数4个则 余2个,一次数5个则余3个,一次数6个正好,问 有多少个球?
Visual Basic 程序设计
5 循环嵌套
无论是For循环还是Do循环,它们的循环体中还再次可以 包含循环语句,这样就形成了循环嵌套(也叫多重循环)。在 VB中,For循环和Do循环可以互相嵌套。
Visual Basic 程序设计
1 为什么要使用循环结构? 使用循环结构,上述程序可以修改为: Private Sub Form_Click() For I = 1 To 6 Print "**********" Next I End Sub 与前面的程序相比,循环结构使得程序更加 清晰,功能更加强大,修改也更加方便。
循环嵌套的结构
内层循环必须完整地嵌套在外层循环之内,即内层循环 是外层循环体的一部分,内外层循环不能交叉。例如:
Visual Basic 程序设计
5 循环嵌套
循环嵌套的执行过程
多重循环的执行由里向外展开,即先执行内层循环,再执 行外层循环。例如,一个三重循环的执行过程与钟表的秒针、 分针和时针的运转类似。
④注意:
(1)For循环语句是先判断后执行。 (2)当退出循环后,循环变量的值保持退出时的值。 (3)在循环体内可多次引用循环控制变量,但最好不要给 它赋值,否则会影响原来的循环控制规律。
Visual Basic 程序设计
例题1 计算S=1+2+3+……+100 Private Dim S = For Sub Form_Click() S As Integer, I As Integer 0 I = 1 To 100 S = S + I Next I Print "1+2+3+……+100=", S End Sub
Vis计算1+…+100
Private Sub Form_Click() Dim S As Integer, I As Integer S = 0 I = 0 Do Until I > 100 S = S + I I = I + 1 Loop Print "1+2+3+……+100=", S End Sub
Visual Basic 程序设计
第5章 程序控制结构二
循环结构
Visual Basic 程序设计
主要内容
1. 为什么要使用循环结构?
2. For…Next 循环语句
3. While循环
4. Do…Loop 循环
5. 循环嵌套 6. 循环语句使用举例
Visual Basic 程序设计
1.为什么要使用循环结构?
For…Next 循环语句适合处理循环次数已知的循环结构。
For…Next循环语句的格式:
For <循环控制变量>=<初值> TO <终值> [Step <步长>] <循环体> [Exit For] Next <循环控制变量>
For I = 1 To 6 Print "**********" Next I
Visual Basic 程序设计
例题5 输出乘法口诀—1
Private Sub Form_Click() Dim i%, j% For i = 1 To 9 For j = 1 To i Print i * j; Next j Print Next i End Sub
Visual Basic 程序设计
Visual Basic 程序设计
4 Do…Loop 循环语句
四种形式的Do…Loop 语句的比较:
■ 四种循环结构都是以Do语句开始,而以Loop语句结束。
■ 若循环控制条件跟在Do语句后,则要先判断条件,再执 行循环体,因此是一种当型循环;若循环控制条件跟在Loop语 句后,则是先执行循环体,再判断条件 ■ 若条件语句使用While,则当条件为真时,执行循环体, 条件为假时,退出循环;若条件语句使用Until,则当条件为 假时,执行循环体,条件为真时,则退出循环。 例题2:分别使用四种形式的Do…Loop语句,计算: S=1+2+3+……100 的值。
2 For…Next 循环语句
Visual Basic 程序设计
For…Next 循环语句的执行过程 循环变量赋初值
循环变量未超过终值?
True False
循环体
循环变量加上一个步长
Visual Basic 程序设计
2 For…Next 循环语句 功能:
当循环变量的值在初值到终值范围内时,执行一次循环 体中的语句块,并使初值增加一个步长。 当循环变量的值不在初值到终值范围内时,就退出循环, 执行Next后面的语句。
Rnd), Int(256 * Rnd))
Int(256 *
Print "Hello" Next i End Sub
Visual Basic 程序设计
3 While循环语句
While循环又称“当” 型循环,它是通过“循环 条件”控制重复执行一组 语句。 While <循环条件> <循环体> Wend
例题5 输出乘法口诀—2
Private Sub form_Click() For I = 1 To 9 For J = 1 To I Print I;"*"; J; "="; I * J; ' 不换行 Next J Print ' 换行 Next I End Sub
Visual Basic 程序设计
Visual Basic 程序设计
1 为什么要使用循环结构?
在VB中,通常可以使用如下循环语句:
■ For…Next 语句:适合处理循环次数预知 的循环问题。 ■ While...Wend语句 、Do…Loop 语句: 适合处理用循环条件控制的循环问题。
Visual Basic 程序设计
2 For…Next 循环语句
VB 程序设计基础课件 Visual Basic 程序设计
例题3 计算S=1!+2!+……+20!
Private Dim Dim S = For Sub Form_Click() S As Single, temp As Single I As Integer, J As Integer 0 I = 1 To 20 temp = 1 For J = 1 To I temp = temp * J Next J S = S + temp Next I Print "1!+2!+……20!=", S End Sub