音感練習(運算思維應用)

如何把程式設計過程對應到[運算思維]這個理論。(非資訊專業,專有名詞如有誤用,請私訊更正,謝謝!)

A、題目:

電腦先演奏一次完整的音階,再開始測試。
電腦自動隨機演奏一個音,然後等待輸入(簡譜代號),輸入正確就說[答對],錯誤就說[答錯],等待2秒後再繼續下一題

B、運算思維四個核心步驟:

拆解、找出規律、歸納與抽象化、設計演算法

  1. Decomposition(問題拆解) 將一個複雜的問題分解成很多的小問題,進而能夠更容易的瞭解,處理跟維護
  2. Pattern Recognition(模式識別、找出規律) 尋找問題中的相似之處
  3. Abstraction(抽象化-重點摘要、歸納與抽象化) 只專注於重要的信息,忽視無關緊要的細節
  4. 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

roc

宜蘭縣國小資訊小站

您可能也會喜歡…