主頁(yè) > 知識(shí)庫(kù) > VBS基礎(chǔ)編程教程 (第5篇)

VBS基礎(chǔ)編程教程 (第5篇)

熱門(mén)標(biāo)簽:上海辦理400電話選號(hào) 墨西哥地圖標(biāo)注app 智云億呼電話機(jī)器人 企業(yè)400電話辦理價(jià)錢(qián)低 龍巖400電話申請(qǐng) 外呼系統(tǒng)群 機(jī)器人打電銷適用于美業(yè)嗎 外呼系統(tǒng)說(shuō)話聲音小怎么辦 天津智能外呼系統(tǒng)排名
第五篇(共六篇): 

       請(qǐng)?jiān)试S我縣描述一下我現(xiàn)在的環(huán)境:氣溫高達(dá)37攝氏度, 而我忘記了圖書(shū)館開(kāi)門(mén)的時(shí)間, 還要在這里站上一個(gè)小時(shí), 在熱帶植物的包裹下, 各種奇怪的小飛蟲(chóng)圍著我轉(zhuǎn)來(lái)轉(zhuǎn)去. 不過(guò)令我欣慰的是, 終于寫(xiě)到五了, 還有兩課我們的"基礎(chǔ)篇"就要結(jié)束了. 

       今天我們來(lái)了解語(yǔ)言本身的最后一個(gè)論題:數(shù)組. 

  要理解"數(shù)組", 這個(gè)概念我覺(jué)得另一種翻譯對(duì)學(xué)習(xí)來(lái)說(shuō)更加容易:"陣列", 沒(méi)錯(cuò), 數(shù)組就是一個(gè)陣列, 一個(gè)數(shù)據(jù)的陣列. 最簡(jiǎn)單的例子是數(shù)據(jù)庫(kù)系統(tǒng), 假設(shè)你要儲(chǔ)存20名學(xué)生的英語(yǔ)成績(jī), 如果不是用數(shù)組, 你則要?jiǎng)?chuàng)建20個(gè)不同的變量, 累死. 數(shù)組就是類型相同(重要!)的一組數(shù)據(jù)(或者n組), 用來(lái)儲(chǔ)存相關(guān)的量, 最簡(jiǎn)單的數(shù)組是一維數(shù)組, 我們就先來(lái)學(xué)習(xí)它吧. 

  什么是一維數(shù)組呢? 在3維以下,你可以利用幾何知識(shí)來(lái)理解"維"的概念,一維相當(dāng)于一條線, 二維則是一個(gè)矩形, 三維是一個(gè)長(zhǎng)方體. 我知道這么講是很抽象的, 我們先舉個(gè)一維數(shù)組的例子就比較容易了解了. 

dim a(9) '從零開(kāi)始 
for i=0 to 9 
    a(i)=i '填充每一個(gè)數(shù)組元素 
    msgbox(a(i)) '輸出數(shù)組元素 
next 

  我們可以看到, 定義一個(gè)數(shù)組的方法和定義一個(gè)變量沒(méi)有什么不同, 同樣是使用dim語(yǔ)句. 定義一維數(shù)組的方法如下: 

dim 數(shù)組名(元素?cái)?shù)量), 這里大家要注意一點(diǎn), 這里定義的元素?cái)?shù)量總是比你要的要少一個(gè), 因?yàn)橐粋€(gè)數(shù)組的起點(diǎn)是0號(hào)數(shù)據(jù)而不是1, 所以大家一定要小心: 你需要10個(gè)數(shù)據(jù), 就定義"9", 需要100個(gè)就定義99, 依此類推. 數(shù)組的元素可以看成一個(gè)個(gè)獨(dú)立的變量, 你可以像獨(dú)立的變量那樣使用他們. 數(shù)組元素的量可能是毫無(wú)關(guān)系的, 比如第一個(gè)數(shù)組元素儲(chǔ)存你的年齡, 第二個(gè)儲(chǔ)存今年西瓜的銷售量, 但這種做法是不鼓勵(lì)的, 甚至是不被接受的, 不要這么干, 這樣的情況請(qǐng)定義獨(dú)立的變量. for語(yǔ)句在數(shù)組中可算是大顯身手, 還記得for嗎? 它累加一個(gè)變量, 我們可以把這個(gè)變量應(yīng)用在數(shù)組中正好用來(lái)讀取或者填充按照順序排列的數(shù)組元素, 上面就是這樣一個(gè)例子. 數(shù)組其實(shí)是很簡(jiǎn)單的東西(再BASIC語(yǔ)言里面), 數(shù)組難的是怎么搗弄這些循環(huán), 讓他們按照你的要求運(yùn)轉(zhuǎn). 這個(gè)等到二維數(shù)組再說(shuō), 我們先看看如何手工填充數(shù)組. 

  如果你這個(gè)都想不到的話, 那你真是白學(xué)了: 

dim name(7),str '一共八個(gè)學(xué)生, str變量是用來(lái)把他們儲(chǔ)存成一個(gè)字符串以便輸出 
for i=0 to 7 
    name(i)=inputbox("請(qǐng)輸入第"  i+1  "個(gè)學(xué)生的名字") 
    str=str  " "  name(i) 
next 
msgbox(str) 

  這樣我們就有了一個(gè)小小的數(shù)據(jù)庫(kù), 它們的數(shù)據(jù)排列可以看成這樣: 

  name(0),name(1),name(2).....name(7) 

  看到了吧, 所以我說(shuō)我們可以把它看成是"一條線", 等到我們學(xué)到了文件操作, 就可以把他們輸出到文件中去了. 一維數(shù)組有很多用處, 我們來(lái)看一下一個(gè)復(fù)雜的例子. 我們要儲(chǔ)存3各學(xué)生的名字, 身高, 成績(jī)這三種數(shù)據(jù), 由于名字是字符串, 而身高可能是浮點(diǎn)數(shù)(帶小數(shù)點(diǎn)的數(shù)), 成績(jī)則可能是整數(shù), 所以我們不能把他們儲(chǔ)存在一個(gè)數(shù)組里面(不要忘記, 數(shù)組織只能存儲(chǔ)同類的數(shù)據(jù)), 所以我們要建3個(gè)數(shù)組, 以下是例程: 

dim name(2), high(2), mark(2) '定義三個(gè)數(shù)組分別儲(chǔ)存3個(gè)人的名字, 身高和得分 
dim ctr '計(jì)數(shù)器 
for ctr=0 to 2 
    name(ctr)=inputbox("請(qǐng)輸入第"   ctr+1  "個(gè)學(xué)生的姓名") 
    high(ctr)=inputbox("請(qǐng)輸入第"   ctr+1  "個(gè)學(xué)生的身高") 
    mark(ctr)=inputbox("請(qǐng)輸入第"   ctr+1  "個(gè)學(xué)生的得分") 
next 

  OK, 我們已經(jīng)填充好了數(shù)據(jù), 現(xiàn)在我們的小小數(shù)據(jù)庫(kù)只能按順序輸入, 我們要讓它看起來(lái)像點(diǎn)樣子, 我們來(lái)給他設(shè)計(jì)查詢功能: 

'接著上面的程序 
dim cname, temp '要查詢的名字, 和一個(gè)臨時(shí)變量, 用來(lái)儲(chǔ)存數(shù)據(jù)的位置 
cname=inputbox("請(qǐng)輸入你要查詢的名字:") 
for ctr=0 to 2 '遍歷所有name數(shù)組的成員, 尋找要查詢的名字 
    if name(ctr)=cname then 
        temp=ctr '記錄數(shù)據(jù)位置 
        exit for '退出循環(huán), 和exit do的用法一樣 
    end if '不要忘了end if 
next 
msgbox("姓名:"  name(temp)  " "  "身高:"  high(temp)  " "  "得分:"  mark(temp)) 

  嘿嘿, 有意思吧, 其實(shí)在這個(gè)程序里面, 那個(gè)temp變量完全沒(méi)有必要, 只是為了更清楚地說(shuō)明問(wèn)題. 因?yàn)楫?dāng)exit for以后ctr變量的值就不會(huì)改變, 儲(chǔ)存的正好是對(duì)應(yīng)數(shù)據(jù)在數(shù)組中的位置, 寫(xiě)這個(gè)temp變量是為了照顧到以后要學(xué)C++的朋友(C++可以在for語(yǔ)句里聲明新變量, 只在這個(gè)for結(jié)構(gòu)中有效, 所以到了外部就不能訪問(wèn)了). 也就是說(shuō)可以簡(jiǎn)化成如下: 

dim cname 
cname=inputbox("請(qǐng)輸入你要查詢的名字:") 
for ctr=0 to 2 
    if name(ctr)=cname then exit for '因?yàn)橹挥衑xit for就不需要塊if了 
next 
msgbox("姓名:"  name(ctr)  " "  "身高:"  high(ctr)  " "  "得分:"  mark(ctr)) 

  這是最直接的路子. 好好重讀一下上面所有的源代碼, 然后自己寫(xiě)幾個(gè)程序, 完全搞清楚一維數(shù)組及其應(yīng)用以后再看后面的二位數(shù)組. 二維數(shù)組好像是一個(gè)一維數(shù)組的集合, 就好像"線積成面"一樣, 由n各一維數(shù)組組成二維數(shù)組, 這是初學(xué)者比較好理解的辦法(比較精確的是用"編號(hào)"的概念去理解, 因?yàn)?維以上的數(shù)組就比較難以用歐幾里德幾何概念去解釋了). 二維數(shù)組是很好解釋的, 我們來(lái)看一下: 

dim a(2,2) '從零開(kāi)始, 一共有3 X 3 = 9 個(gè)數(shù)據(jù) 
dim i,j '需要兩個(gè)計(jì)數(shù)器 
for i=0 to 2 
    for j=0 to 2 '使用嵌套循環(huán) 
        a(i,j)="X" 
    next 
next 

  我們創(chuàng)建了一個(gè)這樣的二維數(shù)組(那些","是我用來(lái)分割元素的,并不存在), 了解二維數(shù)組的了嗎? 不清楚我們?cè)僦v一下 

編號(hào) 0 1 2 
0    X,X,X 
1    X,X,X 
2    X,X,X 

  二維數(shù)組的看起來(lái)是不是就是一個(gè)矩形呢?(你在內(nèi)存中看不到這樣的矩形, 只是便于你理解), 每個(gè)數(shù)據(jù)都有編號(hào), 由兩個(gè)數(shù)來(lái)定位, 這個(gè)很像(非常像)你在國(guó)際象棋棋盤(pán)上尋找一個(gè)格, 我們用類似"C6","A2"這樣的"垂直坐標(biāo)"進(jìn)行定位, 對(duì), "垂直坐標(biāo)", 很確切. 我們要使用一個(gè)二維數(shù)組元素的時(shí)候可以和普通變量一樣使用, 只要指定數(shù)組元素的"定位點(diǎn)"就可以了, 例如 

a(0)(1)=1, b(2)(1)="你好", 諸如此類. 要注意的是二維數(shù)組也只能儲(chǔ)存類型相同的元素, 而且上標(biāo)(起點(diǎn))也從0開(kāi)始. 計(jì)算一個(gè)二維數(shù)組的元素個(gè)數(shù)只要把兩個(gè)下標(biāo)+1(以得到實(shí)際的值)再乘起來(lái)就可以了, 非常類似于求一個(gè)矩形的面積. 

  假如需要儲(chǔ)存的都是同一類型的數(shù)據(jù), 我們就可以用二維數(shù)組, 比如要儲(chǔ)存5個(gè)人的姓名,國(guó)籍,民族, 就可以使用二維數(shù)據(jù) 

dim info(4,2) '一共五個(gè)人, 要儲(chǔ)存的數(shù)據(jù)類型有3項(xiàng) 
dim i,j 
for i=0 to 4 
    for j=0 to 2 
    dim opt '定義一個(gè)變量用于存儲(chǔ)數(shù)據(jù)項(xiàng)提示 
        select  case j '判斷應(yīng)該輸入的是什么數(shù)據(jù)     
        case 0 
            opt="姓名" 
        case 1 
            opt="國(guó)籍" 
        case 2 
            opt="民族" 
        end select 
        info(i,j)=inputbox("請(qǐng)輸入第"  i+1  "個(gè)人的"  opt) 
    next 
next 
'輸出太麻煩了, 我懶得動(dòng), 你知道那么回事就行了 

  這樣就不需要定義3個(gè)一維數(shù)組了. 

  多位數(shù)組(三維以上)的定義和使用方法與二維數(shù)組一樣, 但不太好在歐幾里德幾何空間里加以解釋, 幸好我們并不太常用那么多維的數(shù)組.定義一個(gè)三位數(shù)組:dim a(1,2,3) '一共24各數(shù)組元素. 

  今天因?yàn)橐峒?我喜歡Sengkang啊, 可是MM嫌交通不便, 誰(shuí)不知道她只想去逛街),而GF要去和她的同學(xué)去參加什么試驗(yàn)半夜才回家, 所以下午我只能自己去押車搬家了, 5555~~好可憐, 這次就請(qǐng)大家原諒我少寫(xiě)一點(diǎn), 我可是站在圖書(shū)館外寫(xiě)的啊, 

現(xiàn)在腿都軟了~~~ 本來(lái)還要講"動(dòng)態(tài)數(shù)組"的, 但想了想還是放到"進(jìn)階部分"再說(shuō)吧. 

要點(diǎn): 

1) 一維數(shù)組是"線", 二維數(shù)組是"面", 三維數(shù)組是"體" (多維數(shù)組就亂套) 

2) 數(shù)組的下標(biāo)從0開(kāi)始 

3) for循環(huán)在數(shù)組的應(yīng)用中起了很大作用, 二維數(shù)組需要嵌套循環(huán) 

作業(yè): 

  上次出的"百雞問(wèn)題", 大家喜歡嗎? 以后我們就做這種需要?jiǎng)幽X的題目, 那些簡(jiǎn)單的實(shí)踐, 大家一定要多做! 

1) 定義一個(gè)數(shù)組, 包含5個(gè)元素, 都是隨機(jī)整數(shù)(隨便輸入), 要求把他們按照從大到小的順序排列起來(lái) 

2) 有兩個(gè)二維數(shù)組a(4,4)和b(4,4) (元素值隨便), 交換兩個(gè)數(shù)組(原來(lái)的a的所有元素值變成b的, b的所有元素值變成a的) 


標(biāo)簽:黃山 齊齊哈爾 麗水 錫林郭勒盟 阜新 青島 鄂爾多斯 承德

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《VBS基礎(chǔ)編程教程 (第5篇)》,本文關(guān)鍵詞  VBS,基礎(chǔ),編程,教程,第,5篇,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《VBS基礎(chǔ)編程教程 (第5篇)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于VBS基礎(chǔ)編程教程 (第5篇)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章