Visual Basic教學(xué)課件:第4章 數(shù)組_第1頁
Visual Basic教學(xué)課件:第4章 數(shù)組_第2頁
Visual Basic教學(xué)課件:第4章 數(shù)組_第3頁
Visual Basic教學(xué)課件:第4章 數(shù)組_第4頁
Visual Basic教學(xué)課件:第4章 數(shù)組_第5頁
已閱讀5頁,還剩77頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、14.1 數(shù)組的概念數(shù)組的概念4.2 一維數(shù)組一維數(shù)組4.3 二維數(shù)組及多維數(shù)組二維數(shù)組及多維數(shù)組4.4 動(dòng)態(tài)數(shù)組動(dòng)態(tài)數(shù)組4.5控件數(shù)組控件數(shù)組4.1數(shù)組的概念數(shù)組的概念Dim N%, S!, A!, Ave!For N=1 to 10 A=Val(InputBox(“Enter A Number”) S=S+ANext NAve=S/10Print Ave4.1數(shù)組的概述數(shù)組的概述使用:使用:A,B,C,D,E,F(xiàn),G,H,J,K Dim N%, S!, Ave!, A!, B!.,K! A=Val(InputBox(“Enter No1 Number”) B=Val(InputBox(“E

2、nter No2 Number”) K=Val(InputBox(“Enter No10 Number”)4.1數(shù)組的概述數(shù)組的概述 S=A+B+C+D+E+F+G+H+J+K Ave=S/10 IF AAve Then Print A IF BAve Then Print B . IF KAve Then Print K 4.1數(shù)組的概述數(shù)組的概述思考:思考: VB中,通過中,通過下標(biāo)的變化下標(biāo)的變化來表示不同的變來表示不同的變量,是通過定義量,是通過定義數(shù)組數(shù)組來實(shí)現(xiàn)的。來實(shí)現(xiàn)的。如何使用如何使用Ai ( i=1,2,.10 )的形式?的形式?使用循環(huán)來寫程序使用循環(huán)來寫程序處理相同類型的

3、一批數(shù)據(jù)處理相同類型的一批數(shù)據(jù)4.1數(shù)組的概述數(shù)組的概述4.1數(shù)組的概述數(shù)組的概述4.1數(shù)組的概述數(shù)組的概述4.1數(shù)組的概念數(shù)組的概念 一維數(shù)組:一維數(shù)組:類似于類似于一行方格紙一行方格紙;如:存放一個(gè)班級(jí)中所有學(xué)生的一門成績就可用如:存放一個(gè)班級(jí)中所有學(xué)生的一門成績就可用一維數(shù)組。一維數(shù)組。4.1數(shù)組的概述數(shù)組的概述4.2數(shù)組的定義與引用數(shù)組的定義與引用4.2.1數(shù)組的定義數(shù)組的定義說明:說明:4和和不能不能使用變量使用變量,必須是,必須是常量常量,常量可以是直接常量、符號(hào)常量,一般是整型常常量可以是直接常量、符號(hào)常量,一般是整型常量。量。說明:說明:Dim N As IntegerN=Va

4、l(InputBox(“Enter N=?”)Dim A(N) As Integer A(0)A(1)A(2)A(n). 一維數(shù)組在內(nèi)存中存放的順序一維數(shù)組在內(nèi)存中存放的順序說明:說明:4.2.2一維數(shù)組的引用一維數(shù)組的引用4.2.3一維數(shù)組的基本操作一維數(shù)組的基本操作4.2.3一維數(shù)組的基本操作一維數(shù)組的基本操作4.2.3一維數(shù)組的基本操作一維數(shù)組的基本操作4.2.3一維數(shù)組的基本操作一維數(shù)組的基本操作4.2.3一維數(shù)組的基本操作一維數(shù)組的基本操作4.2.4一維數(shù)組的應(yīng)用一維數(shù)組的應(yīng)用4.2.4一維數(shù)組的應(yīng)用一維數(shù)組的應(yīng)用4.2.4一維數(shù)組的應(yīng)用一維數(shù)組的應(yīng)用4.2.4一維數(shù)組的應(yīng)用一維數(shù)組

5、的應(yīng)用 1 4 7 10 13 16 19 22 25 14 k Private Sub Command1_Click()Dim a%(1 To 10), i%, k%For i = 1 To 9 a(i) = (i - 1) * 3 + 1Next iFor k = 1 To 9If 14 a(k) Then Exit ForNext kFor i = 9 To k Step -1a(i + 1) = a(i)Next ia(k) = 14End Sub 1 4 7 1 0 1 3 1 6 1 9 2 2 2 5 1 4 k 1 4 7 10 13 14 16 19 22 25 k For

6、i = 1 To 9a(i) = (i - 1) * 3 + 1Next iFor k = 1 To 9If a(k) = 13 Then Exit ForNext kFor i = k To 8a(i) = a(i + 1)Next i原始數(shù)據(jù)8 6 9 3 2 7a(1)a(2)a(3)a(4)a(5)a(6)第1趟排序 2 6 9 3 8 7a(2)a(3)a(4)a(5)a(6)第2趟排序 2 3 9 6 8 7a(3)a(4)a(5)a(6)第3趟排序 2 3 6 9 8 7a(4)a(5)a(6)第4趟排序 2 3 6 7 8 9a(5)a(6)第5趟排序 2 3 6 7 8 9a

7、(1)a(6)將數(shù)組中元素從小到大排序?qū)?shù)組中元素從小到大排序1、選擇排序、選擇排序2、冒泡排序、冒泡排序算法算法1選擇排序法選擇排序法1)第)第1遍遍:從:從n個(gè)數(shù)中找到最小的數(shù)的位置,并與第個(gè)數(shù)中找到最小的數(shù)的位置,并與第 1個(gè)數(shù)交換位置;個(gè)數(shù)交換位置; iMin=5T=a(1):a(1)=a(iMin):a(iMin)=T 2)第)第2遍:遍:除第除第1 個(gè)數(shù)外,其余個(gè)數(shù)外,其余n-1個(gè)數(shù)中選最小的個(gè)數(shù)中選最小的數(shù),與第數(shù),與第2個(gè)數(shù)交換位置;個(gè)數(shù)交換位置; 3)第)第3遍:遍:除第除第1 、2個(gè)數(shù)外,其余個(gè)數(shù)外,其余n-1個(gè)數(shù)中選個(gè)數(shù)中選最小的數(shù),與第最小的數(shù),與第3個(gè)數(shù)交換位置;個(gè)數(shù)

8、交換位置;iMin=4T=a(2):a(2)=a(iMin):a(iMin)=T算法算法1選擇排序法選擇排序法Option Base 1Private Sub Command1_Click()Dim a%(1 To 6), iMin%, i%, j%, n%, t%a(1) = 8: a(2) = 6: a(3) = 9: a(4) = 3: a(5) = 2: a(6) = 7n=6For i = 1 To n-1iMin = i For j = i + 1 To n If a(j) a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t

9、End If Next jNext iFor i = 1 To nPrint Format(a(i), );NextEnd Sub冒泡法排序(升序)程序冒泡法排序(升序)程序:算法算法2冒泡排序法(升序)冒泡排序法(升序)Option Base 1Private Sub Command1_Click()Dim a%(1 To 6), i%,x% ,n%a(1) = 8: a(2) = 6: a(3) = 9: a(4) = 3: a(5) = 2: a(6) = 7n=6x = InputBox(請(qǐng)輸入一個(gè)數(shù):請(qǐng)輸入一個(gè)數(shù):)For i = 1 To n If a(i) = x Then Ex

10、it ForNext iIf i n Then MsgBox This data has not been found.Else MsgBox This data has been found. & Chr(13) & It is a( & i & ).End IfEnd Sub二維數(shù)組:兩個(gè)下標(biāo)二維數(shù)組:兩個(gè)下標(biāo) 如,學(xué)生的成績可用二維數(shù)組。如,學(xué)生的成績可用二維數(shù)組。例如,要輸入和處理例如,要輸入和處理30位同學(xué)的位同學(xué)的3門功課的成績,可以定義門功課的成績,可以定義一個(gè)二維數(shù)組一個(gè)二維數(shù)組Score(1 to 30, 1 to 3), Score(1,3)

11、表示第一個(gè)人第表示第一個(gè)人第3門功課的成績,門功課的成績,Score(5,3)表示第表示第5個(gè)人第個(gè)人第3門功課的成績。門功課的成績。aaaaaaaaamnmmnn.212222111211二維數(shù)組:類似于二維數(shù)組:類似于一頁一頁方格紙;方格紙;三維數(shù)組:三維數(shù)組:類似于一本方格紙;類似于一本方格紙;如,存放一個(gè)學(xué)院中所有班級(jí)、所有學(xué)生的一個(gè)如,存放一個(gè)學(xué)院中所有班級(jí)、所有學(xué)生的一個(gè)學(xué)期的成績就可用三維數(shù)組。學(xué)期的成績就可用三維數(shù)組。聲明格式如下:聲明格式如下:方法一:方法一:Dim 數(shù)組名數(shù)組名(下標(biāo)下標(biāo)1,下標(biāo)下標(biāo)2) As 例例 Dim a(2,3) as Single方法二:方法二:D

12、im 數(shù)組名數(shù)組名 (下標(biāo)下標(biāo)1,下標(biāo),下標(biāo)2)例例 Dim a!(2,3)方法三:方法三:Dim 數(shù)組名數(shù)組名(下界下界 1 to 上界上界1,下界下界2 to 上上界界2) As 例例 Dim a(0 to2, 0 to 3) as Single4.3.1二維數(shù)組的聲明二維數(shù)組的聲明例如:例如:Dim a(2,3) As Single 二維數(shù)組在內(nèi)存的存放順序是二維數(shù)組在內(nèi)存的存放順序是“先行后列先行后列”。例如數(shù)組例如數(shù)組a的各元素在內(nèi)存中的存放順序是:的各元素在內(nèi)存中的存放順序是:a(0,0)a(0,1)a(0,2)a(0,3)a(1,0)a(1,1)a(1,2) a(1,3)a(2,

13、0)(2,1)a(2,2)a(2,3) 4.3.1二維數(shù)組的聲明二維數(shù)組的聲明引用形式:引用形式: 數(shù)組名數(shù)組名(下標(biāo)下標(biāo)1,下標(biāo),下標(biāo)2)例如:例如: a(1,2)=10 a(i+2,j)a(2,3)*2 在程序中常常通過二重循環(huán)來操作使用二維數(shù)組在程序中常常通過二重循環(huán)來操作使用二維數(shù)組元素。元素。 4.3.2二維數(shù)組的引用二維數(shù)組的引用1. 二維數(shù)組數(shù)據(jù)的輸入二維數(shù)組數(shù)據(jù)的輸入 輸出輸出Const N=4, M=5Dim a(1 to N,1 to M) As Integer, i%, j%,k%1. 對(duì)二維數(shù)組對(duì)二維數(shù)組a輸入輸出數(shù)據(jù)的程序段如下:輸入輸出數(shù)據(jù)的程序段如下: For i

14、=1 to 4 For j=1 to 5 a(i,j)=INT(RND*10) print a(i,j) Next j Next i4.3.3二維數(shù)組的基本操作二維數(shù)組的基本操作2. 求最大元素及其所在的行和列求最大元素及其所在的行和列 例例4.12 4.12 用變量用變量max存放最大值,存放最大值,row,col存放最大存放最大值所在行列號(hào)值所在行列號(hào) Max = a(1,1): row = 1: Col = 1 For i = 1 To N For j = 1 To M If a(i, j) a(Row,Col) Then Max = a(i, j) row = i Col = j En

15、d If Next jNext iPrint 最大元素是最大元素是; MaxPrint 在第在第 & row & 行行,; 第第 & Col & 列列4.3.3二維數(shù)組的基本操作二維數(shù)組的基本操作4.3.4二維數(shù)組的應(yīng)用二維數(shù)組的應(yīng)用楊輝三角為一個(gè)下三角形矩陣,每一行第一個(gè)楊輝三角為一個(gè)下三角形矩陣,每一行第一個(gè)元素和主對(duì)角線上元素都為元素和主對(duì)角線上元素都為1,其余每一個(gè)數(shù)正,其余每一個(gè)數(shù)正好等于它好等于它上面一行的同一列上面一行的同一列與與前一列數(shù)前一列數(shù)之和。之和。Dim a(10, 10) As ByteFor i = 1 To 10 a(i, 1) =

16、 1 a(i, i) = 1Next i 楊輝三角的第楊輝三角的第1列和對(duì)角線上的元素都是列和對(duì)角線上的元素都是1,從第,從第3行開始,其余的每一個(gè)數(shù)正好等于它上面一行的同一行開始,其余的每一個(gè)數(shù)正好等于它上面一行的同一列與前一列數(shù)之和,即列與前一列數(shù)之和,即 a(i, j)= a(i- 1, j-1) + a(i-1, j)。 For i = 3 To 10 For j = 2 To i - 1 s(i, j) = s(i - 1, j - 1) + s(i - 1, j) Next jNext i構(gòu)造楊輝三角構(gòu)造楊輝三角For i = 1 To 10 For j = 1 To i Prin

17、t Tab(30 - 3 * i + 6 * j); a(i, j); Next j PrintNext i打印楊輝三角打印楊輝三角4.3.4二維數(shù)組的應(yīng)用二維數(shù)組的應(yīng)用Option Base 1Private Sub Form_Click()Dim a%(10, 10), i%, j%For i = 1 To 10 For j = 1 To 10 a(i, i) = 1 a(i, 10 - i + 1) = 1 Print a(i, j); Next j PrintNext iEnd Sub第五章第五章 數(shù)數(shù) 組組 小結(jié)小結(jié)1數(shù)組的概念數(shù)組的概念 通常數(shù)組用來存放具有相同性質(zhì)的一組數(shù)據(jù),即數(shù)

18、組中的數(shù)通常數(shù)組用來存放具有相同性質(zhì)的一組數(shù)據(jù),即數(shù)組中的數(shù)據(jù)必須是同一個(gè)類型。據(jù)必須是同一個(gè)類型。 數(shù)組元素是數(shù)組中的某一個(gè)數(shù)據(jù)項(xiàng),數(shù)組元素是數(shù)組中的某一個(gè)數(shù)據(jù)項(xiàng),引用數(shù)組通常是引用數(shù)組元素,數(shù)組元素的使用同簡單變量的引用數(shù)組通常是引用數(shù)組元素,數(shù)組元素的使用同簡單變量的使用類似。使用類似。 數(shù)組可以被看作一組帶下標(biāo)的變量集合,系統(tǒng)分配一塊連數(shù)組可以被看作一組帶下標(biāo)的變量集合,系統(tǒng)分配一塊連續(xù)的內(nèi)存空間來存放數(shù)組中的元素。當(dāng)所需處理的數(shù)據(jù)個(gè)數(shù)確續(xù)的內(nèi)存空間來存放數(shù)組中的元素。當(dāng)所需處理的數(shù)據(jù)個(gè)數(shù)確定時(shí),通常使用定長數(shù)組,否則應(yīng)該考慮使用動(dòng)態(tài)數(shù)組。定時(shí),通常使用定長數(shù)組,否則應(yīng)該考慮使用動(dòng)態(tài)數(shù)組。 第五章第五章 數(shù)數(shù) 組組 本章小結(jié)本章小結(jié)2數(shù)組的聲明數(shù)組的聲明聲明一個(gè)已確定數(shù)組元素個(gè)數(shù)的數(shù)組:聲明一個(gè)已確定數(shù)組元素個(gè)數(shù)的數(shù)組:Dim 數(shù)組名數(shù)組名 ( 下界下界 To 上界上界 , 下界下界 To 上界上界 , ) As 類型關(guān)鍵字類型關(guān)鍵字它聲明了數(shù)組名、數(shù)組維數(shù)、數(shù)組大小、數(shù)組類型。下界、上它聲明了數(shù)組名、數(shù)組維數(shù)、數(shù)組大小、數(shù)組類型。下界、上界必須為常數(shù),不能為表達(dá)式或變量,若省略下界,則默認(rèn)為界必須為常數(shù),不能為表達(dá)式或變量,若省略下界,則默認(rèn)為 0, 也可用也可用 Option Base語句將默認(rèn)下界設(shè)置為語句將默認(rèn)下界設(shè)置為1。聲明一個(gè)長度可變的動(dòng)態(tài)數(shù)組:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論