Visual Basic 程序设计教程
第七讲 VB程序控制结构(2)
第4章 VB程序设计 从结构化程序设计的流程来说,程序可以分为3种基本结构:顺序结构、分支结构和循环结构。无论采用哪一种程序设计语言,都要使用这些结构,而且应该严格遵循结构化设计的规则。
第4章 VB程序设计 4.1 顺序结构程序设计 4.2 分支结构程序设计 4.3 循环结构程序设计 4.4 数组与控件组 4.6 常用算法设计
本讲内容 4.3 循环结构程序设计
4.3 循环结构程序设计 一、 循环的基本概念 1. 循环结构的含义 循环是指从某处开始有规律地重复执行某一程序段。被重复执行的程序段称为循环体。 2. 循环结构的形式 前置循环结构(While…Wend) 后置循环结构(Do…Loop) 计数循环结构(For…Next)
二、 前置循环结构(While…Wend) 1. 格式: While <条件> 循环体语句组 Wend 2. 流程框图 条件? 循环体语句组 F T
3. 执行的方式 (1) 执行While语句,判断条件是否成立。 (2) 如果条件成立则执行循环体语句组,否则执行Wend下面的语句。 (3) 执行到Wend语句则返回到(1)继续执行。
4. 例4-7(P-81): 使用While…Wend循环结构,编写程序求1-100的和。
5. 注意点: 由于循环结构中有从下向上的返回语句,所以特别要当心是否会出现“条件一直成立”的情况,即条件是“永真”的。如果出现了这种情况程序会无限止地执行下去,这在程序设计中称为“死循环”。尽量要避免出现“死循环”。 当程序出现“死循环”时,只要按键盘上的Ctrl+Break键就能中断程序的运行。
三、 后置循环结构(Do-Loop) 格式: Do 循环体语句组 Loop Until <条件> 2. 流程框图 循环体语句组 条件? F T
3. 执行的方式 (1) 执行Do语句,进入循环结构。 (2) 执行循环体语句组。 (3) 执行到Loop语句,判断“条件”是否成立,成立则执行Loop Until下面的语句(退出循环),否则返回到(1)继续执行。
4. 例4-8(P-82): 使用后置循环结构,编写程序求1-100的和。
5. 几点说明 (1) 从上面的前置循环结构和后置循环结构的对比中可以看出,所谓的前置、后置实际上说的是循环结构的控制判断条件所在的位置。 (2) 采用前置循环结构时判断在循环体开始之前,当条件不满足时,一次也不执行循环体语句组则直接退出循环结构;而采用后置循环结构判断在循环体开始之后,即使条件不满足时也至少执行了一次循环体。 (3) 前置和后置循环结构使用的条件正好相反,前置循环结构是条件成立时执行循环体语句组,而后置循环结构采用Loop Until是条件成立时退出循环结构。
6. 前置和后置循环结构有共同的问题: ① 循环的结束由条件控制,所以必须构造合适的条件表达式才能在合适的时候结束循环。 ② 无法预知循环执行的次数。 ③ 循环的控制变量是不明确的,其改变是在程序段内部完成的,容易被忽略或在程序段中被更改,导致循环不能正常结束。
四、计数循环结构(For-Next) 1. For循环语句 (一般用于循环次数已知) (1) 结构形式 For 循环变量=初值 to 终值 [Step 步长] 循环体语句组 Next 循环变量 比如: For X=A To B Step C 循环体语句组 Next X
(2) 工作流程 For X=A To B Step C 循环体语句组 Next X
(3) 说明 例4-9(P-84) 使用计数循环结构,编写程序求1-100的和。 循环变量:是用做循环计数器的数值变量,也称为循环控制变量。 初值:循环控制变量的初值。 终值:循环控制变量的终值。 步长:循环控制变量的增量。 初值、终值和步长都是一个常数或数值表达式 循环次数 例4-9(P-84) 使用计数循环结构,编写程序求1-100的和。
五、三种循环结构的比较 1. 比较说明 (1) 前置循环有时称为当型循环,用于处理问题的常见提法是“当满足条件时执行循环” (2) 后置循环有时称为直到型循环,用于处理问题的常见提法是“执行循环直到满足某个条件” (3) 计数循环有时称为做型循环,用于处理问题的常见提法是“做从A到B的循环”。
2. 举例说明 例4-10:求阶乘n!。 例4-11: 求π的近似值,公式为4*(1-1/3+1/5-1/7+…),精度要求ε<=10-5。 例4-12: 输出Fibonacci数列的前n项,当某一项的值大于等于1000时结束输出。(Fibonacci数列中的第1、2项的值为1,从第3项开始,任何一项的值是前2项的值相加)
六、嵌套循环结构 1. 含义:循环体内含有循环语句的循环称为嵌套循环。上述的三种循环结构都可以做成嵌套循环。而且还可以相互嵌套。 2. 对于循环的嵌套,要注意以下事项: 内循环变量与外循环变量不能同名; 外循环必须完全包含内循环,不能交叉; 不能从循环体外转向循环体内,反之则可以。
例4-13、4-14、4-15 正确 错误 For ii =1 To 10 For jj=1 To 20 … Next ii Next jj 正确 错误 For ii =1 To 10 For jj=1 To 20 … Next ii Next jj For ii=1 To 20 For jj=1 To 20 例4-13、4-14、4-15
例4-13:打印九九乘法表。 例4-14:输出字母打印图形,图形如下图所示。