VB循环结构程序设计4

  • 格式:doc
  • 大小:37.50 KB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB循环结构程序设计(二):Do循环Do循环语句一般用于解决循环次数未知的应用问题,如求素数、求最大公约数问题等,是根据某一条件来决定是否指行循环体。

在本节课中,我们要学习如下内容:

⑴Do{While|Until}…Loop循环的语法及执行过程⑵Do…Loop{While|Until}循环的语法及执行过程

⑶Do循环变量改变及循环条件的设置⑷两种Do循环语句的差异及执行流程

⑹Do循环变量改变及循环条件的设置

(一)Do循环语句语法

1.语句形式一,先判断后执行;

Do {While|Until} <条件>

语句块

[Exit Do]

语句块

Loop

2.语句形式一:先执行后判断

Do

语句块

[Exit Do]

语句块

Loop {While|Until} <条件>

功能:形式1为先判断后执行,有可能一次也不执行;形式2为先执行后判断,循环体至少执行一次;Do与Loop配对

While:当条件,即当条件为True时,执行循环体

Until:直到条件,即直到条件为True时退出循环,否则执行循环体

Exit Do:循环体遇到该语句时,退出Do…Loop循环执行Loop语句后语句

注意:要防止死循环,一般在循环体外设置循环变量,在循环体内用语句不断更改循环变量的值,从而有机会使循环条件成为真或假,退出循环。若出现死循环,可以使用Ctrl+Break键结束程序的执行。有时,根据需要,要人为设置死循环,如反复让计算机产生七个1-35这的随机数。这时,若用do While(条件)语句实现,可用如下语句:

Do While .T

Loop

(二)Do循环流程图

【举例1】求两数最大公约数、最小公倍数

Dim m, n, r, t As Integer

m = Val(Text1.Text) ‘取两个数M,N

n = Val(Text2.Text)

If m < n Then 指定M>N

t = n

n = m

m = t

End If

Do While n > 0 ‘用辗转相除法,直到N=0,

r = m Mod n

m = n

n = r

Loop

Label3.Caption = "最大公约数" & m ‘最大公约数存放在M中

t = m

m = Val(Text1.Text)

n = Val(Text2.Text)

Label4.Caption = Label4.Caption & Str(m * n / t) 最小公倍数mn/t

【举例2】求自然数e的值:e=1+1/1!+1/2!+…+1/n!+…,要求误差小于0.0000001

Dim i As Integer

Dim n As Long

Dim t, e As Double

e = 0 ‘累加器e赋值为0

i = 0

n = 1

t = 1 ‘t为第n项的值:1/n!

Do While t > 0.0000001 ‘没达到精度0.0000001,执行循环

e = e + t ‘累加

i = i + 1

n = n * I 求n的阶乘

t = 1 / n 求1/n!

Loop

Print "e=" & e, "循环次数为" & i

【举例3】学生练习1.求两数的最公约数、最小公倍数;

2.求100以内的素数,并输出;

3.求自然数e的值:e=1+1/1!+1/2!+…+1/n!+…,要求误差小于0.0000001(三)循环嵌套

一个循环体内以包含了一个完整的循环结构称为循环的嵌套。循环嵌套要求:⑴内层循环必须完全包含在外层循环中;⑵不同的循环层应采用不同的缩进方式表现出来,以增加程序的可读性

⑶不同的循环体应使用不同的循环变量

【举例4】打印九九乘法表

Dim Sgs As String

Dim i, j As Integer

For i = 1 To 9 ‘被乘数从1变到9

For j = i To 9 ‘乘数从1变到9

Sgs = i & "×" & j & "=" & Str(i * j) ‘打印公式如1×1=1

Picture1.Print Tab((j - 1) * 9 + 1); Sgs;

Next j

Picture1.Print

Next I