第5章--VB數(shù)組_第1頁(yè)
第5章--VB數(shù)組_第2頁(yè)
第5章--VB數(shù)組_第3頁(yè)
第5章--VB數(shù)組_第4頁(yè)
第5章--VB數(shù)組_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2021/8/141第5章 數(shù)組數(shù)組是具有相同變量名,通過不同的下標(biāo)來(lái)訪問或修改的一組變量。數(shù)組在VB程序設(shè)計(jì)中應(yīng)用十分廣泛。使用數(shù)組,既可以簡(jiǎn)化程序結(jié)構(gòu),又可以完成一些特殊的操作。VB提供了一維數(shù)組、多維數(shù)組、動(dòng)態(tài)數(shù)組和數(shù)組控件等數(shù)組形式。本章包括以下知識(shí)點(diǎn)。數(shù)組的聲明和應(yīng)用。多維數(shù)組的使用方法。一維數(shù)組、二維數(shù)組與循環(huán)程序結(jié)構(gòu)的結(jié)合應(yīng)用。動(dòng)態(tài)數(shù)組的使用方法,動(dòng)態(tài)數(shù)組的定義、重定義的要求??丶?shù)組的創(chuàng)建和使用。通過本章的學(xué)習(xí),讀者可以快速掌握各種數(shù)組的定義和使用方法,以及數(shù)組和循環(huán)程序控制結(jié)構(gòu)的結(jié)合使用。提高編程效率,優(yōu)化程序結(jié)構(gòu)。2021/8/1425.1 數(shù)組概述 數(shù)組是一組同名的變量,

2、每個(gè)變量都是該數(shù)組的一個(gè)元素,不同的下標(biāo)用于區(qū)分對(duì)應(yīng)的數(shù)組元素。數(shù)組中的所有元素的數(shù)據(jù)類型都是相同的,可以以一組相關(guān)的數(shù)據(jù)存放到連續(xù)的存儲(chǔ)單元。使用數(shù)組可以簡(jiǎn)化程序結(jié)構(gòu)、提高編程效率。數(shù)組經(jīng)常和循環(huán)結(jié)構(gòu)結(jié)合使用,可以方便地利用數(shù)組的下標(biāo)訪問對(duì)應(yīng)的元素,提高數(shù)據(jù)處理效率。2021/8/1435.1.1 數(shù)組聲明數(shù)組和變量一樣,通常先聲明再使用。數(shù)組的聲明格式如下。Dim arrayname (length) As type其中,arrayname為數(shù)組名;length為數(shù)組長(zhǎng)度;type為數(shù)組的數(shù)據(jù)類型,聲明數(shù)組的數(shù)據(jù)類型以后,數(shù)組中的所有元素的數(shù)據(jù)類型都是type。數(shù)組的命名規(guī)則和變量相同。數(shù)

3、組的長(zhǎng)度是數(shù)組元素下標(biāo)的上限,使用下標(biāo)引用數(shù)組元素時(shí),下標(biāo)值不能大于該上限值,否則,系統(tǒng)提示下標(biāo)越界出錯(cuò)。上述聲明的數(shù)組,元素有l(wèi)ength+1個(gè),第一個(gè)元素的下標(biāo)為0,第length+1個(gè)元素的下標(biāo)為length。數(shù)組也可以使用To語(yǔ)句顯式地聲明其上下界,聲明格式如下。Dim arrayname (lower To upper) As type2021/8/1445.1.2 數(shù)組的應(yīng)用 數(shù)組中的元素是通過其下標(biāo)被訪問或修改的。數(shù)組元素的下標(biāo)可以是常量、變量或表達(dá)式。每一個(gè)數(shù)組元素都是一個(gè)普通的變量,可以稱為下標(biāo)變量。所有對(duì)變量的操作方法,同樣適用于下標(biāo)變量。2021/8/1455.2 多維數(shù)

4、組 上述聲明和使用的數(shù)組都是一維數(shù)組。事實(shí)上,數(shù)組可以有多重維數(shù),即多維數(shù)組。VB支持的數(shù)組維數(shù)可達(dá)60維。常用的多維數(shù)組有二維數(shù)組,聲明格式如下。 Dim arrayname (length1, length2) As type 其中,length1為第一維下標(biāo)的長(zhǎng)度,length2為第二維下標(biāo)的長(zhǎng)度。 使用To語(yǔ)句顯式聲明二維數(shù)組的格式如下。 Dim arrayname (lower1 To upper1, lower2 To upper2) As type2021/8/1465.3 動(dòng)態(tài)數(shù)組 動(dòng)態(tài)數(shù)組在程序運(yùn)行時(shí),可以重定義數(shù)組的維數(shù)。動(dòng)態(tài)數(shù)組也稱可重定義數(shù)組。使用動(dòng)態(tài)數(shù)組可以根據(jù)數(shù)據(jù)多

5、少靈活地改變數(shù)組大小。與固定維數(shù)的數(shù)組相比,使用動(dòng)態(tài)數(shù)組能夠有效地管理內(nèi)存。動(dòng)態(tài)數(shù)組使用方法和維數(shù)固定的數(shù)組一樣,也可以使用Private、Static和Public定義其作用域。 聲明動(dòng)態(tài)數(shù)組的時(shí)候,可以指明其數(shù)據(jù)類型,但不能指明其維數(shù)大小。在程序運(yùn)行時(shí),可以使用關(guān)鍵字ReDim隨時(shí)重新定義數(shù)組的大小,并為該數(shù)組分配內(nèi)存。2021/8/1475.4 控件數(shù)組在VB程序設(shè)計(jì)中,可以使用控件數(shù)組,將功能相似的相同控件作為一個(gè)組??丶?shù)組像數(shù)組元素一樣,可以使用循環(huán)結(jié)構(gòu)進(jìn)行操作,簡(jiǎn)化程序結(jié)構(gòu),提高編程效率??丶?shù)組中的每個(gè)控件都有唯一的索引號(hào)Index,通過Index使用相應(yīng)的控件。Index的下

6、限值是0,上限值是32767。控件數(shù)組的Index默認(rèn)從0開始??丶?shù)組中控件的屬性值是獨(dú)立的,但所有控件的事件過程是共享的??丶?shù)組的創(chuàng)建有三種:其一,將多個(gè)控件的Name屬性設(shè)置為相同的名稱;其二,復(fù)制控件,并將其粘貼到該控件的所在的相同容器中;其三,顯式地設(shè)置控件的Index屬性創(chuàng)建控件數(shù)組。第一次創(chuàng)建控件數(shù)組的時(shí)候,系統(tǒng)彈出對(duì)話框提示程序員是否創(chuàng)建控件數(shù)組。2021/8/1485.5 實(shí)例:線性數(shù)組查找 在涉及數(shù)組操作的程序中,經(jīng)常需要查找數(shù)組中的特定元素。數(shù)組查找有多種方法,常用的有線性查找和二分查找。線性查找是將數(shù)組中的所有元素與欲查找的數(shù)逐一進(jìn)行比較。數(shù)組元素的排列可能是隨機(jī)的。

7、因此,線性查找的結(jié)果可能會(huì)是第一個(gè)數(shù)組元素,也可能是最后一個(gè)數(shù)組元素,或者不存在而沒有找到。線性查找算法簡(jiǎn)單,編程容易,在數(shù)據(jù)量較小的時(shí)候比較適用。2021/8/1495.6 綜合練習(xí) 本次練習(xí)使用二分查找方法快速地查找數(shù)據(jù)在數(shù)組中的位置。二分查找的操作過程,是查找升序或降序數(shù)組中的中間值,與欲查找的數(shù)進(jìn)行比較,如果相等,查找結(jié)束,返回該位置。如果欲查找的數(shù)進(jìn)小于中間數(shù),查找前一半的數(shù)據(jù)。如果欲查找的數(shù)進(jìn)大于中間數(shù),查找后一半的數(shù)據(jù)。 產(chǎn)生10000個(gè)按照升序排列的數(shù)據(jù)。從文本框中輸入要查找的數(shù)據(jù),單擊“查找”按鈕,系統(tǒng)進(jìn)行二分查找。如果查到,則返回該數(shù)據(jù)的位置。如果沒有查到,則提示沒有找到。

8、2021/8/14105.7 常見問題 1 如何從一個(gè)二維數(shù)組中讀取其最大值,最小值以及平均數(shù)? 在循環(huán)中逐一比較各元素,可以讀取二維數(shù)組中最大值,最小值。在比較的同時(shí),將所有元素想加,保存在變量中,等到循環(huán)結(jié)束,計(jì)算平均數(shù)。 2 如何合并兩個(gè)數(shù)組中相同的項(xiàng),并按從小到大的順序排列?其中相同的元素只保留一個(gè)。 該操作可以分三步完成: 3 有一個(gè)長(zhǎng)度為10的數(shù)組,從中任取4個(gè)數(shù)a、b、c和d,進(jìn)行a * b / (c * d)運(yùn)算,但是不希望出現(xiàn)四個(gè)數(shù)相等的情況。2021/8/14115.8 小結(jié) 本章主要介紹數(shù)組的創(chuàng)建和使用。VB提供了一維數(shù)組、多維數(shù)組、動(dòng)態(tài)數(shù)組、控件數(shù)組等數(shù)組形式,簡(jiǎn)化了程序設(shè)計(jì)、提高了編程效率。本章的難點(diǎn)是動(dòng)態(tài)數(shù)組和控件數(shù)組的使用。讀者需要注意的是動(dòng)態(tài)數(shù)組在定義的時(shí)候不能指明其維數(shù),第一次重定義的時(shí)候就確定了數(shù)組的維數(shù),后面重定義的時(shí)候不能改變??丶?shù)組中的元素只共享事件過程,其屬性需要獨(dú)立設(shè)置。在使用數(shù)組作為過程參數(shù)時(shí),形參與實(shí)參共享內(nèi)存地址,數(shù)組中的數(shù)據(jù)

溫馨提示

  • 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)論