想想看,假如要計算全班30位學生的平均身高,如果建立30個身高變數,那麼程式會很難寫容易出錯。
這時,如果我們把30個身高數字儲存在一個陣列中,依序從索引1至30讀取它,下列方式計算30人的平均身高。
平均身高 = ( 陣列[1]+陣列[2]+陣列[3]+…+陣列[30] ) ÷ 30
上面的式子,用程式的重複結構,就能輕易計算出來。
簡單說,當需要處理大量資料時,不應使用變數,而應使用陣列。
陣列有一個名稱。Q:請問右邊陣列名稱是?
陣列由多筆資料所組成。Q:請問右邊陣列有幾筆資料?
每一筆資料都有一個索引(編號),從1、2、3依序編號,我們可以使用索引來讀取陣列資料。Q:請問身高清單[1]數字多少?身高清單[8]數字多少?身高158怎麼用陣列表達?身高141怎麼用陣列表達?
Scratch清單指令有9個,可分為4類「新增、刪除、修改、查詢」。
開啟範例程式,測試這9個指令。
派出所點名囉!說出職勤名單中所有人的姓名。
放鬆時間,派出所播放音樂,請把陣列中的音符逐一播放出來。
試試讓角色隨著樂跳舞,也可設計舞伴或小舞群,甚至來個「舞林大會」。
資料儲存在陣列,該怎麼讀取陣列中的資料呢?
使用右邊流程圖,可以從陣列第1筆資料開始,依序讀取每一筆資料,走訪整個陣列。需使用一個變數索引,用來讀取陣列的第幾筆資料。
請修改下列Scratch程式,走訪程式中的陣列,讓程式可以正常運作。
**以兒歌、全班唱名教學為例,實作陣列應用。(Scratch操作檔)
生活中那裡有陣列?
只要生活中產生的大量資料,變數無法處理,這時就需要陣列來記錄和處理。比如:班級名條、全班成績單、住家地址、教室位置、youbike車號、youbike車柱號、點餐清單、電線桿號、水表編號、汽車車牌、圖書館的書籍編號…
查看建國國中街景地圖,畫面中有那些資料(東西)需要使用陣列來記錄、處理?
看完上面的例子,你還有想到生活中有那些大量資料需要使用陣列來記錄、處理呢?
**以圖書查詢系統教學為例:第1節(簡報、Scratch操作檔)、第2節(簡報、Scratch同上)。作品查詢的幾筆測試資料如下:
地心探險記、9789861783482、2015
一個人的朝聖、9789869372886、2016
有風吹過廚房、9789571371481、2017
吃冰大冒險、9789575034238、2019
評量:作品功能評量(學生作品)、選擇題測驗(Quizizz)、學習單
參考檔案:建國國中圖書查詢系統、圖書資料excel檔
其他參考:
查譜網頁:https://www.poppiano.org/、https://tw.everyonepiano.com/