32 亮LED燈的運算思維
(2018/07/11)
今天上營隊第三天的課,教學生利用迴圈讓LED燈從左到右亮燈,並且要學生改程式的一部份讓燈從右往左亮燈,學生居然不會,而採用土法煉鋼法來完成,這時我才發現我是用會寫程式的角度在教他們,怪不得學生不知如何改,所以讓我領悟到對於入門學生應該一步一步教起~~
題目:讓第一列的LED燈從左到右亮起
零、我一開始是用這程式來教學生的
怪不得學生聽不懂
打散重練
題目:讓第一列的LED燈從左到右亮起
一、解析:第一列代表y=0;從左到右 代表x=0到x=4
一顆燈一顆燈亮起來,這是學生最容易理解的方法
這時要讓學生修改如何讓燈從右邊往左邊亮起來,他們一定會!
二、請學生觀察如何拆解及找【相似】的東西(運算思維的第一步及第二步)
如何拆解:如下圖的拆解,共拆成【相似】的部份有五個
折解後有何發現:拆解後,發現除了x的值依序增加外,其他都一樣
三、利用【重複5次】的抽象積木來簡化複雜工作(運算思維的第三步)
加入【重複5次】的積木
四、利用變數來取代X的值
由於X的值不是固定,而是有規律的從0,依序增加到4,所以就用一個變數來替代
先取一個變數的名稱,這邊取變數的名稱為X
取完名稱後,要設定【變數X】的初始值,這邊設【變數X】的初始值為0
將亮燈x後方的數值,用【變數X】來取代
當燈亮一顆後,要將【變數X】的值增加1
五、變數【設為】與【改變】容易混淆
學生常搞混
所以又可將程式改為
六、利用【新的抽象積木】取代前面【重複5次】的積木來更簡化複雜工作(運算思維的第三步)
這個【新的抽象積木】是結合了【變數】與【重複】兩種功能的迴圈積木
利用新積木取代上面的程式
結論:感覺精簡了很多,但沒有經過上面的推演過程,直接要學生寫出這樣的程式,怪不得學生會聽不懂!!