




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第五章數(shù)組
數(shù)組定義及引用方法,與數(shù)組有關(guān)的一些常用算法本章要求:重點:1.掌握數(shù)組的概念
2.掌握數(shù)組(一、二維)的定義及其引用,
3.掌握控件數(shù)組的建立及使用。
4.掌握與數(shù)組有關(guān)的常用算法,如排序、查找、插入等。難點:與數(shù)組有關(guān)的一些常用算法輸入10個數(shù),輸出它們的平均值及大于平均值的那些數(shù)?
引例:輸入A當(dāng)N<=10N=N+1打印AveS=0:N=1S=S+AAve=S/10DimN%,S!,A!,Ave!(%為integer,!為single)ForN=1to10A=Val(InputBox(“EnterANumber”))S=S+ANextNAve=S/10PrintAve
輸入10個數(shù),輸出它們的平均值及大于平均值的那些數(shù)。
引例:如果使用:A1,A2,A3,A4,A5,A6,A7,A8,A9,A10DimN%,S!,Ave!,A1!,A2!….,A10!‘實際程序是不能這樣寫
A1=Val(InputBox(“EnterA1Number”))A2=Val(InputBox(“EnterA2Number”))A3=Val(InputBox(“EnterA3Number”))A4=Val(InputBox(“EnterA4Number”))A5=Val(InputBox(“EnterA5Number”))A6=Val(InputBox(“EnterA6Number”))
引例:A7=Val(InputBox(“EnterA7Number”))A8=Val(InputBox(“EnterA8Number”))A9=Val(InputBox(“EnterA9Number”))A10=Val(InputBox(“EnterA10Number”))S=A1+A2+A3+A4+A5+A6+A7+A8+A9+A10Ave=S/10IFA1>AveThenPrintA1IFA2>AveThenPrintA2IFA3>AveThenPrintA3IFA4>AveThenPrintA4………..‘實際程序是不能這樣寫
引例:思考:
如果能使用Ai(i=1,2,…..10)的形式?使用循環(huán)來寫程序
VB中表示下標(biāo)變量就是通過定義數(shù)組來實現(xiàn)的。5.1概述
數(shù)組的概念:數(shù)組并不是一種數(shù)據(jù)類型,而是一組相同類型數(shù)據(jù)的集合。用一個統(tǒng)一的名字(數(shù)組名)代表邏輯上相關(guān)的一批數(shù)據(jù),每個元素用下標(biāo)變量來區(qū)分;下標(biāo)變量代表元素在數(shù)組中的位置。VB中數(shù)組的表示形式:
A(1),A(10)‘一維數(shù)組
X(1,1),X(2,10)‘二維數(shù)組
Y(0,0,0),Y(1,2,5)‘三維數(shù)組
第五章數(shù)組VisualBasic中的數(shù)組分類:按數(shù)組的大?。ㄔ貍€數(shù))是否可以改變來分為:定長數(shù)組、動態(tài)(可變長)數(shù)組。按元素的數(shù)據(jù)類型可分為:
數(shù)值型數(shù)組、字符串?dāng)?shù)組、邏輯數(shù)組(boolean)、日期型數(shù)組、變體數(shù)組等(variant)、
對象數(shù)組(object)。按數(shù)組的維數(shù)可分為:
一維數(shù)組、二維數(shù)組、多維數(shù)組。5.1概述
一維數(shù)組形式:
Dim數(shù)組名([<下界>to]<上界>)[As<數(shù)據(jù)類型>]或:
Dim數(shù)組名[<數(shù)據(jù)類型符>]([<下界>to]<上界>)例:Dima(1to10)AsInteger‘聲明了a數(shù)組有10個元素1是下標(biāo)的下界10是下標(biāo)的上界數(shù)組元數(shù)的數(shù)據(jù)類型與上面聲明等價形式:
Dima%(1to10)
5.2.1一維數(shù)組的聲明說明:
1.?dāng)?shù)組名的命名規(guī)則與變量的命名相同。
2.?dāng)?shù)組的元素個數(shù):上界-下界+1。
3.缺省<下界>為0,若希望下標(biāo)從1開始,可在模塊的通用部分使用OptionBase語句將設(shè)為1。其使用格式是:
OptionBase0|1‘后面的參數(shù)只能取0或1
例如:
OptionBase1‘將數(shù)組聲明中缺省<下界>下標(biāo)設(shè)為1
5.2.1一維數(shù)組的聲明4.<下界>和<上界>不能使用變量,必須是常量,常量可以是直接常量、符號常量,一般是整型常量。5.如果省略As子句,則數(shù)組的類型為變體類型。6.?dāng)?shù)組中各元素在內(nèi)存占一片連續(xù)的存儲空間。
5.2.1一維數(shù)組的聲明DimNAsIntegerN=Val(InputBox(“EnterN=?”))DimA(N)AsInteger×A(0)A(1)A(2)A(n)….
一維數(shù)組在內(nèi)存中存放的順序使用形式:
數(shù)組名(下標(biāo))
其中:下標(biāo)可以是整型變量、常量或表達(dá)式。例如:設(shè)有下面的數(shù)組定義:
DimA(10)AsInteger
,B(10)AsInteger
則下面的語句都是正確的。
A(1)=A(2)+B(1)+5'取數(shù)組元素運算
A(i)=B(i)'下標(biāo)使用變量
B(i+1)=A(i+2)'下標(biāo)使用表達(dá)式第五章數(shù)組5.2.2一維數(shù)組元素的引用1.可通過循環(huán)給數(shù)組元素的初值
Fori=1To10 ‘A數(shù)組的每個元素值為1 A(i)=1Nexti
2.數(shù)組的輸入第五章數(shù)組
5.2.3一維數(shù)組的基本操作3.求數(shù)組中最大元素及所在下標(biāo)第五章數(shù)組
5.2.3一維數(shù)組的基本操作4.將數(shù)組元素倒置5.2.3一維數(shù)組的基本操作
數(shù)據(jù)的排序就是將一批數(shù)據(jù)由小到大(升序)或由大到?。ń敌颍┻M(jìn)行排列。常用的有選擇法、冒泡法。
1.選擇法排序75346891算法(升序)(設(shè)有n個數(shù),存放在數(shù)組A(1)…..A(n)中)
1)第1遍:從中選出最小的數(shù),與第1個數(shù)交換位置;
(演示)第五章數(shù)組
5.2.4一維數(shù)組應(yīng)用舉例——數(shù)據(jù)排序2)第2遍:除第1個數(shù)外,其余n-1個數(shù)中選最小的數(shù),與第2個數(shù)交換位置;(演示)75346891713)依次類推,選擇了n-1次后,這個數(shù)列已按升序排列。第五章數(shù)組5.2.4一維數(shù)組應(yīng)用舉例——數(shù)據(jù)排序
選擇法排序算法的流程圖:第五章數(shù)組5.2.4一維數(shù)組應(yīng)用舉例——數(shù)據(jù)排序選擇法排序(升序)的VB程序:思考:如果按降序排,程序如何修改?第五章數(shù)組
5.2.4一維數(shù)組應(yīng)用舉例——數(shù)據(jù)排序2.冒泡法排序(升序)
算法:(將相鄰兩個數(shù)比較,大數(shù)交換到后面)1)第1趟:將每相鄰兩個數(shù)比較,大數(shù)交換到后面,經(jīng)n-1次兩兩相鄰比較后,最大的數(shù)已交換到最后一個位置。
5.2.4一維數(shù)組應(yīng)用舉例——數(shù)據(jù)排序2)第2趟:將前n-1個數(shù)(最大的數(shù)已在最后)按上法比較,經(jīng)n-2次兩兩相鄰比較后得次大的數(shù);
3)依次類推,n個數(shù)共進(jìn)行n-1趟比較,在第j趟中要進(jìn)行n-j次兩兩比較。冒泡法排序算法的流程圖:第五章數(shù)組
5.2.4一維數(shù)組應(yīng)用舉例——數(shù)據(jù)排序冒泡法排序(升序)程序:第五章數(shù)組
5.2.4一維數(shù)組應(yīng)用舉例——數(shù)據(jù)排序5.3二維數(shù)組及多維數(shù)組5.3.1二維數(shù)組的聲明聲明格式如下:Dim數(shù)組名([<下界>]to<上界>,[<下界>to]<上界>)[As<數(shù)據(jù)類型>]其中的參數(shù)與一維數(shù)組完全相同。例如:Dima(2,3)AsSingle
二維數(shù)組在內(nèi)存的存放順序是“先行后列”。例如數(shù)組a的各元素在內(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,0)→(2,1)→a(2,2)→a(2,3)5.3.2二維數(shù)組的引用引用形式:
數(shù)組名(下標(biāo)1,下標(biāo)2)例如:
a(1,2)=10a(i+2,j)=a(2,3)*2在程序中常常通過二重循環(huán)來操作使用二維數(shù)組元素。
5.3.3二維數(shù)組的基本操作二維數(shù)組數(shù)據(jù)的輸入2.求最大元素及其所在的行和列3.計算兩矩陣相乘4.矩陣的轉(zhuǎn)置5.3二維數(shù)組及多維數(shù)組二維數(shù)組數(shù)據(jù)的輸入ConstN=4,M=5,L=6Dima(1toN,1toM)AsInteger,i%,j%,k%1.給二維數(shù)組a輸入數(shù)據(jù)的程序段如下:5.3二維數(shù)組及多維數(shù)組2.求最大元素及其所在的行和列用變量max存放最大值,row,col存放最大值所在行列號
5.3二維
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 弱電安裝安全協(xié)議書
- 輕傷承諾免責(zé)協(xié)議書
- 政府培訓(xùn)協(xié)議書范文
- 葉酸社區(qū)協(xié)同協(xié)議書
- 占地補(bǔ)償委托協(xié)議書
- 學(xué)員免責(zé)協(xié)議書范本
- 離婚遷回戶口協(xié)議書
- 農(nóng)村房產(chǎn)租賃協(xié)議書
- 琴行合伙分紅協(xié)議書
- 協(xié)議書格式以及字體
- 高考新課標(biāo)Ⅰ卷語文現(xiàn)代文閱讀Ⅰ試題《后真相時代》講評課件41張
- 利雅路RIELLO-40燃燒機(jī)中文操作手冊
- 恒力石化(惠州)有限公司通用碼頭項目竣工驗收報告
- 食堂油煙系統(tǒng)清洗服務(wù)投標(biāo)方案(技術(shù)方案)
- 企業(yè)物料儲存保管搬運管理辦法
- 變速自行車拆裝圖解
- 高齡孕產(chǎn)婦的孕期管理課件
- 學(xué)習(xí)課件鑄牢中華民族共同體意識PPT
- 湖南省對口招生考試醫(yī)衛(wèi)專業(yè)十年真題(2010-2019年)
- 民航客艙服務(wù)藝術(shù)案例分析全套PPT完整教學(xué)課件
- 全國大學(xué)生市場調(diào)查與分析大賽優(yōu)秀報告一等獎
評論
0/150
提交評論