VB编程序的基本结构ppt课件

上传人:pu****.1 文档编号:568604764 上传时间:2024-07-25 格式:PPT 页数:65 大小:1.69MB
返回 下载 相关 举报
VB编程序的基本结构ppt课件_第1页
第1页 / 共65页
VB编程序的基本结构ppt课件_第2页
第2页 / 共65页
VB编程序的基本结构ppt课件_第3页
第3页 / 共65页
VB编程序的基本结构ppt课件_第4页
第4页 / 共65页
VB编程序的基本结构ppt课件_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《VB编程序的基本结构ppt课件》由会员分享,可在线阅读,更多相关《VB编程序的基本结构ppt课件(65页珍藏版)》请在金锄头文库上搜索。

1、第第3 3章章 程序的根本构造程序的根本构造程序开发的两步程序开发的两步程序根本控制构造三种程序根本控制构造三种3.1 顺序构造顺序构造顺序构造的程序设计是最简单的,只需按照处理问题的顺序写出相应的语句就行。顺序构培育是各语句按出现的先后次序执行顺序构造可以独立运用构成一个简单的完好程序,常见的输入、计算,输出三部曲的程序就是顺序构造,例如计算圆的面积。语法格式:法格式:变量名量名 = 表达式表达式 3.1.1 赋值语句赋值语句功能功能: 计算算赋值号号“=右右边表达式的表达式的值,然后,然后赋给赋值号号“=左左边的的变量。量。给变量赋值和设定属性是VB编程中常见的两个义务如以下语句,n=n+

2、1计数累加Label1.Text欢迎运用VB本书目录本书目录 以下以下语语句方式很常用:句方式很常用: 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的的值为值为多少?多少?本书目录本书目录3.1.2 用户交互函数用户交互函数 为了便于运用程序与用户之间进展信息交互,完成信息的输入和输出,用户可采用文本框、标签等控件来

3、实现,也可用VB.NET提供的InputBox、MsgBox来实现。 InputBox的功能是等待并提示用户为程序运转输入指定的数据,简称“输入对话框。 MsgBox的功能是进展提示,用以确认某种程序的操作,简称“音讯框。 本书目录本书目录1. InputBox 输输入入对话对话框函数框函数 输输入入对话对话框普通由框普通由标题标题、提示信息、提示信息、“确定确定按按钮钮、“取消按取消按钮钮和一个供用和一个供用户输户输入的文本框入的文本框组组成。当用成。当用户户将将输输入信息入信息输输入到文本框,并入到文本框,并单击单击“确确定按定按钮钮后,函数前往用后,函数前往用户输户输入的字符串数据。当入

4、的字符串数据。当单击单击“取消按取消按钮时钮时,前往一个空字符串。,前往一个空字符串。语语法格式:法格式:InputBox(Prompt,Title,Default)本书目录本书目录例例 创建一个建一个输入入对话框。如以下框。如以下图所示:所示:Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _Handles Me.ClickHandl

5、es Me.Click Dim myvalue As Object Dim myvalue As Object myvalue = InputBox( myvalue = InputBox(请输入数入数值,数,数值在在1313之之间!, , 输入提示入提示, 1), 1) End SubEnd Sub本书目录本书目录2. MsgBox 音音讯讯框框 MsgBox函数用于在屏幕上的音函数用于在屏幕上的音讯讯框中框中显显示示简简短音短音讯讯,并等待用,并等待用户单击户单击按按钮钮,然后前往一个整数型的数,然后前往一个整数型的数值值,让让运用程序了解用运用程序了解用户单击户单击的是哪一个按的是哪一个

6、按钮钮。语语法格式:法格式: MsgBox(Prompt,Buttons ,Title)功能:在屏幕上功能:在屏幕上显显示一个音示一个音讯讯框,根据框,根据选择选择确定其后的确定其后的操作。操作。本书目录本书目录 当用当用户单击户单击音音讯讯框上的某按框上的某按钮时钮时,MsgBox函数将前往一个常量来确函数将前往一个常量来确认该认该按按钮钮被按被按动动了,下表是按了,下表是按钮钮和常量之和常量之间间的的对应对应关系。关系。经过对经过对前往前往值值的的判判别别,就可以确定音,就可以确定音讯讯框中究竟是哪个按框中究竟是哪个按钮钮被按被按动动,从而确定程序下一步,从而确定程序下一步的运的运转转方式

7、。方式。符号常量符号常量值用用户单击的按的按钮vbOK1“确定确定”vbCancel2“取消取消”vbAbort3“中止中止”vbRetry4“重重试”vbIgnore5“忽略忽略”vbYes6“是是”vbNo7“否否”表表 Msgbox函数的能函数的能够前往前往值本书目录本书目录例例 在在Form1_Click事件事件过程中定程中定义一个音一个音讯框,代框,代码如下:如下:Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Click Dim s As Intege

8、r s = MsgBox(用用户名必需包含数字和字母名必需包含数字和字母, 5 + 48, 警告警告) If s = vbCancel Then End 假假设用用户单击取消取消,那么程序退出,那么程序退出End Sub单击窗体,将窗体,将弹出音出音讯框,如框,如图3-5所示。所示。3.2 选择构造选择构造对于要先做判别再选择的问题就要运用分支构造,如下面例子,分支构造的执行是根据一定的条件选择执行途径,而不是严厉按照语句出现的物理顺序。单分支构造单分支构造多行方式多行方式 If 表达式表达式 Then 语句句块 End If单行方式行方式 If 表达式表达式 Then 语句句块表达式语句块T

9、F 当表达式的当表达式的值为True,执行行Then后面的后面的语句句块,否那么不做任何操作。否那么不做任何操作。单分支构造单分支构造关系表达式:关系表达式:If x y Then num1=50 : Msgbox“他好!他好!If (x+30)*100 y) or (num1=num2) Then i=i+1算算术表达式表达式If 5+3 Then j=j+2If num1+num2*10 Then sum=sum-num3例:将保管在变量例:将保管在变量a a和和 b b中的整中的整数按升序陈列。即数按升序陈列。即a a的值一定的值一定不大于不大于b b的值的值分析:分析:abab ab时

10、,两者的时,两者的值交换值交换 If b a Then If b a Then t = a t = a a = b a = b b = t b = t End If End If 单分支构造举例单分支构造举例也可改写成行也可改写成行IF语句,如下所示,句,如下所示,If b a Then t = a : a = b: b = t123双分支构造双分支构造多行方式多行方式 If 表达式表达式 Then 语句句块1 Else 语句句块2 End If 单行方式行方式If 表达式表达式 Then 语句句块1 Else 语句句块2当表达式的当表达式的值为True时,执行行Then后面的后面的语句句块1

11、,否那么,否那么执行行Else后面的后面的语句句块2表达式表达式语句块语句块1语句块语句块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(输入入

12、实数数x, 计算分段函数的算分段函数的值) If x = 4 Then MsgBox(f(x)= + Str(1 - x * x) Else _ MsgBox(f(x)= + Str(x - 4) 0.25) End Sub思索:该处续行符思索:该处续行符能否去掉?能否去掉?例例: 计算当算当 0x10时,y=x,否那么,否那么 y=100 ,正确的正确的语句是句是_。If 0x10 then y=x else y=100If 0x and x10 then y=x else y=100 If 0x and x10 then y=x else y=100If 0x or x= A And UC

13、ase(ch) = A And UCase(ch) = 0 And ch = 0 And ch a Then c = a: a = b: b = 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 = 1000x=100If语语句的嵌套是指句的嵌套是指If或或Else后面的后面的语语句句块块中又包含中又包含If语语句句.

14、 If 表达式表达式1 Then If 表达式表达式2 Then End If End IfIf语语句的嵌套句的嵌套 本章目录本章目录Select case语句语句Select Case 变变量或表达量或表达式式 Case 表达式列表表达式列表1 语语句句块块1Case 表达式列表表达式列表2 语语句句块块2Case Else 语语句句块块n+1End Select表达式列表表达式列表 i 必需与必需与“变量或表达式的量或表达式的类型一型一样表达式列表表达式列表 i是下面三种方式之一:是下面三种方式之一:1.表达式表达式 例例: “A“ 例:例: 52.表达式表达式1 To 表达式表达式2 例

15、:例:60 To 100 例例:“atoz较小的数小的数值要出如今要出如今 To 之前之前3. Is 表达式配合关系运算符表达式配合关系运算符例:例:Is =304. 以上三种方式的以逗号分隔的恣以上三种方式的以逗号分隔的恣意意组合枚合枚举值例:例:2,4 to 8,is50,is-7留意:留意:变变量的量的类类型或表达式的型或表达式的结结果必需果必需为为数数值值或字符串。或字符串。对对于多个于多个变变量量进进展条件判展条件判别时别时,不能运用不能运用select case语语句,只能句,只能运用运用IF 语语句句将前面的例子改用将前面的例子改用 Select Case Select Case

16、 语句句实现: Select Case ch Select Case ch Case a 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 Select End SelectSelect语句举例语句举例DimNumber%Number=Val(InputBox

17、(输入整数)SelectCaseNumberCase1To5范围为1,5Msgbox(Between1and5“)Case6,7,8Msgbox(Between6and8“)Case9,10Msgbox(Greaterthan8“)CaseElseMsgbox(Notbetween1and10“)EndSelectSelect语句举例语句举例例:例:编写程序写程序, ,当当输入入X X的的值后用后用Selct CaseSelct Case语句句 计算算输出出Y Y的的值。PrivateSubButton1_Click(ByVal_senderAsSystem.Object,ByValeAs_S

18、ystem.EventArgs)Handles_Button1.ClickDimx,yAsSinglex=Val(TextBox1.Text)SelectCasexCaseIs0y=xCaseIs=10y=x*xCaseIs yTmax = IIf(x y,x x,y) y) 该语句与如下句与如下语句等价句等价 :If x y Then Tmax = x Else Tmax = y If x y Then Tmax = x Else Tmax = y IIF函数函数3.3 循环构造循环构造问题1: 求求 1100之之间的奇数之和的奇数之和 即即计算算 1 + 3 + 5 + 7 + 9 + 。

19、 + 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 步步长 。 0 初值初值终值终值 不执行循环体不执行循环体=终值终值, 那么循环那么循环 假设假设 初值初值 终值经过Exit For循环变量循环变量

20、= 初值初值循环变量循环变量= 终值终值循环体循环体循环变量循环变量 =循环变量循环变量 +步长步长TFExit ForFOR循环的执行流程循环的执行流程循循环终止条件:止条件:循循环变量量 = 终终值值循环体循环体循环变量循环变量 =循环变量循环变量 +步长步长TFExit ForFOR语语句的循句的循环环次数如何次数如何计计算?算? For i=1 to 3 step 1 循循环环次数:次数: ( (3-1)/1 )+1For i=1 to 5 step 2 循循环环次数:次数: ( (5-1)/2)+1For i=1 to 6 step 2 循循环环次数:次数: int( (6-1)/2

21、)+1For i=6 to 1 step -2 (留意:步留意:步长为负长为负数数) 循循环环次数:次数: int( (1-6)/(-2) )+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 语句才可跳出句才可跳出该循循环例例4.8 以下程序以下程序结果是果是 ? Private Su

22、b Form1_Click(ByVal sender As _ Object, ByVal e As 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 A

23、s Integer For i = 2 To 13 Step 3 Msgbox( i) 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 * i s = s * i If i = 2 Then If i = 2 Then Exit For Exit For End If End If Next i Next i Msgbox(“s=“ & s & “ i=“ & i) Msgbox(“s=“ & s &

24、 “ i=“ & i)经过Exit For 语句句终止循止循环后,循后,循环控制控制变量量 的的值?s=2i=2FOR循环举例循环举例例:例: 求求100以内能被以内能被3和和7整除的一切正整数之和整除的一切正整数之和. 要求打印要求打印出符合条件的正整数以及他出符合条件的正整数以及他们的和。的和。Dimsum%,i%sum=0Fori=1To100If(iMod3)=0And(iMod7)=0Thensum=sum+imsgbox(i=“&i)EndIfNextimsgbox(sum=“&sum)结果:果:i= 21i= 42i= 63i= 84sum= 210例:判例:判别x能否是素数?能

25、否是素数?注:素数又称注:素数又称质数。指数。指仅能被能被1和此整数本身整除的大于或等于和此整数本身整除的大于或等于2的整数。判的整数。判别方法是方法是: 对于数于数x 从从 i=2,3,x-1判判别x能否被能否被i整除,只需有一个能整除,只需有一个能整除,整除,x就不是素数,否那么就不是素数,否那么x是素数。是素数。Dimx,iasinteger,flagasbooleanx=Val(InputBox(“输入一个大于1,且小于32767的正整数)flag=trueFori=2Tox-1If(xModi)=0ThenMsgbox(x&不是素数“&x&mod&i&=0“)flag=falseEx

26、itForEndIfNextiIf?ThenMsgbox(x&是素数“)flag=true另一种判另一种判别方法:方法:对执行完循行完循环体后循体后循环变量量i的的值进展判展判别3.3.2 DoLoop语语句句问题: 需需统计某班成果某班成果mark 大于大于80 的学生人数的学生人数num num初始初始值设为0循循环条件:条件:mark80 时,num=num+1 但循但循环次数知道么?次数知道么?循循环次数需求根据条件来判次数需求根据条件来判别循循环次数未知次数未知运用运用 DoLoop语句句3.3.2 DOLoop语语句句DoLoop语语句用于循句用于循环环次数未知的循次数未知的循环环

27、构造。构造。格式格式1: Do While|Until 条件条件 语句句块 Exit Do 语句句块Loop格式格式2: Do 语句句块 Exit Do 语句句块Loop While|Until 条件条件 特点:特点:1.先先执行后判行后判别,循,循环体至少体至少执行一次行一次2.循循环次数次数 1特点:特点:1.先判先判别后后执行,循行,循环体能体能够一次一次都不都不执行行2.循循环次数次数 0。While条件:条件: 条件条件结结果果为为True 或或 非非0 时执时执行循行循环环体;体;为为False(或或0)时终时终了循了循环环Until条件:条件: 条件条件结结果果为为True 或或

28、 非非0 时终时终了循了循环环体;体;为为False(或或0)时执时执行循行循环环Dim i ,x as integeri=4x=5DO while i 0 i=i+1 x=x+2Loop Msgbox( “i=“ & I &“ x=“ & 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思索:思索:

29、while位于关位于关键字字Do后面和位于关后面和位于关键字字loop后面后面对循循环控制的区控制的区别 ?Dim i%,x%i=6x=9DO while i = 7 i=i+1 x=x+2Loop Msgbox( “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关关键字字 的后面的后面Dim i% , x%i=6x

30、=9DO while i = 6 i=i+1 x=x+2Loop Msgbox( “i=“ & i &“ x=“ & x)循循环环体体执执行的次数?行的次数?程序段的程序段的执执行行结结果?果?执行次数:行次数: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

31、% ,n%j = 1: n = 0Do n = n + 1 j = j + n * (n + 1)Loop Until n =0Msgbox(“n=“ & n & “ j=“ & j)执行次数:行次数:1次次结果果为: n=1 j=3思索:思索:Until位于关位于关键字字Do后面后面和位于关和位于关键字字Loop后面后面对循循环控制的区控制的区别 ?Dim 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+

32、1 x=x+2Loop until i 4Msgbox( “i=“ & i & “ x=“ & x)执行次数:行次数:1次次结果果为: i= 5 x= 7运用运用Until 关关键字字时,循,循环次数次数=1次次时,Until关关键字可以写在字可以写在Do关关键字字或者或者Loop关关键字字 的后面的后面Do循循环举环举例例珠穆朗珠穆朗玛峰峰高度:高度:8848米米例:将厚度例:将厚度为0.5毫米的毫米的纸张对折多折多少次后,其少次后,其总厚度可超越珠穆朗厚度可超越珠穆朗玛峰的高度?峰的高度?Dim num%, n!n=0.5*10(-3)num=0Do until n 8848 n=2*n

33、num=num+1 LoopMsgbox “折叠次数折叠次数为为“ & num 能否以毫米做能否以毫米做单位?位?Dim num% , n!n=0.5Do until n8848*103可以,由于可以,由于n为单精度精度类型,不会溢出型,不会溢出Do循循环举环举例例例:用例:用辗转相除法欧几里德算法,求正相除法欧几里德算法,求正整数整数m和和n的最大公的最大公约数和最小公倍数数和最小公倍数最大公最大公约数数 算法:算法:1. 对于知两数,令于知两数,令mn2.令令r为m / n 所得余数所得余数 0 r n 假假设 r= 0,算法,算法终了;了;n 即即为最大公最大公约数。数。3. 互互换:置

34、:置 mn,nr,并前往,并前往第第2步步PrivateSubForm1_Click(ByVal_senderAsObject,ByValeAs_System.EventArgs)HandlesMe.ClickDimr%,m%,n%m=InputBox(请输入正整数m!)n=InputBox(请输入正整数n!)r=mModnDoWhile(r0)m=nn=rr=mModnLoopMsgBox(最大公约数=&n)EndSub3.3.3 多重循环多重循环 在一个循在一个循环体内又体内又包含了另一个完好的循包含了另一个完好的循环称称为循循环的嵌套。的嵌套。 左左边的嵌套循的嵌套循环也也称称为双重循双

35、重循环留意:要防止循留意:要防止循环交叉交叉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 + 1 k = 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 910101111 For i=1 To 1

36、0 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对于循于循环的嵌套,要留意以下事的嵌套,要留意以下事项:内循内循环变量与外循量与外循环变量不能同名;量不能同名;外循外循环必需完全包含内循必需完全包含内循环,不能交叉;,不能交叉;不能从循不能从循环体外体外转向循向循环体内,反之那么可以。体内,反之那么可以。正确正确错误错错小技巧:

37、小技巧: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 + 1 k = 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 iMsgbox(i= & i)Msg

38、box(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循循环环 的循的循环环体中的体中的语语句句9共共执执行了多少次?行了多少次?答案:答案:5*33.双重循双重循环终

39、环终了后,了后,变变量量 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;秒;秒针又从又从头开开场走走分分针走走满1 1圈,圈,时针+1+1;分分针、秒、秒针从从头开开场走走时针走走满1 1圈,即圈,即1212小小时,循,循环终了了Dim i

40、%, j%Dim i%, j%,k% k% i i为时针为时针,j j为为分分针针,k k为为秒秒针针Dim num%Dim num%num=0num=0For i = 1 To 12For i = 1 To 12 for j=1 to 60 for j=1 to 60 for k=1 to 60 for k=1 to 60 num=num+1 num=num+1 Next k Next k Next j Next jNext iNext iMsgboxMsgbox “num=“ & num“num=“ & num 问题:循:循环终了后,了后,num为多少多少?多重循多重循环的循的循环次数等于

41、每一重循次数等于每一重循环次数的乘次数的乘积num=43200FOR循循环环的嵌套的嵌套举举例例例:例:输出矩形的九九乘法表出矩形的九九乘法表分析:分析:For i = 1 To 9For i = 1 To 9 For j = 1 For j = 1 To 9To 9 ? ? Next Next 输输出出显显示示NextNextij处理此理此类问题的普通的普通规律是利用双重循律是利用双重循环:外循外循环控制行控制行内循内循环控制列控制列如此,可写出根本框架:如此,可写出根本框架:九九表可看作是由字符九九表可看作是由字符组成的平面成的平面图形。形。PrivateSubForm1_Click(By

42、ValsenderAsObject,ByValeAs_System.EventArgs)HandlesMe.ClickDimjAsInteger,iAsIntegerDimsAsStringFori=1To9Forj=1To9s=s&i&x&j&=&String.Format(0,-6,Str(i*j)Nextjs=s&vbCrLfvbCrLf用来控制换行NextiLabel1.Text=sEndSub1. Exit1. Exit语语句句 在在VB.NetVB.Net中中,有有多多种种方方式式的的ExitExit语语句句,用用于于退退出出某某种控制构造的种控制构造的执执行。行。 Exit Ex

43、it的方式如下:的方式如下:Exit ForExit For、Exit DoExit Do、Exit SubExit Sub、Exit FunctionExit Function等。等。2. End2. End语语句句 独独立立的的EndEnd语语句句用用于于终终了了一一个个程程序序的的运运转转,它它可可以以放在任何事件放在任何事件过过程中。程中。 在在VB.NetVB.Net中中,还还有有多多种种方方式式的的EndEnd语语句句,用用于于终终了了一一个个过过程程或或块块,在在控控制制语语句句或或过过程程中中经经常常运运用用。EndEnd语语句的多种方式如下:句的多种方式如下:End End

44、IfIf、End End SelectSelect、End End WithWith、End End Type Type 、End End Sub Sub 、End Function End Function 等,它与等,它与对应对应的的语语句配句配对对运用。运用。3.3.4 退出和终了语句退出和终了语句 3.4综综合运用合运用结果是每果是每项累加之和。假累加之和。假设累加之和放在累加之和放在变量量ee中中 ,其,其变量量类型?型? 初初值? 变量量类型:!型:! 初初值=0每每项写写为1/t 分析分母分析分母t: 第一第一项:0!=1 令令 t=1 i的初的初值? 第二第二项:1 !1 *0

45、! 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的近似的近似值,要求其,要求其误差小于差小于0.00001 。公式公式: : t的数据的数据类类型型? 变变量量t 初初值值:1 终终了的判了的判别别? 要求其要求其误误差小于差小于0.00001, 即即 1/t 0.00001时终时终了循了循环环 do until 1/t = 0.00001 循环体:ee=ee+1/ti=i+1循环体外,设置i的初值为0t=i

46、*tPrivateSubForm1_Click(ByValsenderAsObject,ByValeAs_System.EventArgs)HandlesMe.ClickDimi%,n&,t!,ee!ee=0ee存放累加和i=0:t=1i计数器、t第i项的值DoWhile1/t=0.00001ee=ee+1/t累加、连乘i=i+1为下一项作预备t=t*i求阶乘LoopMsgBox(计算了&i&项的和是&ee)EndSub。Private Sub Form1_Click(ByVal sender As Object, ByVal e As _ System.EventArgs) Handles

47、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例:例:编一程序一程序, ,显示出一切的水仙花数示出一切的水仙花数. . 所所谓水仙花数水仙花数, ,是指一个是指一个3 3位数位数, ,其各位数字立方和等于其各位数字立方和等于该数字数字本

48、身本身. .例如例如,153,153是水仙花数是水仙花数, ,由于由于 153=13+53+33 153=13+53+33 。方法方法1:分:分别三位数三位数Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click Dim i%, a%, b%, c% For a = 1 To 9 百位 For b = 0 To 9 十位 For c = 0 To 9 个位 i = 100 * a + 10 * b + c If a 3 + b 3 + c 3 = i Then Label2.Text = Label2.Text & & i Next c Next b Next aEnd Sub方法方法2:三重循:三重循环CHAP3 程序的控制构造程序的控制构造-小结小结

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号