




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、(推薦)visualbasic程序設(shè)計課程電子教案第5章數(shù)組第五章第五章 數(shù)數(shù) 組組本章要求:本章要求: 1.1.掌握數(shù)組的概念掌握數(shù)組的概念 2.2.掌握數(shù)組(一、二維)的定義及其引用,掌握數(shù)組(一、二維)的定義及其引用, 3.3.掌握控件數(shù)組的建立及使用。掌握控件數(shù)組的建立及使用。 本章本章重點:重點: 數(shù)組定義及引用方法,與數(shù)組有關(guān)的一些常用算法數(shù)組定義及引用方法,與數(shù)組有關(guān)的一些常用算法本章本章難點:難點:與數(shù)組有關(guān)的一些常用算法與數(shù)組有關(guān)的一些常用算法 輸入輸入1010個數(shù),輸出它們的平均值及大于平個數(shù),輸出它們的平均值及大于平均值的那些數(shù)?均值的那些數(shù)?輸入 a當(dāng) nave the
2、n print a1 if a1ave then print a1 if a2ave then print a2 if a2ave then print a2 if a3ave then print a3 if a3ave then print a3 if a4ave then print a4 if a4ave then print a4 . . 實際程序是不能這樣寫實際程序是不能這樣寫 思考:思考: 如果能使用如果能使用a ai i ( i=1,2,.10 ) ( i=1,2,.10 ) 的形式?的形式? 使用循環(huán)來寫程序使用循環(huán)來寫程序 vbvb中表示下標(biāo)變量就是通過定義數(shù)組來實現(xiàn)的。中
3、表示下標(biāo)變量就是通過定義數(shù)組來實現(xiàn)的。5.1 5.1 一維數(shù)組一維數(shù)組 數(shù)組的概念:數(shù)組的概念:數(shù)組并不是一種數(shù)據(jù)類型,而數(shù)組并不是一種數(shù)據(jù)類型,而是是一組相同類型數(shù)據(jù)一組相同類型數(shù)據(jù)的集合。用一個統(tǒng)一的名字的集合。用一個統(tǒng)一的名字(數(shù)組名)數(shù)組名)代表邏輯上相關(guān)的一批數(shù)據(jù),每個元素代表邏輯上相關(guān)的一批數(shù)據(jù),每個元素用用下標(biāo)變量下標(biāo)變量來區(qū)分;下標(biāo)變量代表元素在數(shù)組中的來區(qū)分;下標(biāo)變量代表元素在數(shù)組中的位置位置。vbvb中數(shù)組的表示形式:中數(shù)組的表示形式: a(1), a(10) a(1), a(10) 一維數(shù)組一維數(shù)組 x(1,1), x(2,10) x(1,1), x(2,10) 二維數(shù)組
4、二維數(shù)組 y(0,0,0), y(1,2,5) y(0,0,0), y(1,2,5) 三維數(shù)組三維數(shù)組5.1 5.1 一維數(shù)組一維數(shù)組visual basicvisual basic中的數(shù)組分類:中的數(shù)組分類:按數(shù)組的大小(元素個數(shù))是否可以改變來分為:按數(shù)組的大小(元素個數(shù))是否可以改變來分為: 定長數(shù)組、動態(tài)(可變長)數(shù)組定長數(shù)組、動態(tài)(可變長)數(shù)組。按元素的數(shù)據(jù)類型可分為:按元素的數(shù)據(jù)類型可分為: 數(shù)值型數(shù)組、字符串?dāng)?shù)組、邏輯數(shù)組、數(shù)值型數(shù)組、字符串?dāng)?shù)組、邏輯數(shù)組、 日期型數(shù)組、變體數(shù)組等、對象數(shù)組。日期型數(shù)組、變體數(shù)組等、對象數(shù)組。按數(shù)組的維數(shù)可分為:按數(shù)組的維數(shù)可分為: 一維數(shù)組、二
5、維數(shù)組、多維數(shù)組。一維數(shù)組、二維數(shù)組、多維數(shù)組。5.1 5.1 一維數(shù)組一維數(shù)組 dim dim 數(shù)組名數(shù)組名(toto)as )as 或:或: dim dim 數(shù)組名數(shù)組名(toto)例:例:dim a(1 to 10) as integer dim a(1 to 10) as integer 聲明了聲明了a a數(shù)組有數(shù)組有1010個元個元素素與上面聲明等價形式:與上面聲明等價形式: dim a%(1 to 10) dim a%(1 to 10) 1是下標(biāo)的下界是下標(biāo)的下界10是下標(biāo)的上界是下標(biāo)的上界數(shù)組元數(shù)的數(shù)據(jù)類型數(shù)組元數(shù)的數(shù)據(jù)類型5.1 5.1 一維數(shù)組一維數(shù)組2. 2. 數(shù)組的聲明數(shù)
6、組的聲明 說明:說明: 1 1數(shù)組名的命名規(guī)則與變量的命名相同。數(shù)組名的命名規(guī)則與變量的命名相同。 2 2數(shù)組的元素個數(shù):數(shù)組的元素個數(shù):上界上界- -下界下界+1+1。 3 3缺省缺省 為為0 0,若希望下標(biāo)從,若希望下標(biāo)從1 1開始,可在模塊的通用開始,可在模塊的通用部分使用部分使用option baseoption base語句將設(shè)為語句將設(shè)為1 1。其使用格式是:。其使用格式是: option base 0|1 option base 0|1 后面的參數(shù)只能取后面的參數(shù)只能取 0 0 或或 1 1 例如:例如: option base 1 option base 1 將數(shù)組聲明中缺省將
7、數(shù)組聲明中缺省 下標(biāo)設(shè)為下標(biāo)設(shè)為 1 15.1 5.1 一維數(shù)組一維數(shù)組4. .數(shù)組中所有元素都有相同的數(shù)據(jù)類型。如果類型不同數(shù)組中所有元素都有相同的數(shù)據(jù)類型。如果類型不同, , 則聲明時必須將其數(shù)據(jù)類型定義為則聲明時必須將其數(shù)據(jù)類型定義為variantvariant。5 參數(shù)參數(shù)indexindex的個數(shù)決定數(shù)組的維數(shù)。各參數(shù)間用逗號的個數(shù)決定數(shù)組的維數(shù)。各參數(shù)間用逗號分隔。參數(shù)可以是簡單的數(shù)值表達式分隔。參數(shù)可以是簡單的數(shù)值表達式 例如,例如,aa(4)aa(4)也可以是由關(guān)鍵字也可以是由關(guān)鍵字toto組成的表達式組成的表達式例如,例如,sdsd(1 to 101 to 10)5.1 5.
8、1 一維數(shù)組一維數(shù)組 數(shù)組名數(shù)組名( (下標(biāo)下標(biāo)) ) 3. 3. 數(shù)組元素的引用數(shù)組元素的引用 例如,定義一個數(shù)組,并分別給每一元素賦值。例如,定義一個數(shù)組,并分別給每一元素賦值。dim s1 (9) as stringdim s1 (9) as string,i as integeri as integerfor i=0 to 9for i=0 to 9s1 (i)=inputboxs1 (i)=inputbox( 請輸入任何一個字符:請輸入任何一個字符: )next inext i5.1 5.1 一維數(shù)組一維數(shù)組5.2 5.2 多維數(shù)組多維數(shù)組 1. 1. 多維數(shù)組的聲明多維數(shù)組的聲明定
9、義多維數(shù)組的格式如下:定義多維數(shù)組的格式如下:dim dim 數(shù)組名數(shù)組名( to to , to to ,) as ) as 例如:例如: dim a(5,5,5) as integer dim a(5,5,5) as integer 聲明聲明a a是三維數(shù)組是三維數(shù)組 dim b(2,6,10,5) as integer dim b(2,6,10,5) as integer 聲明聲明b b是四維數(shù)組是四維數(shù)組 2. 2. 多維數(shù)組元素的引用多維數(shù)組元素的引用多維數(shù)組元素的引用:多維數(shù)組元素的引用:數(shù)組名(下標(biāo)數(shù)組名(下標(biāo)1 1,下標(biāo),下標(biāo)22,下標(biāo),下標(biāo)33)例如例如 聲明一個字符數(shù)組,并
10、給數(shù)組中聲明一個字符數(shù)組,并給數(shù)組中 每一個元素賦值。每一個元素賦值。 dim array(3,3) as stringdim array(3,3) as stringdim row,col as integerdim row,col as integerfor row=0 to 3for row=0 to 3 for col=0 to 3 for col=0 to 3 array(row,col)=inputbox( array(row,col)=inputbox( 請輸入一個字符請輸入一個字符 ) ) next col next colnext rownext row5.2 5.2 多維數(shù)
11、組多維數(shù)組 5.35.3動態(tài)數(shù)組動態(tài)數(shù)組 動態(tài)數(shù)組:在聲明時未給出數(shù)組的大小。在程序執(zhí)行時分動態(tài)數(shù)組:在聲明時未給出數(shù)組的大小。在程序執(zhí)行時分配存儲空間。配存儲空間。5.3.1 5.3.1 動態(tài)數(shù)組的建立及使用動態(tài)數(shù)組的建立及使用 建立動態(tài)數(shù)組包括聲明和大小說明兩步:建立動態(tài)數(shù)組包括聲明和大小說明兩步: 1 1在使用在使用dimdim、privateprivate或或publicpublic語句聲明括號內(nèi)為空的語句聲明括號內(nèi)為空的數(shù)組。數(shù)組。 格式:格式:dim | private|public dim | private|public 數(shù)組名()數(shù)組名()as as 數(shù)據(jù)類型數(shù)據(jù)類型 例:例
12、:dim a() as integerdim a() as integer 2 2在過程中用在過程中用redimredim語句指明該數(shù)組的大小。語句指明該數(shù)組的大小。 格式:格式:redim preserve redim preserve 數(shù)組名(下標(biāo)數(shù)組名(下標(biāo)11,下標(biāo),下標(biāo)22) preservepreserve參數(shù):保留數(shù)組中原來的數(shù)據(jù)參數(shù):保留數(shù)組中原來的數(shù)據(jù) 5.35.3動態(tài)數(shù)組動態(tài)數(shù)組 說明:說明: (1 1)redimredim語句是一個可執(zhí)行語句,只能出現(xiàn)在過程中,語句是一個可執(zhí)行語句,只能出現(xiàn)在過程中,并且可以多次使用,改變數(shù)組的維數(shù)和大小。并且可以多次使用,改變數(shù)組的維數(shù)
13、和大小。 (2 2)定長數(shù)組聲時中的下標(biāo)只能是常量,而動態(tài)數(shù)組)定長數(shù)組聲時中的下標(biāo)只能是常量,而動態(tài)數(shù)組redim redim 語句中的下標(biāo)是常量,也可以是有了確定值的變量。語句中的下標(biāo)是常量,也可以是有了確定值的變量。 (3) preserve(3) preserve為可選的關(guān)鍵字,當(dāng)改變原有數(shù)組最末維為可選的關(guān)鍵字,當(dāng)改變原有數(shù)組最末維的大小時,使用此關(guān)鍵字可以保持數(shù)組中原來的數(shù)據(jù)。的大小時,使用此關(guān)鍵字可以保持數(shù)組中原來的數(shù)據(jù)。例:例:redim a(10) redim a(10) redim preserve a(20) redim preserve a(20)5.35.3動態(tài)數(shù)組動
14、態(tài)數(shù)組 (4 4)在過程中可以多次使用)在過程中可以多次使用redimredim來改變數(shù)組的大小,也來改變數(shù)組的大小,也可改變數(shù)組的維數(shù)。可改變數(shù)組的維數(shù)。 例:例:redim x(10)redim x(10) redim x(20) redim x(20) x(20) = 30 x(20) = 30 print x(20) print x(20) redim x(20, 5) redim x(20, 5) x(20, 5) = 10 x(20, 5) = 10 print x(20, 5) print x(20, 5) 5.45.4使用數(shù)組程序舉例使用數(shù)組程序舉例 【例【例5.15.1】 數(shù)
15、組數(shù)組address(100,1)address(100,1)保存著保存著101101個學(xué)生的姓名及其家個學(xué)生的姓名及其家庭住址,要求隨意輸入一個姓名,能夠輸出其對應(yīng)的家庭住址。庭住址,要求隨意輸入一個姓名,能夠輸出其對應(yīng)的家庭住址。dim name as string,address(100,1) as stringdim name as string,address(100,1) as stringdim i as integerdim i as integername=inputbox(name=inputbox( 請輸入查詢的姓名請輸入查詢的姓名: , , 數(shù)據(jù)輸入數(shù)據(jù)輸入 ) )fo
16、r i=0 to 100for i=0 to 100 if address(i,0)=name then if address(i,0)=name then msgbox name+ msgbox name+ 的家庭住址是的家庭住址是: + address(i,1)+ address(i,1) end if end ifnext inext iend subend sub5.45.4使用數(shù)組程序舉例使用數(shù)組程序舉例 【例【例5.25.2】輸入兩個數(shù)】輸入兩個數(shù)a a和和b b,根據(jù)不同的運算符(,根據(jù)不同的運算符(+ +,- -,* *,/ /)進)進 行運算。行運算。 5.45.4使用數(shù)組程
17、序舉例使用數(shù)組程序舉例 代碼如下:代碼如下:private sub command1_click(index as integer)private sub command1_click(index as integer)dim a as single, b as single, c as singledim a as single, b as single, c as single a= val(text1.text) a= val(text1.text) b= val(text2.text) b= val(text2.text)select case indexselect case ind
18、ex case 0 case 0 加加 c = a + bc = a + b label3.caption = label3.caption = 結(jié)果:結(jié)果:a+b= + str(c)a+b= + str(c) case 1 case 1 減減 c = a - bc = a - b label3.caption = label3.caption = 結(jié)果:結(jié)果:a-b= + str(c)a-b= + str(c)case 2 case 2 乘乘 c = a c = a * * b b label3.caption = label3.caption = 結(jié)果:結(jié)果:a a* *b= + str(
19、c)b= + str(c) case 3 case 3 除除 if b = 0 thenif b = 0 then msgbox msgbox 除數(shù)不能為除數(shù)不能為0!, 48, 0!, 48, 提示提示 exit sub exit sub end if end if c = a / b c = a / b label3.caption = label3.caption = 結(jié)果:結(jié)果:a/b= + str(c)a/b= + str(c) end select end selectend subend sub5.45.4使用數(shù)組程序舉例使用數(shù)組程序舉例 【例【例5.35.3】設(shè)計一程序,要求能
20、夠動態(tài)完成窗體的建立】設(shè)計一程序,要求能夠動態(tài)完成窗體的建立。 操作步驟如下操作步驟如下 : 將標(biāo)簽控件的名稱屬性設(shè)為將標(biāo)簽控件的名稱屬性設(shè)為labelslabels,indexindex屬性設(shè)置屬性設(shè)置 為為0 0,alignmentalignment屬性設(shè)置為屬性設(shè)置為1 1(右對齊)。(右對齊)。 將文本框控件的名稱屬性設(shè)為將文本框控件的名稱屬性設(shè)為textboxestextboxes,indexindex屬性屬性 設(shè)置為設(shè)置為0 0。 將兩控件的將兩控件的visiblevisible屬性設(shè)置為屬性設(shè)置為falsefalse。 在窗體中繪制一命令按鈕,名稱屬性設(shè)為在窗體中繪制一命令按鈕,
21、名稱屬性設(shè)為command1command1, 其其clickclick事件代碼如下所示:事件代碼如下所示: 5.45.4使用數(shù)組程序舉例使用數(shù)組程序舉例 private sub command1_click()private sub command1_click()dim i as integerdim i as integerdim captions(6) as stringdim captions(6) as stringdim sizes(6) as integerdim sizes(6) as integercaptions(1) = captions(1) = 姓名姓名 capti
22、ons(2) = captions(2) = 性別性別 captions(3) = captions(3) = 民族民族 captions(4) = captions(4) = 家庭地址家庭地址 captions(5) = captions(5) = 聯(lián)系電話聯(lián)系電話 sizes(1) = 20sizes(1) = 20sizes(2) = 30sizes(2) = 30sizes(3) = 40sizes(3) = 40sizes(4) = 15sizes(5) = 125.45.4使用數(shù)組程序舉例使用數(shù)組程序舉例 for i = 1 to 5for i = 1 to 5 load labe
23、ls(i) load labels(i) load textboxes(i) load textboxes(i)labels(i).top = labels(i 1).top+1.5labels(i).top = labels(i 1).top+1.5 _ _ labels(0).height labels(0).heightlabels(i).left = labels(0).leftlabels(i).left = labels(0).lefttextboxes(i).top=textboxes(i-1).top+1.5textboxes(i).top=textboxes(i-1).top
24、+1.5 _ _textboxes(i).heighttextboxes(i).height textboxes(i).left = textboxes(0).left textboxes(i).left = textboxes(0).left textboxes(i).width = sizes(i) textboxes(i).width = sizes(i) textwidth( textwidth( a a ) ) labels(i).caption = captions(i) labels(i).caption = captions(i) labels(i).visible = true labels(i).visible = true textboxes(i).visible = true textboxes(i).visible = truenextnextend subend sub5.45.4使用數(shù)組程序舉例使用數(shù)組程序舉例 運行程序后,窗體如圖運行程序后,窗體如圖5.45.4所示,單擊按鈕后,窗體如圖所示,單擊按鈕后,窗體如圖5.55.5所示。所示。 圖5.4 圖 5.55.45.4使用數(shù)組程序舉例使用數(shù)組程序舉例 5.45.4使用數(shù)組程序舉例使用數(shù)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷售稅務(wù)常識培訓(xùn)課件
- 健康飲食產(chǎn)業(yè)園項目質(zhì)量管理方案(參考)
- 2025年雙門轎跑車合作協(xié)議書
- 2025年汽車尾氣自動測定儀合作協(xié)議書
- 鄉(xiāng)城流動中的中國男性婚姻擠壓緒論
- 2025年臨床前CRO項目發(fā)展計劃
- 物業(yè)服務(wù)委托合同 (二)
- 2025年無機電子材料合作協(xié)議書
- 2025年黑龍江省中考生物試卷(含答案)
- 2025年閑置物品調(diào)劑回收項目合作計劃書
- 血透患者敘事護理故事
- 電力建設(shè)工程施工安全管理導(dǎo)則
- 醫(yī)院消防安全培訓(xùn)課件(完美版)
- 雅馬哈RX-V365使用說明書
- 照相館管理制度
- IECQ QC 080000:2017 第四版標(biāo)準(zhǔn)(中文版)
- 國外激勵研究現(xiàn)狀分析報告
- GB/T 4074.4-2024繞組線試驗方法第4部分:化學(xué)性能
- MH-T 6107-2014民用機場飛行區(qū)集水口頂蓋和地井頂蓋
- 漢密爾頓抑郁和焦慮量表
- CJJT226-2014 城鎮(zhèn)供水管網(wǎng)搶修技術(shù)規(guī)程
評論
0/150
提交評論