21世纪高等学校计算机基础課系列教材 第6章环结构程序 没计
第6章 循环结构程序 设计 •人民邮电出版社 21世纪高等学校计算机基础课系列教材
循环结构程序设计 or环 For循环用于控制循环次数预知的循环 结构。它的语法如下: For循环变量=初值To终值[Step步长 语句块1 LExit For 「语句块2 Next循环变量 其中:循环变量必须是一个数值型的变 量,一般多用整型
循环结构程序设计 For循环结构 For循环用于控制循环次数预知的循环 结构。它的语法如下: For 循环变量=初值 To 终值 [Step 步长] 语句块1 [Exit For] [语句块2] Next [循环变量] 其中:循环变量必须是一个数值型的变 量,一般多用整型
匚开始( 循环结构程序设计 循环变量的初值 循环变量小 于终值 句块1 改变循环变量的值(循环变量加步长)
循环结构程序设计 T F T 循环变量小 F 于终值 语句块1 开始(start) …… …… 结束(end) 循环变量的初值 Exit For 语句块2 改变循环变量的值(循环变量加步长)
利用Fo循环结构显示1000以内的所有能被37整 除的自然数。 设计步骤如下 (1)窗体界面的设计与属性设置 (2)编写代码。 编写命令按钮的 Click事件代码 Form1 □区 Private Sub Command1 Click 333 开始” 407 a 按钮,可以在 For n=1 To 1000 481 女本框中显示 518 所有1000以内 Ifn mod 37=0 Then 555 592 能被37整除的 629 数 a=a str(n)& vbCrlf End If 777 开始 Next Text 1. Text =a End sub 能被37整除的自然数
利用For循环结构显示1000以内的所有能被37整 除的自然数。 设计步骤如下: (1) 窗体界面的设计与属性设置。 (2) 编写代码。 编写命令按钮的Click事件代码: Private Sub Command1_Click() a = "" For n = 1 To 1000 If n Mod 37 = 0 Then a = a & Str(n) & vbCrLf End If Next Text1.Text = a End Sub 能被37整除的自然数
当不知道循环的次数的时候,或者在循环次数不确定的情况 下,就不能再用For循环结构来实现程序的设计了, Visual Basic中提供了一个这样的结构,这就是Do…Loo结构 这种结构有两种不同的形式,下面分别讲解 D。Uhe….oP结构 这种形式是首先判断条件是否满足,然后根据条件来决定是否 执行后面的语句(循环体)。这种结构的语法形式为
Do … Loop结构 当不知道循环的次数的时候,或者在循环次数不确定的情况 下,就不能再用For循环结构来实现程序的设计了,Visual Basic中提供了一个这样的结构,这就是Do … Loop结构。 这种结构有两种不同的形式,下面分别讲解。 Do While … Loop结构 这种形式是首先判断条件是否满足,然后根据条件来决定是否 执行后面的语句(循环体)。这种结构的语法形式为:
循环结构程序设计的概念 0.L00语句 条件表达式的初值 前测型Do.Loop循环 条件表达 其语法为 式? Do While| Until}〈条件〉 语句块 〈语句列1 F Exit Dol 语句块2 〈语句列2〉 改变条件表达式 00p 结束(end
循环结构程序设计的概念 Do…Loop语句 前测型Do…Loop循环 其语法为 Do [{ While | Until }〈条件〉] [〈语句列1〉] [Exit Do] [〈语句列2〉] Loop F T F 条件表达 式? 语句块 开始(start) …… …… 结束(end) 条件表达式的初值 Exit Do? 语句块2 改变条件表达式
h Fornl 求累加和1+2+3+.+100(如) 今有100个数:1、2、 设计步骤如下: 00,试计算其累加和。 窗体界面的设计参见前面章节, 计算GN 这里仅给出命令按钮的 Click事件代 1+2+3+…+100=5050 码 Private Sub Commandl click 求累加和 Dim s as Integer, n As Integer Private Sub Commandl click s=0:n=1 Dim s As Integer, n As Integer Do While n 100 n=n+1 stn n=n+1 Label2 Caption=1+2+3+.+100= Loop &s Label2 Caption =1+2+3+...+100 End sub 还可以改为直到型: End sub
求累加和1 + 2 + 3 +…+ 100(如)。 求累加和 设计步骤如下: 窗体界面的设计参见前面章节, 这里仅给出命令按钮的Click事件代 码: Private Sub Command1_Click() Dim s As Integer, n As Integer s = 0: n = 1 Do While n 100 s = s + n n = n + 1 Loop Label2.Caption = "1+2+3+…+100 = " & s End Sub
后测型Do.L0op循环 其语法为 Do 〈语句列1〉 Exit Dol 语句列2) Loop{ While until}〈条件〉 输入有效数字的位数,利用下述公式计算圆周率π的近似值: =2.2 2 2 2+√2V2+√2+√2
后测型Do…Loop循环 其语法为 Do [〈语句列1〉] [Exit Do] [〈语句列2〉] Loop [{While | Until} 〈条件〉] 输入有效数字的位数,利用下述公式计算圆周率π的近似值: + + + = 2 2 2 2 2 2 2 2 2 2
开始( start) 条件表达式的初值 语句块1 Exit Do? F 语句块2 改变条件表达式 条件表达式? 结束(end
F T F 条件表达式? 语句块1 开始(start) …… …… 结束(end) 条件表达式的初值 Exit Do? 语句块2 改变条件表达式 T
设计步骤如下 (1)建立应用程序用户界面与设置对象属性。 2)编写程序代码。 根据流程图,可以写出命令按钮 Command1的 Click事 件代码为 Private Sub Command1 Click Form1 口 Dim m As Integer 计算圆周率 m=Val(Text1. Text 请输入有效数字位数:1o p=0#:S=2#:e=0.1^m Do 计算 t=s: p= Sqr(2+p):S=S*2/p 141592654 Loop Until Abs(t-S)<0. 1m f= String(m-1,"#") Text2 Text=Format(s, 0. " f Text l. setFocus 计算圆周率兀 End Sub
设计步骤如下: (1) 建立应用程序用户界面与设置对象属性。 (2) 编写程序代码。 根据流程图,可以写出命令按钮Command1的Click事 件代码为 Private Sub Command1_Click() Dim m As Integer m = Val(Text1.Text) p = 0#: s = 2#: e = 0.1 ^ m Do t = s : p = Sqr(2 + p) : s = s * 2 / p Loop Until Abs(t – s) < 0.1 ^ m f = String(m – 1, "#") Text2.Text = Format(s, "0." & f) Text1.SetFocus End Sub 计算圆周率π