




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)1 1本章目錄本章目錄1 1課后習題講解課后習題講解 輸入一個字符串輸入一個字符串,反序輸出。,反序輸出。 Private Sub Command1_Click() s = Text1 For i = Len(s) To 1 Step -1 y = y + Mid(s, i, 1) Next i Print y End Sub Private Sub Command2_Click() s = InputBox(輸入一個字符串輸入一個字符串) For i = Len(s) To 1 Step -1 Print Mid(s, i
2、, 1); Next i End Sub計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)2 2本章目錄本章目錄2 2第第5 5章章 數(shù)組和自定義類型數(shù)組和自定義類型 5.1 5.1 數(shù)組數(shù)組5.2 5.2 數(shù)組的基本操作數(shù)組的基本操作5.3 5.3 列表框和組合框控件列表框和組合框控件5.4 5.4 自定義類型及其數(shù)組自定義類型及其數(shù)組( (不要求不要求) )5.5 5.5 綜合應用綜合應用計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)3 3本章目錄本章目錄3 3問題:問題:(1)mark只能放一個學生的成績,無法統(tǒng)計高于平均分只能放一個學生的成績
3、,無法統(tǒng)計高于平均分的人數(shù)。的人數(shù)。(2)若用簡單變量保存)若用簡單變量保存100個學生的成績,則需定義個學生的成績,則需定義100個變量和使用個變量和使用100句輸入語句。由此引入了句輸入語句。由此引入了數(shù)組數(shù)組。5.1 5.1 數(shù)組數(shù)組5.1.1 5.1.1 數(shù)組的概念數(shù)組的概念1.1.引例引例 求求100100個學生的平均成績個學生的平均成績,并統(tǒng)計高于平均分,并統(tǒng)計高于平均分的人數(shù)的人數(shù)markaver = 0For i = 1 To 100 mark =Val(InputBox(輸入學生成績輸入學生成績) aver = aver + markNext iaver = aver / 1
4、00Print aver, mark計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)4 4本章目錄本章目錄4 42.數(shù)組的概念數(shù)組的概念 數(shù)組數(shù)組:一組具有一組具有相同類型相同類型變量的集合,用一個變量的集合,用一個統(tǒng)一統(tǒng)一的的名字作為標識。名字作為標識。數(shù)組元素數(shù)組元素:數(shù)組中的每一個數(shù)據(jù)稱為一個數(shù)組中的每一個數(shù)據(jù)稱為一個數(shù)組元素數(shù)組元素。作用作用:用用一個數(shù)組名一個數(shù)組名代表邏輯上相關的一批數(shù)據(jù),代表邏輯上相關的一批數(shù)據(jù),用用下標下標表示該數(shù)組中的各個元素,和循環(huán)語句結(jié)合使表示該數(shù)組中的各個元素,和循環(huán)語句結(jié)合使用,使得程序書寫簡潔。用,使得程序書寫簡潔。使用使用:必
5、須先聲明后使用。必須先聲明后使用。分類分類:根據(jù)數(shù)組下標個數(shù)的不同:根據(jù)數(shù)組下標個數(shù)的不同,分為分為一維數(shù)組一維數(shù)組和和多維數(shù)組多維數(shù)組計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)5 5本章目錄本章目錄5 55.1.2 5.1.2 定長數(shù)組及聲明定長數(shù)組及聲明1.一維數(shù)組聲明:一維數(shù)組聲明: Dim Dim 數(shù)組名數(shù)組名( ( 下標下界下標下界 ToTo 上界上界) ) As 類型類型說明:說明:例:例: Dim mark(99) As Integer Dim X(1 to 10) As Single下標下界缺省為下標下界缺省為0,下標上界為常數(shù)。,下標上界為常數(shù)。數(shù)
6、組大小為:下標上界數(shù)組大小為:下標上界 -下標下界下標下界 +1。作用:聲明了數(shù)組名、數(shù)組大小、維數(shù)、類型作用:聲明了數(shù)組名、數(shù)組大小、維數(shù)、類型在內(nèi)存分配一塊連續(xù)的區(qū)域。在內(nèi)存分配一塊連續(xù)的區(qū)域。計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)6 6本章目錄本章目錄6 6如:如:Dim mark(99) As IntegerDim mark(99) As Integer 聲明了一維定長整型數(shù)組聲明了一維定長整型數(shù)組 mark ,共有共有100個元素,下標范圍為個元素,下標范圍為 0 To 99;mark數(shù)組的各元素是數(shù)組的各元素是mark(0),mark(1),mark
7、(99);mark(i) 表示由下標表示由下標 i 的值決定是哪一個元素。的值決定是哪一個元素。mark(99)mark(99)mark(98)mark(98)mark(2)mark(2)mark(1)mark(1)mark(0)mark(0)mark數(shù)組內(nèi)存分配如下:數(shù)組內(nèi)存分配如下:每個數(shù)組元素有一個唯一的順序號。每個數(shù)組元素有一個唯一的順序號。下標不能超出數(shù)組聲明時的上、下界范圍,否則下標不能超出數(shù)組聲明時的上、下界范圍,否則會產(chǎn)生會產(chǎn)生“下標越界下標越界”錯誤錯誤 。數(shù)組元素的使用規(guī)則與同類型的簡單變量相同。數(shù)組元素的使用規(guī)則與同類型的簡單變量相同。計算機技術基礎計算機技術基礎(VB)
8、 程序設計語言程序設計語言(VB)7 7本章目錄本章目錄7 7例例5.1 用數(shù)組解決問題的程序用數(shù)組解決問題的程序如下:如下: Dim mark(99) As IntegerDim mark(99) As Integer 聲明數(shù)組聲明數(shù)組mark Dim aver!, n%, i% Dim aver!, n%, i% aver = 0 aver = 0 For i = 0 To 99For i = 0 To 99 輸入成績,求分數(shù)和輸入成績,求分數(shù)和 mark(i)mark(i) = InputBox( = InputBox(輸入學生的成績輸入學生的成績) aver = aver + aver
9、 = aver + mark(i)mark(i) Next iNext i aver = aver / 100 aver = aver / 100 求求100人的平均分人的平均分 n = 0n = 0 For i = 0 To 99 For i = 0 To 99 統(tǒng)計高于平均分的人數(shù)統(tǒng)計高于平均分的人數(shù) If If mark(i) avermark(i) aver ThenThen n = n + 1 n = n + 1 Next i Next i MsgBoxMsgBox ( (平均分平均分: : & aver & & aver & 高于平均分人數(shù)高于平均分
10、人數(shù): : & n) & n) mark(99)mark(99)mark(98)mark(98)mark(2)mark(2)mark(1)mark(1)mark(0)mark(0)計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)8 8本章目錄本章目錄8 82.2.多維數(shù)組聲明多維數(shù)組聲明Dim Dim 數(shù)組名數(shù)組名( (下界下界1 To 上界上界1,(下界下界2 To 上界上界2) As 類型類型下標數(shù)決定了數(shù)組的維數(shù),數(shù)組的大小為每一維大下標數(shù)決定了數(shù)組的維數(shù),數(shù)組的大小為每一維大小的乘積。小的乘積。例:例: Dim x(2,4) As Long聲明了一
11、個長整型的二維數(shù)組聲明了一個長整型的二維數(shù)組 x;共占據(jù);共占據(jù)35個長整個長整型變量的空間型變量的空間 。x(1,4)x(1,3)x(1,2)x(1,1)x(1,0) x(2,4)x(2,3)x(2,2)x(2,1)x(2,0) x(0,4)x(0,3)x(0,2)x(0,1)x(0,0) 二維數(shù)組的數(shù)組元素是按二維數(shù)組的數(shù)組元素是按“列優(yōu)先列優(yōu)先 ”的順序存放的。的順序存放的。例:例:Dim T1(10) As Integer, n As Integer Dim T2(n) As Integer n=3 Print T1(n) print T1(10)(1)(1)在窗體級或標準模塊中可以重
12、定義數(shù)組的下界在窗體級或標準模塊中可以重定義數(shù)組的下界 Option Base n Option Base n 設置默認下界為設置默認下界為n 例如:設置默認下界為例如:設置默認下界為1 1的語句是的語句是 Option Base 1Option Base 1:(2)(2)正確區(qū)分數(shù)組下標在不同位置的含義正確區(qū)分數(shù)組下標在不同位置的含義例:例:Dim T(10) As Integer, i As IntegerFor i = 0 To 10 T(i) = i Print T(i)Next iprint T(10)T T數(shù)組中下標為數(shù)組中下標為1010的那個元素的那個元素定義了一個定義了一個T
13、T數(shù)組數(shù)組, ,由由(0(010)1110)11個元素組成個元素組成(3)(3)數(shù)組聲明時下標只能是數(shù)組聲明時下標只能是常數(shù),其它地方可以是變量常數(shù),其它地方可以是變量 計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)1010本章目錄本章目錄1010練習練習1:Dim arr(-2 To 5)該語句定義的數(shù)組元素的個數(shù)是該語句定義的數(shù)組元素的個數(shù)是( )。練習練習2:執(zhí)行下面程序段后執(zhí)行下面程序段后:Dim a%(5), b%(5)For j = 1 To 4 a(j) = 3 * j b(j) = a(j) * 3Next jText1.Text = b(j 2)文本框
14、中的值是文本框中的值是( )j=1a(1)=3*1=3b(1)=3*3=9j=2a(2)=3*2=6b(2)=6*3=18j=3a(3)=3*3=9b(3)=9*3=27j=4a(4)=3*4=12b(4)=12*3=36j=54?8 8a(0)a(1)a(2)a(3)a(4)a(5)b(0)b(1)b(2)b(3)b(4)b(5)計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)1111本章目錄本章目錄11111、如果在程序中沒有特別聲明,即程序中沒有使用、如果在程序中沒有特別聲明,即程序中沒有使用Option Basic 1 語句,語句,缺省下界和關鍵字缺省下界和關鍵字
15、TO時,則表示下標的取值時,則表示下標的取值。A、從、從0開始,等價于開始,等價于0 to 上界上界 B、從、從2開始開始C、從、從1開始,等價于開始,等價于1 to 上界上界 D、等價于、等價于 n to 上界上界2、使用下列語句定義數(shù)組,定義正確的是、使用下列語句定義數(shù)組,定義正確的是。 Dim n as Integer Const m = 5 Dim A(m) as Integer Dim B(1 to 6) as Integer Dim C(-5 to 5) as Long Dim D(0 to n ) as singleA、一維數(shù)組、一維數(shù)組ABCB、一維數(shù)組、一維數(shù)組ABCDC、一
16、維數(shù)組、一維數(shù)組ABD3、有如下數(shù)組說明語句:、有如下數(shù)組說明語句:dim A(6) as integerdim B(3, -1 to 4) as single A數(shù)組的大小為數(shù)組的大小為個數(shù)組元素,個數(shù)組元素,B數(shù)組的大小為數(shù)組的大小為個數(shù)組元素。個數(shù)組元素。 A、6, 18 B、7, 24 C、7, 12 D、6, 25計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)1212本章目錄本章目錄12125.1.3 動態(tài)數(shù)組及聲明動態(tài)數(shù)組及聲明 用用DimDim語句聲明語句聲明,賦,賦空維數(shù)空維數(shù)例例:Dim A( ) As IntegerReDim ReDim 動態(tài)數(shù)組名
17、動態(tài)數(shù)組名(下界下界 TO TO 上界上界.).) ReDimReDim語句中的數(shù)組上、下界可以是語句中的數(shù)組上、下界可以是常量常量或是或是有已知值的有已知值的變量變量 在過程中可以在過程中可以多次多次使用使用ReDimReDim 每次使用每次使用RedimRedim語句,會使原有數(shù)據(jù)丟失語句,會使原有數(shù)據(jù)丟失 例例:Redim A(5) Redim A(2,3) 例例:ReDim Preserve A(2, 4)只能修改最后一維的只能修改最后一維的大小大小計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)1313本章目錄本章目錄1313分析:分析:(1) 聲明:聲明動態(tài)數(shù)
18、組聲明:聲明動態(tài)數(shù)組mark();(2) 輸入:輸入學生人數(shù)輸入:輸入學生人數(shù)n; 定義動態(tài)數(shù)組的大小定義動態(tài)數(shù)組的大小mark( 1 to n); 用循環(huán)輸入每個學生的成績用循環(huán)輸入每個學生的成績(3) 處理:重定義數(shù)組,讓其增加兩個元素處理:重定義數(shù)組,讓其增加兩個元素(平均值平均值和和人數(shù)人數(shù)) 求各成績的和及平均值,放入求各成績的和及平均值,放入mark(n+1); 用循環(huán)和判斷統(tǒng)計大于平均值的人數(shù)用循環(huán)和判斷統(tǒng)計大于平均值的人數(shù)mark(n+2) (4) 輸出:輸出各人成績、平均值和高于平均值的人數(shù)輸出:輸出各人成績、平均值和高于平均值的人數(shù)計算機技術基礎計算機技術基礎(VB) 程序
19、設計語言程序設計語言(VB)1414本章目錄本章目錄1414 Dim mark() As Integer , n%, i% 動態(tài)數(shù)組聲明動態(tài)數(shù)組聲明 aver = 0 n = Val(InputBox(請輸入學生人數(shù)請輸入學生人數(shù)) ReDim mark(1 To n) For i = 1 To n 本循環(huán)結(jié)構(gòu)輸入成績本循環(huán)結(jié)構(gòu)輸入成績 mark(i) = Val(InputBox(輸入第輸入第 & i & 位學生的成績位學生的成績) Print mark(i) Next i ReDim Preserve mark(1 To n + 2) For i = 1 To n 本循環(huán)結(jié)
20、構(gòu)求分數(shù)和本循環(huán)結(jié)構(gòu)求分數(shù)和 mark(n + 1) = mark(n + 1) + mark(i) Next i mark(n + 1) = mark(n + 1) / n 求平均分求平均分 For i = 1 To n 本循環(huán)結(jié)構(gòu)統(tǒng)計高于平均分的人數(shù)本循環(huán)結(jié)構(gòu)統(tǒng)計高于平均分的人數(shù) If mark(i)mark(n + 1) Then mark(n + 2)=mark(n + 2)+1 Next i Print 平均分:平均分:, mark(n + 1) Print 高于平均分的人數(shù):高于平均分的人數(shù):; mark(n + 2)計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(
21、VB)1515本章目錄本章目錄1515 Dim a() As Integer, i%, j%, m%, n%ReDim a(3)Print 重定義成一維數(shù)組重定義成一維數(shù)組For i = 0 To 3 a(i) = I2 Print a(i)Next im = 1n = 2ReDim a(m, n)Print 重定義成二維數(shù)組重定義成二維數(shù)組For i = 0 To m For j = 0 To n a(i, j) = i *10+ j Print i, j, a(i, j) next jNext i例題例題:選講選講計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)161
22、6本章目錄本章目錄16165.2 5.2 數(shù)組的基本操作數(shù)組的基本操作 利用循環(huán)結(jié)構(gòu)利用循環(huán)結(jié)構(gòu) 利用利用Array函數(shù)函數(shù) Dim A(10) As Integer For i = 0 To 10 A(i) = i Next i 聲明的數(shù)組必須是聲明的數(shù)組必須是可調(diào)數(shù)組可調(diào)數(shù)組或是或是省略圓括號省略圓括號的數(shù)組的數(shù)組 數(shù)組類型必須是數(shù)組類型必須是萬能型萬能型 下界默認為下界默認為0 0 上界由上界由UboundUbound函數(shù)獲取函數(shù)獲取 Dim B( ), C B = Array (1, 2, 3, 4) C = Array (aa, bb, cc)計算機技術基礎計算機技術基礎(VB) 程
23、序設計語言程序設計語言(VB)1717本章目錄本章目錄17172.2.數(shù)組的輸入、簡單輸出數(shù)組的輸入、簡單輸出(1 1)用用Inputbox函數(shù)函數(shù)輸入輸入 例:例:Dim A(5) As IntegerDim A(5) As Integer For i = 0 To 5 For i = 0 To 5 A(i) = Val(Inputbox(A(i) = Val(Inputbox(輸入第輸入第 & i & 個數(shù)個數(shù)) Next i Next i(2 2)用用print 語句語句輸出輸出 例:例: For i = 0 To 5 For i = 0 To 5 print print
24、 A(i) A(i) Next iNext i計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)1818本章目錄本章目錄18183.3.數(shù)組間的賦值數(shù)組間的賦值 例:例:Dim A(4) As Integer, B() As Integer, i%Dim A(4) As Integer, B() As Integer, i% 給給A A數(shù)組的各個元素賦值數(shù)組的各個元素賦值 B = A B = A ReDim B (4) For i = 0 To 4 B(i) = A(i) Next i(UBound(A)(UBound(A) 賦值號兩邊的賦值號兩邊的數(shù)組類型數(shù)組類型必須一致
25、必須一致 被賦值的數(shù)組(左邊)必須是一個動態(tài)數(shù)組被賦值的數(shù)組(左邊)必須是一個動態(tài)數(shù)組4 4、數(shù)組的輸出、數(shù)組的輸出 例例5.35.3 形成形成5 55 5的方陣,分別輸出方陣中各元素、的方陣,分別輸出方陣中各元素、上三角和上三角和下三角下三角元素元素 Dim sc%(4, 4) Picture1.Print 產(chǎn)生方陣數(shù)據(jù)產(chǎn)生方陣數(shù)據(jù) For i = 0 To 4 For j = 0 To 4 sc(i, j) = i * 5 + j Picture1.Print Tab(j * 5); sc(i, j); Next j Picture1.Print 換行換行 Next i Picture2.
26、Print 顯示上三角數(shù)組元素顯示上三角數(shù)組元素 For i = 0 To 4 For j = i To 4 Picture2.Print Tab(j * 5); sc(i, j); Next j Picture2.Print 換行換行 Next i計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)2020本章目錄本章目錄20205 5、求數(shù)組和、最值、位置、求數(shù)組和、最值、位置例例5.45.4 求一維數(shù)組中各元素之和、最小數(shù)組元素,并求一維數(shù)組中各元素之和、最小數(shù)組元素,并將最小值數(shù)組元素與數(shù)組中第一個元素交換將最小值數(shù)組元素與數(shù)組中第一個元素交換v求元素和求元素和 通過
27、循環(huán)將每個元素進行累加通過循環(huán)將每個元素進行累加Option Base 1 設置數(shù)組的默認下界為設置數(shù)組的默認下界為1Dim aa = Array(26, 43, 22, 87, 33, 19, 37, 59, 76, 69)For i = 1 To UBound(a) sum = sum + a( i )Next i該方法得到數(shù)組該方法得到數(shù)組a a的上界的上界計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)2121本章目錄本章目錄2121求數(shù)組中最小元素求數(shù)組中最小元素求最大值求最大值的方法與求最小的方法與求最小值相似值相似思考思考:如何求最小值的下標如何求最小值的下
28、標A(1)A(2)A(3)A(4)A(5)A(6)2643228719min262219min = A(1)If A(i) min Then min = A(i)End IfFor i = 2 To 6 Next i:imin=1:imin=i33計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)2222本章目錄本章目錄2222下標下標12345678910初值初值26 43 61 873319 37 59 7669下標下標12345678910交換交換 1943 61 87 33 2637 59 76 69將最小元素與數(shù)組中第一個元素交換將最小元素與數(shù)組中第一個元素交換:
29、t = a(1) : a(1) = a(imin) : a(imin) = timin計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)2323本章目錄本章目錄2323復習:編寫一個程序復習:編寫一個程序,按每行,按每行5個數(shù)顯示有個數(shù)顯示有n個斐波個斐波那契數(shù)序列。如那契數(shù)序列。如: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55.Dim x() As LongDim n%, i%n = Val(InputBox(輸入序列數(shù)輸入序列數(shù))ReDim x (n - 1)x(0) = 1x(1) = 1For i = 2 To n - 1 x(i) = x(i
30、 - 1) + x(i - 2)Next iFor i = 0 To n - 1 Print x(i), If (i + 1) Mod 5 = 0 Then PrintNext i分析:除序列分析:除序列中第中第1和第和第2兩兩個元素均為個元素均為1外外,其他元素是其他元素是前兩個元素的前兩個元素的和和.輸入序號輸入序號n,顯示前顯示前n個數(shù)個數(shù).計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)2424本章目錄本章目錄24246 6、數(shù)組排序、數(shù)組排序 選擇法排序選擇法排序思路:從思路:從n個數(shù)中選最小數(shù)的下標,結(jié)束循環(huán)后與第個數(shù)中選最小數(shù)的下標,結(jié)束循環(huán)后與第1個個互換
31、互換A(1) A(2) A(3) A(4) A(5) A(6)A(1) A(2) A(3) A(4) A(5) A(6) 8 6 9 3 2 7 imin = 1 8 6 9 3 2 7 imin = 1從剩下的從剩下的n-1個數(shù)中選最小的數(shù),結(jié)束循環(huán)與第個數(shù)中選最小的數(shù),結(jié)束循環(huán)與第2個互換個互換依次類推依次類推2 2 4 45 5A(1) A(imin)A(1) A(imin)2 2 6 9 3 6 9 3 8 8 7 76 9 3 8 7 imin = 26 9 3 8 7 imin = 2 4 43 3 9 9 6 6 8 7 8 7A(2) A(imin)A(2) A(imin)計算
32、機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)2525本章目錄本章目錄2525 iMin = 1 iMin = 1 For j = 2 To n For j = 2 To n If A(j) A(iMin) Then iMin = JIf A(j) A(iMin) Then iMin = J Next j Next j T = A(i)T = A(i) A(i) = A(iMin) A(i) = A(iMin) A(iMin) = T A(iMin) = T2 23 3i ii+1i+1 Dim A(), iMin%, n%, i%, j%, t% Dim A(), iMi
33、n%, n%, i%, j%, t% A = Array(8, 6, 9, 3, 2, 7) A = Array(8, 6, 9, 3, 2, 7) n = UBound(A) n = UBound(A) 選擇法排序選擇法排序計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)2626本章目錄本章目錄2626 冒泡法排序(從小到大)冒泡法排序(從小到大) 當所有元素比較一次后,最小數(shù)冒出當所有元素比較一次后,最小數(shù)冒出 依次類推依次類推注意:比較的方向注意:比較的方向A(1) A(2) A(3) A(4) A(5) A(6)A(1) A(2) A(3) A(4) A(5) A
34、(6) 8 6 9 8 6 9 3 23 2 7 7A(4) A( 5 ) A(4) A( 5 ) 8 6 8 6 9 29 2 3 7 3 78 8 6 26 2 9 3 7 9 3 78 28 2 6 9 3 7 6 9 3 7A(1) A( 2 )A(1) A( 2 )2 72 73 23 29 29 2A(3) A( 4 ) A(3) A( 4 ) 6 26 2A(2) A( 3 ) A(2) A( 3 ) 8 28 22 2 8 6 9 3 7 8 6 9 3 7思路:思路: 將相鄰的兩個數(shù)比較,當次序不對時互換位置將相鄰的兩個數(shù)比較,當次序不對時互換位置 計算機技術基礎計算機技術基
35、礎(VB) 程序設計語言程序設計語言(VB)2727本章目錄本章目錄2727 If If a(j)a(j-1)a(j)a(j-1) Then Then T=a(j) : a(j)=a(j-1) : a(j-1)=T T=a(j) : a(j)=a(j-1) : a(j-1)=T End If End If Dim A(), n%, i%, j%, t% A = Array(8, 6, 9, 3, 2, 7) n = UBound(A) 冒泡法排序(從小到大)冒泡法排序(從小到大)For i=0 to nFor i=0 to n 輸出數(shù)組中的元素輸出數(shù)組中的元素 print a(i);print
36、 a(i);Next iNext i計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)2828本章目錄本章目錄28287.7.插入數(shù)據(jù)插入數(shù)據(jù) 插入數(shù)據(jù)基本思想是:插入數(shù)據(jù)基本思想是:1 1)首先查找待插入數(shù)據(jù)在數(shù)組中的位置首先查找待插入數(shù)據(jù)在數(shù)組中的位置 k k ;2 2)然后從最后一個元素開始往前直到下標為然后從最后一個元素開始往前直到下標為 k k 的元的元素依次往后移動一個位置;素依次往后移動一個位置;3) 3) 第第 k k 個元素的位置騰出,將數(shù)據(jù)插入。個元素的位置騰出,將數(shù)據(jù)插入。 1 4 7 10 13 16 19 22 25 14 k x 例例5.75.7
37、在有序數(shù)組在有序數(shù)組a a中插入數(shù)值中插入數(shù)值x x。 計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)2929本章目錄本章目錄2929 Dim a(), i%, k%, x%, n% a = Array(1, 4, 7, 9, 12, 23, 56) n = UBound(a) 獲得數(shù)組的上界獲得數(shù)組的上界 x = 14 For k = 0 To n 查找欲插入數(shù)查找欲插入數(shù)x在數(shù)組中的位置在數(shù)組中的位置 If x n Then MsgBox (找不到此數(shù)據(jù)找不到此數(shù)據(jù)) : Exit Sub For i = k + 1 To n 將將x后的元素左移后的元素左移 a(i
38、 - 1) = a(i) Next i n = n - 1 ReDim Preserve a(n) 數(shù)組元素減少一個數(shù)組元素減少一個 For i = 0 To n 顯示刪除后的各數(shù)組元素顯示刪除后的各數(shù)組元素 Print a(i); Next i例例5.8計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)3232本章目錄本章目錄3232復習和作業(yè)復習和作業(yè) 什么是數(shù)組什么是數(shù)組 靜態(tài)數(shù)組的聲明靜態(tài)數(shù)組的聲明 動態(tài)數(shù)組的聲明動態(tài)數(shù)組的聲明 數(shù)組的簡單使用數(shù)組的簡單使用書面作業(yè)書面作業(yè): p123 1, 2, 3, 4上機作業(yè)上機作業(yè): 例題例題5.4,實驗,實驗E 1, 2,
39、 3, 4, 5計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)3333本章目錄本章目錄33335.3 5.3 列表框和組合框控件列表框和組合框控件 列表框和組合框?qū)嵸|(zhì)是列表框和組合框?qū)嵸|(zhì)是一維字符串數(shù)組一維字符串數(shù)組的使用的使用列表框列表框 可顯示多個選項供用戶選擇,不能直接修改可顯示多個選項供用戶選擇,不能直接修改其中的內(nèi)容。其中的內(nèi)容。組合框組合框 組合了組合了文本框文本框和和列表框列表框的特性而形成的一種的特性而形成的一種控件。控件。組合框有組合框有3種樣式。種樣式。計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)3434本章目錄本章目錄34
40、341 1、列表框和組合框重要屬性、列表框和組合框重要屬性(1) List List List List是一個集合是一個集合(2) ListIndexListIndex 選項的序號選項的序號 (從從0開始開始)(3) ListCount ListCount 項目數(shù)量項目數(shù)量 (4) Text Text 被選定的文本內(nèi)容被選定的文本內(nèi)容 (5) Sorted Sorted 指定指定選項是否按字母順序排序選項是否按字母順序排序共有屬性共有屬性:ListIndex = 3計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)3535本章目錄本章目錄3535List1. ListInd
41、ex List1. ListIndex = 2List1. ListCount List1. ListCount = 6List1. Sorted List1. Sorted = FalseList1. Text List1. Text 為為 C/C+程序設計程序設計 List1.ListList1.List(List1.ListIndexList1.ListIndex) 等價于等價于List1.Text List1.Text 計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)3636本章目錄本章目錄3636設置列表框的風格設置列表框的風格0-0-標準標準1-1-復選框的風
42、格復選框的風格設置列表框是否允許選擇多項設置列表框是否允許選擇多項0- 0- 禁止多選禁止多選 1-1-簡單多選簡單多選 2-2-擴展多選擴展多選表示對應項是否被選中,是一個數(shù)組表示對應項是否被選中,是一個數(shù)組list1.Selected(0)、list1.Selected(2)列表框列表框List的屬性的屬性計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)3737本章目錄本章目錄3737組合框組合框Combo的屬性的屬性 0 0-下拉式組合框下拉式組合框 ( (既可選擇又可輸入既可選擇又可輸入) ) Style 1 1-簡單組合框簡單組合框 (既可選擇又可輸入既可選擇又
43、可輸入) 2 2-下拉列表下拉列表 ( (只能選擇只能選擇, , 不能輸入不能輸入) )Style=0Style=0Style=1Style=1Style=2Style=2計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)3838本章目錄本章目錄38382 2、常用方法、常用方法v AddItemAddItem方法:把一個項目加入列表方法:把一個項目加入列表 對象對象. AddItem . AddItem 項目字符串項目字符串 , ,索引值索引值 索引值:決定新增項在列表中的位置,如果省略,索引值:決定新增項在列表中的位置,如果省略,則新增項目添加在最后。則新增項目添加在最
44、后。v RemoveItemRemoveItem方法:刪除列表中指定項目方法:刪除列表中指定項目 對象對象. RemoveItem . RemoveItem 索引值索引值v ClearClear:清除列表中所有項目清除列表中所有項目 例如:例如:List1.Clear 全部清除全部清除實驗實驗E 7計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)3939本章目錄本章目錄39393 3、重要事件、重要事件列表框:列表框:ClickClick、DblClickDblClick組合框:組合框:ClickClick例例5.9:編寫一個能對列表框編寫一個能對列表框進行項目添加、修進
45、行項目添加、修改和刪除的應用程序。改和刪除的應用程序。 關鍵:關鍵:1 1)獲得選中的下標)獲得選中的下標ListIndex2 2)不能直接修改列表框,)不能直接修改列表框,l先將內(nèi)容輸入在文本框中,先將內(nèi)容輸入在文本框中,l再更新列表框再更新列表框 計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)4040本章目錄本章目錄4040Private Sub Form_Load() List1.AddItem 大學計算機基礎大學計算機基礎 List1.AddItem VB.NET程序設計程序設計 .End Sub Private Sub List1_Click() 選中某項目選
46、中某項目,在在Label1顯示內(nèi)容和下標顯示內(nèi)容和下標 Label1 = List1.Text & 下標為:下標為: & List1.ListIndexEnd SubPrivate Sub Command1_Click() 添加新項目添加新項目 List1.AddItem Text1 Text1 = End SubPrivate Sub Command2_Click() 刪除選中的項目刪除選中的項目 List1.RemoveItem List1.ListIndexEnd SubPrivate Sub Command3_Click() 清除所有項目清除所有項目 List1.Cle
47、arEnd Sub例例5.9計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)4141本章目錄本章目錄41414 4、應用、應用例例5.10編寫一個編寫一個使用屏幕字體、使用屏幕字體、字號的程序字號的程序 例例5.11使用列表框?qū)崿F(xiàn)排序、查找、刪除使用列表框?qū)崿F(xiàn)排序、查找、刪除(自學自學)例例5.12使用組合框?qū)κ『椭陛犑褂媒M合框?qū)κ『椭陛犑忻Q管理市名稱管理(自學自學)計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)4242本章目錄本章目錄42425.5 5.5 綜合應用綜合應用- -分類統(tǒng)計分類統(tǒng)計1.1.綜合應用綜合應用- -分類統(tǒng)計分類統(tǒng)計 將
48、一批數(shù)據(jù)分類統(tǒng)計每一類中包含的個數(shù)。將一批數(shù)據(jù)分類統(tǒng)計每一類中包含的個數(shù)。例如:統(tǒng)計學生成績優(yōu)、良、中、及格、不及格人數(shù)。例如:統(tǒng)計學生成績優(yōu)、良、中、及格、不及格人數(shù)。 這類問題要掌握這類問題要掌握分類條件表達式的書寫分類條件表達式的書寫和和使用計使用計數(shù)變量保存相應的計數(shù)數(shù)變量保存相應的計數(shù)。計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)4343本章目錄本章目錄4343綜合應用綜合應用- -分類統(tǒng)計分類統(tǒng)計例例5.14 5.14 輸入一串字符,統(tǒng)計各字母出現(xiàn)的次數(shù)輸入一串字符,統(tǒng)計各字母出現(xiàn)的次數(shù) u統(tǒng)計統(tǒng)計26個字母出現(xiàn)的個數(shù),必須聲明一個個字母出現(xiàn)的個數(shù),必須聲
49、明一個具有具有26個元素的個元素的數(shù)組數(shù)組A(1 to 26),每個元素的下標表示對應的字母,元素的值,每個元素的下標表示對應的字母,元素的值表示對應字母出現(xiàn)的次數(shù)。表示對應字母出現(xiàn)的次數(shù)。u 從輸入的字符串中逐一取出字符從輸入的字符串中逐一取出字符C,轉(zhuǎn)換成大寫字符,轉(zhuǎn)換成大寫字符(不區(qū)分不區(qū)分大小寫大小寫),再求得其在數(shù)組中的下標。,再求得其在數(shù)組中的下標。u關鍵表達式:關鍵表達式: j= Asc( UCase(C) ) 65 +1 A(j)= A(j) + 1A(1) A(2) A(3)A(24) A(25) A(26) “A”“B”“C”“X”“Y”“Z”計算機技術基礎計算機技術基礎(
50、VB) 程序設計語言程序設計語言(VB)4444本章目錄本章目錄4444Private Sub Command1_Click() Dim a(1 To 26) As Integer, c As String * 1 le = Len(Text1) 求字符串的長度求字符串的長度 For i = 1 To le c = UCase(Mid(Text1, i, 1) 取一個字符,轉(zhuǎn)換成大寫取一個字符,轉(zhuǎn)換成大寫 If c = A And c 0 Then Picture1.Print ; Chr$(j + 64); =; a(j);: n = n + 1 If n Mod 6 = 0 And n 0
51、 Then Picture1.Print End If Next j End Sub例例5.14計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)4545本章目錄本章目錄45452 2、綜合應用、綜合應用- -數(shù)據(jù)輸入數(shù)據(jù)輸入應用:在財務、工程計算中,經(jīng)常需要對大量的數(shù)應用:在財務、工程計算中,經(jīng)常需要對大量的數(shù) 據(jù)進行輸入和編輯。據(jù)進行輸入和編輯。問題問題: : InputBox一次輸入一個數(shù)據(jù),而后不能修改一次輸入一個數(shù)據(jù),而后不能修改 一個文本框也只能輸入一項一個文本框也只能輸入一項改進:可利用文本框、字符串函數(shù)通過編程實現(xiàn)。改進:可利用文本框、字符串函數(shù)通過編程實現(xiàn)
52、。例例5.155.15在文本框輸入數(shù)據(jù)在文本框輸入數(shù)據(jù), ,并允許修改和自動識別非數(shù)并允許修改和自動識別非數(shù)字數(shù)據(jù)字數(shù)據(jù); ;輸入結(jié)束將它們按分隔符分離后存放在數(shù)組中輸入結(jié)束將它們按分隔符分離后存放在數(shù)組中v利用利用KeyasciiKeyascii參數(shù)過濾非法數(shù)據(jù),文本框本身具有編參數(shù)過濾非法數(shù)據(jù),文本框本身具有編輯功能;輯功能;v利用利用ReplaceReplace函數(shù)去除重復輸入的分隔符。函數(shù)去除重復輸入的分隔符。v利用利用SplitSplit函數(shù)函數(shù)將輸入的內(nèi)容分離到數(shù)組中。將輸入的內(nèi)容分離到數(shù)組中。計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)4646本章目錄本
53、章目錄4646Option ExplicitDim a() As StringPrivate Sub Text1_KeyPress(KeyAscii As Integer) Dim Lenstra As Integer, j As Integer Dim Stra As String, S As String * 1 S = Chr(KeyAscii) Select Case S Case 0 To 9, , ., - 09,逗號,負號,小數(shù)點逗號,負號,小數(shù)點 為有效數(shù)字串,可以繼續(xù)輸為有效數(shù)字串,可以繼續(xù)輸入入 Case Else 輸入非數(shù)字字符,去除非法字符輸入非數(shù)字字符,去除非法字符,再輸入再輸入 KeyAscii = 0 End SelectEnd Sub例例5.15計算機技術基礎計算機技術基礎(VB) 程序設計語言程序設計語言(VB)4747本章目錄本章目錄4747Private Sub Command1_Click() Dim temp As String Dim i As Integer temp = Replace(Text1, , ,) 去除出現(xiàn)的連
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保潔公司競標方案范本
- 砌塊建筑電氣系統(tǒng)設計與施工考核試卷
- 畜牧業(yè)市場分析考核試卷
- 紙板容器表面處理方法考核試卷
- 2025年【煤礦防突】模擬考試題及答案
- 2023年中國鐵建財務有限公司公開招聘筆試參考題庫附帶答案詳解
- 環(huán)保工程環(huán)境信息技術應用考核試卷
- 2024年秘書證考試知識框架與試題及答案
- 2025年證券從業(yè)資格證考試問答試題及答案
- 氨綸纖維在航空航天材料中的應用考核試卷
- (高清版)DZT 0002-2017 含煤巖系鉆孔巖心描述
- 天然石材更換方案
- 腹腔鏡下子宮肌瘤剔除術護理查房
- 嚴防管制刀具 對自己和他人負責-校園安全教育主題班會課件
- 09J202-1 坡屋面建筑構(gòu)造(一)-1
- 扁平足的癥狀與矯正方法
- 青春健康知識100題
- 員工考勤培訓課件
- 危機處理與應急管理
- 豐田C-HR汽車說明書
- 國開電大操作系統(tǒng)-Linux系統(tǒng)使用-實驗報告
評論
0/150
提交評論