




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VB程序设计-第4章VisualBasic语言程序结构VB程序设计程序设计第四章第四章 Visual Basic语言程序结构语言程序结构 VB程序设计-第4章VisualBasic语言程序结构 本章知识点本章知识点: VB程序设计-第4章VisualBasic语言程序结构4.1 4.1 顺序结构程序设计顺序结构程序设计 4.2 4.2 选择结构程序设计选择结构程序设计4.3 4.3 循环结构程序设计循环结构程序设计4.4 4.4 常用算法举例常用算法举例 VB程序设计-第4章VisualBasic语言程序结构4.1 4.1 顺序结构程序设计顺序结构程序设计 4.1.1 4.1.1 赋值语句赋值
2、语句 赋值语句一般形式如下:赋值语句一般形式如下:变量名变量名= =表达式表达式对象对象. .属性属性= =表达式表达式功能:完成表达式的计算,将计算结果赋值给等号左侧功能:完成表达式的计算,将计算结果赋值给等号左侧的变量或对象的属性。例如:的变量或对象的属性。例如: x=1 x=1 把把1 1赋给变量赋给变量x x Text1.text=hello! Text1.text=hello! 把字符串把字符串hello!hello!赋给赋给文本框文本框Text1Text1的的texttext属性属性 VB程序设计-第4章VisualBasic语言程序结构4.1 4.1 顺序结构程序设计顺序结构程序
3、设计 4.1.2 4.1.2 数据输入数据输入 用户主要通过三种方式实现数据输入:使用文本框控件,使用系用户主要通过三种方式实现数据输入:使用文本框控件,使用系统提供的统提供的InputBoxInputBox函数,使用磁盘数据文件。本节主要介绍函数,使用磁盘数据文件。本节主要介绍InputBoxInputBox函数。函数格式如下:函数。函数格式如下: 变量名变量名$=InputBox($=InputBox(提示信息,对话框标题,缺省值提示信息,对话框标题,缺省值) )功能:弹出输入对话框,供用户输入一个数据。功能:弹出输入对话框,供用户输入一个数据。其中:其中:提示信息:是一个字符串表达式,最
4、大长度不超过提示信息:是一个字符串表达式,最大长度不超过10241024个字符,要个字符,要来提示用户输入相关内容,可使用来提示用户输入相关内容,可使用chr(13)+chr(10)chr(13)+chr(10)实现换行。实现换行。对话框标题:是字符串表达式,可省略,默认为应用程序名。对话框标题:是字符串表达式,可省略,默认为应用程序名。缺省值:是显示在对话框输入区的默认值。缺省值:是显示在对话框输入区的默认值。 VB程序设计-第4章VisualBasic语言程序结构例如,Dim x% x= Val(InputBox(请输入一个数 ,输入框,100 ) 在屏幕上显示如图4.2所示的对话框: 图
5、4.2 InputBox对话框VB程序设计-第4章VisualBasic语言程序结构4.1 4.1 顺序结构程序设计顺序结构程序设计 4.1.3 4.1.3 数据输出数据输出 1 1)PrintPrint方法方法 PrintPrint方法的一般格式如下:方法的一般格式如下: 对象名对象名.Print.PrintSpc(n)|Tab(n)Spc(n)|Tab(n) ,| |;例如:例如:Print Format(1234.5,00000.00) Print Format(3.14159,#.#) Print Format(3.14159,#%) Print Format(3.14159,$(#.
6、#) Print Format(12345.6,#.#E+) Print Format(0.123 ,#.#e-) Print Format(date,mm-dd-yy) Print Format(date,yy年年mm月月dd) 图4 3例4.2执行结果VB程序设计-第4章VisualBasic语言程序结构2. MsgBox函数和函数和MsgBox方法方法函数形式:函数形式:变量变量% = MsgBox% = MsgBox(提示信息(提示信息 ,对话框类型,对话框类型 ,标题,标题)(1 1)“标题标题”和和“提示信息提示信息”与与InputBoxInputBox函数中对应的函数中对应的参数
7、相同;参数相同;(2 2)对话框类型由)对话框类型由“按钮图标按钮图标 + +缺省按钮缺省按钮+ +模式模式”4 4项项组成,是整型表达式,决定信息框按钮数目、出现在信组成,是整型表达式,决定信息框按钮数目、出现在信息框上的图标类型及操作模式如表息框上的图标类型及操作模式如表4.14.1所示。所示。 VB程序设计-第4章VisualBasic语言程序结构表4.1分组内部常数取值描述按钮数目VBOKONLYVBokcancelVBabortretryignreVByesnocancelVByesnoVBretrycancel012345只显示“确定”按钮显示“确定”及“取消”按钮显示“终止”、
8、“重试”及“忽略”按钮显示“是”、 “否”及“取消”按钮显示“是”及“否”按钮显示“重试”及“取消”按钮图标类型VBCriticalVBQuestionVBExclamationVBInformation16324864“停止”图标 “X”“问号”图标 ?“惊叹号”图标 !“信息”图标 i默认按钮VBDefaultButton1VBDefaultButton2VBDefaultButton30256512第1个按钮为默认按钮第2个按钮为默认按钮第3个按钮为默认按钮模式VBApplicationModelVBSystemModel04096应用模式系统模式VB程序设计-第4章VisualBasi
9、c语言程序结构例如:i=Msgbox(“注意:你输入的数据不正确”,2+48+0+0,“错误提示”),结果如图4.4所示。图4.4 Msgbox对话框VB程序设计-第4章VisualBasic语言程序结构4.2 4.2 选择结构程序设计选择结构程序设计4.2.1 IF4.2.1 IF语句语句1 1)IfThenIfThen语句语句( (单分支结构单分支结构) ) If If Then Then 语句块语句块 End IfEnd If 或:或:If If Then Then 图4.5 选择结构流程图VB程序设计-第4章VisualBasic语言程序结构例4.4 设密码。用IF语句来判定输入密码的
10、正确性。Private Sub Command1_Click() Dim a As String, b As String a = 111111 b = InputBox(请输入密码:, 密码对话框) If a = b Then MsgBox (密码正确) End IfEnd Sub VB程序设计-第4章VisualBasic语言程序结构2)IfThenElse语句(双分支结构)格式1:If Then Else End If格式2: If Then Else VB程序设计-第4章VisualBasic语言程序结构例4.5 计算下列分段函数的值 分析:对于此分段函数,由于包含X=0 和X= 0
11、Then y = (1 - x) 2 Else y = x 2 - 1 End If Print y=; yEnd SubVB程序设计-第4章VisualBasic语言程序结构3)IfThenElseIf语句(多分支结构) 使用形式: If Then ElseIf Then Else 语句块 n+1 End If VB程序设计-第4章VisualBasic语言程序结构例4.6 输入一学生成绩,评定其等级。方法是:90100分为“优秀”,8089分为“良好”,7079分为“中等”,6069分为“及格”,60分以下以为“不合格”。Private Sub Form_Click() Dim x As
12、Integer x = Val(InputBox(请输入成绩:) If x = 90 Then Print 优秀 ElseIf x = 80 Then Print 良好 ElseIf x = 70 Then Print 中等 ElseIf x = 60 Then Print 及格 Else Print 不及格 End IfEnd SubVB程序设计-第4章VisualBasic语言程序结构4.2 4.2 选择结构程序设计选择结构程序设计4.2.2 Select Case4.2.2 Select Case语句语句 Select Case Select Case 条件表达式条件表达式Case Ca
13、se 表达式列表表达式列表1 1语句块语句块1 1Case Case 表达式列表表达式列表2 2语句块语句块2 2Case ElseCase Else语句块语句块n+1n+1End SelectEnd Select说明:说明: 与与 是同类型的,为下面是同类型的,为下面3 3种形式之一:种形式之一:(1 1) 一组枚举表达式一组枚举表达式( (用逗号分隔用逗号分隔) ):例如,:例如, 2, 4, 6, 82, 4, 6, 8。 (2 2) 表达式表达式1 To 1 To 表达式表达式2 2 :例如,:例如,60 to 10060 to 100。(3 3) Is Is 关系运算符表达式:例如,
14、关系运算符表达式:例如,Is 60Is 60。VB程序设计-第4章VisualBasic语言程序结构将例4.6 使用Select Case语句来实现。程序段如下:Private Sub Form_Click()Dim x As Integerx = Val(InputBox(请输入成绩:)Select Case x Case 90 To 100 Print 优秀 Case 80 To 89 Print 良好 Case 70 To 79 Print 中等 Case 60 To 69 Print 及格 Case Else Print 不及格End SelectEnd Sub VB程序设计-第4章V
15、isualBasic语言程序结构4.2 4.2 选择结构程序设计选择结构程序设计4.2.3 4.2.3 选择结构的嵌套选择结构的嵌套 如果在选择结构中又出现如果在选择结构中又出现IFIF语句或语句或selectselect语句,就是选择结构的嵌套语句,就是选择结构的嵌套 (1) IF Then IF Then Else . End If Else IF Then . Else . End If End IFVB程序设计-第4章VisualBasic语言程序结构(2) IF Then Select Case 条件1_1 Case 值1_1 IF Then Else . End If Case值1
16、_2. . End Select . End IF VB程序设计-第4章VisualBasic语言程序结构例4.7 在文本框中输入1100之间的数字,如果输入非数字,或数字超界,给予提示,并重新输入。Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then 回车键的ascii码值是13 If IsNumeric(Text1.Text) Then x = Val(Text1.Text) If x 100 Then Text1.Text = Text1.SetFocus ption = 数字超界,重输入! Else p
17、tion = 数字输入正确! End If Else Text1.Text = Text1.SetFocus ption = 不是输入的数字! End IfEnd IfEnd Sub图 4.7 例4.7运行结果VB程序设计-第4章VisualBasic语言程序结构4.2 4.2 选择结构程序设计选择结构程序设计4.2.4 4.2.4 条件函数条件函数 VBVB提供的条件函数:提供的条件函数:IIFIIF函数和函数和ChooseChoose函数,用于简单函数,用于简单的判断场合,的判断场合,IIFIIF函数可代替函数可代替IFIF语句,语句,ChooseChoose函数可代替函数可代替selec
18、t caseselect case语句。语句。1 1)IIFIIF函数函数语法格式:语法格式:IIFIIF( , 1, 2) 例如:例如:x=-2: y= IIF (x=0,x,-x) yx=-2: y= IIF (x=0,x,-x) y是是x x的绝对值。的绝对值。VB程序设计-第4章VisualBasic语言程序结构4.2 4.2 选择结构程序设计选择结构程序设计4.2.4 4.2.4 条件函数条件函数 2 2)ChooseChoose函数函数语法格式:语法格式:Choose(Choose( , 1, .2., )n)功能:根据功能:根据 的值来确定返回值列表中某个值。的值来确定返回值列表
19、中某个值。 的值为的值为1 1,返回,返回 1,如果,如果 的值为的值为2 2,返回返回 2,以此类推。,以此类推。例如:例如:x = Val(InputBox(x = Val(InputBox(请输入请输入1-61-6之间整数之间整数)Print Choose(x, red, yellow, blue, green, black, white) 用数字表示颜色。 VB程序设计-第4章VisualBasic语言程序结构4.34.3循环结构程序设计循环结构程序设计4.3.1 Do loop4.3.1 Do loop循环循环1 1)形式)形式1 1:(当型循环):(当型循环) Do While|U
20、ntil Do While|Until 语句块语句块 Exit DoExit Do 语句块语句块 LoopLoop2 2)形式)形式2 2:( (直到循环)直到循环)Do Do 语句块语句块 Exit DoExit Do 语句块语句块Loop While|Until Loop While|Until VB程序设计-第4章VisualBasic语言程序结构VB程序设计-第4章VisualBasic语言程序结构例4.8 用辗转相除法求两个自然数的最大公约数(gcd)和最小公倍数(lcm)。Private Sub Form_Click() Dim n%, m%, nm%, r% m = Val(In
21、putBox(m=) n = Val(InputBox(n=) nm = n * m If m n Then t = m: m = n: n = t r = m Mod n Do While (r 0) m = n n = r r = m Mod n Loop Print 最大公约数=, n Print 最小公倍数=, nm / nEnd SubVB程序设计-第4章VisualBasic语言程序结构用Do UntilLoop 循环来实现例4.8,程序代码如下:Private Sub Form_Click() Dim n%, m%, nm%, r% m = Val(InputBox(m=) n
22、= Val(InputBox(n=) nm = n * m If m 00时,初值时,初值 终值;步长终值;步长=1=1时时, ,可省略;步长可省略;步长0 终值;步长终值;步长=0=0时,死循环,循时,死循环,循环次数计算公式为:环次数计算公式为:Exit for :Exit for :退出循环,执行退出循环,执行nextnext后的下一条语句后的下一条语句 -(+1)Int终 值 初 值循 环 次 数步 长VB程序设计-第4章VisualBasic语言程序结构例4.9 编程计算:S=1+2+3+100 Private Sub Form_Click()Dim S%, I%S = 0 累加前变
23、量S为0For I = 1 To 100 S = S + INext IPrint S=; Format(S, 0000)End Sub VB程序设计-第4章VisualBasic语言程序结构4.34.3循环结构程序设计循环结构程序设计4.3.3 WhileWend4.3.3 WhileWend循环循环使用格式如下:使用格式如下:While While WendWend说明:该语句的功能与说明:该语句的功能与Do While Do While LoopLoop实现的循环完全相同。实现的循环完全相同。VB程序设计-第4章VisualBasic语言程序结构例4.11 从键盘输入一些字符数据,对输入
24、的字符数据进行计数。当输入的字符为“#”,停止计数并输出结果。分析:因为输入次数不定,故不使用for 循环。代码如下:Private Sub Form_click() Dim c As String, n As Integer n = 0 c = InputBox( 输入字符:) While Not (c = #) n = n + 1 c = InputBox( 输入字符:) WendPrint 字符数是:; n; 个End Sub VB程序设计-第4章VisualBasic语言程序结构4.34.3循环结构程序设计循环结构程序设计4.3.4 For EachNext4.3.4 For Each
25、Next循环循环语法格式:语法格式:For Each For Each 成员成员 In In 数组数组 语句块语句块 Exit ForExit ForNext Next 成员成员具体使用将在具体使用将在“数组数组”章节讲解章节讲解 VB程序设计-第4章VisualBasic语言程序结构4.34.3循环结构程序设计循环结构程序设计4.3.54.3.5循环嵌套循环嵌套多重循环结构多重循环结构 如果在一个循环内完整地包含另一个循环结如果在一个循环内完整地包含另一个循环结构,则称为多重循环,或循环嵌套,嵌套的层数构,则称为多重循环,或循环嵌套,嵌套的层数可以根据需要而定,嵌套一层称为二重循环,嵌可以根
26、据需要而定,嵌套一层称为二重循环,嵌套二层称为三重循环。套二层称为三重循环。VB程序设计-第4章VisualBasic语言程序结构例4.12 打印九九乘法表。程序代码如下:Private Sub Form_Click()Dim i%, j%, jj$For i = 1 To 9 For j = 1 To 9 jj = i & & j & = & i * j Picture1.Print Tab(j - 1) * 9 + 2); jj; Next j Picture1.Print Next iEnd Sub VB程序设计-第4章VisualBasic语言程序结构例
27、4.13 使用循环语句在窗体上输出有*组成的简单图形 Private Sub Form_Click() Dim n As Integer, i%, j% Cls 清屏 n = Val(Text1.Text) 输入组成图形的行数 For i = 1 To n Print Tab(20); For j = 1 To i Print *; Next j Print Next iEnd Sub 图4.14 例4.13运行结果VB程序设计-第4章VisualBasic语言程序结构4.34.3循环结构程序设计循环结构程序设计4.3.64.3.6循环的退出循环的退出 语句格式: Exit For 强制退出F
28、or Next循环 Exit Do 强制退出Do Loop循环例4.15 用ForNext循环结构计算1100之和,当和大于等于2000时终止循环,并输出实际循环的次数。VB程序设计-第4章VisualBasic语言程序结构Private Sub Command1_Click() Dim s%, i% s = 0 累加前变量S为0 For i = 1 To 100 s = s + i If s = 2000 Then Exit For Next i ption = s ption = iEnd Sub图4.16 例4.15运行结果VB程序设计-第4章VisualBasic语言程序结构4.34.
29、3循环结构程序设计循环结构程序设计4.3.74.3.7几种循环语句比较几种循环语句比较 循环语句FornextDo while|until LoopDoLoop while|until循环类型次数循环当型循环直到型循环循环条件循环变量大于或小于终值条件成立/不成立条件成立/不成立循环初值在for语句中在do之前在do之前使循环结束Exit forExit doExit do使用场合循环次数易确定条件易给出条件易给出VB程序设计-第4章VisualBasic语言程序结构4.4 4.4 常用算法举例常用算法举例 4.4.1 4.4.1 找最大值、最小值找最大值、最小值例例4.17 4.17 随机产
30、生随机产生1010个个100-200100-200之间整数,求最大之间整数,求最大值。程序运行结果如图值。程序运行结果如图4.174.17所示。所示。 分析:先产生一个随机数假设这一个数是最大数分析:先产生一个随机数假设这一个数是最大数(变量取名(变量取名maxmax), ,然后再产生一个随机数,与然后再产生一个随机数,与maxmax比较,大者存入比较,大者存入maxmax,反复(循环)操作产生,反复(循环)操作产生随机数、比较,这样比较完每个数后,随机数、比较,这样比较完每个数后,maxmax中就中就放的是最大数了。放的是最大数了。VB程序设计-第4章VisualBasic语言程序结构Pri
31、vate Sub Form_Click() Dim I As Integer, x As Integer, max As Integer Randomize 初始化随机数的种子数 x = Int(Rnd * 100 + 100) max = x For I = 2 To 10 Print x; x = Int(Rnd * 100 + 100) If x max Then max = x Next I Print Print max=; maxEnd SubVB程序设计-第4章VisualBasic语言程序结构4.4 4.4 常用算法举例常用算法举例 4.4.2 4.4.2 素数问题素数问题例例
32、4.18 4.18 求求200200以内的素数。以内的素数。 分析:判定某个数是否素数,然后是对于找某范围内的数据的判定,用2重循环来实现:内循环是判定某数是否素数,外循环一次列举该范围内的每个数。判定素数方法是:利用素数定义,从2 到 n-1 之间整数一次去除n,如果都不能整除,n是素数,反之,有一个除尽,n 就不是素数。 VB程序设计-第4章VisualBasic语言程序结构Private Sub Form_Click() Dim i%, j%, n% ption = 求200以内的素数 Print 2, 2是特例输出 n = 1 记素数的个数 For i = 3 To 200 Step
33、2 For j = 2 To i - 1 If i Mod j = 0 Then Exit For End If Next j If j = i Then 这个条件表示i一次也没被除尽,是素数 Print i, n = n + 1 If n Mod 5 = 0 Then Print End IfNext iEnd Sub VB程序设计-第4章VisualBasic语言程序结构4.4 4.4 常用算法举例常用算法举例 4.4.3 4.4.3 穷举法穷举法穷举方法的实现主要依赖于以下两个基本要点:穷举方法的实现主要依赖于以下两个基本要点: 搜寻可能值的范围如何确定。搜寻可能值的范围如何确定。 被搜
34、寻可能值的判定方法。被搜寻可能值的判定方法。 VB程序设计-第4章VisualBasic语言程序结构例4.19 “百鸡百钱”问题。“鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一;百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”编写程序,给出结果。分析:设x、y、z分别表示鸡翁、鸡母、鸡雏的数目,根据题意,100钱最多买鸡翁20只、买鸡母33只,鸡雏数为100 -鸡翁数 -鸡母数,搜寻值得判定式为:5 * x + 3 * y + (z / 3) = 100。 VB程序设计-第4章VisualBasic语言程序结构程序代码如下:Private Sub form_Click()Dim x, y, z As IntegerFor x = 1 To 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 培育社区文明行为的个人工作计划
- 桥梁拆除计划方案范本
- 2024年育婴师全科目试题及答案
- API在证券交易中的应用试题及答案
- 优化复习方案:监理工程师试题及答案
- 投资咨询工程师考试周期试题及答案解析
- 现代农业技术系:种子生产与经营专业:新版人才培养方案
- 2024年注册会计师考试全景分析试题及答案
- 黑龙江省七台河市勃利县2025年初三下学期一模化学试题含解析
- 传感器与检测技术课件 项目一识别与选用传感器1.2 选用传感器
- 《新能源汽车滚装运输安全技术指南》2022
- 品管圈FOCUS-PDCA案例-神经外科提高脑卒中偏瘫患者良肢位摆放合格率
- GB 45069-2024悬崖秋千安全技术要求
- 南京理工大学泰州科技学院《电力电子技术》2021-2022学年第一学期期末试卷
- 球队冠名合同范例
- 《临床技术操作规范-放射医学检查技术分册》
- 生活中的魔法数学名师公开课获奖课件百校联赛一等奖课件
- 2024年同等学力申硕英语考试真题
- 陈传明《管理学原理》(第2版)笔记考点课后答案
- 临床医学检验试题及答案
- 《阿凡达》电影赏析
评论
0/150
提交评论