Scratch程式設計變數和清單攻略記!
海獅程式專業師資在Scratch教學過程中,當課程進行到介紹變數功能時,很常被學生問到「變數和清單有一樣嗎?」。但真的很奇怪!明明講師是在引導「變數」程式設計概念及如何應用時,為何學生會問「清單」問題!想知道答案嗎? 2020/10/25(修)

...
為何老師介紹變數,學生詢問清單功能?
老師還沒教同學就知道清單很好玩?還是老師真的教太慢了,同學想學更多變化的程式語法?其實是因為「在Scratch3程式設計平台中,當點選變數區塊就會出現變數和清單的選單」。
當課程進行到介紹變數概念時,同學已了解變數觀念並能運用變數完成創作後,充滿好奇心的同學就會開始探索變數下方的清單選項,就會發現清單積木怎麼會如此多!

變數和清單是一樣嗎?
Scratch程式設計平台開發目的就是要讓國小、國中生就能開始學編程(程式設計)中培養創意能力及提升運算思維能力。設計上使用圖形化積木來取代文字指令,每個積木都有不同的功能及邏輯應用,因此從變數積木的數量較少,清單積木的數量較多,就可以大概猜出「變數和清單真的不一樣」。
那有什麼不一樣?就讓我們從Scratch變數和Scratch清單的程式設計概念到實務規劃應用來開始認識。
Scratch變數和清單的程式設計概念
- 程式定義
變數(variable)存放可以改變的資料
清單(list)存放同性資的資料,資料可以改變 - 資料筆數
一個變數中只能存一筆資料
一個清單中能存多筆資料 - 資料型態
變數可以存放資料型態有數字、字串 (一個變數中僅能存放其中一種)
清單可以存放資料型態有數字、字串 (一個清單中能同時存放) - 資料操作
變數對資料能指派、修改
清單對資料能增加、修改、刪除、插入、查詢等應用 - 資料保存
變數的資料,修改後原始的資料將被覆蓋
清單的資料,依操作指令決定資料是否保留
若是Scratch初學者,看完上面說明若暫時不能明白是什麼意思!先不用擔心,看過一次有基本概念,等待學習一段時間後再回來看文章就能理解。
Scratch變數和清單的實務規劃應用
下面2個程式設計需求,你會選擇用變數或清單來設計?
程式1需求:PoPo 將設計一個遊戲程式,當打到角色就能得到1分,遊戲結束能看到總分數。
程式2需求:LiLi 將設計一個成績單程式,記錄國語、英文、數學的考試成績,可以查詢各科分數。
先進行需求分析,再開始編寫程式!
程式1分析:
- 存放得到分數的功能 -> 需一筆資料
- 每次得到分數就會累積增加 -> 表示資料是可以改變
選擇使用變數設計
程式2分析:
- 存放國語、英文、數學 -> 需三筆資料
- 記錄多筆同性質資料 -> 存放科目和成績分數
- 各科分數輸入完成 -> 須可以進行查詢成績
選擇使用清單設計
Scratch變數和清單的創作展示
使用scratch程式設計中的清單和變數功能來設計一個成績單查詢系統,可以輸入各科的考試資料和查詢分數應用。
...
讀完這篇文章,希望能幫助你更進一步認識Scratch變數和清單功能。若下次創作需要設計儲存資料時,記得養成一個好的習慣:先花點時間了解程式需求並分析後,再來決定答案要「選擇變數或清單」。
清單是一個重要的資料結構,在應用上靈活度很高,當然學習上比較複雜一些,但只要先建立好基本觀念,再來就是實際多動手,記得一定要多創作多思考,你肯定能設計出最具創意的Scratch作品。
scratch清單,其實就是其它程式語言中的陣列(array)
大家都能愛編程、愛思考、愛創造