版權(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):1.掌握數(shù)組的概念
2.掌握數(shù)組(一、二維)的定義及其引用,
3.掌握控件數(shù)組的建立及使用。
4.掌握與數(shù)組有關(guān)的常用算法,如排序、查找、插入等。難點(diǎn):與數(shù)組有關(guān)的一些常用算法輸入10個(gè)數(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個(gè)數(shù),輸出它們的平均值及大于平均值的那些數(shù)。
引例:如果使用:A1,A2,A3,A4,A5,A6,A7,A8,A9,A10DimN%,S!,Ave!,A1!,A2!….,A10!‘實(shí)際程序是不能這樣寫
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………..‘實(shí)際程序是不能這樣寫
引例:思考:
如果能使用Ai(i=1,2,…..10)的形式?使用循環(huán)來寫程序
VB中表示下標(biāo)變量就是通過定義數(shù)組來實(shí)現(xiàn)的。5.1概述
數(shù)組的概念:數(shù)組并不是一種數(shù)據(jù)類型,而是一組相同類型數(shù)據(jù)的集合。用一個(gè)統(tǒng)一的名字(數(shù)組名)代表邏輯上相關(guān)的一批數(shù)據(jù),每個(gè)元素用下標(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ù)組的大小(元素個(gè)數(shù))是否可以改變來分為:定長(zhǎng)數(shù)組、動(dòng)態(tài)(可變長(zhǎng))數(shù)組。按元素的數(shù)據(jù)類型可分為:
數(shù)值型數(shù)組、字符串?dāng)?shù)組、邏輯數(shù)組(boolean)、日期型數(shù)組、變體數(shù)組等(variant)、
對(duì)象數(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個(gè)元素1是下標(biāo)的下界10是下標(biāo)的上界數(shù)組元數(shù)的數(shù)據(jù)類型與上面聲明等價(jià)形式:
Dima%(1to10)
5.2.1一維數(shù)組的聲明說明:
1.?dāng)?shù)組名的命名規(guī)則與變量的命名相同。
2.?dāng)?shù)組的元素個(gè)數(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.<下界>和<上界>不能使用變量,必須是常量,常量可以是直接常量、符號(hào)常量,一般是整型常量。5.如果省略As子句,則數(shù)組的類型為變體類型。6.?dāng)?shù)組中各元素在內(nèi)存占一片連續(xù)的存儲(chǔ)空間。
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ù)組元素運(yùn)算
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ù)組的每個(gè)元素值為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ù)由小到大(升序)或由大到小(降序)進(jìn)行排列。常用的有選擇法、冒泡法。
1.選擇法排序75346891算法(升序)(設(shè)有n個(gè)數(shù),存放在數(shù)組A(1)…..A(n)中)
1)第1遍:從中選出最小的數(shù),與第1個(gè)數(shù)交換位置;
(演示)第五章數(shù)組
5.2.4一維數(shù)組應(yīng)用舉例——數(shù)據(jù)排序2)第2遍:除第1個(gè)數(shù)外,其余n-1個(gè)數(shù)中選最小的數(shù),與第2個(gè)數(shù)交換位置;(演示)75346891713)依次類推,選擇了n-1次后,這個(gè)數(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.冒泡法排序(升序)
算法:(將相鄰兩個(gè)數(shù)比較,大數(shù)交換到后面)1)第1趟:將每相鄰兩個(gè)數(shù)比較,大數(shù)交換到后面,經(jīng)n-1次兩兩相鄰比較后,最大的數(shù)已交換到最后一個(gè)位置。
5.2.4一維數(shù)組應(yīng)用舉例——數(shù)據(jù)排序2)第2趟:將前n-1個(gè)數(shù)(最大的數(shù)已在最后)按上法比較,經(jīng)n-2次兩兩相鄰比較后得次大的數(shù);
3)依次類推,n個(gè)數(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.計(jì)算兩矩陣相乘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存放最大值所在行列號(hào)
5.3二維
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024鐵礦石銷售與倉儲(chǔ)一體化管理合同范本3篇
- 二零二五年度企業(yè)財(cái)務(wù)戰(zhàn)略規(guī)劃與實(shí)施合同6篇
- 二零二五年時(shí)尚餐飲場(chǎng)地租賃管理協(xié)議2篇
- 2025年度樓頂風(fēng)力發(fā)電項(xiàng)目投資合作協(xié)議4篇
- 2024鐵礦石現(xiàn)貨交易市場(chǎng)參與方合作協(xié)議書3篇
- 2025年度云計(jì)算服務(wù)產(chǎn)品及服務(wù)購銷合同正規(guī)范本4篇
- 2025年度建筑材料綠色采購合作合同4篇
- 二零二五年科技園區(qū)店面出租管理協(xié)議3篇
- 二零二五年度生態(tài)修復(fù)項(xiàng)目承包合同4篇
- 2025年房地產(chǎn)沙盤模型定制與現(xiàn)場(chǎng)互動(dòng)體驗(yàn)合同3篇
- 2025年河北供水有限責(zé)任公司招聘筆試參考題庫含答案解析
- Unit3 Sports and fitness Discovering Useful Structures 說課稿-2024-2025學(xué)年高中英語人教版(2019)必修第一冊(cè)
- 農(nóng)發(fā)行案防知識(shí)培訓(xùn)課件
- 社區(qū)醫(yī)療抗菌藥物分級(jí)管理方案
- NB/T 11536-2024煤礦帶壓開采底板井下注漿加固改造技術(shù)規(guī)范
- 2024年九年級(jí)上德育工作總結(jié)
- 2024年儲(chǔ)罐呼吸閥項(xiàng)目可行性研究報(bào)告
- 除氧器出水溶解氧不合格的原因有哪些
- 沖擊式機(jī)組水輪機(jī)安裝概述與流程
- 新加坡SM2數(shù)學(xué)試題
- 畢業(yè)論文-水利水電工程質(zhì)量管理
評(píng)論
0/150
提交評(píng)論