版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-4-123.1 3 3种基本的控制结构种基本的控制结构学习了什么是表达式,学习了什么是表达式,那么如何对表达式进行有效地组织呢?那么如何对表达式进行有效地组织呢?必须依靠三大基本结构:必须依靠三大基本结构: 顺序结构顺序结构选择结构选择结构循环结构循环结构利用这三种结构相互嵌套可以构造出各种复杂程序!利用这三种结构相互嵌套可以构造出各种复杂程序!嵌套结构(结构中包含结构)嵌套结构(结构中包含结构)2022-4-语句一语句一语句二语句二表达式表达式语句一语句一语句二语句二表达式表达式语句语句真假真真假假顺序顺序结构结构选择选择结构结构循环循环结构结构三种基本结构流程图三种基本结构流程图
2、4顺序结构顺序结构赋值语句赋值语句输入输出语句输入输出语句选择结构选择结构条件语句条件语句双分支结构双分支结构多分支结构多分支结构单分支结构单分支结构情况语句情况语句循环结构循环结构ForNextDo WhileLoopDoLoopDo Loop WhileDo UntilLoopDo Loop UntilWhileWend5赋值语句:赋值语句:是程序中最常用的语句,其功能是先计算出赋值号是程序中最常用的语句,其功能是先计算出赋值号右边表达式的值右边表达式的值( (必要时转换为相同类型数据必要时转换为相同类型数据) ),再将值赋给赋,再将值赋给赋值号左边的变量。值号左边的变量。赋值语句的形式为
3、:赋值语句的形式为: 变量名表达式变量名表达式 或或 对象名对象名. .属性名表达式属性名表达式注意注意赋值语句的阅读顺序赋值语句的阅读顺序:从右至左从右至左 x = 100 x = 100* *8 8Text1.Text = “welcome to” & “Text1.Text = “welcome to” & “中国中国”2022-4-7赋值语句的应用示例: 变量自增x=5x=x+1 (2)变量交换假设a=5,b=8,如何实现变量值的交换,即交换后a=8,b=5。实例2-48 输入输出语句是人机交互的桥梁,程序通过输入输出语句是人机交互的桥梁,程序通过输入语句得到用户的输入
4、数据,用户通过输出语输入语句得到用户的输入数据,用户通过输出语句获得反馈。句获得反馈。1 1、输入语句、输入语句InputBoxInputBox函数函数 函数语法格式:函数语法格式: =InputBox(=InputBox(,)9Const PI = 3.14Private Sub Form_Click() Dim r As Integer r = InputBox(请输入圆的半径:请输入圆的半径:, 求圆的面积求圆的面积, 10) Print PI * r * rEnd Sub提示信息提示信息对话框标题对话框标题默认值默认值10InputBoxInputBox函数注意事项函数注意事项nInp
5、utBox( )函数的函数的返回值返回值为为String类型。类型。n第二个参数可以不加,但是逗号不能省。第二个参数可以不加,但是逗号不能省。111 1、输入语句、输入语句文本框控件文本框控件利用文本框控件也可以实现输入语句的功能利用文本框控件也可以实现输入语句的功能要想得到数值型数据,可以用要想得到数值型数据,可以用Val函数进行类型转换:函数进行类型转换:例如:例如:Dim Temp As Integer Temp=Val(Text1.Text)Private Sub Form_Click() Dim r As Integer r = Val(Text1.Text) Print rEnd
6、Sub122 2、输出语句、输出语句PrintPrint方法方法.Print ,|;功能:在窗体上功能:在窗体上(对象是窗体对象是窗体)打印内容,内容的默认位置在打印内容,内容的默认位置在窗体的左上角。窗体的左上角。Private Sub Form_Click() Print 温州医学院温州医学院End SubPrivate Sub Form_Click() Print 温州医学院温州医学院 Print 欢迎你!欢迎你!End SubPrivate Sub Form_Click() Print 温州医学院温州医学院 Print Print 欢迎你!欢迎你!End Sub13注意:无注意:无“;
7、”或或“,”表示输出后下一个输出位置表示输出后下一个输出位置换行换行Private Sub Form_Click() Print 温州医学院温州医学院; Print 欢迎你!欢迎你!End Sub(紧凑格式紧凑格式)Private Sub Form_Click() Print 温州医学院温州医学院; 欢迎你!欢迎你!End SubPrivate Sub Form_Click() Print 温州医学院温州医学院, Print 欢迎你!欢迎你!End Sub(宽松格式宽松格式)Private Sub Form_Click() Print 温州医学院温州医学院, 欢迎你!欢迎你!End Sub注意
8、:符号必须是注意:符号必须是英文输入状态!英文输入状态!14如何精确地控制打印内容的格式?如何精确地控制打印内容的格式?用用Spc(n)、Tab(n)两个内部函数可以满足要求两个内部函数可以满足要求Spc(n):输出:输出n个空格个空格Tab(n):在第:在第n列开始输出列开始输出Private Sub Form_Click() Print 1234567890123456789 Print good; Spc(3); afternoon Print Tab(8); good; Tab(16); afternoonEnd Sub15特别说明特别说明:刚才所演示的都是打印字符串,:刚才所演示的都
9、是打印字符串,当打印的是数值时,会有明显的不同。当打印的是数值时,会有明显的不同。Private Sub Form_Click() Print 1234567890123456789 Print 1000 Print 1000 Print Trim(1000) Print -1000End Sub如果打印的是数值类型,则会自动在前后加上空格,称如果打印的是数值类型,则会自动在前后加上空格,称为为前导空格前导空格和和后置空格后置空格。16MsgBoxMsgBox函数的使用方法:函数的使用方法:=MsgBox(=MsgBox(, ,对话框标题,对话框标题 )2 2、输出语句、输出语句MsgBoxM
10、sgBox函数函数Private Sub Form_Click()Private Sub Form_Click() Dim I as Integer, length as Integer, width as Integer Dim I as Integer, length as Integer, width as Integer Dim s as Long Dim s as Long length = length = InputBoxInputBox(请输入长方形的长请输入长方形的长:, :, 求长方形的面积求长方形的面积, 10), 10) width = width = InputBox
11、InputBox(请输入长方形的宽:请输入长方形的宽:, , 求长方形的面积求长方形的面积, 10), 10) s = length s = length * * width width i = i = MsgBox(MsgBox(长方形的长:长方形的长: & length & & length & 长方形的宽:长方形的宽: & width & width & & 长方形的面积:长方形的面积: & s, & s, 0 + 64 + 0 , 0 + 64 + 0 , 计算的最终结果计算的最终结果)End SubEnd
12、 Sub17对话框类型参数指定对话框中出现的按钮和图标样式对话框类型参数指定对话框中出现的按钮和图标样式可由多项值组成:可由多项值组成: + + 值Visual Basic常量按钮样式0vbOKOnly“确定”按钮1vbOKCancle“确定”和“取消”按钮2vbAbortRetryIgnore“终止”、“重试”和“忽略”按钮3vbYesNoCancle“是”、“否”和“取消”按钮4vbYesNo“是”和“否”按钮5vbRetryCancle“重试”和“取消”按钮2 2、输出语句、输出语句MsgBoxMsgBox函数函数值Visual Basic常量按钮样式0vbOKOnly“确定”按钮1vb
13、OKCancle“确定”和“取消”按钮2vbAbortRetryIgnore“终止”、“重试”和“忽略”按钮3vbYesNoCancle“是”、“否”和“取消”按钮4vbYesNo“是”和“否”按钮5vbRetryCancle“重试”和“取消”按钮18值Visual Basic常量图标样式16VbCritical停止图标32VbQuestion问号(?)图标48vbExclamation感叹号(!)图标64vbInformation消息图标表表2 图标样式图标样式 值Visual Basic常量说 明0vbDefaultButton1第一按钮为默认按钮256vbDefaultButton2第二
14、按钮为默认按钮512vbDefaultButton3第三按钮为默认按钮2 2、输出语句、输出语句MsgBoxMsgBox函数和函数和MsgBoxMsgBox过程过程19表表4 MsgBox4 MsgBox函数返回值函数返回值返回值按 钮返回值按 钮1“确定”按钮5“忽略”按钮2“取消”按钮6“是”按钮3“终止”按钮7“否”按钮4“重试”按钮 2 2、输出语句、输出语句MsgBoxMsgBox函数和函数和MsgBoxMsgBox过程过程20根据所给定的条件成立与否根据所给定的条件成立与否, ,决定从各决定从各种实际可能的不同分支中选择某一分支的相种实际可能的不同分支中选择某一分支的相应操作。应操
15、作。VBVB提供用来实现选择结构的语句提供用来实现选择结构的语句, ,主要主要有有IFIF和和SelectSelect。 21条件语句之一:单分支结构If Then End IfIf Then 或行行IF语句语句块块IF语句语句22条件语句之二:双分支结构If Then Else End IfIf Then Else 行行IF语句语句块块IF语句语句23Private Sub Form_Click() Dim Max as single, sFirst as single, sSecond as single sFirst = InputBox(请输入第一个数:请输入第一个数:, sFirst
16、) sSecond = InputBox(请输入第二个数:请输入第二个数:, sSecond) If sFirst sSecond Then Max = sFirst Else Max = sSecond End If Print MaxEnd Sub24条件语句之三:多分支结构一定要注意一定要注意End If成对出现成对出现25 例例3-4:编程编程,在窗体上输出字符串在窗体上输出字符串”欢迎使用欢迎使用Visual Basic”.第一次单击时以黑体显示第一次单击时以黑体显示;第二次单击时以楷体显第二次单击时以楷体显示示;第三次显示时以宋体显示第三次显示时以宋体显示;第四次单击则清除窗体上的
17、第四次单击则清除窗体上的信息信息,重复重复.2022-4-If Then ElseIf Then ElseIf Then End If注意:注意:ElseIf ElseIf 不要写成不要写成Else Else IfIf,末尾的,末尾的End IfEnd If不要忘记。不要忘记。另外一种多分支选择结构形式另外一种多分支选择结构形式27情况选择结构用于多路选择情况选择结构用于多路选择,根据根据测试表达式测试表达式的不同取值决定执行该结构的哪一个的不同取值决定执行该结构的哪一个分支。测试表达式可以为数值、字符等类型,常用的一般为整型或字符串类型。分支。测试表达式可以为数值、字符等类型,常用的一般为整
18、型或字符串类型。282022-4-2022-4-31Private Sub Form_Click() Dim Chinese%, Math%, English% Chinese = InputBox(语文语文) Math = InputBox(数学数学) English = InputBox(英语英语) Select Case (chinese + math + english) / 3 Case Is = 60 Print 及格及格 Case Is 60 Print 不及格不及格 End SelectEnd Sub注意:注意:Select Case 后不能出现多个表达式后不能出现多个表达式测
19、试表达式测试表达式32计算机为什么能够大大提高人们的工作效率?计算机为什么能够大大提高人们的工作效率?一个很重要的原因就是它能够不知疲倦地进行一个很重要的原因就是它能够不知疲倦地进行循环运算,而且结果精确。循环运算,而且结果精确。( (比如:编程实现比如:编程实现1 1到到100100的累积和的累积和) 33语法:例例: For x=1 To 100 Step 1 限定范围及步长限定范围及步长 sum=sum+x ; 累加累加 Next x 进入下次循环进入下次循环 2022-4-例例: For x=2 To 13 Step 3 限定范围及步限定范围及步长长 Print x ; 输出输出x的值
20、的值 Next x 进入下次循环进入下次循环 例例: For x=1 To 99 Step 2 限定范围及步限定范围及步长长 s=s+x 连加连加 Next x 进入下次循环进入下次循环 2022-4-For i= 1 to 10 setp 1 If i=7 Then Exit ForNext i2022-4-37Private Sub Form_Click() For x = 13 To 1 Step -3 Print x; If x = 7 Then Exit For End If Next x Print Print xEnd Sub例子:例子:38例子:例子:Private Sub F
21、orm_Click() Print 12345 Dim i As Integer For i = 1 To 5 Print Tab(i); String(6 - i, T) Next iEnd Sub2022-4-40语法格式:语法格式:功能:当条件为真功能:当条件为真(True)时执行循环体时执行循环体While/Wend结构的特点是:先判断条件、后执行循环体,结构的特点是:先判断条件、后执行循环体,常用于编制某些循环次数预先未知的程序。常用于编制某些循环次数预先未知的程序。2022-4-Private Sub Command1_Click() Dim i As Integer, fh As
22、 Integer Dim y As Double, n As Integer n = InputBox(输入输入n, ) y = 0 fh = -1 i = 1 While i = n fh = -fhy = y + fh / i i = i + 1 Wend Label1.Caption = y End Sub42Do While i101 sum=sum+i i=i+1LoopDim i As Integer, sum As Integeri = 1: sum = 0Print sum先判断条先判断条件,后执件,后执行循环体行循环体43Dim i As Integer, sum As In
23、tegeri = 1: sum = 0Print sumDo sum=sum+i i=i+1Loop While i100 sum=sum+i i=i+1Loop45Dim i As Integer, sum As Integeri = 1: sum = 0Print sumDo sum=sum+i i=i+1Loop Until i10046Do While i100 sum=sum+i i=i+1LoopDo sum=sum+i i=i+1Loop While i100四四种种形形式:式:2022-4-Do While i50 Then Exit doLoop2022-4-49 单一的循环
24、结构功能较弱,如果将循环结构与单一的循环结构功能较弱,如果将循环结构与分支结构进行分支结构进行嵌套嵌套,或者,或者多重循环多重循环结构进行嵌套,结构进行嵌套,就能就能实现复杂的功能实现复杂的功能。50 For A =1 To 10 For B=1 To 20 Next B Next A For A =1 To 10 If B=10 then End If Next A要注意嵌套层次的对应关系要注意嵌套层次的对应关系51Private Sub Form_Click() Dim i As Integer, j As Integer Dim star As String star=“#” For i
25、 = 1 To 6 For j = i To 6 Form1.Print star; Next j Form1.Print Next iEnd Sub注意对应关系注意对应关系2022-4-2022-4-543.5 数组及其应用数组及其应用 假设有假设有100个学生的成绩需要输入计算机,按照个学生的成绩需要输入计算机,按照前面的说法,就需要声明前面的说法,就需要声明100个变量来分别存储成绩,个变量来分别存储成绩,显然这是极不合适的。但若使用数组,就可以轻松地显然这是极不合适的。但若使用数组,就可以轻松地解决此类大数据量的问题。解决此类大数据量的问题。数组的定义:数组的定义:数组是指数组是指相同
26、类型相同类型数据的数据的有序有序集合,由集合,由一个变量名一个变量名来引用。数组中的每一个来引用。数组中的每一个元素元素都可以通过都可以通过一个数值一个数值下标下标访问。访问。553.5 数组数组数组可分为两种类型:数组可分为两种类型: 静态静态(定长定长)数组、动态数组、动态(可变长可变长)数组数组1 1、 定长数组及声明(定长数组及声明(必须先声明,再使用必须先声明,再使用) 数组名数组名( (下标下标) ) As As 类型类型 下标:下标: 下界下界 ToTo上界上界 注:注:必须为常量,若省略,则表示必须为常量,若省略,则表示 下界为下界为0 0或者或者1 1数组大小(总的元素个数)
27、:数组大小(总的元素个数): 上界下界上界下界1 1例例: Dim mark(1 to 100) As Integer1是下标的下界100是下标的上界数组元素的数据类型56可以利用此语句设置数组中下标中的下界的缺省值。可以利用此语句设置数组中下标中的下界的缺省值。 Option Base 0|1 的用法的用法Option Base 1 Dim a(8) As Integer a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(0) a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) Option Base 0 Dim a(8) As
28、Integer57Option Base 0|1 的用法的用法注意:注意:(1)在模块的通用声明段设置,并只在此模块起)在模块的通用声明段设置,并只在此模块起作用。作用。(2)参数只能为)参数只能为0或或1。 (具体应写成具体应写成Option Base 0或或Option Base 1)(3)程序中没有写明此条语句的话,数组下界的缺)程序中没有写明此条语句的话,数组下界的缺省值依然为省值依然为0。 2022-4-2022-4-60多维数组多维数组如: Dim a(2,3) As Integer (共3*4个元素)如: Dim a(8) As Integer a(0) a(1) a(2) a(
29、3) a(4) a(5) a(6) a(7) a(8) 一维数组:一维数组:二维数组二维数组:61多维数组多维数组例:例: Dim a(1 to 3, 1 to4) As Integer Dim s(2,5) As Single多维数组的语法形式:多维数组的语法形式: 数组名数组名( (下标下标1 1,下标,下标2 2,) As ) As 类型类型 2022-4-2022-4-64 数组的大小在声明时并没有给出,而要根据后续程序数组的大小在声明时并没有给出,而要根据后续程序的需要来重新定义数组的大小。的需要来重新定义数组的大小。2022-4-建议用建议用这个方这个方式,请式,请大家修大家修改改
30、P73nInputBox(“请输入数组请输入数组元素个数元素个数”)ReDim a(n) As Integer或者或者66关键字关键字Preserve加与不加的区别:(加与不加的区别:(书上没有书上没有)如果没有如果没有Preserve,重新确定数组大小时,会,重新确定数组大小时,会把原来数组里的内容全部清空为把原来数组里的内容全部清空为0。(1)(2) 如果加了如果加了Preserve,重新确定数组大小时,重新确定数组大小时,会保留原来数组里的全部内容。会保留原来数组里的全部内容。67Option ExplicitPrivate Sub Form_Click() Dim mark( ) As
31、 Integer ReDim mark(6) mark(1) = 23 mark(2) = 56 mark(3) = 77 ReDim Preserve mark(8) Print mark(3)End Sub68 算法是指解决问题的一种方法或者一个过程,算法是指解决问题的一种方法或者一个过程,而程序是指使用某种计算机语言对一种算法的具体而程序是指使用某种计算机语言对一种算法的具体实现。实现。打个小比喻:算法VB语言工具方法问题69累加与累乘累加与累乘一般需要依靠循环结构来实现累加与累乘算法一般需要依靠循环结构来实现累加与累乘算法Sum=0For i=1 To 100 Sum=Sum+iNex
32、t iPrint Sum 累加就是在原来的累加就是在原来的和的基础上一次又一次和的基础上一次又一次的再加上一个数的再加上一个数1+2+3+100F=1For i=1 To 100 F=F*iNext iPrint F 累乘又叫连乘是在累乘又叫连乘是在原来积的基础上一次又原来积的基础上一次又一次地再乘上一个数一次地再乘上一个数12310070例:例:求自然对数求自然对数e e的近似值的近似值, , 要求其误差小于要求其误差小于0.000010.00001,近似公式为,近似公式为: :m1i0ii!11i!1 . !1.3!1!211!11ei算法分析:累加问题算法分析:累加问题归纳出其通项:归纳
33、出其通项:an1/n!71穷举法穷举法 “穷举法穷举法”也称为也称为“枚举法枚举法”或或“试凑法试凑法”, 即即对可能出现的各种情况逐一进行测试,判断是否满足对可能出现的各种情况逐一进行测试,判断是否满足条件,从中找出那些满足条件的结果作为问题的解。条件,从中找出那些满足条件的结果作为问题的解。 例如用计算机破译密码、探寻路径等。例如用计算机破译密码、探寻路径等。 这是一种最这是一种最“笨笨”的方法,一般采用循环来实现。的方法,一般采用循环来实现。72Private Sub Form_Click() Dim A As Integer, B As Integer, C As Integer, D
34、 As Integer Dim S1 As Integer, S2 As Integer, S3 As Integer For A = 1 To 9 For B = 0 To 9 For C = 1 To 9 For D = 0 To 9 S1 = A * 1000 + B * 100 + C * 10 + D S2 = C * 100 + D * 10 + C S3 = A * 100 + B * 10 + C If S1 - S2 = S3 Then Print A; B; C; D End If Next D Next C Next B Next AEnd Sub数字灯谜:数字灯谜: A
35、BCD - CDC ABC73递推法递推法 递推法的基本思想是把一个复杂的计算递推法的基本思想是把一个复杂的计算过程转化为简单过程的多次重复。每次重复过程转化为简单过程的多次重复。每次重复都都从旧值的基础上递推出新值,并由新值替从旧值的基础上递推出新值,并由新值替代旧值代旧值。例如数列:例如数列:1 2 2 4 8 32 74Private Sub Form_Click() a = 0 b = 1 Text1.Text = Str(a) & Str(b) & Chr(13) & Chr(10) For i = 1 To 9 a = a + b b = a + b Text1.Text = Text1.Text & Str(a) & Str(b) & Chr(13) Next i End Sub递推法递推法这个干
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络安全技术发起人协议书
- 矿山开采土方施工协议
- 武汉市飞机租赁合同范本
- 康复设备租赁合同小区康复规定
- 国际度假村建设合同范本
- 商品房限价销售管理规定
- 供应链优化条例
- 珠宝首饰合同签订及执行管理办法
- 污水处理项目评审案例
- 古城墙遗址翻新改造合同
- 《2023级学生手册》奖、惩资助、文明部分学习通超星期末考试答案章节答案2024年
- 国开2024年秋《机械制图》形考作业1-4答案
- 2024中国中煤招聘笔试参考题库含答案解析
- 2024年四川省自然资源投资集团有限责任公司招聘笔试参考题库附带答案详解
- 义务教育物理课程标准(2022年版)测试题文本版(附答案)
- 23S519 小型排水构筑物(带书签)
- 涉诈风险账户审查表
- GA/T 544-2021多道心理测试系统通用技术规范
- 矩阵论知到章节答案智慧树2023年哈尔滨工程大学
- 个人车位租赁合同电子版
- 露天采石场开采方案
评论
0/150
提交评论