1、VB程序设计基础程序设计基础 信管教研室信管教研室 第1页,共54页。第2页,共54页。第3页,共54页。第4页,共54页。第5页,共54页。第6页,共54页。VBVB应用程序应用程序窗体文件窗体文件标准模块文件标准模块文件声明部分声明部分事件过程事件过程通用过程通用过程全局声明部分全局声明部分模块声明部分模块声明部分通用过程通用过程第7页,共54页。声明部分声明部分事件过程事件过程通用过程通用过程窗体文件窗体文件标准模块文件标准模块文件全局声明部分全局声明部分模块声明部分模块声明部分通用过程通用过程第8页,共54页。第9页,共54页。整型数整型数浮点型数浮点型数整型整型长整型长整型单精度数单
2、精度数双精度双精度数数第10页,共54页。第11页,共54页。第12页,共54页。第13页,共54页。第14页,共54页。第15页,共54页。A/BABFix(A/B)Int(A/B)第16页,共54页。X Y+32 (结果T/F?)第17页,共54页。第18页,共54页。四舍五入考法?除了Cint,其他的都是直接五入?第19页,共54页。语句语句1语句语句2条件满足条件满足?语句块语句块1语句块语句块2TrueFalse语句块语句块TrueFalse条件条件第20页,共54页。注意:注意:语句体为语句组时,语句体和语句体为语句组时,语句体和Then或或Else不能够写在同一行不能够写在同一行
3、2.当分支结构中当分支结构中A组或者组或者B组语句仅有一条时,可省略组语句仅有一条时,可省略“End If”,但,但必须将所有语句写在同一行:必须将所有语句写在同一行:第21页,共54页。nIf Then Else nIf Then 第22页,共54页。If 条件条件1 Then 语句块语句块1 ElseIf 条件条件2 Then 语句块语句块2 ElseIf 条件条件n Then 语句块语句块n Else 语句块语句块n+1 End IfSelect Case 测试表达式测试表达式 Case 测试项测试项1 语句块语句块1 Case 测试项测试项2 语句块语句块2 Case Else 语句块
4、语句块n1End SelectP66第23页,共54页。条件?条件?循环体循环体TF条件?条件?循环体循环体FT Do While LoopDo Loop While“当当(while)型型”循环循环条件成立时,执行循环体条件成立时,执行循环体第24页,共54页。条件?条件?循环体循环体FT条件?条件?循环体循环体TF“直到直到(Until)型型”循环循环条件成立时,结束循环条件成立时,结束循环 Do Until LoopDo Loop Until 第25页,共54页。表达式表达式1表达式表达式2表达式表达式3计数变量计数变量=计数变量计数变量+步长步长第26页,共54页。第27页,共54页。
5、2010年秋:利用下列公式求函数Cos(x)的近似值,规定通项的绝对值=10-6时结束计算。1.k1)(2k)(2kx1)(a0.k.1.aa.6!x4!x2!x1cos(x)21kk0kk642第28页,共54页。Option ExplicitPrivate Sub Command1_Click()Dim S As Single,T As Single,K As Integer,x As Single Const eps As Single=0.000001 x=Val(Text1)S=1 T=1 Do T=S=S+T K=K+1 Loop While Text2=SEnd SubK=1T*
6、(-1)*x 2/(2*K-1)*(2*K)Abs(T)epsAbs(T)eps第29页,共54页。第30页,共54页。第31页,共54页。第32页,共54页。第33页,共54页。第34页,共54页。v数组元素的赋值数组元素的赋值v数组元素的输出数组元素的输出v数组元素的引用数组元素的引用第35页,共54页。第36页,共54页。第37页,共54页。第38页,共54页。第39页,共54页。*需要冒了多少次?需要冒了多少次?每次冒需要比较几次?每次冒需要比较几次?第40页,共54页。分析分析:二分查找是一种快捷有效的查找方法,使用二分查找的:二分查找是一种快捷有效的查找方法,使用二分查找的前提是数
7、据序列已排好序。前提是数据序列已排好序。假设有假设有n个数已经按照从小到大的顺序排列,并存放在数组个数已经按照从小到大的顺序排列,并存放在数组A中,设中,设Left为查找区间的下界为查找区间的下界下标,初值为下标,初值为1;Right为查找为查找区间的上界,初值为区间的上界,初值为n;设需要查找的数为;设需要查找的数为x;二分查找的算法如;二分查找的算法如下:下:(1)求出查找区间的中间位置)求出查找区间的中间位置Mid=Int(Left+Right)/2)(2)若)若A(Mid)=x,则找到,结束比较,则找到,结束比较(3)若)若A(Mid)x,则表明,则表明x在在A(Left)到)到A(M
8、id-1)区间内,)区间内,查找区间缩小一半,设置查找区间缩小一半,设置Right=Mid-1(5)重复执行以上操作)重复执行以上操作(6)结束循环的条件有两个:已经找到;)结束循环的条件有两个:已经找到;找不到找不到-LeftRight 二分查找二分查找第41页,共54页。341111059678x=8LeftRightMidLeftRightMidRightLeftMid231111049678x=5LeftRightMidMidRightLeftMidLeftLeftMidLeftMid1 2 3 4 5 6 7 89 101 2 3 4 5 6 7 89 10第42页,共54页。Lef
9、t=LBound(a)Right=UBound(a)x=InputBox(请输入要查找的数据请输入要查找的数据)Do While Left=Right Mid=Int(Left+Right)/2)If a(Mid)=x Then Exit Do ElseIf a(Mid)x Then Left=Mid+1 ElseRight=Mid-1 End If Loop If Left=Right ThenPrint 要查找的要查找的;x;是是A(;Mid;)ElsePrint 没找到!没找到!;x End If二分查找二分查找第43页,共54页。过程过程Sub过程过程Function过程过程事件过程事
10、件过程通用过程通用过程窗体事件过程窗体事件过程控件事件过程控件事件过程公有过程公有过程私有过程私有过程公有过程公有过程私有过程私有过程第44页,共54页。窗体的事件过程名中窗体的事件过程名中不使用其具体名称,不使用其具体名称,而固定用而固定用FormForm窗体事件固定为窗体事件固定为“PrivatePrivate”,说,说明它是模块级的明它是模块级的第45页,共54页。控件的事件过程名中必控件的事件过程名中必须使用其具体名称须使用其具体名称控件事件固定有控件事件固定有“PrivatePrivate”关键关键字,说明它是模块级的字,说明它是模块级的第46页,共54页。第47页,共54页。第48页,共54页。第49页,共54页。第50页,共54页。第51页,共54页。第52页,共54页。此处要加递归样例程序讲解?第53页,共54页。第54页,共54页。