302F5/2019年8月13日(二)
出自 青少年追求卓越
< 302F5
- 本學習活動的目標:學習程式設計,運用演算法和數學原理,全自動解「數獨」題目。
- 程式語言:Scratch 3.0
- 輔助工具:Google Sheets
- 數學原理:
- 演算法:
- 學習活動流程:
- 教練帶領學生解數獨簡單題一題。
- 教練帶領學生解數獨中等題一題,教練和學生都要各自截圖,作為未來製作影片的媒體素材。
- 教練秀出數獨1.0 Scratch 程式的畫格功能及填數功能。並說明程之終極目的是全自動解題。
- 教練使用 Google Sheets 的表單試算特性,用簡明的表格,呈現程式中許多變數的複雜運算過程。
- 這個程式設計專案可以學習到的數學觀念和應用包括:
- 整數除法的餘數的週期性,商數可以代表第幾週期。
- 函數的基本觀念和應用。
- 函數的四則運算和應用。
- 合成函數的運算和應用。
- 這個程式設計專案可以學習到的程式觀念和技巧包括:
- 這個程式設計專案可以學習到試算表的觀念和技巧包括:
- 教練活用數學的商數、餘數、函數,及合成函數,使其可應用於整理 spreadsheets 表格相關資料(列、行、陣)。
- 教練教導函數及合成函數觀念及其應用。
- 相關網頁
- 數獨官網
- 數獨 of 部落格 of 心克剛共學網
- 程式設計學習單:數獨 ( google docs)
- 數獨 2.0 教練 (Scratch)
- 字串處理 (Scratch)
- 數獨1.0:題目、解題過程、和答案 (GoogleSheets)
- Google 雲端硬碟:302F5
探索精選問題或遊戲
- 數獨官網
- 教練帶領學生解數獨簡單題一題。
- 教練帶領學生解數獨中等題一題,教練和學生都要各自截圖,作為教來製作影片的媒體素材。
數學與程式實驗
- 《 Scratch 設計程式:數獨 》google Spreadsheets & Scratch
- 目標:學習程式設計,以自動解數獨題目為專案
- 流程
- 教練秀出數獨1.0 Scratch 程式的畫格功能及填數功能。並說明程之終極目的是全自動解題。
- 教練活用數學的商數、餘數、函數,使其可應用於整理 spreadsheets 表格相關資料(列、行、陣)。
- 教練教導函數及合成函數觀念及其應用。
翻轉學習
- 併《 Scratch 設計程式:數獨 》
實施紀要
- 教練展演《數獨 2.0 程式》(教練電腦投影)
- 學生演練《數獨 2.0 程式》(學生電腦投影)
- 匯入題目->自動解題
- 手動填入題目->自動解題 (從數獨官網選專家題,其中一題解題過程4百多步,另一題解題過程5,736步)
- 教練帶領學生習作數獨程式中之「字串處理」細節,如下:
- 教練請學生寫程式,功能為:將一字串變數之內容拆解為三個部份,分別設定為另三個字串變數。例如:字串「36 唯一 7」拆解為「36」、「唯一」、「7」。
- 下次課程進度:
- 顏色處理
- 分身
- 各模組重點:畫格、填題、分析、解題、秀過程、1-81、1-9
- 數獨程式結構
- 變數:適用全部角色 vs 僅適用當前角色