📋 C11 認識清單(陣列)

Scratch 清單操作與陣列概念完整教學

📥 下載連結(保持原檔名不改)

基本程式檔:

8XXxx-11.sb3(Google Drive)

原檔說明:用滑鼠左鍵點選下載,檔名不要修改

國文清單範例素材:

連結 1 | 連結 2

📚 第一章:課程概觀

🎯 學習重點

  • 以互動輸入建立清單、讀寫項目
  • 使用「重複直到…」與條件判斷控制清單長度
  • 清單常用操作:新增、替換、插入、刪除(含倒數項位置)
  • 邏輯健全性檢查:避免重複輸入、空清單/超出範圍處理

📋 清單概念啟動

什麼是清單?

  • 清單是可按順序儲存多筆資料的結構(類似陣列)
  • 視覺化監視器可顯示目前項目數(空清單=0;例如顯示「4」代表 4 筆)
  • 「不必知道清單裡有幾項」也能操作倒數項(使用 Scratch 的 「第(倒數第 n)項」 這類位置語法)

清單範例:國文成績

1
85
第1項
2
92
第2項
3
78
第3項
4
96
第4項(最後一項)

清單長度:4

💡 程式設計重點:本課程將深入學習「清單(陣列)」的概念,包括互動輸入、長度控制、四大基本操作,以及錯誤防範機制。

🛠️ 第二章:清單概念與基本操作

📋 清單的基本概念

清單特性

  • 有序性:資料按順序儲存,有明確的位置
  • 可變性:可以新增、修改、刪除項目
  • 長度追蹤:系統自動記錄清單中有多少項目
  • 位置索引:每個項目都有位置編號(從1開始)

🎯 清單監視器設定

步驟一:建立清單

  1. 在 Scratch 中點選「變數」區塊
  2. 點選「建立一個清單」
  3. 輸入清單名稱(例如:「國文」)
  4. 選擇「適用於所有角色」或「僅適用於此角色」

步驟二:顯示清單監視器

  1. 將清單監視器拖曳到舞台左上角
  2. 確保監視器顯示清單內容和長度
  3. 教師上課時可直接可視化清單內容變化
⚠️ 重要提醒:
  • 清單名稱要有意義,避免使用數字開頭
  • 建議使用中文名稱,如「國文」、「數學」等
  • 清單監視器位置要固定,方便觀察變化

🎮 第三章:互動輸入與長度控制

📝 建立與輸入「國文清單」

互動輸入(點擊精靈觸發)

邏輯:點擊精靈 → 清空清單 → 反覆詢問並加入清單,直到滿 4 筆 → 顯示清單

當這個角色被點擊
刪除 國文 清單的所有項目
重複直到 國文 清單的長度 = 4
詢問 請輸入一筆成績 並等待
答案 加入 國文 清單
顯示 國文 清單
💡 教師提醒:鍵入數字時,Num Lock 需開啟,否則可能無法輸入數字。

🔄 進階:避免重複輸入

防重複機制

邏輯:在「加入前」先判斷:若清單已包含該數字 → 顯示「輸入資料重複!」並不加入;否則照常加入

當這個角色被點擊
刪除 國文 清單的所有項目
重複直到 國文 清單的長度 = 4
詢問 請輸入一筆成績 並等待
如果 國文 清單中包含 答案
說出 輸入資料重複! 2
否則
答案 加入 國文 清單
顯示 國文 清單

🔧 第四章:清單操作的四種鍵盤任務

⌨️ 鍵盤操作任務

任務1:當按鍵「1」被按下 - 刪除最後一筆

邏輯:不必預先知道清單長度,直接用「第(最後一項)」語法刪除

當按下 1
說出 刪除清單的最後一筆資料 2
刪除 國文 清單的第 最後一項

任務2:當按鍵「2」被按下 - 替換倒數第2項

邏輯:先讓使用者輸入新成績,再用「將(清單)的第(倒數第2項)替換為(新值)」覆蓋

當按下 2
說出 替換清單倒數第2個位置的資料 2
詢問 請輸入一筆成績 並等待
國文 清單的第 倒數第2項 替換為 答案

任務3:當按鍵「3」被按下 - 插入到倒數第2項

邏輯:插入在特定位置會把原位置及之後的資料向後位移一格

當按下 3
說出 插入資料到清單的倒數第2個位置 2
詢問 請輸入一筆成績 並等待
國文 清單的第 倒數第2項 插入 答案

任務4:當按鍵「4」被按下 - 有防呆的刪除指定項(高分題)

邏輯:分3層檢查:A) 清單是否為空?B) 詢問要刪第幾項;若超出範圍 → 提示錯誤。C) 合法範圍 → 刪除該項

當按下 4
如果 國文 清單長度 = 0
說出 清單是空的 2
否則
詢問 要刪除清單第幾項資料? 並等待
如果 答案 < 1
說出 無此項目 2
否則如果 答案 > 國文 清單長度
說出 無此項目 2
否則
刪除 國文 清單的第 答案
說出 資料已刪除 2
✅ 四大操作重點:
  • 刪除最後一筆:使用「第(最後一項)」語法
  • 替換倒數第二筆:使用「第(倒數第2項)替換為…」
  • 插入倒數第二筆:使用「在第(倒數第2項)插入…」
  • 指定刪除含防呆:檢查空清單和超範圍情況

🛡️ 第五章:錯誤防範與邏輯健全性檢查

🔍 常見錯誤情況

錯誤類型分析

錯誤類型 可能原因 防範方法
空清單操作 對空清單進行刪除操作 先檢查清單長度是否為0
超出範圍 指定位置超出清單範圍 檢查位置是否在1到長度之間
重複輸入 使用者輸入重複資料 加入前先檢查是否已存在
資料類型錯誤 輸入非數字資料 加入資料驗證機制

🛠️ 防呆機制實作

完整的錯誤處理範例

以下是一個包含完整錯誤處理的清單操作範例:

當按下 5
如果 國文 清單長度 = 0
說出 清單是空的,無法操作 2
否則
詢問 請輸入要查詢的位置(1到 國文 清單長度 並等待
如果 答案 >= 1
如果 答案 <= 國文 清單長度
說出 答案 項的資料是: 國文 清單的第 答案
否則
說出 位置超出範圍! 2
否則
說出 位置必須大於等於1! 2
⚠️ 程式設計最佳實踐:
  • 永遠假設使用者會輸入錯誤的資料
  • 提供清楚的錯誤訊息和操作指引
  • 在關鍵操作前進行資料驗證
  • 使用友善的提示訊息,避免技術術語

📝 第六章:作業設計與學習評量

🎯 基礎作業

作業一:基本清單操作 (70分)

要求:

  • 建立一個「國文」清單
  • 實作點擊角色輸入4筆成績的功能
  • 完成按鍵1-3的基本操作(刪除、替換、插入)
  • 確保清單監視器正確顯示內容

作業二:進階功能實作 (85分)

在基礎作業基礎上增加:

  • 實作按鍵4的防呆刪除功能
  • 加入重複輸入檢查機制
  • 添加資料類型驗證(只接受數字)
  • 設計清單統計功能(最高分、最低分、平均分)

🌟 創意挑戰

挑戰一:多科目成績管理 (100分)

創新功能:

  • 建立多個科目清單(國文、數學、英文)
  • 設計科目切換功能
  • 實作跨科目統計分析
  • 加入成績排序功能
  • 設計成績匯出功能

挑戰二:互動式清單編輯器

進階挑戰:

  • 設計圖形化清單編輯介面
  • 實作拖拽排序功能
  • 加入搜尋和過濾功能
  • 設計清單資料備份和還原

📤 作業繳交方式

繳交檔案要求

  1. Scratch專案檔:儲存為 .sb3 格式,檔名如:81760-11.sb3
  2. 功能截圖:至少4張不同操作的截圖
  3. 設計說明:簡述清單操作特色和創意點
  4. 測試報告:列出所有測試過的功能和結果

🏆 評分標準

評分項目 配分 評分重點
基本功能 40% 清單建立、輸入、顯示功能完整性
四大操作 30% 刪除、替換、插入、指定刪除操作正確性
錯誤處理 20% 防呆機制、錯誤提示、資料驗證
創意表現 10% 額外功能、介面設計、使用者體驗
⬆️ 回到頂部