• 沒有找到結果。

程式設計初探

N/A
N/A
Protected

Academic year: 2022

Share "程式設計初探"

Copied!
44
0
0

加載中.... (立即查看全文)

全文

(1)

本章概念

3

程式設計初探

—生日派對

3-1 程式語言簡介 P.50

認識程式語言、認識Scratch、Scratch 歡迎式

3-2 角色移動—上街買蛋糕 P.60

刪除角色、新增角色、新增舞臺背景、

利用Scratch 完成程式

3-3 畫筆與造型—生日布置 P.66

舞臺安排、利用畫筆功能繪製移動路徑、

繪製連續造型的角色、造型切換、播放音效

3-4 演奏音階—鍵盤鋼琴 P.78

(2)

的回憶。

Scratch 是將程式語言以積木呈現,透過積木組合,就可以簡單的完成程式設計。

現在就讓我們試試看,利用 Scratch來完成小潔的生日派對吧!

49

(3)

職涯導航

根據美國勞工局的研究,

西元2024 年時,美國將有 一百萬個與電腦科學相關的 工作職缺。

和電腦科學相關的職業 有:程式設計師、研發工程 師、網頁工程師、遊戲開發 工程師、動畫設計師、資料 科學家等。

程式語言簡介

3-1

在第 2 章中,我們學習到「演算法是解決問題的方 法」,可以利用文字敘述、流程圖或虛擬碼的方式來呈 現。但是,若希望利用電腦來實踐演算法,我們還要先 學會和電腦溝通。

想一想,人與人溝通需要透過「語言」,那人與電腦 之間要如何溝通呢?

手腦並用

語言

國語 閩南語

客語 英語

?

1 認識程式語言

資訊科技在生活中的應用層面越來越廣,因此,每 個人都應該學習與電腦溝通。程式語言( programming

language )是「將演算法的步驟轉換為電腦可執行的指

令,並精確地定義在不同情況下應採取何種行動」的一 種電腦語言,可說是人類與電腦溝通的語言。

如同人類間存在著各種不同的語言,隨著資訊科技

的演進與應用領域的不同,發展出各種程式語言,一般

可分為低階語言與高階語言兩大類。

(4)

1 低階語言(low-level language)

機器語言( machine language)

機器語言是最早的程式語言,由於電腦只認得 0 與 1 的訊號,因此機器語言的指令僅由 0 與 1 兩種符號組 成(圖 1-3-1)。也因為電腦可以直接看懂機器語言,

所以執行速度最快;但是,機器語言的可讀性低、不易 維護,且必須針對硬體進行設計,因此不同硬體設備的 電腦間無法通用,即所謂的可攜性差。

圖 1-3-1 機器語言與電腦溝通。

……0111101100111……

機器語言

組合語言( assembly language)

組合語言採用接近人類語言的簡短字串作為指令,

比起用 0 與 1 組合的機器語言容易理解(圖 1-3-2),

但因為電腦只懂機器語言,因此必須先轉譯為機器語言 才能執行,所以執行速度比機器語言慢;組合語言仍屬 於低階語言,可攜性差,無法在不同硬體設備的電腦間 通用。

圖 1-3-2 組合語言須轉譯成機器語言才能與電腦溝通。

……11011010……

……01010111……

機器語言

MOV X, 20

ADD X, 1

組合語言

經過 轉譯

程 式 設 計 初 探 3 — 生 日 派 對

3-1 程式語言簡介

51

3-1

3-2

3-3

3-4

(5)

2 高階語言(high-level language)

高階語言的語法較接近人類的語言,使用上易於理解,且程式可 跨平臺在不同的電腦系統上執行,因可攜性佳而被廣泛應用。常見的 高階語言包括 C、C++、P ython J ava 等,但由於必須轉譯成電腦能 理解的機器語言,因此執行效率會比機器語言低(圖 1-3-3)。

圖 1-3-3 高階語言比較容易理解,但也須轉譯成機器語言才能與電腦溝通。

……00010010……

……11010001……

機器語言

X=20

print(X+1)

高階語言

經過 轉譯

延伸學習 常見的程式語言特色與應用範圍

低階語言

程 式 語 言

針對機器設 計,不同設 備的程式無 法通用。

程式可跨平 臺在不同的 電腦系統上 執行,語法 較好理解。

C 可於各種作業系統中執行,主要應 用於作業系統開發。

C++ 承襲C 語言的特性,常用於開發應 用程式。

Java

可於不同作業系統中執行,廣泛使 用於web 應用開發和行動系統應用 程式。

Python 語法易於理解,套件模組豐富,也 被廣泛使用在數據分析領域。

LISP 歷史悠久的程式語言,因應人工智 慧而發展的語言。

Prolog 原用來處理自然語言的程式語言,

被廣泛應用於人工智慧領域。

機器語言 電腦可直接執行,執行速度最快,

人類不易理解。

組合語言 須經過轉譯電腦才能執行。

高階語言

(6)

2 認識 Scratch

目前各領域廣泛應用的程式語言多為文字式程式語 言,但語法較為複雜,因此學習難度高。為了降低學 習門檻,我們可以選擇視覺化程式設計工具 ,例如 S cratch B lockly A pp I nventor 等,來學習程式的邏 輯,作為未來進入文字式程式設計的基礎(圖 1-3-4)。

開始 x = 20

sum = x + y y = 15

結束 輸出sum

圖 1-3-4 除了傳統文字式程式語言之外,現在更有視覺化程式設計工具,方便

我們從演算法進入程式設計的世界。

A

文字式(以 C 語言為例)

B

視覺化(以 Scratch 為例)

本書選用 S cratch 作為學習撰寫程式的工具,只要

將程式積木拖曳、組合,就能完成程式設計(圖 1-3-5)。

我們可以使用 S cratch 來創作互動式故事、遊戲、動畫、

音樂,還能在官方網站上分享自己的創意作品。

小叮嚀

本書畫面使用Scratch3.0 版 本。 由 於Scratch 會不定 時改版更新,因此最新版的 介面、翻譯,可能與本書畫 面略有不同。

圖 1-3-5 只要經由積木組合,就能完成Scratch 程式設計;右側舞臺區呈現的就是程式執行的結果。

❶ 

拖曳

組合

知識快遞

視覺化程式設計工具又 稱「積木式」或「圖形化」

程式設計工具,讓初學者避 開文字式程式語法的學習障 礙,經由積木的組合,專注 於程式邏輯的學習。

程 式 設 計 初 探 3 — 生 日 派 對

3-1 程式語言簡介

53

3-1

3-2

3-3

3-4

(7)

C 程式編輯區

組合程式積木的地方。

可視需求控制積木顯示的大小,

方便檢視程式。

點選左側的「積木類別」,

右方會列出相關的程式積木。

B 程式積木區

1 Scratch 操作介面

物件可編輯的項目。

1.「角色」可編輯的項目:

2.「舞臺」可編輯的項目:

A 選項列

連結 Scratch 首頁,點擊「創造」,即可進入此介面。

https://scratch.mit.edu/

增加擴展積木

點擊 可添加擴展項目到左側類別 區,例如:

1. 可以控制角色發出聲音、音 樂相關的積木。

2. 可以讓角色在舞臺上繪圖的 積木。

還有更多延伸工具,或與硬體設備互動 的功能,請自己探索看看!

(8)

D 角色區

本專題使用的所有角色清單。

1. 點擊角色縮圖,進入此角 色控制模式。

2. 點擊「選個角色」鈕,直 接由範例庫新增角色。

展示程式執行成果的區域。

1. 開始執行程式。

2. 停止執行程式。

3. 縮小舞臺區。

4. 放大舞臺區。

5. 全螢幕顯示。

F 舞臺區

新增角色/舞臺的方式

當鼠標停在按鈕上,會出現隱藏選單。

1. 從電腦中上傳。

2. 隨機挑選。

3. 自行繪製。

4. 從範例庫挑選。

控制舞台場景變換。

1. 點擊背景縮圖,進入背 景控制模式。

2. 點 擊「 範 例 背 景 」 鈕,

直接由範例庫新增背景。

舞臺背景區

E

程 式 設 計 初 探 3 — 生 日 派 對

3-1 程式語言簡介

55

3-1

3-2

3-3

3-4

(9)

3 角色方向

角色面對的方向會決定移動的方向,

角色預設為面朝 90 度(面向右方)。

向上 ( 0 度)、 向下 (180 度)

向右 ( 90 度)、 向左 (270 度)

圖 1-3-7 Scratch 角色方向。

此時小貓咪面向90 度方向,移動時會向右方移動。

2 舞臺坐標

舞臺區是展示程式執行結果的地方,

而角色在舞臺上的位置可用坐標來表示。

圖 1-3-6 Scratch 舞臺的坐標。

此時小貓咪的造型中心位於X: -100、Y:100 的位置,數學上記錄為( -100, 100)。

X 軸 : 介於-240~240 間 Y 軸 : 介於-180~180 間

0 度

180 度

-180 度)

270 度

(-90 度) 90 度

(-270度)

如右圖,直接由 Scratch 範例庫中匯入蝙蝠角色(Bat),則:

(1) 若在不調整角色方向的狀況下,程式要角色 移動 10 點 ,則 蝙蝠會往舞臺的哪一個方向移動?

(A) 上方 (B) 下方 (C) 左方 (D) 右方。

(2) 當角色 面朝 0 度 時,蝙蝠會呈現什麼狀態?

(A) (B) (C) (D)

手腦並用

(10)

學習目標 1. 匯入舞臺背景。

2. 完成第一個程式。

3 Scratch 歡迎式!

現在,讓我們來熟悉一下 S cratch 的基本操作方式,

完成第一支 S cratch 程式。

現在要進行 Scratch 的歡迎儀式,主持人是小貓咪。儀式開始時,小貓咪要先 在舞臺左側就位,等待 1 秒後,再移動到舞臺中間。

當小貓咪到達舞臺中間,先停頓 1 秒,再用對話框說出:「哈囉!大家好!歡 迎一起來學 Scratch。」 過程如下圖所示,請利用 Scratch 來完成任務吧!

任務說明

本程式使用的是 Scratch 範例庫中的背景,試試看,下列哪一組步驟可以 順利新增舞臺背景呢?

(A) 角色區 選個角色 (B) 舞臺背景區

選個背景 (C) 角色區

選個背景 (D) 舞臺背景區

選個角色

新增舞臺背景 新建專案

逐步解析 1

(B)。

新增舞臺背景:舞臺背景區/選個背景/音樂/Spotlight 必須新增背景之後,才能將預設的白色背景刪除。

程 式 設 計 初 探 3 — 生 日 派 對

3-1 程式語言簡介

57

3-1

3-2

3-3

3-4

(11)

(1) 找找看,小貓咪的「移動」要用哪一類的積木來表現?

(A) 事件類 (B) 動作類 (C) 外觀類 (D) 音效類

(2) 小貓咪就位之後要先 等待 1 秒,找找看,要用哪一類的積木來表現?

(A) 動作類 (B) 事件類 (C) 控制類 (D) 外觀類

(3) 如右圖,小貓咪要用對話框說「哈囉!」,找找看,要用 哪一類的積木來表現?

(A) 音效類 (B) 事件類 (C) 外觀類 (D) 動作類

哈囉!

認識各類積木

逐步解析 2

(1) (B)。

移動屬於 動作類 ,是藍色的積木。

-- 朝著角色面對的方向移動 10 點 -- 將角色移動到(0, 0)

-- 角色在 1 秒內,滑行到(0, 0)

(2) (C)。

等待屬於控制類 ,是橘色的積木。

-- 等待 1 秒,然後再執行後續的程式。

(3) (C)。

用對話框說話屬於外觀類,是紫色的積木。

-- 出現對話框 2 秒,然後對話框消失,接著執行後續的程式。

-- 出現對話框後立即執行後續的程式,對話框不會自行消失。

(12)

(1) 在歡迎式過程中,小貓咪要完成下列動作。請使用課本【附件 1】的紙卡,

比照「任務說明」指示的流程,依順序重新排列組合。

(2) 請依據 (1) 排列完成的流程步驟,改以 Scratch 完成程式。

使用Scratch 完成第一個程式

逐步解析 3

附件2

3-2 上街買蛋糕—逐步解析 3(配合課本66頁)

開始 在 B 點等待 1 秒

定位到 D 點(- 55, 15) 定位到 A 點(- 188, - 80)

在 A 點等待 1 秒 定位到 C 點(- 55, 130)

在 E 點等待 1 秒 定位到 E 點(85, 15)

在 C 點等待 1 秒 定位到 B 點(- 188, 130)

在 D 點等待 1 秒 說「我買到蛋糕了!」(2 秒)

附件1

3-1 Scratch 歡迎式—逐步解析 3(配合課本61頁)

說「哈囉!」(2 秒) 移到舞臺上就位(20, - 15)

在左側就位(- 140, - 55) 說「大家好」(2 秒)

說「歡迎一起來學 Scratch !」 在左側等待 1 秒

開始 在舞臺上等待 1 秒

(1) 「Scratch 歡迎式」的正確流程:    

D

開始

B

在左側就位(

-

140,

-

55)

G

在左側等待1 秒

E

移到舞臺上就位(20,

-

15)

H

在舞臺上等待1 秒

A

說「哈囉!」(2 秒)

F

說「大家好」(2 秒)

C

說「歡迎一起來學Scratch !」

(2) 附件拼完後,將排好的紙卡翻面,可以看到對應的程式積木。

請利用Scratch 執行看看是否正確。

A 說「哈囉!」(2 秒)

翻面

程 式 設 計 初 探 3 — 生 日 派 對

3-1 程式語言簡介

59

3-1

3-2

3-3

3-4

(13)

媽媽要上街買蛋糕,蛋糕店開在一條 彎曲馬路的盡頭。請播放範例影片 上街買 蛋糕 .mp4 ,觀察程式的執行情形,一起用 Scratch 來完成任務吧!

【程式摘要】

媽媽必須從 A 點出發,沿著街道移動到 E 點

(蛋糕店)

,最後說:「我買到蛋糕了!」。

小叮嚀

各活動的範例影片、程式檔案等素材,均可由P.3

「檔案下載方式說明」提供的網址下載。

搭配【逐步解析】說明

題目解析流程

任務說明

開始

刪除貓咪

移動位置

說「買到蛋糕」

新增 媽媽 、 蛋糕 新增背景

等待時間

1

3

角色及背景

買到蛋糕 媽媽上街

結束

2

檔案

3-2

下載方式請見 P.3

3-2 角色移動 —上街買蛋糕

(14)

在這一節中,我們將學會匯入背景、匯入角色,並 利用 動作類 積木來移動角色(表 1-3-1)。

學習目標 1. 匯入背景與角色。

2. 控制角色移動。

1-3-1 本程式所需積木

積木類型 外觀 功能

事件類 當綠旗被點擊後,開始執行下方的指令積木。

控制類 等待指定時間之後,繼續執行下一個指令積木。

動作類

將角色移動到指定位置。

角色在指定時間內,滑行到指定位置。

外觀類 以對話框顯示指定文字,並在指定的秒數後消失,

接著才執行下一個指令積木。

程 式 設 計 初 探 3 — 生 日 派 對

3-2 角色移動──上街買蛋糕

61

3-1

3-2

3-3

3-4

(15)

在角色區中,刪除角色的方法有2 種:

1. 在小貓咪身上按 下 「滑鼠右鍵/刪除」 2. 點擊小貓咪身上的

1. 街道地圖:舞臺背景區/上傳/選擇檔案 2. 媽媽:角色區/上傳/選擇檔案

3. 蛋糕:角色區/選個角色/ Cake

本程式要用到三個素材: 街道地圖

(舞臺背景)

、 媽媽

(角色)

和 蛋糕

(角色)

, 應該如何安排到舞臺上?

蛋糕 可在範例庫中找到, 媽媽 和 街道地圖 請依 P.60 任務說明下載。

新增角色、新增舞臺背景

逐步解析 2

開啟一個新專案之後,舞臺上會出現一個預設的小貓咪,但是我們用不到 他。要如何刪除舞臺上預設的小貓咪?

刪除角色 新建專案

逐步解析 1

調整角色尺寸大小

新增角色後,可利用角色區的尺寸工具來 調整角色尺寸大小。

100 為預設尺寸,數字大於 100 為放大;

數字小於100 為縮小。

按右鍵

刪除

(16)

取得角色坐標位置

❶ 

將角色拖曳到舞臺上特定位置。

❷ 

此時積木已自動填入角色的坐標值

試試看,幫媽媽加上右圖的程式,讓媽媽依序由A 點移動到B 點,最後停留在 C 點。

但是執行程式後,卻會發現媽媽一直停留在C 點不 動,為什麼呢?想一想,可以怎麼修正?

手腦並用

A 點 B 點

C 點

--A 點 --B 點 --C 點

程 式 設 計 初 探 3 — 生 日 派 對

3-2 角色移動──上街買蛋糕

63

3-1

3-2

3-3

3-4

(17)

(1)「上街買蛋糕」的正確流程:

A

開始

H

定位到 A 點(-188, -80)

C

在 A 點等待 1 秒

K

定位到 B 點(-188, 130)

G

在 B 點等待 1 秒

I

定位到 C 點(-55, 130)

E

在 C 點等待 1 秒

B

定位到 D 點(-55, 15)

F

在 D 點等待 1 秒

J

定位到 E 點(85, 15)

D

在 E 點等待 1 秒

L

說「我買到蛋糕了!」(2 秒)

(2) 附件拼完後,將排好的紙卡翻面,可以 看到對應的程式積木,請利用Scratch 執行看看是否正確。

(1) 請使用課本【附件 2】的紙卡,比照「任務說明」指示的流程,依順序重新 排列組合。

(2) 請依據 (1) 排列完成的流程步驟,改以 Scratch 完成程式。

利用Scratch 完成程式

逐步解析 3

附件2

3-2 上街買蛋糕—逐步解析 3(配合課本66頁)

開始 在 B 點等待 1 秒

定位到 D 點(- 55, 15) 定位到 A 點(- 188, - 80)

在 A 點等待 1 秒 定位到 C 點(- 55, 130)

在 E 點等待 1 秒 定位到 E 點(85, 15)

在 C 點等待 1 秒 定位到 B 點(- 188, 130)

在 D 點等待 1 秒 說「我買到蛋糕了!」(2 秒)

附件1

3-1 Scratch 歡迎式—逐步解析 3(配合課本61頁)

說「哈囉!」(2 秒) 移到舞臺上就位(20, - 15)

在左側就位(- 140, - 55) 說「大家好」(2 秒)

說「歡迎一起來學 Scratch !」 在左側等待 1 秒

開始 在舞臺上等待 1 秒

1

(18)

小試身手  小青蛙要上岸

小青蛙在池塘中,要沿著石頭跳上岸。請利

用 S cratch 協助小青蛙順利到達岸上吧!

1. 請 新建專案 撰寫程式。

2. 本程式所需的角色與背景,均可在範例庫中取得。

3. 匯入背景後,請利用 S cratch 的繪圖功能畫出「起點、 3 顆石頭、終點」。(無須寫字)

4. 程式流程:(1) 小青蛙站在 起點(S tart ),說:「我要上岸了」。

(2) 小青蛙依序經過 3 顆石頭再抵達 終點(G oal )。

(3) 抵達終點後,小青蛙說:「再見囉!」。

繪製背景的石頭

點選背景。

在適當位置畫石頭。

點選背景頁籤。

❻ 

可用 選取工具 調整石頭的位置與大小。

點選 畫圓工具 。

可 複製 已畫好的石頭,來完成其他石頭。

選擇顏色。

❸  

❺  

程 式 設 計 初 探 3 — 生 日 派 對

3-2 角色移動──上街買蛋糕

65

3-1

3-2

3-3

3-4

(19)

3-3 畫筆與造型 —生日布置

小潔就要過 12 歲生日了,爸爸準備布 置 一 個 繽 紛 的 慶 生 會 場。 請 播 放 範 例 影 片 生日布置 .mp4 ,觀察程式的執行情形,一起 用 Scratch 來完成任務吧!

【程式摘要】

1. 用 鉛筆 以「一筆畫」的方式,讓數字「 」 呈現出動態書寫的效果。

2. 寫完數字後, Happy Birthday 像煙火一樣 綻放出美麗的光芒,然後播放掌聲歡呼的 音效。

搭配【逐步解析】說明

題目解析流程

任務說明

檔案

3-3

下載方式請見 P.3

開始

刪除貓咪

畫筆顏色/

畫筆粗細

新增鉛筆、

煙火 新增背景

畫數字「 」 畫數字「 」

「歡呼」音效 切換角色造型

角色及背景

煙火 一筆畫數字

結束

3 2

1

4

角色造型繪製

(20)

在這一節中,我們將用 畫筆類 積木來模擬鉛筆「一 筆畫」寫字的效果,並利用 外觀類 積木來控制角色造 型變換,呈現煙火的動畫效果(表 1-3-2)。

學習目標 1. 模擬動態書寫效果。

2. 切換角色造型。

3. 匯入與播放音效。

1-3-2 本程式所需積木

積木類型 外觀 功能

事件類 當綠旗被點擊後,開始執行下方的指令積木。

控制類 等待指定時間之後,繼續執行下一個指令積木。

動作類

將角色移動到指定位置。

*

朝角色面對的方向移動指定點數。

外觀類

以對話框顯示指定文字,並在指定的秒數後消失,

接著才執行下一個指令積木。

*

將角色切換成指定的造型。

*

將角色切換成下一個造型。

音效類

*

讓角色播放指定的音效。

角色必須先新增音效,才能播放音效。

畫筆類

*

當角色移動時會描繪出移動軌跡。

*

停止描繪角色移動軌跡。

*

清除舞臺上所有的筆跡。

*

設定畫筆顏色。

紅色(0 或 100)、綠色(30)、藍色(65)

*

設定畫筆的粗細。

(* 代表首次使用的積木)

程 式 設 計 初 探 3 — 生 日 派 對

3-3 畫筆與造型──生日布置

67

3-1

3-2

3-3

3-4

(21)

角色及任務:

角色/背景 來源 任務

慶生會場.jpg 下載取得。

鉛筆 由範例庫中取得。

煙火 自行繪製,繪製方法將於

【逐步解析3】中說明。

在本程式中,需要用到 慶生會場 .jpg 、 鉛筆 、煙火 這三個素材,他們分 別有什麼任務?請觀察影片 生日布置 .mp4 ,將觀察結果填寫在下表中,並完 成舞臺與角色的安排。

舞臺安排 新建專案

逐步解析 1

「畫線」功能

角色移動時,搭配 畫筆類 的 和 ,就可以描繪出角色移動的軌跡。

1. 「畫線」的基本模式:下筆 → 移動 → 停筆

移動 移動 移動

下筆 停筆

移動

下筆 停筆

2. 設定筆畫:可依需求,設定畫筆的粗細、顏色。

3. 清除筆跡:舞臺上的筆跡不會自動清除,所以每

次程式開始時,都要先執行 ,

清除上一次程式執行留下的筆跡,確保畫面上出 現的是本次執行的結果。

就像每次上課前,

老師都要先將黑板擦 乾淨,確保黑板上出 現的都是新內容。

(22)

在生日布置的程式中,我們要用 鉛筆

(角色)

搭配畫筆功能,

用寬度為 2 的紅色線條,每次以 為單位畫線,呈 現一筆畫寫出「 」和「 」的動態書寫效果,過程如右圖所示。

右圖中,每個箭頭代表畫出一段長度為 50 點的線條。

利用畫筆功能繪製移動路徑

逐步解析 2

❺ ❹

1

設定畫筆

2

寫出「 」

因為所有線條均相同,所以在程式一開始,

就先進行畫筆的設定:

(1) 清除上次執行程式時產生的筆跡。

(2) 設定畫筆顏色:0(紅色)。

(3) 設定畫筆寬度:2。

(1) 每一個筆畫的基本處理方式:

調整面對方向 / 移動50 點 / 等待 1 秒 。

(2) 書寫「」和「 」前, 鉛筆(角色)均要先進行定位:

定位的方法與 3-2 節相同。

利用

動作類

的 進行定位。

起始坐標請自訂,或使用參考坐標:

「」(-180, 50)、「 」(- 150, 50)。

問題思考

2

寫出「 」

1

設定畫筆

解題分析

小叮嚀

預 設 積 木 中 沒 有「 畫 筆 類」積木,請利用「添加擴 展」新增到列表中。

程 式 設 計 初 探 3 — 生 日 派 對

3-3 畫筆與造型──生日布置

69

3-1

3-2

3-3

3-4

(23)

設定「造型中心」

•問題 筆跡不是從筆尖繪出。

  Scratch 的畫筆 功能,筆跡會由角色的「預設造型中心」繪出,因此,鉛筆畫線 的效果較不自然(如右圖)。

•調整方法

將鉛筆的造型中心移到筆尖:

❶ 

點選造型頁籤

❷ 

利用 選取工具 框起整枝鉛筆

❸ 

將筆尖對齊造型中心的標記

❷  

•修正結果

將鉛筆的造型中心調整到筆尖之後,筆跡就會從筆尖繪出了。

❺ ❹

(3) 寫「 」的完整步驟:(筆畫❶+筆畫❷) 起點(自訂)

→ 下筆

面向下/移動/等待1 秒

面向下/移動/等待1 秒

→ 停筆

(24)

01 02 03 04 05 06 07 08 09 10 11 12 13 14

基本設定

筆畫❶筆畫❷

「1」點的起點

數字 「1」

15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

「2」點的起點

數字 「2」

筆畫❸筆畫❹筆畫❺筆畫❻筆畫❼

【參考程式】

❺ ❹

執 行 結 果

為了能清楚看到筆畫❶從無到有的繪製過程,

因此在06 行增加 等待 1 秒 。

程 式 設 計 初 探 3 — 生 日 派 對

3-3 畫筆與造型──生日布置

71

3-1

3-2

3-3

3-4

(25)

繪製煙火 連續造型

(1) 每個造型之間,都有共同的元素,因此以複製的方式較有效率:

完成前一個造型 → 複製 → 修改成後一個造型。

(2) 繪製 造型 1 :

❶ 

點擊 繪畫

❸ 

輸入文字

❺ 

設定文字色彩

❷ 

點擊 文字工具

❹ 

設定文字字型

❺ ❹

問題思考

解題分析

繪製煙火 連續造型

接著要登場的是具有 4 個連續造型的 Happy Birthday 煙火效果。請自行繪 製出這個 煙火 角色。

煙火 具有 4 個連續造型,每個造型都比前一個造型多一些彩帶裝飾。

繪製連續造型的角色 

逐步解析 3

(26)

❶  

❷  

(3) 複製出造型 2:

在 造型1 上按「滑鼠右鍵 /複製」,產生 造型 2 。

按右鍵

(4) 修改 造型 2 :

❶ 

點選 畫筆

❷ 

設定畫筆粗細

❸ 

設定畫筆顏色

❹ 

繪製煙火效果

程 式 設 計 初 探 3 — 生 日 派 對

3-3 畫筆與造型──生日布置

73

3-1

3-2

3-3

3-4

(27)

接續【逐步解析 3】,在完成「數字 一筆畫」之後,我們要用程式控制煙 火的造型切換,以達到動態效果的展示,並在展示結束後播放掌聲歡呼的音效。

造型 1 → 造型 2 → 造型 3 → 造型 4 → 播放音效

造型切換、播放音效 

逐步解析 4

1

展示 煙火效果

2

播放音效

(1) 煙火角色起始設定:

① 定位:用 動作類 的 將角色定位。

② 起始造型:用 外觀類 的 設定角色的起始造型。

(2) 展示動態效果:

① 展示時機:

按綠旗 數字一筆畫 開始展示煙火

9 秒

問題思考

解題分析

1

展示 煙火效果

(28)

/ 等待 9 秒 +

/ 等待 0.5 秒

+

/ 等待 0.5 秒

+

/ 等待 0.5 秒 +

程式開始

/ +

+ + +

② 煙火動態效果:

利用「造型切換+等待0.5 秒」呈現。

小叮嚀

在設定完煙火的起始造型後,因為角色的造型是順序切換的,我們可以將

改以 來呈現。

程 式 設 計 初 探 3 — 生 日 派 對

3-3 畫筆與造型──生日布置

75

3-1

3-2

3-3

3-4

(29)

01 -- 當綠旗被點一下開始

02 -- 移到起始坐標定位

03 -- 以 造型 1 為起始等待狀態 04 -- 等待數字 一筆畫程式執行完畢9 秒

05 -- 切換到 造型 2

06 -- 等待 0.5 秒

07 -- 切換到 造型 3

08 -- 等待 0.5 秒

09 -- 切換到 造型 4

10 -- 等待 0.5 秒

11 -- 播放音效掌聲歡呼

1

2

【參考程式】

2

播放音效

(1) 新增掌聲歡呼音效:角色要發出音效,必須先新增音效。

❶ 點選煙火角色 ❸ 在範例庫中挑選音效

❷ 點擊音效頁籤 ❹ 選用範例庫中的 Clapping 音效。

❷  

(2) 播放音效:

用 音效類 的 來播放音效。

(30)

小試身手  數字一筆畫

在路口等待紅燈時,常可看到紅 綠燈上有倒數計時的數字。

今天,計時器的數字「 」和「 」 壞掉了,小潔想用「一筆畫」的方式,

把 和 描繪出來。

1. 請使用下載的 3-3 小試身手. jpg 作為背景。

2. 自行選擇線條顏色、粗細。

3. 寫字的筆畫順序如右圖,先寫「 」,再寫「 」。

4. 要能清楚呈現寫字的過程。

檔案 3-3 小試身手 下載方式請見 P.3

程 式 設 計 初 探 3 — 生 日 派 對

3-3 畫筆與造型──生日布置

77

3-1

3-2

3-3

3-4

(31)

在生日派對的最後,我們要製作一個「鍵 盤鋼琴」;請播放 鍵盤鋼琴 .mp4 ,觀察程 式的執行情形,讓我們用 Scratch 來完成任 務,然後一起彈琴,合唱生日快樂歌!

【程式摘要】

1. 可以利用電腦鍵盤的 Q ∼ P 鍵,分別彈奏 出「4

4

( 低 音 Fa)」 ∼「6( 中 音 La)」

的聲音。

2. 按下鍵盤時,畫面中對應的白鍵要有「先 變小、再復原」的視覺效果。

搭配【逐步解析】說明

題目解析流程

任務說明

檔案

3-4

下載方式請見 P.3

2

開始

當綠旗按下/

設定坐標位置 複製角色

按鍵 變小/復原 按下琴鍵

繪製白鍵、黑鍵

結束

1

新增角色/

畫新角色

設定彈奏音符

3-4 演奏音階 —鍵盤鋼琴

(32)

慶生會的最後,小潔一家人要一起彈琴、合唱生日 快樂歌。本程式中,我們將運用 音樂類 積木來製作「鍵 盤鋼琴」(表 1-3-3),一起來唱生日快樂歌吧!

學習目標

1. 利用鍵盤來觸發程式 事件。

2. 彈奏音符。

3. 改變角色外觀效果。

1-3-3 本程式所需積木

積木類型 外觀 功能

事件類

當綠旗被點擊後,開始執行下方的指令積木。

*

當按下指定的鍵盤按鍵時,開始執行下方的指令

積木。

動作類 將角色移動到指定位置。

音樂類

*

演奏出指定的音階、指定的拍數。

外觀類

*

改變角色外觀大小。

(正數代表放大、負數代表縮小)

控制類 等待指定時間之後,繼續執行下一個指令積木。

(* 代表首次使用的積木)

程 式 設 計 初 探 3 — 生 日 派 對

3-4 演奏音階──鍵盤鋼琴

79

3-1

3-2

3-3

3-4

(33)

我們要在舞臺上製作一個含有白鍵與黑鍵的鍵盤鋼琴,想想看,應該如何 完成這個任務?

1. 白鍵:

(1) 為了方便彈奏時識別,每個白鍵 上都要標示「簡譜記號」和「對 應鍵盤的英文字母」。

(2) 當按下電腦鍵盤上的 Q ∼ P 鍵 時,可以分別彈奏出「 4

4

(低音 Fa)」∼「6(中音 La)」的聲音。

2. 黑鍵:裝飾用(無作用)

繪製角色、演奏音階、以鍵盤觸發程式 使 用 檔 案

3-4-1.sb3

逐步解析 1

對應鍵盤的英文字母 簡譜記號 黑鍵

白鍵

1

可彈奏的 白鍵

2

裝飾用的 黑鍵

(1) 共要製作 

 個白鍵(繪製+程式),依序排列定位。

問題思考

解題分析

1

可彈奏的 白鍵

小叮嚀

要完成多個具有相似外觀、程式的物件,其製作流程為:(以白鍵為例)

繪製 一個白鍵

(包括文字標示)

撰寫 白鍵程式

(定位、播放音效)

複製成 其他白鍵

逐一修改 各白鍵程式

(34)

(2) 繪製白鍵外形:

點擊 繪畫 。

❷ 選擇 方形工具 。

❸ 選擇白色。

❹ 設定外框。

❺ 拖曳滑鼠,畫出長方形。

(3) 標示文字:(以白鍵 Q 為例)

① 以繪圖工具中的 T (文字工具),

在白鍵上輸入「4」、「.」代表簡譜。

② 輸入「Q」代表對應鍵盤 Q 位置。

(4) 利用程式定位:(以白鍵 Q 為例)

使用 動作類 積木 。

❶  

❸  

程 式 設 計 初 探 3 — 生 日 派 對

3-4 演奏音階──鍵盤鋼琴

81

3-1

3-2

3-3

3-4

(35)

2

裝飾用的

黑鍵 小叮嚀

我們可以利用複製的功能,複製出具有相同造型、相同程式的角色。在本程式 中,複製出來的角色須逐一修改的項目有:

1. 白鍵:

(1) 外觀文字:對應按鍵、簡譜符號。

(2) 程式:觸發按鍵、演奏音階、定位坐標。

2. 黑鍵:定位。

(5) 利用電腦鍵盤觸發程式:使用 事件類 積木。

❶點擊 ❹完成

❸點選

(6) 演奏音階:使用 音樂類 積木。

參照下表,Q 鍵應發出「4 33 (低音Fa)」,

音符為「53」。

電腦鍵盤 Q W E R T Y U I O P

簡譜

4

33

5

33

6

33

7

33 1 2 3 4 5 6 唱名 低音

Fa

低音 Sol

低音 La

低音 Si

中音 DO

中音 Re

中音 Mi

中音 Fa

中音 Sol

中音 La 音名 低音

F

低音 G

低音 A

低音 B

中音 C

中音 D

中音 E

中音 F

中音 G

中音 A 彈奏音符 53 55 57 59 60 62 64 65 67 69

(1) 共要製作   個黑鍵,依序排列定位。

(2) 參考白鍵的作法,繪製並定位即可。

小叮嚀

預 設 積 木 中 沒 有「 音 樂 類」積木,請利用「添加擴 展」新增到列表中。

(36)

• 複製角色

1. 特性:複製出來的角色,與原角色具有相同造型、相同程式。

2. 方法:在角色 1 上按「滑鼠右鍵/複製」,即會產生角色 2。

按右鍵

• 更改角色名稱

1. 在具有眾多角色的程式中,賦予角色有意義的名稱,可以更方便管理、撰寫程式。

2. 方法:點擊角色/更改角色名稱。

• 角色對齊

讓多個白鍵整齊排列的定位方法:

(1) X 坐標:設定成等距間隔。

(2) Y 坐標:設成相同的數值(排列高度相同)。

造型 中心

y 坐標相同

間隔相同

程 式 設 計 初 探 3 — 生 日 派 對

3-4 演奏音階──鍵盤鋼琴

83

3-1

3-2

3-3

3-4

(37)

【參考程式】

白鍵

  

白鍵 Q W E R T Y U I O P

x 值 -210 -163 -116 -69 -22 25 72 119 166 213

按下鍵盤 q w e r t y u i o p

彈奏音符 53 55 57 59 60 62 64 65 67 69 音名 低音F 低音 G 低音 A 低音 B 中音 C 中音 D 中音 E 中音 F 中音 G 中音 A 每個人繪製的按鍵尺寸不同,定位坐標(x 值)僅供參考。

黑鍵

黑鍵 1 2 3 4 5 6 7 x 值 -173 -126 -79 15 62 156 203

1

2

參考 下表

參考 右表

參考 下表

手腦並用

 試試看,你能用自製的鋼琴,彈奏出生日快樂歌嗎?

生日快樂歌

祝你 生 日 快 樂 祝你 生 日 快 樂 祝 你

生 日 快 樂 祝 你 生 日 快 樂

Scratch 預設的樂器為鋼琴,可利用 修改成自己喜歡的樂器。

(38)

現在,我們要為每個白鍵都加上動態變化效果。試試看,要如何修改程式呢?

按下鍵盤 Q 鍵 鋼琴上的 白鍵 Q :

先變小再復原 發出演奏的音階

控制角色尺寸大小

逐步解析 2

1

白鍵變小

2

白鍵復原

(1) 用 外觀類 的 來控制。

(2) 將尺寸縮小:(以縮小 10% 為例)

-- 將尺寸縮小 10%(負值)

(1) 將尺寸復原:(以縮小 10%、再復原為例)

-- 將尺寸放大 10%(正值)

(2) 複製程式:

① 在要複製的程式區塊上 按「滑鼠右鍵/複製」。

② 點擊角色區中的其他白鍵。

問題思考

解題分析

1

白鍵變小

2

白鍵復原

按右鍵

【參考程式】

(* 代表本次新增的積木)(以白鍵Q 為例)

-- 當「綠旗」

被點一下開始

-- 角色定位 01

02

1

2

01

*02

*03

*04

05

-- 當按下鍵盤 Q 開始執行 -- 將所按的白鍵縮小

-- 等待時間 -- 讓白鍵復原

-- 發出低音 Fa 的音

程 式 設 計 初 探 3 — 生 日 派 對

3-4 演奏音階──鍵盤鋼琴

85

3-1

3-2

3-3

3-4

(39)

彈奏「小星星」

3-4 小試身手 

小貓咪想要用吉他彈奏世界名曲「小星星」給大家聽,請利用 S cratch 來協助 他吧!

1. 請 新建專案 撰寫程式。

2. 當小貓咪被滑鼠點擊時,會以吉他的聲音自動彈奏兒歌小星星。

3. 小星星的樂譜如下圖,樂譜中,「 」代表 1 拍,「 」代表 2 拍。

小星星

一 閃 一 閃 亮 晶 晶 滿 天 都 是 小 星 星

掛 在 天 上 放 光 明 好 像 許 多 小 眼 睛

一 閃 一 閃 亮 晶 晶 滿 天 都 是 小 星 星

(40)

第 3章 學習重點

3-1 程式語言簡介

1. 低階語言:可攜性差,無法在不同硬體設備的電腦間通用。

(1) 機器語言:最早的程式語言,由 0 與 1 組成,執行速度最快,但可讀性低、不易維護。

(2) 組合語言:以接近人類語言的簡短字串作為指令,但須先轉譯成機器語言才能執行,

執行速度比機器語言慢。

2. 高階語言:語法較接近人類的語言,程式可在不同的電腦系統上執行。

3. 視覺化程式設計工具,例如:Scratch、Blockly、App Inventor 等,可用來學習程式的 邏輯,作為未來進入文字式程式設計的基礎。

3-2 角色移動—上街買蛋糕 任務要求

1. 新建專案。

2. 媽媽必須從 A 點出發,沿著街道移動到 E 點(蛋糕店), 最後說:「我買到蛋糕了!」。

問題思考

Q 1.

本程式需要哪些角色、背景?

該如何匯入Scratch 中?

Q 2. 這些角色該如何定位?

Q 3. 媽媽的任務為何?

解題分析

Q 1. (1) 刪除角色:點擊角色上的

(刪除)。

(2) 匯入背景:舞臺背景區/ (上傳)。

(3) 匯入角色:角色區/ (上傳)。

Q 2.

角色定位: 動作類

Q 3. (1) 媽媽移動:

① 動作類 的 + 控制類 的 。

② 也可改用 動作類 的 來呈現。

(2) 用對話框說話: 外觀類 的 。

程 式 設 計 初 探 3 — 生 日 派 對

3-4 演奏音階──鍵盤鋼琴

87

(41)

3-3 畫筆與造型—生日布置 任務要求

1. 新建專案。

2. 用 鉛筆 以一筆畫的方式,讓數字 呈現出動態書寫的 效果。

3. 寫完數字後, Happy Birthday 像煙火一樣綻放出美麗 的光芒,然後播放掌聲歡呼的音效。

問題思考

Q 1. 會使用到哪些素材?如何取得?

Q 2. 「 」是如何畫出來的?

Q 3. 煙火的動態呈現效果是如何產生的?

Q 4. 如何播放音效?

解題分析

Q 1. (1) 慶生會場:匯入背景圖。

(2) 鉛筆:從範例庫中選取角色。

(3) Happy Birthday:自行繪製。

Q 2.

畫出「 」:

(1) 控制筆跡:

、 、

。 (2) 完成每一個小筆畫的基本方法:

Q 3.

煙火的動態呈現:

(1) 煙火的動態效果是「多張圖片連 續播放」所產生的。

(2) 畫出多張煙火圖片的方式,具有 相同的模式。

(3) 切換造型。(如下圖)

Q 4. 播放掌聲歡呼音效:

(1) 為角色新增音效。

(2) 播放音效:

用 音效類 的 。

(42)

3-4 演奏音階—鋼琴鍵盤 任務要求

1. 使用檔案 3-4-1.sb3 。

2. 可以利用電腦鍵盤的 Q ~ P 鍵,分別彈奏出「4

4

(低音Fa)」~「6(中音 La)」的聲音。

3. 按下鍵盤時,畫面中對應的白鍵要有「先變小、

再復原」的視覺效果。

問題思考

Q 1.「鋼琴鍵盤」由哪些角色組成?

Q 2. 各角色分別有什麼任務?

解題分析

Q 1. 利用繪圖功能繪製白鍵與黑鍵。

Q 2. (1) 白鍵與白鍵間、黑鍵與黑鍵間,具有相似的造型、功能。

(2) 完成一個白鍵(或黑鍵)之後,再複製成多個並進行修改,可有效率完成程式。

(3) 利用電腦鍵盤觸發程式:

(4) 演奏音階:

(5) 改變尺寸:

程 式 設 計 初 探 3 — 生 日 派 對

3-4 演奏音階──鍵盤鋼琴

89

3-1

3-2

3-3

3-4

(43)

科技廣角

Scratch

結合軟、硬體的程式設計工具

科技發展日新月異,近年來「學習程式設計」已成為全球 熱門議題。美國前總統歐巴馬( Barack Obama,西元 1961 ~)

在任期內大力推動電腦科學教育,他強調:「電腦科學不再是選修科 目,而是基礎能力,就像讀、寫、算數一樣重要。」每個人都應該學習程 式設計,以培養邏輯思維與問題解決能力,為未來的數位化生活奠定基礎。

為了擺脫傳統程式語言學習不易、讓人望而生畏的困境,市面上出現多種「視 覺化程式設計工具」,讓我們可以依需求選擇、學習與利用。

拖拖拉拉,就能成為程式設計師

S cratch 是 美 國 麻 省 理 工 學 院

( MIT)「媒體實驗室終身幼兒園團 隊」所開發的程式設計工具,讓各種 年齡層的人都能輕鬆學習程式設計。

S cratch 不但能創作遊戲與故事,

還可以連結不同的感應器、輸出裝置,

對外在環境進行偵測並作出反應,實 現軟、硬體的互動控制,為程式設計 與實際應用創造無限的可能性。

跨向 程式世界 的橋梁

(44)

B lockly 是另一套由 G oogle 公司 所開發的視覺化程式設計工具,但不

同的是, B lockly 能將「積木程式」翻

譯 成 J ava S cript P ython XML 等 不 同的語言,可以作為學習文字式程式 的橋梁。

B lockly 的功能非常強大,諸如前

述的 A pp I nventor 、著名的玩遊戲學 程式網站 C ode . org B lockly G ame 都是利用 B lockly 設計而成的。

輕鬆開發手機 app 的利器

Blockly

連接文字式程式的橋梁

目 前 智 慧 型 手 機 主 要 有 A ndroid i OS 兩 大 系 統, 而 A pp I nventor 則是 A ndroid 應 用 程 式 的 開 發 工

具,可以用來開發手機 app 與遊戲。

A pp I nventor 早 期 由 G oogle 公 司 設 計 與 開 發,現在則由美國麻省理工學院「行動學習中心」

負責維護及營運,強調就算不是專業的程式設計 師,也能享受開發手機 app 的樂趣與成就。

執行結

轉換成 文字式程式語言

第3章 科技廣角

91

參考文獻

相關文件

老師想給同學們一個建議:當你們有重要的事情要

有一臺電腦 媽媽變賣她心愛的玉珮,幫助她

第四章 直角座標與二元一次方程式.

第四章 直角座標與二元一次方程式.

如圖,D、E、F 三點分別在圓內、圓上、圓外,則∠ADB、∠AEB、∠AFB 的大小關係為ˉˉ ˉˉ。(請由小到大排列)... 小康要平分一個半徑為 8

她說:「來過了,給媽媽打了一針……她現在很好。」她又像安慰我似

她說:「來過了,給媽媽打了一針……她現在很好。」她又像安慰我似地

星期天早上,媽媽跟我和姐姐說:「今天是美美百貨公司的