VB编程序的基本结构

上传人:仙*** 文档编号:47439218 上传时间:2021-12-20 格式:PPT 页数:65 大小:2.13MB
收藏 版权申诉 举报 下载
VB编程序的基本结构_第1页
第1页 / 共65页
VB编程序的基本结构_第2页
第2页 / 共65页
VB编程序的基本结构_第3页
第3页 / 共65页
资源描述:

《VB编程序的基本结构》由会员分享,可在线阅读,更多相关《VB编程序的基本结构(65页珍藏版)》请在装配图网上搜索。

1、第第3 3章章 程序的基本结构程序的基本结构程序开发的两步程序开发的两步程序基本控制结构(三种)程序基本控制结构(三种)3.1 顺序结构顺序结构 顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行。顺序结构就是各语句按出现的先后次序执行顺序结构就是各语句按出现的先后次序执行 顺序结构可以独立使用构成一个简单的完整程序,常见的输入、计算,输出三部曲的程序就是顺序结构,例如计算圆的面积。语法格式:语法格式:变量名变量名 = = 表达式表达式 3.1.1 赋值语句赋值语句功能功能: 计算赋值号计算赋值号“=”右边表达式的值,然后赋给赋右边表达式的值,然后赋给赋值号值号“=”左边的

2、变量。左边的变量。给变量赋值和设定属性是VB编程中常见的两个任务如以下语句, n = n + 1 计数累加计数累加 Label1.Text 欢迎使用VB 本书目录本书目录6 以下语句形式很常用:以下语句形式很常用: dim sum% , x%dim sum% , x% sum=100 : x=5 sum=100 : x=5 sum = sum + x sum = sum + x 执行后,执行后,sumsum的值为多少?的值为多少? dim n%dim n% n=7 n=7 n = n + 1 n = n + 1 执行后,执行后,n n的值为多少?的值为多少?本书目录本书目录73.1.2 用户交

3、互函数用户交互函数 为了便于应用程序与用户之间进行信息交互,完成信息的输入和输出,用户可采用文本框、标签等控件来实现,也可用VB.NET提供的InputBox、MsgBox来实现。 InputBox的功能是等待并提示用户为程序运行输入指定的数据,简称“输入对话框”。 MsgBox的功能是进行提示,用以确认某种程序的操作,简称“消息框”。 本书目录本书目录81. InputBox (输入对话框函数)(输入对话框函数) 输入对话框一般由标题、提示信息、“确定”按钮、“取消”按钮和一个供用户输入的文本框组成。当用户将输入信息输入到文本框,并单击“确定”按钮后,函数返回用户输入的字符串数据。当单击“取

4、消”按钮时,返回一个空字符串。语法格式:语法格式:InputBox(Prompt,Title,Default)本书目录本书目录9例例 创建一个输入对话框。如下图所示:创建一个输入对话框。如下图所示:Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _Handles Me.Click Dim myvalue As Object myvalue = InputBox(请输入数值,数值在13之间!, 输入提示, 1) End Sub本书目录本书目录102. MsgBox(消息框)(消息框) Msg

5、Box函数用于在屏幕上的消息框中显示简短消息,并等待用户单击按钮,然后返回一个整数型的数值,让应用程序了解用户单击的是哪一个按钮。语法格式:语法格式: MsgBox(Prompt,Buttons ,Title)功能:在屏幕上显示一个消息框,根据选择确定其后的功能:在屏幕上显示一个消息框,根据选择确定其后的操作。操作。本书目录本书目录11 当用户单击消息框上的某按钮时,当用户单击消息框上的某按钮时,MsgBox函数将返回一个常函数将返回一个常量来确认该按钮被按动了,下表是按钮和常量之间的对应关系。通量来确认该按钮被按动了,下表是按钮和常量之间的对应关系。通过对返回值的判断,就可以确定消息框中到底

6、是哪个按钮被按动,过对返回值的判断,就可以确定消息框中到底是哪个按钮被按动,从而确定程序下一步的运行方式。从而确定程序下一步的运行方式。符号常量符号常量值值用户单击的按钮用户单击的按钮vbOK1“确定确定”vbCancel2“取消取消”vbAbort3“中止中止”vbRetry4“重试重试”vbIgnore5“忽略忽略”vbYes6“是是”vbNo7“否否”表表 Msgbox函数的可能返回值函数的可能返回值本书目录本书目录12例例 在Form1_Click()事件过程中定义一个消息框,代码如下:Private Sub Form1_Click(ByVal sender As Object, By

7、Val e As System.EventArgs) _ Handles Me.Click Dim s As Integer s = MsgBox(用户名必须包含数字和字母, 5 + 48, 警告) If s = vbCancel Then End 若用户单击若用户单击取消取消,则程序退出,则程序退出End Sub单击窗体,将弹出消息框,如图3-5所示。3.2 选择结构选择结构对于要对于要先做判断再选择的问题就要使用分支结构先做判断再选择的问题就要使用分支结构,如下面,如下面例子,例子, 分支结构的执行是依据一定的条件选择执行路径,分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句

8、出现的物理顺序。而不是严格按照语句出现的物理顺序。单分支结构单分支结构多行形式多行形式 If If 表达式表达式 ThenThen 语句块语句块 End IfEnd If单行形式单行形式 If If 表达式表达式 Then Then 语句块语句块表达式语句块TF 当表达式的值为当表达式的值为True,执行,执行Then后面的语句块,后面的语句块,否则不做任何操作。否则不做任何操作。单分支结构单分支结构关系表达式:关系表达式:If If x y x y Then num1=50 : MsgboxThen num1=50 : Msgbox(“你好!你好!”)If If (x+30)(x+30)*

9、*100 = (y20) 100 y) or (num1y) or (num1=num2) Then i=i+1Then i=i+1算术表达式算术表达式If If 5+35+3 Then j=j+2 Then j=j+2If If num1+num2num1+num2* *10 10 Then sum=sum-num3 Then sum=sum-num3例:将保存在变量例:将保存在变量a和和 b中的整中的整数按升序排列数按升序排列。(即a的值一定不大于b的值)分析:分析:ab时,两者的值交换时,两者的值交换 If b a Then t = a a = b b = t End If 单分支结构举

10、例单分支结构举例也可改写成行也可改写成行IF语句,如下所示,语句,如下所示,If b a Then t = a : a = b: b = t123双分支结构双分支结构多行形式多行形式 If If 表达式表达式 ThenThen 语句块语句块1 1 ElseElse 语句块语句块2 2 End IfEnd If 单行形式单行形式If If 表达式表达式 Then Then 语句块语句块1 1 Else Else 语句块语句块2 2当表达式的值为当表达式的值为True时,执行时,执行Then后面的语句块后面的语句块1,否则执行,否则执行Else后面的语句块后面的语句块2表达式表达式语句块语句块1语

11、句块语句块2TFIfThenElse双分支结构举例双分支结构举例例例 通过InputBox输入实数x,求下列分段函数f(x)值,最后通过MsgBox输出f(x),其中:编制事件过程编制事件过程Form1_Click如下:如下:Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Click Dim x As Single x = Val(InputBox(输入实数x, 计算分段函数的值) If x = 4 Then MsgBox(f(x)= + Str(1 - x *

12、x) Else _ MsgBox(f(x)= + Str(x - 4) 0.25) End Sub思考:该处续行符思考:该处续行符能否去掉?能否去掉?例例: 计算当计算当 0 x10时,时,y=x,否则,否则 y=100 ,正确的语句正确的语句是是_。A. If 0 x10 then y=x else y=100B. If 0 x and x10 then y=x else y=100 C. If 0 x and x10 then y=x else y=100D. If 0 x or x= A And UCase(ch) = 0 And ch a Then c = a: a = b: b =

13、cEnd IfIf b c Then x = b ElseIf a c Then x = c Else x = aEnd IfMsgbox( x=“ & x)End SubPrivate Sub Form1_Click()Dim a, b, c, d As SingleDim x As Singlea = 100b = 20c = 1000 x=100If语句的嵌套是指语句的嵌套是指If或或Else后面的语句块中又包含后面的语句块中又包含If语句语句. If 表达式表达式1 Then If 表达式表达式2 Then End If End IfIf语句的嵌套语句的嵌套 本章目录本章目录Selec

14、t case语句语句Select Case 变量或表达式变量或表达式 Case 表达式列表表达式列表1 语句块语句块1Case 表达式列表表达式列表2 语句块语句块2Case Else 语句块语句块n+1End Select表达式列表表达式列表 i 必须与必须与“变量或表达式变量或表达式”的类型相同的类型相同表达式列表表达式列表 i是下面三种形式之一:是下面三种形式之一:1.1.表达式 例: “A“ 例: 52.2.表达式表达式1 To 1 To 表达式表达式2 2 例:60 To 100 例:“a”to”z”较小的数值要出现在较小的数值要出现在 To 之前之前3. Is 3. Is 表达式(

15、配合关系运算符)表达式(配合关系运算符)例:Is =304. 4. 以上三种形式的以逗号分隔的以上三种形式的以逗号分隔的任意组合枚举值任意组合枚举值例:2,4 to 8,is50,is-7注意:注意:变量的类型或表达式的结果必变量的类型或表达式的结果必须为数值或字符串。须为数值或字符串。对于多个变量进行条件判断时,对于多个变量进行条件判断时,不能使用不能使用select case语句,只能语句,只能使用使用IF 语句语句将将前面的例子前面的例子改用改用 Select Case Select Case 语句实现:语句实现: Select Case chSelect Case ch Case a

16、To z, A To Z Case a To z, A To Z MsgBox (ch + MsgBox (ch + 是字母字符是字母字符) Case 0 To 9 Case 0 To 9 MsgBox (ch & MsgBox (ch & 是数字字符是数字字符) Case Else Case Else MsgBox (ch + MsgBox (ch + 是其他字符是其他字符) End SelectEnd SelectSelect语句举例语句举例 Dim Number% Number = Val(InputBox(输入整数) Select Case Number Case 1 To 5 范围为

17、范围为1,5 Msgbox( Between 1 and 5“) Case 6, 7, 8 Msgbox (Between 6 and 8“) Case 9, 10 Msgbox (Greater than 8“) Case Else Msgbox (Not between 1 and 10“) End SelectSelect语句举例语句举例2828例:编写程序例:编写程序, ,当输入当输入X X的值后用的值后用Selct CaseSelct Case语句语句 计算输出计算输出Y Y的值。的值。 Private Sub Button1_Click(ByVal _ sender As Syst

18、em.Object, ByVal e As _ System.EventArgs) Handles _ Button1.Click Dim x, y As Single x = Val(TextBox1.Text) Select Case x Case Is 0 y = x Case Is = 10 y = x * x Case Is yTmax = IIf(x y,x x,y) y) 该语句与如下语句等价该语句与如下语句等价 :IfIf x y x y ThenThen Tmax = x Tmax = x ElseElse Tmax = y Tmax = y IIF函数函数3.3 循环结构循

19、环结构问题问题1: 求求 1100之间的奇数之和之间的奇数之和 即计算即计算 1 + 3 + 5 + 7 + 9 + 。 + 97 + 99 变量变量 i : 从从1 到到 100 之间的奇数之间的奇数 和:和: 变量变量sum 最初设置最初设置sum=0 第一次:第一次:i的初值为的初值为1 sum=sum+i sum=0+1=1 第二次第二次 :i=i+2 执行后执行后 i=3 sum=sum+i 执行后执行后 sum=4 第三次第三次 :i=i+2 执行后执行后 i=5 sum=sum+i 执行后执行后 sum=9 。 直至直至i=终值终值 当当步长步长为为1时,可省略时,可省略Step

20、Step 步长步长 。 0 初值初值终值终值 不执行循环体不执行循环体=终值终值, 则循环则循环 若若 初值初值 终值终值通过通过Exit For循环变量循环变量= 初值初值循环变量循环变量= 终值终值循环体循环体循环变量循环变量 =循环变量循环变量 +步长步长TFExit ForFOR循环的执行流程循环的执行流程循环终止条件:循环终止条件:循环变量循环变量 = 终终值值循环体循环体循环变量循环变量 =循环变量循环变量 +步长步长TFExit ForFORFOR语句的循环次数如何计算?语句的循环次数如何计算? For i=1 to 3 step 1For i=1 to 3 step 1 循环次

21、数:循环次数: ( (3-1)/1 )+1( (3-1)/1 )+1For i=1 to 5 step 2For i=1 to 5 step 2 循环次数:循环次数: ( (5-1)/2)+1( (5-1)/2)+1For i=1 to 6 step 2For i=1 to 6 step 2 循环次数:循环次数: int( (6-1)/2)+1int( (6-1)/2)+1For i=6 to 1 step -2 For i=6 to 1 step -2 ( (注意:步长为负数注意:步长为负数) ) 循环次数:循环次数: int( (1-6)/(-2) )+1int( (1-6)/(-2) )

22、+1计算下列循环语句的次数计算下列循环语句的次数(1)For i= 5.5 to 3.5 step -0.5Int ( ( 3.5-5.5)/(-0.5)+1 =5(2) For i= 3.5 to 5.5 step -0.5 不执行循环体不执行循环体(3) For i= -3 to 20 step 0步长为步长为0,死循环,死循环循环体内需要有循环体内需要有 exit for 语句才可跳出该循环语句才可跳出该循环3939例例4.8 下列下列程序结果是(程序结果是( )?)? Private Sub Form1_Click(ByVal sender As _ Object, ByVal e A

23、s System.EventArgs) _ Handles Me.Click Dim i As Integer, sum As Long Dim t1#, n t1 = 1 : sum = 0 : n = 0 For i = 1 To 3 n = n + 1 t1 = t1 * i sum = sum + t1 Next i MsgBox(sum= & sum & n= & n) End Sub注意:注意:跳跳出循环后,循环控出循环后,循环控制变量值的问题。制变量值的问题。例例:程序段:程序段: Dim i As Integer For i = 2 To 13 Step 3 Msgbox( i

24、) Next i Msgbox( i=“ & i)结果:结果:sum= 9 n= 3结果:结果: i 14 Dim s%, i% Dim s%, i% s = 1 s = 1 For i = 1 To 10 For i = 1 To 10 s = s s = s * * i i If i = 2 ThenIf i = 2 Then Exit For Exit For End If End If Next i Next i Msgbox(“s=“ & s & “ i=“ & i) Msgbox(“s=“ & s & “ i=“ & i)通过通过Exit For 语句终止循环后,语句终止循环后,循

25、环控制变量循环控制变量 的值?的值?s=2 i=2FOR循环举例循环举例例:例: 求求100以内能被以内能被3和和7整除的所有正整数之和整除的所有正整数之和. 要求打印要求打印出符合条件的正整数以及他们的和。出符合条件的正整数以及他们的和。 Dim sum%, i% sum = 0 For i = 1 To 100 If (i Mod 3) = 0 And (i Mod 7) = 0 Then sum = sum + i msgbox (i=“ & i) End If Next i msgbox( sum=“ & sum)结果:结果:i= 21i= 42i= 63i= 84sum= 210例:

26、判断例:判断x是否是素数?是否是素数?注:素数又称质数。指注:素数又称质数。指仅能被仅能被1和此整数自身整除的大于或等和此整数自身整除的大于或等于于2的整数的整数。判别方法是。判别方法是: 对于数对于数x 从从 i=2,3,x-1判别判别x能否被能否被i整除,只要有一个能整除,只要有一个能整除,整除,x就不是素数,否则就不是素数,否则x是素数。是素数。 Dim x , i as integer, flag as boolean x = Val(InputBox(“输入一个大于1,且小于32767的正整数) flag=true For i = 2 To x - 1 If (x Mod i) =

27、0 Then Msgbox( x & 不是素数 “& x & mod & i & =0“) flag=false Exit For End If Next i If ? Then Msgbox( x & 是素数“)flag=true另一种判断方法:另一种判断方法:对执行完循环体后循环变对执行完循环体后循环变量量i的值进行判断的值进行判断3.3.2 DoLoop语句语句问题:问题: 需统计某班成绩(需统计某班成绩(mark) 大于大于80 的学生人数的学生人数(num) num初始值设为初始值设为0循环条件:循环条件:mark80 时,时,num=num+1 但循环次数知道么?但循环次数知道么?

28、循环次数需要根据条件来判断循环次数未知循环次数需要根据条件来判断循环次数未知使用使用 DoLoop语句语句3.3.2 DOLoop语句语句DoLoop语句用于语句用于循环次数未知循环次数未知的循环结构的循环结构。格式格式1: DoDo WhileWhile| |Until Until 条件条件 语句块语句块 Exit Do Exit Do 语句块语句块 LoopLoop格式格式2: DoDo 语句块语句块 Exit Do Exit Do 语句块语句块 LoopLoop WhileWhile| |Until Until 条件条件 特点:特点:1.先执行后判断先执行后判断,循环体,循环体至少执行一

29、次至少执行一次2.循环次数循环次数 1特点:特点:1.先判断后执行先判断后执行,循环体,循环体可能一次可能一次都不执行都不执行2.循环次数循环次数 0。While条件:条件: 条件结果为条件结果为True(或(或 非非0)时执行循环体;为)时执行循环体;为False(或或0)时结束循环时结束循环Until条件:条件: 条件结果为条件结果为True(或(或 非非0)时结束循环体;为)时结束循环体;为False(或或0)时执行循环时执行循环4545Dim i ,x as integeri=4x=5DO while i 0 i=i+1 x=x+2Loop Msgbox( “i=“ & I &“ x=

30、“ & x)循环体执行的次数?循环体执行的次数?程序段的执行结果?程序段的执行结果?执行次数:执行次数:0次次结果为结果为: i= 4 x= 5Dim i ,x as integeri=4X=5DO i=i+1 x=x+2Loop while i 0Msgbox( “i=“ & I &“ x=“ & x)执行次数:执行次数:1次次结果为结果为: i= 5 x= 7思考:思考:while位于关键字位于关键字Do后面和位于关键字后面和位于关键字loop后面对循环后面对循环控制的区别控制的区别 ?4646Dim i%,x%i=6x=9DO while i = 7 i=i+1 x=x+2Loop Ms

31、gbox( “i=“& i &“ x=“ & x)循环体执行的次数?循环体执行的次数?程序段的执行结果?程序段的执行结果?执行次数:执行次数:2次次 结果为结果为: i= 8 x= 13Dim i%,x%i=6x=9DO i=i+1 x=x+2Loop while i =1次时,次时,while关关键字可以写在键字可以写在Do关键字或者关键字或者Loop关键字关键字 的后面的后面4747Dim i% , x%i=6x=9DO while i = 6 i=i+1 x=x+2Loop Msgbox( “i=“ & i &“ x=“ & x)循环体执行的次数?循环体执行的次数?程序段的执行结果?程序

32、段的执行结果?执行次数:执行次数:1次次 结果为结果为: i= 7 x= 11Dim i% , x%i=6x=9DO i=i+1 x=x+2Loop while i =0 n = n + 1 j = j + n * (n + 1)LoopMsgbox(“n=“ & n & “ j=“ & j)循环体执行的次数?循环体执行的次数?程序段的执行结果?程序段的执行结果?执行次数:执行次数:0次次结果为结果为: n=0 j=1Dim j% ,n%j = 1: n = 0Do n = n + 1 j = j + n * (n + 1)Loop Until n =0Msgbox(“n=“ & n & “

33、j=“ & j)执行次数:执行次数:1次次结果为结果为: n=1 j=3思考:思考:Until位于关键字位于关键字Do后面后面和位于关键字和位于关键字Loop后面对循环后面对循环控制的区别控制的区别 ?4949Dim i%, x%i=4x=5DO until i 4 i=i+1 x=x+2Loop Msgbox(“i=“ & i & “ x=“ & x)执行次数:执行次数:1次次结果为结果为: i= 5 x= 7Dim i%, x%i=4x=5DO i=i+1 x=x+2Loop until i 4Msgbox( “i=“ & i & “ x=“ & x)执行次数:执行次数:1次次结果为结果为

34、: i= 5 x= 7使用使用Until 关键字时,循环次数关键字时,循环次数=1次时,次时,Until关键字可以写在关键字可以写在Do关键字关键字或者或者Loop关键字关键字 的后面的后面珠穆朗玛峰珠穆朗玛峰高度:高度:8848米米例:将厚度为例:将厚度为0.5毫米的纸张对折多毫米的纸张对折多少次后,其总厚度可超过珠穆朗玛少次后,其总厚度可超过珠穆朗玛峰的高度?峰的高度?Dim num%, n!n=0.5*10(-3)num=0Do until n 8848 n=2*n num=num+1 LoopMsgbox(“折叠次数为折叠次数为“ & num)能否以毫米做单位?能否以毫米做单位?Dim

35、 num% , n!n=0.5Do until n8848*103可以,因为可以,因为n为单精度为单精度类型,不会溢出类型,不会溢出例:用例:用辗转相除法辗转相除法(欧几里德算法欧几里德算法),求),求正整数正整数m和和n的最大公约数和最小公倍数的最大公约数和最小公倍数最大公约数最大公约数 算法:算法:1. 对于已知两数,令对于已知两数,令mn2.令令r为为m / n 所得余数所得余数 (0 r n) 若若 r= 0,算法结束;,算法结束;n 即为最即为最大公约数。大公约数。3. 互换:置互换:置 mn,nr,并返回,并返回第第2步步Private Sub Form1_Click(ByVal

36、_ sender As Object, ByVal e As _ System.EventArgs) Handles Me.Click Dim r%, m%, n% m = InputBox(请输入正整数请输入正整数m!) n = InputBox(请输入正整数请输入正整数n!) r = m Mod n Do While (r 0) m = n n = r r = m Mod n Loop MsgBox(最大公约数最大公约数= & n) End Sub3.3.3 多重循环多重循环 在一个循环体内又在一个循环体内又包含了另一个完整的循包含了另一个完整的循环称为循环的嵌套。环称为循环的嵌套。 左边

37、的嵌套循环也左边的嵌套循环也称为双重循环称为双重循环注意:要避免循环交叉注意:要避免循环交叉Dim i%, j% Dim i%, j% Dim n%, m%, k%Dim n%, m%, k%m = 0: k = 0m = 0: k = 0For i = 1 To 5For i = 1 To 5 k = k + 1k = k + 1 n = 0 n = 0 For j = 1 To 3 For j = 1 To 3 n = n + 1 n = n + 1 m = m + 1 m = m + 1 Next j Next jNext iNext i1 12 23 34 45 56 67 78 89

38、 9101011115353 For i=1 To 10 For i=1 To 20 Next i Next i For i =1 To 10 For j=1 To 20 Next j Next i For i =1 To 10 For j=1 To 20 Next i Next j For i =1 To 10 Next i For i =1 To 10 Next i对于循环的嵌套,要注意以下事项:对于循环的嵌套,要注意以下事项:内循环变量与外循环变量不能同名;内循环变量与外循环变量不能同名;外循环必须完全包含内循环,不能交叉;外循环必须完全包含内循环,不能交叉;不能从循环体外转向循环体内,

39、反之则可以。不能从循环体外转向循环体内,反之则可以。正确正确错误错误错错错错小技巧:小技巧:Next后不写后不写循环变量名,可避免循环变量名,可避免循环交叉。循环交叉。3.3.3 多重循环多重循环Dim i%, j% Dim i%, j% Dim n%, m%, k%Dim n%, m%, k%m = 0: k = 0m = 0: k = 0For i = 1 To 5For i = 1 To 5 k = k + 1k = k + 1 n = 0 n = 0 For j = 1 To 3 For j = 1 To 3 n = n + 1 n = n + 1 m = m + 1 m = m +

40、1 Next j Next jNext iNext iMsgbox(i= & i)Msgbox(i= & i)Msgbox(j= & j)Msgbox(j= & j)Msgbox(k= & k)Msgbox(k= & k)Msgbox(n= & n)Msgbox(n= & n)Msgbox(m= & m)Msgbox(m= & m)1 12 23 34 45 56 67 78 89 910101111121213131414151516161.外循环(外循环(i循环)的循环体中的语循环)的循环体中的语句句5共执行了多少次?共执行了多少次?答案:答案:52.内循环(内循环(j循环)的循环体中的语

41、循环)的循环体中的语句句9共执行了多少次?共执行了多少次?答案:答案:5*33.双重循环结束后,变量双重循环结束后,变量 i, j, n, m, k的值分别是多少?的值分别是多少?答案:答案: i= 6 j=4 k= 5 n=3 m= 154.语句语句7执行了多少次?执行了多少次? 答案:答案: 5次次3.3.3 多重循环多重循环 问题:当时钟转了问题:当时钟转了1 1圈时(即圈时(即1212个小时),秒针在这段时间个小时),秒针在这段时间向前走了多少下?每走一向前走了多少下?每走一下为下为1 1秒秒思考:思考:秒针走满秒针走满1 1圈,分针圈,分针+1+1;秒针;秒针又从头开始走又从头开始走

42、分针走满分针走满1 1圈,时针圈,时针+1+1;分针、秒针从头开始走分针、秒针从头开始走时针走满时针走满1 1圈,即圈,即1212小时,循小时,循环结束环结束Dim i%, j%Dim i%, j%,k% k% ii为时针,为时针,j j为分针,为分针,k k为秒针为秒针Dim num%Dim num%num=0num=0For i = 1 To 12For i = 1 To 12 for j=1 to 60for j=1 to 60 for k=1 to 60 for k=1 to 60 num=num+1 num=num+1 Next kNext k Next j Next jNext i

43、Next iMsgboxMsgbox(“num=“ & numnum=“ & num)问题:循环结束后,问题:循环结束后,num为多少为多少?多重循环的循环次数等于每一重多重循环的循环次数等于每一重循环次数的乘积循环次数的乘积num=43200例:输出矩形的九九乘法表例:输出矩形的九九乘法表分析:分析:i解决此类问题的一般规律是利用双重循环:解决此类问题的一般规律是利用双重循环:1.外循环控制行外循环控制行2.内循环控制列内循环控制列如此,可写出基本框架:如此,可写出基本框架:九九表可看作是由字符组成的平面图形。九九表可看作是由字符组成的平面图形。 Private Sub Form1_Clic

44、k(ByVal sender As Object, ByVal e As _ System.EventArgs) Handles Me.Click Dim j As Integer, i As Integer Dim s As String For i = 1 To 9 For j = 1 To 9 s = s & i & x & j & = & String.Format(0,-6, Str(i * j) Next j s = s & vbCrLf vbCrLf用来控制换行用来控制换行 Next i Label1.Text = s End Sub59591. Exit1. Exit语句语句

45、在在VB.NetVB.Net中,有多种形式的中,有多种形式的ExitExit语句,用于退出某语句,用于退出某种控制结构的执行。种控制结构的执行。 ExitExit的形式如下:的形式如下:Exit ForExit For、Exit DoExit Do、Exit SubExit Sub、Exit FunctionExit Function等。等。2. End2. End语句语句 独立的独立的EndEnd语句用于结束一个程序的运行,它可以放语句用于结束一个程序的运行,它可以放在任何事件过程中。在任何事件过程中。 在在VB.NetVB.Net中,还有多种形式的中,还有多种形式的EndEnd语句,用于结

46、束一语句,用于结束一个过程或块,在控制语句或过程中经常使用。个过程或块,在控制语句或过程中经常使用。EndEnd语句语句的多种形式如下:的多种形式如下:End IfEnd If、End SelectEnd Select、End WithEnd With、End Type End Type 、End End Sub Sub 、End Function End Function 等,它与对应的语句配对使用。等,它与对应的语句配对使用。3.3.4 退出和结束语句退出和结束语句 603.4综合应用综合应用结果是每项累加之和。假设累加之和放在变量结果是每项累加之和。假设累加之和放在变量ee中中 ,其变量

47、类型?,其变量类型? 初值?初值? 变量类型:!变量类型:! 初值初值=0每项写为1/t 分析分母t: 第一项:0!=1 令 t=1 i的初值? 第二项:1 !1 *0! t=1*t t=i*t i=1 第三项:2! 2* 1 ! t=2*t t=i*t i=2 第四项 :3! 3* 2! t=3*t t=i*t i=3 第K项 : (K-1)! (k-1)* t 例例:求自然对数求自然对数e e的近似值,要求其误差的近似值,要求其误差小于小于0.00001 0.00001 。公式公式: : niiiine10!11!1!1! 31! 21! 111t的数据类型的数据类型? 变量变量t 初值:

48、初值:1 结束的判断?结束的判断? 要求其误差要求其误差小于小于0.000010.00001, 即即 1/t 0.000011/t 0.00001时结束循环时结束循环 do until 1/t 0.00001do until 1/t do while 1/t= = 0.000010.00001 niiiine10!11!1!1! 31! 21! 111循环体: ee=ee+1/t i=i+1 循环体外,设置循环体外,设置i的初值为的初值为0 t=i*t Private Sub Form1_Click(ByVal sender As Object, ByVal e As _ System.Eve

49、ntArgs) Handles Me.Click Dim i%, n&, t!, ee! ee = 0 ee存放累加和存放累加和 i = 0 : t = 1 i计数器、计数器、 t第第i项的值项的值 Do While 1 / t = 0.00001 ee = ee + 1 / t 累加、连乘累加、连乘 i = i + 1 为下一项作准备为下一项作准备 t = t * i 求阶乘求阶乘 Loop MsgBox(计算了 & i & 项的和是 & ee) End Sub63。Private Sub Form1_Click(ByVal sender As Object, ByVal e As _ Sy

50、stem.EventArgs) Handles Me.Click Dim i%, a%, b%, c% For i = 100 To 999 a = i 100 分离百位数分离百位数 b = (i Mod 100) 10 分离十位数,整除的级别高于分离十位数,整除的级别高于Mod,所以加括号,所以加括号 c = i Mod 10 分离个位数分离个位数 If i = a 3 + b 3 + c 3 Then Label2.Text = Label2.Text & & i End If Next i End Sub例:编一程序例:编一程序, ,显示出所有的水仙花数显示出所有的水仙花数. . 所谓水

51、仙花数所谓水仙花数, ,是指一个是指一个3 3位数位数, ,其各位数字立方和等于该数字本身其各位数字立方和等于该数字本身. .例如例如,153,153是水是水仙花数仙花数, ,因为因为 153=1153=13 3+5+53 3+3+33 3 。方法方法1:分离三位数:分离三位数64Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click Dim i%, a%, b%, c% Dim i%, a%, b%, c% For a For a = 1 To 9 = 1 To

52、 9 百位百位 For b For b = 0 To 9 = 0 To 9 十位十位 For c For c = 0 To 9 = 0 To 9 个位个位 i = 100 i = 100 * * a + 10 a + 10 * * b + c b + c If a 3 + b 3 + c 3 = i Then Label2.Text = Label2.Text & & iIf a 3 + b 3 + c 3 = i Then Label2.Text = Label2.Text & & i Next cNext c Next bNext b Next aNext aEnd Sub方法方法2:三重循环:三重循环CHAP3 程序的控制结构程序的控制结构-小结小结

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!