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

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


相关文章:
实验二 选择、循环结构程序设计(6学时)
实验报告课程 VB 程序设计 实验项目 选择、 循环结构程序设计(6 学时) 成绩 专业班级 姓名 2015 级经济学四班杨自然 学号 201531100361 实验日期 实验目的(1)...
vb循环结构选择题
vb循环结构选择题_电脑基础知识_IT/计算机_专业资料。计算机VB考试题 ...2.1 Step 0.6 s=s+1 Next i Print s End Sub A、5 B、6 C、7 D...
VB循环结构测试题及答案
VB循环结构测试题及答案_IT认证_资格考试/认证_教育专区。VB测试题 及答案 ...(B) I=1 do I=I+2 loop until I=10 (D) I=6 do I=I-2 loop ...
VB课后习题答案
(‖ VB 程序设计‖ )【6】 第4章 1、 结构化程序设计的三种基本结构是什么...答:顺序结构、选择结构和循环结构2、 指出下列赋值语句中的错误(包括运行时...
VB课后习题答案
【2000-2-29】 (6) Len(‖VB 程序设计‖)【6】? 第4章 1、 结构化程序设计的三种基本结构是什么? 答:顺序结构、选择结构和循环结构2、 指出下列赋值...
第32次VB课程安排
上机作业:VB 上机教程第三讲选择结构2-2、8 月 31 日,4 学时 主要讲述...3-1、9 月 1 日,4 学时 主要讲述内容:VB 笔试教程第六章循环和算法、第...
高中信息技术 第六章 第四节 循环结构教案 浙教版
这就要采用 循环结构,VB 中提供了两种语句实现循环结构,For-Next 语句和 Do-Loop 语句。 【例 6-6-1】求 s=1+2+3+??+100 利用赋值语句可写出如下形式...
VB选择和循环结构专练
VB 选择和循环结构专练()2013.3.23 16 下列程序运行时,从键盘输入字符"-...1*1=2 3*2=6 下面分别是求两个数中的大数的四个程序段,___不正确。...
VB 循环结构的程序设计
VB 循环结构的程序设计VB 循环结构的程序设计隐藏>> 实验五 循环结构的程序设计...(k * 6); m; Next k Print Next j End Sub Private Sub Command2_Click...
VB.循环结构程序设计
3页 2下载券 VB循环结构程序设计3 22下载券喜欢此文档的还喜欢 ...5. 理论教材 p297 第 10 题,操作可参照实验教材中 P53 页。 6. 附加题:...
更多相关标签: