^

Scratch程式設計變數和清單攻略記!

HiThink-logo
海獅程式團隊
Jan 16,2020

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

Scratch變數和清單說明
Scratch程式設計變數和清單攻略記

...

為何老師介紹變數,學生詢問清單功能?

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

Scratch變數和清單積木功能列
Scratch變數和清單積木的位置(Photo by MIT)

變數和清單是一樣嗎?

Scratch程式設計平台開發目的就是要讓國小、國中生就能開始學編程(程式設計)中培養創意能力及提升運算思維能力。設計上使用圖形化積木來取代文字指令,每個積木都有不同的功能及邏輯應用,因此從變數積木的數量較少,清單積木的數量較多,就可以大概猜出「變數和清單真的不一樣」
那有什麼不一樣?就讓我們從Scratch變數和Scratch清單的程式設計概念到實務規劃應用來開始認識。

Scratch變數和清單的程式設計概念

  1. 程式定義
    變數(variable)存放可以改變的資料
    清單(list)存放同性資的資料,資料可以改變
  2. 資料筆數
    一個變數中只能存一筆資料
    一個清單中能存多筆資料
  3. 資料型態
    變數可以存放資料型態有數字、字串 (一個變數中僅能存放其中一種)
    清單可以存放資料型態有數字、字串 (一個清單中能同時存放)
  4. 資料操作
    變數對資料能指派、修改
    清單對資料能增加、修改、刪除、插入、查詢等應用
  5. 資料保存
    變數的資料,修改後原始的資料將被覆蓋
    清單的資料,依操作指令決定資料是否保留

若是Scratch初學者,看完上面說明若暫時不能明白是什麼意思!先不用擔心,看過一次有基本概念,等待學習一段時間後再回來看文章就能理解。

Scratch變數和清單的實務規劃應用

下面2個程式設計需求,你會選擇用變數或清單來設計?

程式1需求:PoPo 將設計一個遊戲程式,當打到角色就能得到1分,遊戲結束能看到總分數。

程式2需求:LiLi 將設計一個成績單程式,記錄國語、英文、數學的考試成績,可以查詢各科分數。

先進行需求分析,再開始編寫程式!

程式1分析:

  • 存放得到分數的功能 -> 需一筆資料
  • 每次得到分數就會累積增加 -> 表示資料是可以改變

選擇使用變數設計

程式2分析:

  • 存放國語、英文、數學 -> 需三筆資料
  • 記錄多筆同性質資料 -> 存放科目和成績分數
  • 各科分數輸入完成 -> 須可以進行查詢成績

選擇使用清單設計

Scratch變數和清單的創作展示

使用scratch程式設計中的清單和變數功能來設計一個成績單查詢系統,可以輸入各科的考試資料和查詢分數應用。

...

讀完這篇文章,希望能幫助你更進一步認識Scratch變數和清單功能。若下次創作需要設計儲存資料時,記得養成一個好的習慣:先花點時間了解程式需求並分析後,再來決定答案要「選擇變數或清單」。

清單是一個重要的資料結構,在應用上靈活度很高,當然學習上比較複雜一些,但只要先建立好基本觀念,再來就是實際多動手,記得一定要多創作多思考,你肯定能設計出最具創意的Scratch作品。

scratch清單,其實就是其它程式語言中的陣列(array)

大家都能愛編程、愛思考、愛創造