計(jì)算機(jī)基礎(chǔ)與Visual Basic程序設(shè)計(jì)(第二版)第八章 數(shù)組_第1頁(yè)
計(jì)算機(jī)基礎(chǔ)與Visual Basic程序設(shè)計(jì)(第二版)第八章 數(shù)組_第2頁(yè)
計(jì)算機(jī)基礎(chǔ)與Visual Basic程序設(shè)計(jì)(第二版)第八章 數(shù)組_第3頁(yè)
計(jì)算機(jī)基礎(chǔ)與Visual Basic程序設(shè)計(jì)(第二版)第八章 數(shù)組_第4頁(yè)
計(jì)算機(jī)基礎(chǔ)與Visual Basic程序設(shè)計(jì)(第二版)第八章 數(shù)組_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第八章 數(shù) 組 數(shù)組定義及引用方法,與數(shù)組有關(guān)的一些常用算法 本章要求: 重點(diǎn): 、二維)的定義及其引用, 4. 掌握與數(shù)組有關(guān)的常用算法,如排序、查找、插入等。 難點(diǎn): 與數(shù)組有關(guān)的一些常用算法 數(shù)組的概念 在實(shí)際應(yīng)用中 , 常常需要處理相同類型的一批數(shù)據(jù) 。 例如 , 為了處理 100個(gè)員工的工資 , 可以用 S( 1) , S( 2) , , S( 100) 來(lái)分別代表每個(gè)員工的工資 , 其中 S( 1) 代表第一個(gè)員工的工資 , S( 2)代表第二個(gè)員工的工資 。 在 把一組相互關(guān)系密切的數(shù)據(jù)放在一起并用一個(gè)統(tǒng)一的名字作為標(biāo)志 , 這就是數(shù)組 。 數(shù)組中的每一個(gè)數(shù)據(jù)稱為數(shù)組元素 , 用數(shù)組名和該數(shù)據(jù)在數(shù)組中的序號(hào)來(lái)標(biāo)識(shí) 。 序號(hào)又稱為下標(biāo) , 數(shù)組元素又稱為下標(biāo)變量 。 例如 , S( 2) 是一個(gè)數(shù)組元素 , 其中的 2是下標(biāo) 。 在使用數(shù)組元素時(shí) , 必須把下標(biāo)放在一對(duì)緊跟在數(shù)組名之后的括號(hào)中 。 S( 3)是一個(gè)數(shù)組元素 , 而 數(shù)組的概念 數(shù)組的概念: 數(shù)組并不是一種數(shù)據(jù)類型,而是 一組相同類型數(shù)據(jù) 的集合。用一個(gè)統(tǒng)一的名字( 數(shù)組名) 代表邏輯上相關(guān)的一批數(shù)據(jù),每個(gè)元素用 下標(biāo)變量 來(lái)區(qū)分;下標(biāo)變量代表元素在數(shù)組中的位置。 其表示形式: A(1), A(10) X(1,1), ,10), X(2,10) Y(0,0,0), Y(1,2,5) 數(shù)組名、空間大小 數(shù)組元素及類型 下標(biāo),上界、下界、越界,缺省下界 數(shù)組維數(shù) 數(shù)組的概念 按數(shù)組的大小 ( 元素個(gè)數(shù) ) 是否可以改變來(lái)分為: 定長(zhǎng)數(shù)組 、 動(dòng)態(tài) ( 可變長(zhǎng) ) 數(shù)組 。 按元素的數(shù)據(jù)類型可分為: 數(shù)值型數(shù)組 、 字符串?dāng)?shù)組 、 邏輯數(shù)組 、 日期型數(shù)組 、 變體數(shù)組等 、 對(duì)象數(shù)組 。 按數(shù)組的維數(shù)可分為: 一維數(shù)組 、 二維數(shù)組 、 多維數(shù)組 數(shù)組的定義 1、數(shù)組必須“先聲明后使用”, 聲明一個(gè)數(shù)組就是聲明其 數(shù)組名 、 類型 、 維數(shù) 和 數(shù)組的大小 。 2、數(shù)組的維數(shù) ( 即下標(biāo)的個(gè)數(shù) ) 各維下標(biāo)之間用逗號(hào)分開。 在 維數(shù)組 、 二維數(shù)組 最多可以達(dá)到 60維 3、 靜態(tài)數(shù)組: 數(shù)組聲明時(shí) , 數(shù)組的大小固定的數(shù)組稱為靜態(tài)數(shù)組 。 它指明了數(shù)組的 維數(shù) 和每一維的 下標(biāo)范圍 , 在使用過程中 , 它的維數(shù)和下標(biāo)范圍將不得改變 4、 動(dòng)態(tài)數(shù)組: 數(shù)組聲明時(shí) , 不指明數(shù)組的維數(shù)和每一維的下標(biāo)范圍 , 僅用一對(duì)圓括號(hào)表示 , 這樣的數(shù)組稱為 動(dòng)態(tài)數(shù)組 。 靜態(tài)數(shù)組的定義 靜態(tài)數(shù)組的聲明語(yǔ)法是: 數(shù)組名 ( 下界 上界 , ) 據(jù)類型 例如: 4) 14個(gè)元素的局部數(shù)組 。 1 0) 20個(gè)元素的模塊級(jí)數(shù)組 。 靜態(tài)數(shù)組的定義 說明: (1) 數(shù)組名的命名規(guī)則與變量的命名相同 , 但在同一過程中數(shù)組名不能和簡(jiǎn)單變量名同名 , 否則會(huì)出錯(cuò) 。 (2) 下標(biāo)的最大值和最小值分別稱為數(shù)組的上界和下界 。 數(shù)組元素在上 、 下界內(nèi)是連續(xù)的 。 如: (o 20) 定義一個(gè)數(shù)組名為 A, 下界為 上界為 20的一維數(shù)組 , 數(shù)據(jù)類型為整型 ,共有 26個(gè)元素 , 即 A( A( A( A(20)。 (3) 缺省 為 0, 若希望下標(biāo)從 1開始 , 可在模塊的通用部分使用 為 1, 其使用語(yǔ)法格式是: n 參數(shù) 或 1 不能出現(xiàn)在過程中 , 并且必須放在數(shù)組定義前 。 例如: 1 將數(shù)組聲明中缺省 下標(biāo)設(shè)為 1 靜態(tài)數(shù)組的定義 ( 4) 如果省略 則數(shù)組的類型為變體類型 。 ( 5) 數(shù)組中各元素在內(nèi)存占一片連續(xù)的存儲(chǔ)空間 。 A(0) A(1) A(2) A(n) . 一維數(shù)組在內(nèi)存中存放的順序 二維數(shù)組則按先行后列的順序 。 (2, 3) ( 0 , 0 ) S ( 0 , 1 ) S ( 0 , 2 ) S ( 0 , 3 ) S ( 1 , 0 ) S ( 1 , 1 ) S ( 1 , 2 ) S ( 1 , 3 ) S ( 2 , 0 ) S ( 2 , 1 ) S ( 2 , 2 ) S ( 2 , 3 ) 第 0 行 第 1 行 第 2 行 第 0 列 第 1 列 第 2 列 第 3 列 靜態(tài)數(shù)組的定義 (6) 一維數(shù)組的元素個(gè)數(shù):上界 1;多維數(shù)組的元素個(gè)數(shù)等于每一維元素個(gè)數(shù)的乘積 。 如: x(1 0,3,1 5) 這是一個(gè)三維數(shù)組 , 第一維的元素個(gè)數(shù)為 10, 第二維的元素個(gè)數(shù)為 4, 第三維的元素個(gè)數(shù)為 15, 故整個(gè)數(shù)組的元素個(gè)數(shù)為:10 4 15 600個(gè)元素 。 (7) 關(guān)鍵字 具體內(nèi)容將在過程與函數(shù)一章進(jìn)行講解 。 (8) 在數(shù)組定義后未賦值前 , 對(duì)于數(shù)值型數(shù)組各元素的初始值為0;字符型數(shù)組初始值為空字符串;邏輯型數(shù)組初始值為 動(dòng)態(tài)數(shù)組的定義 創(chuàng)建動(dòng)態(tài)數(shù)組的步驟: ( 1) 用 用數(shù)組 )、 模塊級(jí)數(shù)組 ) 或 部數(shù)組 )在過程中聲明數(shù)組。給數(shù)組 賦以一個(gè)空維數(shù)表,這樣就將數(shù)組聲明為動(dòng)態(tài) 數(shù)組。 ( 2) 在過程中用 聲明的動(dòng)態(tài)數(shù)組分配 說明: 若選擇 則在對(duì)數(shù)組重新說明時(shí),將會(huì)保留原數(shù)組中的元素的內(nèi)容,并且只允許 句 改變動(dòng)態(tài)數(shù)組的最后一維的上限。 如: 1 AS 0,2) 0,)+4) 數(shù)組的清除 經(jīng)過定義的數(shù)組將為其分配相應(yīng)的存儲(chǔ)空間,其大小不能改變。為了 重新初始化靜態(tài)數(shù)組的元素 ,或者 釋放動(dòng)態(tài)數(shù)組的存儲(chǔ)空間 ,可以使用 句。 格式: 組名 ,數(shù)組名 功能: 重新初始化靜態(tài)數(shù)組的元素 ; 或者 釋放動(dòng)態(tài)數(shù)組的存儲(chǔ)空間。 說明: 當(dāng) 數(shù)組元素清空(即:賦默認(rèn)值); 當(dāng) 刪除整個(gè)數(shù)組結(jié)構(gòu)并釋放該數(shù)組所占用的內(nèi)存。 數(shù)組的清除 0) I=1 0 i)=I ); “” “I=1 0 ); 題: 試驗(yàn) 數(shù)組的基本操作 1、數(shù)組元素引用 數(shù)組的引用通常是指對(duì)數(shù)組中的元素的引用 。 數(shù)組元素的語(yǔ)法格式為: 數(shù)組名 (下標(biāo) , 下標(biāo) ) 其中 , 下標(biāo)可以是常量 、 變量或表達(dá)式 , 但表達(dá)式的值必須介于定義數(shù)組時(shí)指定的下標(biāo)的下界和上界之間 , 否則將導(dǎo)致 “ 下標(biāo)越界 ” 的錯(cuò)誤 。 例如: A(1)=A(2)+B(1)+7 取數(shù)組元素運(yùn)算 A(i)=B(i) 下標(biāo)使用變量 B(i+1)=A(i+2) 下標(biāo)使用表達(dá)式 C(3,4)=100 下標(biāo)使用常量 數(shù)組的基本操作 2、給數(shù)組元素賦初值 可以使用 循環(huán)結(jié)構(gòu) 和 數(shù)組賦初值。 ( 1)使用循環(huán)結(jié)構(gòu) 如給數(shù)組 00)的元素賦初值: i = 1 00 i) = 0 2)使用 數(shù) 數(shù)用來(lái)為數(shù)組元素賦值,即把一個(gè)數(shù)據(jù)集讀入某個(gè)數(shù)組, 其語(yǔ)法格式為: = 數(shù)組的基本操作 1 聲明一個(gè)靜態(tài)的變體變量 ”5,6,7,8) 輸出數(shù)組的第 4個(gè)元素,以及數(shù)組的下界和上界 ), 意: 數(shù)組變量 不能是具體的數(shù)據(jù)類型, 只能是變體類型 。 數(shù)組的基本操作 3、數(shù)組的輸入 數(shù)組的輸入一般可以通過 文本框 輸入和 入。 4、數(shù)組的賦值 可以將一個(gè)已知數(shù)組元素的值的數(shù)組整體賦值給一個(gè)可調(diào)數(shù)組,并自動(dòng)確定可調(diào)數(shù)組的大小。 例如: A(4) B() As A(0)=“王華” : A(1)=“黎明” : A(2)=“萬(wàn)雪” A(3)=“劉芳” : A(4)=夏恬 B =A 將 數(shù)組且大小確定為 5。 注意: 兩數(shù)組的類型必須相同。 5 數(shù)組的輸出 輸出數(shù)組中的全部或部分元素,一般使用 循環(huán)結(jié)構(gòu) 數(shù)組的基本操作 6 、 數(shù)組元素的復(fù)制 單個(gè)數(shù)組元素可以像簡(jiǎn)單變量一樣 , 通過對(duì)其賦值 , 也可以把它的值賦給其他的變量或數(shù)組元素 。 即數(shù)組元素之間可以互相復(fù)制 , 無(wú)論它們是否屬于同一個(gè)數(shù)組或維數(shù)是否相同 , 但數(shù)組類型必須相同 。 例如: a(4,8) b(6, 6) a(1, 2) = b(1, 1); a(2, 3) = b(2, 4) b(4, 4) =a (1, 2) 與數(shù)組有關(guān)的函數(shù) 1. 但它只能給聲明 值后的數(shù)組大小由賦值的個(gè)數(shù)決定。 例如,要將 1,2,3,4,5,6,7 這些值賦值給數(shù)組 a,可使用下面的方法賦值。 a() A=,2,3,4,5,6,7) a A=,2,3,4,5,6,7) 與數(shù)組有關(guān)的函數(shù) 2 求數(shù)組的上界 )函數(shù)、 下界 )函數(shù) )函數(shù)和 )函數(shù) 分別用來(lái)確定數(shù)組某一維的上界和下界值 。 使用形式如下: , ) , ) 其中: : 數(shù)組變量的名稱 , 遵循標(biāo)準(zhǔn)變量命名約定 。 :可選的;一般是整型常量或變量 。 指定返回哪一維的上界 。 1 表示第一維 , 2 表示第二維 , 如此等等 。 如果省略默認(rèn)是 1。 句與 句類似 , 都是實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語(yǔ)句 。 但 句是專用于數(shù)組和對(duì)象集合的 。 其語(yǔ)法格式是: 員 組 循環(huán)體 員 說明: (1) 成員:為一個(gè) 是為循環(huán)提供的 , 在 句中代表數(shù)組中的每個(gè)元素 , 數(shù)組中有幾個(gè)元素 , 此成員就重復(fù)使用幾次 , 循環(huán)體就執(zhí)行幾遍 。 (2) 數(shù)組:在此之前經(jīng)過定義的數(shù)組 , 用在此處時(shí)僅僅是一個(gè)數(shù)組名 , 沒有括號(hào)和上下界 。 (3) 句可以對(duì)數(shù)組元素進(jìn)行讀取 、 查詢 、 輸出等操作 , 它所重復(fù)執(zhí)行的次數(shù)由數(shù)組中的元素個(gè)數(shù)決定 。 例如: 00) x x ; x 此段 00個(gè)元素 , 循環(huán)體 (將執(zhí)行 100 次 , 即要輸出 100 次 , 但每次 組中的一個(gè)元素 , 所以這段代碼的功能就是輸出 (4) 不能在 因?yàn)?控件數(shù)組 1、控件數(shù)組的概念 一個(gè)窗體上可以包含多個(gè) 同種類型的控件 ,可以通過創(chuàng)建控件數(shù)組的方法使同一類型的控件 共享同一個(gè)事件過程 。使用控件數(shù)組的最大好處是編寫的代碼比較簡(jiǎn)單且易于維護(hù)。 控件數(shù)組: 是具有相同名稱、類型以及事件過程的一組控件。 每一個(gè)控件具有一個(gè)唯一的索引 ( 。當(dāng)數(shù)組中的一個(gè)控件識(shí)別某一事件時(shí),它將調(diào)用此控件數(shù)組的相應(yīng)事件過程,并把相應(yīng)索引作為參數(shù)傳遞給事件過程 。 一個(gè)控件數(shù)組至少應(yīng)有一個(gè)元素 , 在控件數(shù)組中可用到的最大索引值為 32767。 同一控件數(shù)組中的元素有自己的屬性設(shè) 置值。 控件數(shù)組 2、控件數(shù)組的建立 控件數(shù)組中每一個(gè)元素都是控件,它的定義方式與普通數(shù)組不同??梢酝ㄟ^以下兩種方法建立控件數(shù)組。 方法一:復(fù)制已有的控件并將其粘貼到窗體上。 方法二:將窗體上已有的類型相同的多個(gè)控件的 控件數(shù)組 3、控件數(shù)組應(yīng)用舉例 建立了控件數(shù)組之后,控件數(shù)組中所有控件共享同一事件過程。例如,假定某個(gè)控件數(shù)組含有 10個(gè)標(biāo)簽,則不管單擊哪個(gè)標(biāo)簽,系統(tǒng)都會(huì)調(diào)用同一個(gè) 于每個(gè)標(biāo)簽在程序中的作用不同,系統(tǒng)會(huì)將被單擊的標(biāo)簽的 事件過程根據(jù)不同的 數(shù)組的應(yīng)用 1、求數(shù)組中元素的最大最小值及其所在下標(biāo) 設(shè)計(jì)思想: 該類問題實(shí)際上是完成數(shù)組的順序查找,可以假設(shè)第一個(gè)元素為最大值,用 ;從數(shù)組第二個(gè)元素開始,逐個(gè)與 到數(shù)組的最后一個(gè)元素;一旦 時(shí)將該元素所對(duì)應(yīng)下標(biāo)值賦值給 L,最后輸出 。 數(shù)組的應(yīng)用 2、數(shù)組元素倒置 設(shè)計(jì)思想: 該類問題實(shí)際上將第 1個(gè)元素和第 n I 1個(gè)元素交互,交互次數(shù)為 n2次。 例如: i =1 102 t=A(i) A(i)=A(10) A(10)=t 數(shù)組的應(yīng)用 3、排序問題 數(shù)據(jù)的排序就是將一批數(shù)據(jù)由小大到 (升序) 或由大到小 (降序)進(jìn)行排列。常用的有 選擇法、冒泡法。 ( 1)冒泡法排序: 冒泡排序是常用的一種排序方法。假設(shè) 序思想為: 第一輪: 從數(shù)組的第一項(xiàng)開始,每一項(xiàng)( i)都與下一項(xiàng)( i+1)進(jìn)行比較。如果下一項(xiàng)的值較小,就將這兩項(xiàng)的位置交換,直到最后第 最大的數(shù)排列在最后。 第二輪: 從數(shù)組的第一項(xiàng)開始,每一項(xiàng)( i)都與下一項(xiàng)( i+1)進(jìn)行比較。如果下一項(xiàng)的值較小,就將這兩項(xiàng)的位置交換,直到最后第 第二大的數(shù)排列在倒數(shù)第二位。 依此類推, 直到只有第一項(xiàng)與第二項(xiàng)進(jìn)行比較交換,完成遞增法排序。 數(shù)組的應(yīng)用

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論