05 十一月, 2019 05:41
如何把程式設計過程對應到[運算思維]這個理論。(非資訊專業,專有名詞如有誤用,請私訊更正,謝謝!)
A、題目:
電腦先演奏一次完整的音階,再開始測試。
電腦自動隨機演奏一個音,然後等待輸入(簡譜代號),輸入正確就說[答對了],錯誤就說[答錯了],等待2秒後再繼續下一題。
B、運算思維四個核心步驟:
拆解、找出規律、歸納與抽象化、設計演算法
- Decomposition(問題拆解) 將一個複雜的問題分解成很多的小問題,進而能夠更容易的瞭解,處理跟維護
- Pattern Recognition(模式識別、找出規律) 尋找問題中的相似之處
- Abstraction(抽象化-重點摘要、歸納與抽象化) 只專注於重要的信息,忽視無關緊要的細節
- Algorithm Design(演算法設計) 開發解決這個問題的步驟、規則...
C、解題練習
一、問題拆解:(將整個題目拆解成小問題)
1.電腦先演奏一次完整的音階
2.電腦自動隨機演奏一個音
3.等待輸入(簡譜代號)
4.比對答案
5.答案對錯回答(回饋)
二、找出規律:(跟舊經驗比對)
三、歸納與抽象化:(找出舊經驗中主要的設計)
四、設計演算法:(設計程式)
每一個小問題都依照二、三、四去解決,再組合起來。
二、找出規律(跟舊經驗比對) 三、歸納與抽象化(找出舊經驗中主要的設計)
1.[電腦先演奏一次完整的音階]
有關的指令:演奏音階
順序演奏7個音階
2.[電腦自動隨機演奏一個音]
有關的指令:隨機取數?(簡譜1~7)
取數後對應到音階?(Do、Re、Mi、Fa、Sol、La、Si)(條件式),變數
演奏音階
3.[等待輸入(簡譜代號)]
有關的指令:[詢問....並等待],問答
4.[比對答案]
有關的指令:運算(...)=(...)
5.[答案對錯回答(回饋)]
有關的指令:如果....那麼...否則(條件式)
四、設計演算法(設計程式)
scratch3開啟時沒有[演奏音階]積木,必須先添加。
在scratch3網頁的左下角點[添加擴展]
添加[音樂],這個擴展功能積木。
使用[音樂 ] 積木區的[演奏樂器設為(鋼琴)]和[演奏音階(60)(0.25)拍],兩個積木。
注意:音調單位為赫茲(Hz)(次/秒),這裡使用音樂上的[音階],單位不是赫茲(註)
融入自然領域的聲音單元和藝術領域的音樂(基本樂理)單元。
1.[電腦先演奏一次完整的音階]
有關的指令:演奏音階
2.[電腦自動隨機演奏一個音]
有關的指令:隨機取數?(簡譜1~7)
取數後對應到音階?(Do、Re、Mi、Fa、Sol、La、Si)(條件式),變數
演奏音階
建立一個變數[演奏音階],儲存隨機取數,再對應到[演奏音階],發出聲音
(使用條件判斷式:如果....否則....)
3.[等待輸入(簡譜代號)]
有關的指令:[詢問....並等待],問答
4.[比對答案]
有關的指令:運算(...)=(...)
5.[答案對錯回答(回饋)]
有關的指令:如果....那麼...否則(條件式)
程式整合:
程式下載:音感練習.sb3
----------------------------------------------
上面的程式條件判斷式很長,輸入代號後也沒有發出對應的音階,可以將程式修改。
使用[廣播訊息]來解題。
一、問題拆解:(將整個題目拆解成小問題)
1.電腦先演奏一次完整的音階
2.電腦自動隨機演奏一個音
3.等待輸入(簡譜代號)
4.比對答案
5.答案對錯回答(回饋)
二、找出規律:(跟舊經驗比對)
三、歸納與抽象化:(找出舊經驗中主要的設計)
四、設計演算法:(設計程式)
每一個小問題都依照二、三、四去解決,再組合起來。
二、找出規律(跟舊經驗比對) 三、歸納與抽象化(找出舊經驗中主要的設計)
1.[電腦先演奏一次完整的音階]
有關的指令:演奏音階
第一種:順序演奏7個音階
第二種:
有關的指令:演奏音階,重複...次(迴圈),變數,疊代
重複7次,疊代,廣播訊息(呼叫函數),演奏音階
2.[電腦自動隨機演奏一個音]
有關的指令:隨機取數?(簡譜1~7),變數儲存
取數後對應到音階?(Do、Re、Mi、Fa、Sol、La、Si),廣播訊息(呼叫函數),演奏音階
3.[等待輸入(簡譜代號)]
有關的指令:[詢問....並等待],問答
4.[比對答案]
有關的指令:運算(...)=(...)
5.[答案對錯回答(回饋)]
有關的指令:如果....那麼...否則(條件式)
四、設計演算法(設計程式)
1.[電腦先演奏一次完整的音階]
有關的指令:演奏音階
第一種:順序演奏7個音階
第二種:
有關的指令:演奏音階,重複...次(迴圈),變數,疊代
重複7次,疊代,廣播訊息(呼叫函數),演奏音階
2.[電腦自動隨機演奏一個音]
有關的指令:隨機取數?(簡譜1~7),變數儲存
取數後對應到音階?(Do、Re、Mi、Fa、Sol、La、Si),廣播訊息(呼叫函數),演奏音階
3.[等待輸入(簡譜代號)]
有關的指令:[詢問....並等待],問答
發出輸入的音階
4.[比對答案]
有關的指令:運算(...)=(...)
5.[答案對錯回答(回饋)]
有關的指令:如果....那麼...否則(條件式)
程式整合:
第一種:
程式下載:音感練習(廣播).sb3
第二種:
程式下載:程式下載:音感練習(廣播)(迴圈).sb3
----------------------------------
程式寫作沒有標準答案。
-----------------------------------
註:
資料來源:https://zh.wikipedia.org/wiki/%E9%9F%B3%E9%AB%98
中央C上之A音符發出的頻率為440Hz(表示成"A=440Hz",或是"A440"),通常被當作「標準音高」
音高通常使用科學音高記號法或使用結合字母與數字(用以表示基頻)而成的記錄法。
"A440"的號碼則指定為69
通知
暫時關閉迴響功能,如有建議請直接mail到roc@ilc.edu.tw謝謝!
https://scratch.mit.edu/projects/96490244/fullscreen/
X:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
最新消息
老師常用的資訊工具https://goo.gl/XHMoir
讓所有小孩(不管是不是偏鄉),都能夠享有平等的受教權,堆疊心中的夢想,改變人生。從基礎初級到進階專題都完整的教案,像課本一樣可以讓老師跟著一課一課的教下去,學會基礎再學進階就容易了。國小機電整合參考課程:
Arduino
http://blog.ilc.edu.tw/blog/blog/868/post/111175/727272
http://blog.ilc.edu.tw/blog/blog/868/post/97509/641433
http://blog.ilc.edu.tw/blog/blog/868/post/113128/750428
http://blog.ilc.edu.tw/blog/blog/868/post/113129/750447
ESP8266
http://blog.ilc.edu.tw/blog/blog/868/post/104089/678192
microbit
http://blog.ilc.edu.tw/blog/blog/868/post/116505/778778