当前位置:首页 >> 其它课程 >>

VB 第六章 循环结构 2


程序设计基础(VB)
主讲人:孟永伟

Email:ywmeng@yahoo.cn

第六章

循环结构

教学基本要求
? 掌握循环语句的嵌套及选择。

? 掌握For、Do循环语句的语法结构及使用情况;

教学内容
6.1 6.2 6.3 6.4 6.5 6.6 For循环语句 For循环语句的嵌套 For循环语句应用举例 Do…Loop循环语句 Do…Loop循环语句的嵌套 Do…Loop循环语句应用举例

主要知识点与重点
? For循环语句;
? Do…Loop循环语句。

6.4 Do…Loop 循环语句
在循环进行之前不知道循环次数,只知道循环 的终止条件,可以用Do…Loop循环。Do循环具有 更强的灵活性,它可以根据需要决定是条件满足时 执行循环体,还是一直执行循环体直到条件满足。

6.4 Do…Loop 循环语句
格式 1
Do [{while|until} 条件] 循环体 [Exit Do] Loop

格式 2
Do 循环体 [Exit Do] Loop [{while|until} 条件]

格式 3
Do 循环体 Loop

说明:
? ? ? ? Do,Loop及While,Until都是关键字。 循环体:需要重复执行的一个或多个语句。 条件:是一个逻辑表达式。 Exit Do:表示退出循环。

6.4 Do…Loop 循环语句
格式 1
Do while 条件 循环体 [Exit Do] Loop
Do until 条件 循环体 [Exit Do] Loop

先判断条件,再执行循环体;若条件不满足,循环体执行0次。

6.4 Do…Loop 循环语句
例题: i=10 Print “Value of i at beginning of loop is”; i Do While i<10 i=i+1 Loop Print “Value of I at end of loop is”; i 由于i=10,条件不为True,因此不执行循环体。 输出结果: Value of i at beginning of loop is 10 Value of I at end of loop is 10

6.4 Do…Loop 循环语句
例题: i=10 Print “Value of i at beginning of loop is”; i Do Until i>=10 i=i+1 Loop Print “Value of I at end of loop is”; i 由于i=10,条件为True,因此不执行循环体。 输出结果: Value of i at beginning of loop is 10 Value of I at end of loop is 10

格式 2
Do

6.4 Do…Loop 循环语句
Do 循环体 [Exit Do] Loop until 条件

循环体 [Exit Do] Loop while 条件

先执行循环体,再判断条件;无论条件是否满足,循环体至 少执行一次。

6.4 Do…Loop 循环语句
例题: i=10 Do Print “Value of i at beginning of loop is”; i i=i+1 Loop While i<10 Print “Value of I at end of loop is”; i 输出结果: Value of i at beginning of loop is 10 Value of I at end of loop is 11

6.4 Do…Loop 循环语句
例题: i=10 Do Print “Value of i at beginning of loop is”; i i=i+1 Loop Until i>=10 Print “Value of I at end of loop is”; i 输出结果: Value of i at beginning of loop is 10 Value of I at end of loop is 11

6.4 Do…Loop 循环语句
格式 3
Do 循环体 Loop

注意: 循环结构仅由Do…Loop关键字构成时,表示无条件循环, 这时循环体内必须存在Exit Do(或Goto)语句,以控制循环 体,否则会出现死循环。

6.4 Do…Loop 循环语句
例题:求n!的程序片断为 :

N=Val(InputBox(“n=”)) Result=1 i=1 Do Result =Result * i i=i+1 If i> N Then Exit Do Loop

说明
① 对使用While的语句,当条件满足时(True)执行循环体; ② 对使用Until的语句,当条件不满足时(False)执行循环体; ③ Do和Loop必须成对出现,否则将出现编译错误; ④ 循环体中应存在改变循环条件的语句,以避免死循环的出现。 ⑤ Do循环也可能陷入“死循环”。在这种情况下,可以用Exit

Do 语句跳出循环。

6.5 Do…Loop循环语句的嵌套
在一个循环体内又包含了一个完整的循环,这样的结构 称为多重循环或循环的嵌套。在程序设计时,许多问题要用二 重或多重循环才能解决。我们前面学过的For循环、Do循环都 可以互相嵌套,如在For…Next的循环体中可以使用Do循环, 而在Do…Loop的循环体中也可以出现For循环等。 二重循环的执行过程是外循环执行一次,内循环执行一 遍,在内循环结束后,再进行下一次外循环,如此反复,直到 外循环结束。

6.5 Do…Loop循环语句的嵌套
一般格式: Do While/Until … For J=… . . . Next J … Loop 一般格式: Do While/Until … Do While/Until … . . . Loop … Loop

6.5 Do…Loop循环语句的嵌套
一般格式: Do … For J=… . . . Next J … Loop While/Until 一般格式: Do … Do . . . Loop While/Until … Loop While/Until

6.6 Do…Loop循环语句应用举例
例题 6.6.1 我国有13亿人口,按人口年增长0.8%计算, 多少年后我国人口超过26亿
分析:解此问题两种方法,可根据公式:26=13*(1+0.008)n 直接利用标准对数函数求 得;也可利用循环求得,程序如下: Private Sub Form_Click() x = 13 n=0 Do While x < 26 x = x * 1.008 n=n+1 Loop Print n, x End Sub

演示6.6.1

6.6 Do…Loop循环语句应用举例
例题 6.6.2 利用InputBox函数输入两个整数,求它们的 最大公约数和最小公倍数。

分析:
求最大公约数可用辗转相除法,该方法的算法思想: ① 对于已知两数m,n,使得m>n。 ② M除以n得余数r。 ③ 若r≠0,则令m←n,n←r,继续相除得到新的r;直到r=0求得最大公约数,结束。

6.6 Do…Loop循环语句应用举例
例题 6.6.2 利用InputBox函数输入两个整数,求它们的 最大公约数和最小公倍数。 例题:当m=30,n=8时,辗转相除法过程如下:
m 30 8 6 n 8 6 2 r 6 2 0

演示6.6.2

6.6 Do…Loop循环语句应用举例
例题 6.3.3 求自然对数的底e得近似值,要求其误差小于 0.00001,求e近似值的公式为:
e ?1 ?

分析:本例涉及程序设计中两个重要的运算:累加
乘 。由于循环次数未知,可用Do来实现。

和连

演示6.6.3

6.6 Do…Loop循环语句应用举例
例题 6.6.4 输入一批非负数,当输入的数据为负数时, 表示输入结束。求这批非负数的最大值、最小值和平均 值。
分析: 因为输入数据个数不一定,所以应采取Do/Loop结构。将最大和最小值都初始 化为第一个数。

演示6.6.4

6.7 定时器、滚动条控件
滚动条
用途: 通常附在窗体上协助观察数据或确定位置,也可用于数据输入工 具,用来提供某一范围内的数值供用户选择。

注意:滚动条是一个独立的控件,它有自己的事件、方法和属性集。文本 框、列表框和组合框内部在特定情况下都会出现滚动条,但它们属于这些 控件的一部分,不是一个独立的控件。

6.7 定时器、滚动条控件
主要属性
① ② Value属性:返回或设置滚动条的当前位置,其返回值始终为介于 Max和Min属性值之间的整数。 Max、Min属性:使用滚动条作为数量或速度的指示器、输入设备 时,可以利用Max和Min属性设置控件Value属性变化范围。

③ LargeChange、SmallChange属性 LargeChange属性返回或设置当用户单击滚动条和滚动箭头之间 的区域时,滚动条控件Value属性值的改变量。 SmallChange属性返回或设置当用户单击滚动箭头时,滚动条控 件Value属性值的改变量。LargeChange与SmallChange属性取值范 围是1~32767之间的整数,包括1和32767,默认设置值均为1。

6.7 定时器、滚动条控件
Scroll事件与Change事件的区别在于:
当滚动条控件滚动时Scroll事件一直发生,而Change事件只在滚动 结束之后才发生一次。

6.7 定时器、滚动条控件
定时器
? 定时器控件利用计算机内部的时钟,有规律地定时执行指定的操作, 常常用于编写不需要与用户交互就可直接执行的代码,如计时、倒计 时、动画等。 ? 定时器控件的缺省名称为Timer1、Timer2、…,微软建议定时器名 称的前缀为:tmr

定时器的大小是不可改变的,并且程序运行时不可见, 因此,它没有大小、位置以及Visible属性,在界面设计时 可以放置在窗体的任何位置。

6.7 定时器、滚动条控件
主要属性
① Enabled属性:用于决定定时器控件是否随时间的推移,在到达时间 间隔时响应Timer事件。当Enable属性值为True(缺省值)时,激活定 时器开始计时;当Enable属性值为False时,定时器处于休眠状态、 不计时。 Interval属性:用于设定定时器触发Timer事件的事件间隔,单位为毫 秒。它的取值范围0~65535,1000代表1秒,缺省值为0,此时,定时 器不起作用。如果一个窗体中有多个定时器控件,它们各自的时间间 隔是相互独立的。



6.7 定时器、滚动条控件
定时器的Timer事件
定时器控件只响应一个事件,即Timer事件。当Enable属性值为True 且Interval属性值大于0时,该事件以Interval属性指定的时间间隔发生。

6.7 定时器、滚动条控件
例如:数字时钟

1、界面设计: 添加标签Label1、Label2和一个定时器Timer1,并设置两个标签框的 AutoSize属性值为True,定时器Timer1的Interval属性值为1000。

6.7 定时器、滚动条控件
2、过程设计: 程序运行时,调用当前的系统时间,在窗体上显示数字钟,并每秒钟 更新时间内容。

Private Sub Timer1_Timer() Label1.Caption = "当前时间是:" & Hour(Time) & "时" &

Minute(Time) & "分" & Second(Time) & "秒" Label2.Caption = "当前日期是:" & Date End Sub

6.7 定时器、滚动条控件
例:滚动字幕 1、界面设计: 窗体上添加Label1、Timer1和Command1,并设置定时器Timer的 Interval属性值为100。

6.7 定时器、滚动条控件
2、过程设计: 程序运行后,标签从左向右移动,移出窗体右边界后重新从窗体的左边进入。 Private Sub Command1_Click() If Command1.Caption = "开始" Then Timer1.Enabled = True Command1.Caption = "停止" Else Timer1.Enabled = False Command1.Caption = "开始" End If End Sub Private Sub Timer1_Timer() If Label1.Left <= Form1.Width Then Label1.Left = Label1.Left + 100 Else Label1.Left = 0 End If End Sub

THE END


相关文章:
VB第6章循环结构
第六章循环结构 计算机专业第六章循环结构 VB 试题班级:___考号:___姓名:_...下列能正确实现 上述功能的程序是( )(2 分) B、label1.name=list1.list...
VB循环结构,教学设计
6、 思考并回答新课中的三个问题; 7、 进行思考练习阶段,要求学生先看懂程序,...篇: 【付晓弓】 《vb 循环结构》教学设计及反思 vb 循环结构 南京市江宁区...
VB循环结构测试题及答案
VB循环结构测试题及答案_IT认证_资格考试/认证_教育专区。VB测试题 及答案 ...(B) I=1 do I=I+2 loop until I=10 (D) I=6 do I=I-2 loop ...
VB基本知识及选择、循环结构习题
1 一、VB 基本知识及选择、循环结构习题 一、基本概念题 (1) 说明下列哪些是...1 4 7 D.1 2 3 4 5 6 4 5 2 4 6 4 6 7 8 9 7 8 9 3 6 ...
VB基本知识及选择、循环结构习题
VB基本知识及选择、循环结构习题_IT认证_资格考试/认证_教育专区。一、VB 基本...1 4 7 D.1 2 3 4 5 6 4 5 2 4 6 4 6 7 8 9 7 8 9 3 6 ...
北邮VB阶段作业
VB.NET 中,具有三种结构,即顺序结构,选择结构 和循环结构. 2. 1. 正确...错误 知识点: 第 6 章 过程 学生答 [A;] 案: 得分: 提示: 、单项...
vb循环结构选择题
vb循环结构选择题_电脑基础知识_IT/计算机_专业资料。计算机VB考试题 ...(2) = 6 a(3) = 7: a(4) = 8 ss a() For i = 1 To 4 Print...
VB填空题
t End Sub 系统答案:选择,6,12 //三种程序结构:顺序结构、选择结构、循环结构 2、(选修) 数学表达式转换为 VB 表达式为“___(a*b)/(6*___+___(a-b...
教学设计+长沙县九中+信息技术+朱高荣+VB循环结构教学设计
教学设计+长沙县九中+信息技术+朱高荣+VB循环结构教学设计_其它_计划/解决方案...6 分钟) 1、师生共同分析 For 循环语句的执行过程 2、关于 FOR 循环语句的...
实验五 VB 循环结构程序设计(基础)
26页 5财富值 vb第5章循环结构程序设计 86页 免费喜欢此文档的还喜欢 ...[Step 步长] 循环体 [Exit For] Next 循环变量 例 2 :求自然数 N 的阶乘...
更多相关标签: