VB语言程序设计(第二章)[详版课资].ppt

上传人:rrsccc 文档编号:10248452 上传时间:2021-05-02 格式:PPT 页数:90 大小:3.18MB
返回 下载 相关 举报
VB语言程序设计(第二章)[详版课资].ppt_第1页
第1页 / 共90页
VB语言程序设计(第二章)[详版课资].ppt_第2页
第2页 / 共90页
VB语言程序设计(第二章)[详版课资].ppt_第3页
第3页 / 共90页
VB语言程序设计(第二章)[详版课资].ppt_第4页
第4页 / 共90页
VB语言程序设计(第二章)[详版课资].ppt_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《VB语言程序设计(第二章)[详版课资].ppt》由会员分享,可在线阅读,更多相关《VB语言程序设计(第二章)[详版课资].ppt(90页珍藏版)》请在三一文库上搜索。

1、第二章 VisualBasic 语言基础,常量、变量、运算符和表达式 赋值与注释语句和一句多行与一行多句 基本控制结构 常用内部函数 输入与输出 数组 算法举例,1,课堂优质,2.1.1 常量 类型:数值型、字符型、逻辑型、日期型 一般常量 123,-456.8,“ABC”, “水产学院”,true,false,#1/3/2004# #1 MAR 2004# , #MARCH 1, 2004# , b; c End Sub,return,65,课堂优质,Private Sub Command1_Click() Dim a, b, c As Integer a = 9: b = 8: c = 7

2、 Print a, b, c Print Print a; b; c End Sub,return,66,课堂优质,Private Sub Command3_Click() Dim a, b, c As Integer a = 9: b = 8: c = 7 Print a, Print b; Print c Print a; b; c End Sub,return,67,课堂优质,(1)format 格式:format(表达式,格式串) Private Sub Command1_Click() Dim myTime, MyDate As String Dim MySalary, yourSa

3、lary As String Dim a As Single a = 5158.3 myTime = Format(Now, hh:mm:ss) MyDate = Format(Now, yyyy/mm/dd) MySalary = Format(a, #,#.00) yourSalary = Format(a, #.00) Print MyDate, myTime, MySalary, yourSalary End Sub,68,课堂优质,(2)spc 格式:spc(n) 功能:输出n个空格 (3)tab 格式:tab(n) 功能:将光标移到第n列 说明:如果当前位置在第n列之后则移到下一行

4、的第n列,69,课堂优质,2.6数组,2.6.1 数组声明 1.数组定义: 格式:Dim |Global 数组名(数组元素上下界,) As 类型 说明: (1)数组元素上下界可以表示为:下界 to 上界,缺省时数组下 界时序号从0开始编号。 (2)数组元素上下界的个数表示数组的维数 (3)数组为变体类型时不同数组元素可以赋不同类型的值。 (4)数组不同于普通变量,使用前必须先声明。,70,课堂优质,例: Dim a(3 To 5) As String Dim b(10) As String Dim i As Integer For i = 0 To 10 b(i) = test + Str(i

5、) Next i Print a(3); a(4); a(5) For i = 0 To 10 Print b(i), Next i Print,71,课堂优质,2.Option Base语句 格式:Option Base 0|1 功能:声明数组的缺省下标 说明: (1)数组的默认缺省下标为0,可以用该语句将其改为1 (2)一个模块中只能出现一次该语句,且必须放在数组声明语句 之前。 3.Lbound和Ubound函数 格式:Ubound(数组名,维),Lbound(数组名,维) 功能:用于确定数组的指定维的最小和最大下标 说明: 维指定要返回的是哪一维的下标,72,课堂优质,2.6.2 静态

6、数组和动态数组 1.静态数组:固定大小的数组,维数和大小不能改变。 动态数组:运行时可以改变其大小的数组,事前可以不指定数组 的大小,在需要时指定。 格式: ReDim Preserve 数组名(数组元素上下界,) As 类型 说明: (1)ReDim 用于为动态数组重新分配存储空间,只能改变每一维 的数组元素的个数,不能改变数组的维数。 (2)当改变数组元素最末维的大小时用preserve可以保留数组中原 来的数据。 (3)不能改变数组元素的类型 (4)如果将数组元素改小,被删元素的数据就会丢失,73,课堂优质,Private Sub Command1_Click() Dim a() As

7、Integer Dim x, y As Integer x = 5 y = 9 ReDim a(5, 9) ReDim a(x + 1, y + 1) ReDim Preserve a(x + 3, y + 6) End Sub,74,课堂优质,例:点击按钮时,用输入对话框输入一个整数N,然后求Fabonacci数列:1,1,2,3,5,8,13,21,到第N项,并把结果输出到窗体上 Fabonacci数列的关系: F1=1 F2=1 Fn=Fn-1+Fn-2,75,课堂优质,Private Sub Command1_Click() Dim i, f() As Integer Dim n As

8、 Integer n = Val(InputBox(please Input A Integer:, Fabonacci, 10) If n 0 Then ReDim f(n) f(0) = 1: f(1) = 1 For i = 2 To n f(i) = f(i - 1) + f(i - 2) Next i For i = 0 To n Print f(i), If I+1 Mod 5 = 0 Then Print End If Next i End If Print End Sub,76,课堂优质,2.6.3 多维数组: 1.定义: Dim |Global 数组名(最大长度,最大长度,.

9、) As 类型 2.使用: 用多重循环来使用。例 For I=1 to n for j=1 to m a(I,j)=0 next j Next I,77,课堂优质,1.牛顿迭代法解方程 用牛顿迭代法解方程2x3-4x2+3x-6=0在x0附近的根,已知一个初始点x0,公式为:xn+1=xn-f(xn)/f(xn) n=0,1,2. 步骤:先计算f(xn) = 6x2-4x+3 根据公式依次计算x1, x2 , x3 当| xn+1-xn |时为方程的根。本题中 =0.00005,2.7算法举例,78,课堂优质,79,课堂优质,Private Sub Command1_Click() Const

10、 epslon = 0.00005 Dim xn1, xn, f, f1 As Single xn1 = Val(X0.Text) Do xn = xn1 f = 2 * xn 3 - 4 * xn 2 + 3 * xn - 6 f1 = 6 * xn 2 - 4 * xn + 3 xn1 = xn - f / f1 Loop While Abs(xn1 - xn) = epslon X.Text = xn1 End Sub,80,课堂优质,2.折半查找法 在一组已经排好序的数中查找某个数。折半查找是通过每次得到被查数据范围的中间数据,然后与被查数据进行比较,如果该中间数据大于被查数据,则查找

11、前半部分,否则查找后半部分,依此进行排查。 例:某物的价钱在11024之间一般的猜法为:,高了,512?,256?,低了,320?,高了,高了,384?,288?,恭喜!答对了!,81,课堂优质,当点击窗体时,用输入对话框输入要查找的数,被查找的范围事先指定,并在窗体被激活时显示在窗体上。,82,课堂优质,Const N = 10 Dim a(N) As Integer Private Sub Form_Activate() Dim i, j As Integer a(1) = 1: a(2) = 5: a(3) = 8: a(4) = 16: a(5) = 23 a(6) = 31: a(7

12、) = 59: a(8) = 88: a(9) = 96: a(10) = 123 Print the array is: For i = 1 To N Print a(i), Next i Print End Sub,83,课堂优质,Private Sub Form_Click() Dim findNum, curLocation, top, bott As Integer Dim found As Boolean found = False findNum = Val(InputBox(please input a number, the number) top = N: bott = 1

13、 Do curLocation = bott + Int(top - bott) / 2) If findNum = a(curLocation) Then found = True Exit Do,84,课堂优质,Else If findNum a(curLocation) Then bott = curLocation + 1 Else top = curLocation - 1 End If End If Loop While Not found And bott = top If found Then Print findNum; in the location:, curLocati

14、on Else Print findNum; is not in the array! End If End Sub,85,课堂优质,3.冒泡法排序 基本原则:从前往后依次将相邻的两个数进行比较,小的换到前面,大的换到后面,第一次循环完将最大的数换到最后,然后再从前往后比较,不过,这次比较前n-1个数,依此,每次循环都会产生一个最大的数放在序列的最后,直到进行了n-1次循环就产生的排序序列: 例:5,4,2,0 第一次循环:4,5,2,0 4,2,5,0 4,2,0,5 第二次循环:2,4,0, 5 2,0,4, 5 第三次循环: 0,2,4,5,86,课堂优质,Private Sub Com

15、mand1_Click() Const n = 10 Dim i, j, temp As Integer Dim a() As Integer ReDim a(n) Randomize,87,课堂优质,Print Print Print the Array Before Sorted: For i = 1 To n a(i) = Int(Rnd * 100) + 1 Print a(i), Next i,88,课堂优质,For i = 1 To n - 1 For j = 1 To n - i If a(j) a(j + 1) Then temp = a(j) a(j) = a(j + 1) a(j + 1) = temp End If Next j Next i,89,课堂优质,Print Print Print the Array Before Sorted: For i = 1 To n Print a(i), Next i Print End Sub,90,课堂优质,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1