靜態(tài)數(shù)組及其聲明10_第1頁
靜態(tài)數(shù)組及其聲明10_第2頁
靜態(tài)數(shù)組及其聲明10_第3頁
靜態(tài)數(shù)組及其聲明10_第4頁
靜態(tài)數(shù)組及其聲明10_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第五章數(shù)組

數(shù)組定義及引用方法,與數(shù)組有關的一些常用算法本章要求:重點:1.掌握數(shù)組的概念

2.掌握數(shù)組(一、二維)的定義及其引用,

3.掌握控件數(shù)組的建立及使用。

4.掌握與數(shù)組有關的常用算法,如排序、查找、插入等。難點:與數(shù)組有關的一些常用算法輸入10個數(shù),輸出它們的平均值及大于平均值的那些數(shù)?

引例:輸入A當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中表示下標變量就是通過定義數(shù)組來實現(xiàn)的。5.1概述

數(shù)組的概念:數(shù)組并不是一種數(shù)據(jù)類型,而是一組相同類型數(shù)據(jù)的集合。用一個統(tǒng)一的名字(數(shù)組名)代表邏輯上相關的一批數(shù)據(jù),每個元素用下標變量來區(qū)分;下標變量代表元素在數(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ù)組、字符串數(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是下標的下界10是下標的上界數(shù)組元數(shù)的數(shù)據(jù)類型與上面聲明等價形式:

Dima%(1to10)

5.2.1一維數(shù)組的聲明說明:

1.數(shù)組名的命名規(guī)則與變量的命名相同。

2.數(shù)組的元素個數(shù):上界-下界+1。

3.缺省<下界>為0,若希望下標從1開始,可在模塊的通用部分使用OptionBase語句將設為1。其使用格式是:

OptionBase0|1‘后面的參數(shù)只能取0或1

例如:

OptionBase1‘將數(shù)組聲明中缺省<下界>下標設為1

5.2.1一維數(shù)組的聲明4.<下界>和<上界>不能使用變量,必須是常量,常量可以是直接常量、符號常量,一般是整型常量。5.如果省略As子句,則數(shù)組的類型為變體類型。6.數(shù)組中各元素在內存占一片連續(xù)的存儲空間。

5.2.1一維數(shù)組的聲明DimNAsIntegerN=Val(InputBox(“EnterN=?”))DimA(N)AsInteger×A(0)A(1)A(2)A(n)….

一維數(shù)組在內存中存放的順序使用形式:

數(shù)組名(下標)

其中:下標可以是整型變量、常量或表達式。例如:設有下面的數(shù)組定義:

DimA(10)AsInteger

,B(10)AsInteger

則下面的語句都是正確的。

A(1)=A(2)+B(1)+5'取數(shù)組元素運算

A(i)=B(i)'下標使用變量

B(i+1)=A(i+2)'下標使用表達式第五章數(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ù)組中最大元素及所在下標第五章數(shù)組

5.2.3一維數(shù)組的基本操作4.將數(shù)組元素倒置5.2.3一維數(shù)組的基本操作

數(shù)據(jù)的排序就是將一批數(shù)據(jù)由小到大(升序)或由大到小(降序)進行排列。常用的有選擇法、冒泡法。

1.選擇法排序75346891算法(升序)(設有n個數(shù),存放在數(shù)組A(1)…..A(n)中)

1)第1遍:從中選出最小的數(shù),與第1個數(shù)交換位置;

(演示)第五章數(shù)組

5.2.4一維數(shù)組應用舉例——數(shù)據(jù)排序2)第2遍:除第1個數(shù)外,其余n-1個數(shù)中選最小的數(shù),與第2個數(shù)交換位置;(演示)75346891713)依次類推,選擇了n-1次后,這個數(shù)列已按升序排列。第五章數(shù)組5.2.4一維數(shù)組應用舉例——數(shù)據(jù)排序

選擇法排序算法的流程圖:第五章數(shù)組5.2.4一維數(shù)組應用舉例——數(shù)據(jù)排序選擇法排序(升序)的VB程序:思考:如果按降序排,程序如何修改?第五章數(shù)組

5.2.4一維數(shù)組應用舉例——數(shù)據(jù)排序2.冒泡法排序(升序)

算法:(將相鄰兩個數(shù)比較,大數(shù)交換到后面)1)第1趟:將每相鄰兩個數(shù)比較,大數(shù)交換到后面,經n-1次兩兩相鄰比較后,最大的數(shù)已交換到最后一個位置。

5.2.4一維數(shù)組應用舉例——數(shù)據(jù)排序2)第2趟:將前n-1個數(shù)(最大的數(shù)已在最后)按上法比較,經n-2次兩兩相鄰比較后得次大的數(shù);

3)依次類推,n個數(shù)共進行n-1趟比較,在第j趟中要進行n-j次兩兩比較。冒泡法排序算法的流程圖:第五章數(shù)組

5.2.4一維數(shù)組應用舉例——數(shù)據(jù)排序冒泡法排序(升序)程序:第五章數(shù)組

5.2.4一維數(shù)組應用舉例——數(shù)據(jù)排序5.3二維數(shù)組及多維數(shù)組5.3.1二維數(shù)組的聲明聲明格式如下:Dim數(shù)組名([<下界>]to<上界>,[<下界>to]<上界>)[As<數(shù)據(jù)類型>]其中的參數(shù)與一維數(shù)組完全相同。例如:Dima(2,3)AsSingle

二維數(shù)組在內存的存放順序是“先行后列”。例如數(shù)組a的各元素在內存中的存放順序是: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ù)組名(下標1,下標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.矩陣的轉置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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論