百寶雲基礎語法新手教程 第五節陣列

2021-07-07 11:03:27 字數 4356 閱讀 2496

通過這章的基礎介紹,希望大家能夠基本上掌握百寶雲的語法與使用方法,能夠根據自己的需要編寫出自己的雲服務。這章的知識可能有點無味,但是卻是百寶雲的基礎所在,所以大家還是好好把基礎打下,這樣才能更好更快的學習後面的知識。

陣列這個知識點還是非常重要的,日常的專案裡也少不了它的存在,因此,通過這節課,希望大家能掌握陣列的一些常規使用方法,以便大家在日後的專案裡熟練運用。

陣列是一系列資料的集合,可以儲存大量資料,通過陣列的下標、key,可以實現對資料的快速訪問。

為什麼要使用陣列,什麼場景使用陣列?

好!首先我們來分析乙個需求。

小花參加一次唱歌比賽中,有5名裁判打分,得到如下成績:  89分, 90分, 80分, 95分, 82分。那麼要求是:去掉最高分與最低分,最後成績是多少? 判斷出是哪個裁判的分最高與最低?

如果我們還是按照以前的思路去寫的話,**是這樣的:

功能  得到成績()

變數 裁判1成績 = 89

變數 裁判2成績 = 90

變數 裁判3成績 = 80

變數 裁判4成績 = 95

變數 裁判5成績 = 82    

// 這樣的寫法去判斷,**思路比較亂,而且也不方便擴充套件,所以就不寫了

// 想這樣寫的讀者,可以自己去寫寫看.

結束這樣使用了5個變數儲存5個成績,要計算出最後成績的話,需要5 個成績兩兩比較,這樣的處理比較麻煩。那麼有沒有方便的處理辦法呢?

有!這就需要用到陣列了,使用陣列之後,這些處理就方便很多了,後期的擴充套件也方便了。

那麼用陣列之後的寫法是怎麼的呢?如下:

功能 得到成績()

變數 裁判成績 = 陣列()

裁判成績[0] = 89

裁判成績[1] = 90

裁判成績[2] = 80

裁判成績[3] = 95

裁判成績[4] = 82

//變數 裁判成績 = 陣列(89,90,80,95,82)

變數 最高分 = 裁判成績[0],最高分裁判 = 0,最低分 = 裁判成績[0],最低分裁判 = 0,總成績 = 0

遍歷(變數 i = 1; i < 5; i++)

如果(最高分 < 裁判成績[i])

最高分 = 裁判成績[i]

最高分裁判 = i

結束如果(最低分 > 裁判成績[i])

最低分 = 裁判成績[i]

最低分裁判 = i

結束結束

遍歷(變數 i = 0; i < 5; i++)

如果(i == 最高分裁判 || i == 最低分裁判)

繼續結束

總成績 = 總成績 + 裁判成績[i]

結束傳送文字訊息("總成績為:" & 總成績)

傳送文字訊息("最高分裁判是:" & (最高分裁判 +1) & "號裁判")

傳送文字訊息("最低分裁判是:" & (最低分裁判 +1) & "號裁判")

結束這樣一寫之後,**簡潔了很多,條理看起來也清楚了很多。擴充套件起來也簡單多了,就是增加陣列元素,其他的都不要改了。

陣列裡面是可以同時儲存多種型別資料。常用的陣列分下面三大型別。

5.2.1索引陣列

這類的陣列是最簡單的陣列,操作起來也很簡單,這類陣列的下標基本上是從0開始,到陣列長度-1。如上面的例子,使用的就是索引陣列。簡單示例如下:

//變數 a = 陣列[3]("寶馬","卡宴","奧迪")// 

//或者 

變數 a = 陣列[3] 

a[0] = "寶馬" 

a[1] = "卡宴" 

a[2] = "奧迪" 

//遍歷陣列 

遍歷(變數 i=0;i<3;i++) 

傳送文字訊息(a[i]) 

結束5.2.2關聯陣列

這類陣列的特點是:key è value。也就是乙個key對應乙個value。這裡的key可以是任意字串。如下列的示例:

//變數 a = 陣列("key1"="寶馬","key2"="卡宴","key3"="奧迪") 

//或者 

變數 a = 陣列() 

a["key1"] = "寶馬" 

a["key2"] = "卡宴" 

a["key3"] = "奧迪" 

//顯示指定陣列元素 

傳送文字訊息(a["key2"])

索引陣列與關係陣列的區別:

選項描述

索引陣列

定義//索引陣列變數定義有五種寫法

1、變數 資料 = 陣列[5] //未初始成員元素,預設所有元素為null,陣列大小為5

2、變數 資料 = 陣列[5]() //未初始成員元素,預設所有元素為null,陣列大小為5

3、變數 資料 = 陣列[5](1,2,3,4,5) //初始化成員元素,陣列大小為5

4、變數 資料 = 陣列(1,2,3,4,5) //能過初始化成員元素,確定陣列大小為5 

5、變數 資料 = 陣列 //定義陣列大小為0的陣列 

元素範圍

下標是從0開始,到陣列大小-1,如果訪問元素,超過下標範圍,程式會報錯,提示訪問陣列越界 

訪問方式

變數 內容 = 資料[0]

在訪問的時候中間一定是整數型值,否則程式會提示訪問越界陣列

關聯陣列

定義//關聯陣列定義有三種寫法

變數 資料 = 陣列() //未初始化成員元素的定義,沒有成員元素,陣列大小為0

變數 資料 = 陣列("a","b","c",4,5,6) //初始化成員元素的定義,陣列大小為6

變數 資料 = 陣列("a"="a","b"="b","c"="c","d"=4,"e"=5,"f"=6) //初始化指定key的成員元素的定義,陣列大小為6

元素範圍

關聯陣列理論上可以無限大,且不會存在越界等錯誤.

訪問方式

關聯陣列採用的是一種key->value對應的方式存在,我們在訪問關聯陣列,採用如下方法 

變數 內容 = 資料["abc"]

在這裡,關聯陣列本身具有自動增加元素的特性,當元素不存在,第一次訪問的時候會自動增加,並設定初始值為null

5.2.3 多維陣列

百寶雲裡的多維陣列定義與其他語言的不同,不是 

變數 b = 陣列[2][2]   // 此

寫法是錯誤的

這樣的寫法在百寶雲裡是錯誤的,應該是下面這樣的寫法:

//索引多維陣列 

變數 車輛資料 = 陣列[3](陣列[3]("volvo",22,18), 陣列[3]("bmw",15,13), 陣列[3]("saab",5,2))  

//或者  

變數 車輛資料 = 陣列[3]()  

車輛資料[0] = 陣列[3]("volvo",22,18)  

車輛資料[1] = 陣列[3]("bmw",15,13)  

車輛資料[2] = 陣列[3]("saab",5,2)  

變數 n = 陣列大小(車輛資料) 

遍歷(變數 i=0;i  < n;i++)   

變數 臨時陣列 = 車輛資料[i] 

變數 n1 = 陣列大小(臨時陣列) 

遍歷(變數 j=0;j  < n1;j++)   

傳送文字訊息(臨時陣列[j])   

結束 結束

在日常的專案當中,我們用到二維陣列就差不多了,再增加維數,那樣操作起來就麻煩了。

以下我們再來學習下keyàvalue型別的多維陣列。示例如下:

//關聯索引陣列 

變數 車輛資料 = 陣列()   

車輛資料["張三"] = 陣列("品牌" = "volvo","里程" = 22,"車鈴" = 18)   

車輛資料["李四"] = 陣列("品牌" = "bmw","里程" = 15,"車鈴" = 13)   

車輛資料["王五"] = 陣列("品牌" = "saab","里程" = 5,"車鈴" = 2) 

//通過遍歷的方式,訪問關聯陣列中所有的元素 

變數 n = 陣列大小(車輛資料) 

遍歷(變數 i=0;i < n;i++)   

變數 臨時值 

陣列獲取元素(車輛資料,i,臨時值) 

變數 n1 = 陣列大小(臨時值) 

遍歷(變數 j=0;j < n1;j++)   

變數 臨時鍵1,臨時值1 

關聯陣列獲取元素(臨時值,j,臨時值1,臨時鍵1) //記住這裡只能是關聯陣列,否則會獲取元素失敗 

傳送文字訊息("key:"&臨時鍵1&" "&"value:"&臨時值1) 

結束 結束   

//也可以通過關聯陣列的key 直接訪問對應的元素    

傳送文字訊息("李四的車輛品牌是:" & 車輛資料["李四"]["品牌"])

百寶雲還提供了一系列運算元組的命令,大家有時間的時候,都去看看這些命令,最好能把命令的示例給執行下,這樣就更容易掌握各個命令的用途了。

百寶雲語法變數與常量新手教程

通過這章的基礎介紹,希望大家能夠基本上掌握百寶雲的語法與使用方法,能夠根據自己的需要編寫出自己的雲服務。這 章的知識可能有點無味,但是卻是百寶雲的基礎所在 所以大家還是好好把基礎打下,這樣才能 更好更快的學習後面的知識。這節課,主要是學會變數的 使用方法 理解變數的作用域,以及變數與常量的區別。變數...

百寶雲常用運算子教程

通過 這節課,讓大家掌握 簡單的加減乘除 字串連線 邏輯運算子 百寶雲裡支援了豐富的運算子,同時,運算子的優先順序影響著整個功能的執行流程 百寶雲中,運算子不支援短路運算 注意 優先順序代表同一表示式中運算子的運算順序,從高到低!同一級別的按從左到右的原則運算。下圖的優先順序是從高到低排列的 優先順...

百寶雲 讓辦公更高效便捷的辦公系統

19 年國慶節百寶雲迎來了自 16 年發布以來的最大一次更新,此次更新,百寶雲從互動,易用性,功能的全面性,系統的可擴充套件,各個方面都來了一次大的進步 百寶雲是乙個低代www.cppcns.com碼辦公應用搭建工具,使用者可以根據自己的需要搭建自己想要的辦公系統,基本能包含了辦公所需的所有功能,可...