🔄 C02 重複結構與幾何圖形

透過Scratch學習迴圈概念,創造美麗的幾何圖形

1重複結構(迴圈)基礎概念

🔄 什麼是重複結構?

💡 核心概念

重複結構(迴圈)是程式設計中的重要概念,讓我們可以重複執行相同的動作,而不需要寫很多重複的程式碼。

生活中的迴圈例子:
• 刷牙:重複「上下刷動」的動作
• 走樓梯:重複「抬腳→踏階」的動作
• 畫虛線:重複「畫線→空白」的動作
迴圈概念圖解
迴圈概念圖解

🎮 Scratch中的重複積木

在Scratch中,我們使用重複執行積木來建立迴圈:

基本迴圈範例程式碼
重複執行 10
前進 50
右轉 36
🔄

重複執行

指定重複次數

♾️

重複無限次

持續執行直到停止

重複直到

滿足條件才停止

🏃‍♂️ 練習活動:人體迴圈

  1. 全班起立,準備做「重複執行3次」的動作
  2. 動作內容:向前走一步 → 拍手一次
  3. 一起數「1、2、3」並執行動作
  4. 體驗迴圈的重複執行概念

2用迴圈繪製幾何圖形

📐 基本幾何圖形

🎯 學習目標

學會使用重複結構繪製正多邊形,理解邊數與轉向角度的關係。

🔺

正三角形

3邊,轉120度

🟦

正方形

4邊,轉90度

正五邊形

5邊,轉72度

正六邊形

6邊,轉60度

正方形繪製過程示意圖
請在此放入展示正方形繪製步驟的圖片

🖊️ 繪製正方形

讓我們從最簡單的正方形開始:

  1. 新增角色,選擇「畫筆」分類中的角色
  2. 添加當綠旗被點擊積木
  3. 使用畫筆落下開始繪圖
  4. 建立重複結構來畫正方形
正方形繪製程式碼
當 🏁 被點擊
畫筆落下
重複執行 4
前進 100
右轉 90
⚠️ 注意事項:
• 確保使用「畫筆落下」才能看到軌跡
• 正方形有4個邊,所以重複4次
• 每個角都是90度
Scratch正方形程式碼截圖
請在此放入Scratch程式碼的實際截圖

🔺 挑戰:繪製正三角形

🎯 思考時間

正三角形有幾個邊?每次要轉幾度?

提示:三角形有3個邊,外角和是360度

正三角形繪製程式碼
當 🏁 被點擊
畫筆落下
重複執行 3
前進 100
右轉 120
💡 角度計算公式:
正n邊形的外角 = 360° ÷ n
• 正三角形:360° ÷ 3 = 120°
• 正方形:360° ÷ 4 = 90°

3角度計算與多邊形探索

🧮 角度計算原理

📐 幾何原理

任何多邊形的外角和都是360度。因此,正n邊形的每個外角 = 360° ÷ n

🔢 常見多邊形角度表

形狀 邊數 外角 計算
正三角形 3 120° 360° ÷ 3
正方形 4 90° 360° ÷ 4
正五邊形 5 72° 360° ÷ 5
正六邊形 6 60° 360° ÷ 6
多邊形外角示意圖
多邊形外角示意圖

🔍 形狀探索器程式

讓我們建立一個可以繪製任意正多邊形的程式:

形狀探索器程式碼
當 🏁 被點擊
詢問 "你要畫幾邊形?" 並等待
[邊數 v] 設為 (詢問的答案)
[角度 v] 設為 ((360) / (邊數))
畫筆落下
重複執行 (邊數)
前進 80
右轉 (角度)

🧪 實驗活動

  1. 建立上面的程式
  2. 測試不同的邊數:3, 4, 5, 6, 8, 10
  3. 觀察每種形狀的特點
  4. 記錄你的發現
🔧 程式設計技巧:
• 使用變數儲存邊數和角度
• 利用數學運算自動計算角度
• 讓程式具有互動性

🌟 進階:圓形近似

🤔 思考問題

如果邊數越來越多,會發生什麼事?當邊數達到360時,會變成什麼形狀?

圓形近似程式碼
當 🏁 被點擊
畫筆落下
重複執行 360
前進 2
右轉 1
💡 數學連結:
當多邊形的邊數趨近無窮大時,它會越來越接近圓形。這就是微積分中「極限」概念的直觀展示!

4進階應用與創意設計

🎨 彩色幾何圖案

結合顏色變化,讓圖形更加精彩:

彩色幾何圖案程式碼
當 🏁 被點擊
畫筆落下
重複執行 36
將畫筆顏色改變 10
重複執行 4
前進 100
右轉 90
右轉 10
彩色正方形萬花筒效果
彩色正方形萬花筒效果

🌸 螺旋圖案設計

🌀 螺旋原理

通過逐漸增加前進的步數,可以創造出美麗的螺旋效果。

螺旋圖案程式碼
當 🏁 被點擊
[步數 v] 設為 1
畫筆落下
重複執行 100
前進 (步數)
右轉 91
[步數 v] 改變 2
螺旋圖案效果
螺旋圖案效果

🎭 創意挑戰

嘗試修改以下參數,看看會產生什麼不同的效果:

  • 改變轉向角度(試試89度、93度)
  • 改變步數增量(試試1、3、5)
  • 加入顏色變化
  • 改變重複次數

🔄 巢狀迴圈:圖案陣列

🎯 進階概念

巢狀迴圈是指在一個迴圈內部再放入另一個迴圈,可以創造出規律的圖案陣列。

巢狀迴圈陣列程式碼
當 🏁 被點擊
定位到 x: -200 y: 150
重複執行 3 // 外層迴圈:行數
重複執行 4 // 內層迴圈:每行的圖形數
畫筆落下
重複執行 4 // 畫正方形
前進 30
右轉 90
畫筆抬起
x改變 80 // 移動到下一個位置
將 x 設為 -200 // 回到行首
y改變 -80 // 移動到下一行
3×4正方形陣列效果圖
3×4正方形陣列效果圖

🧩 進階挑戰

  1. 修改程式,創造5×5的三角形陣列
  2. 讓每個圖形都有不同的顏色
  3. 嘗試創造棋盤格效果
  4. 設計你專屬的圖案陣列

5進階挑戰題

🎨 進階題一:雙圓形萬花筒

🎯 挑戰要求

畫出雙圓形萬花筒,要求中心均在原點,分別在畫出半徑40及半徑80的萬花筒。

雙圓形萬花筒效果
雙圓形萬花筒效果

💡 思考提示

  • 使用兩個不同的迴圈來畫兩個圓形
  • 第一個圓形:半徑40,可以調整步數和角度
  • 第二個圓形:半徑80,使用相同的角度但不同的步數
  • 可以加入顏色變化讓效果更豐富
雙圓形萬花筒程式碼
當 🏁 被點擊
畫筆落下
將畫筆顏色設為 紅色
重複執行 36
將畫筆顏色改變 10
重複執行 4
前進 40
右轉 90
右轉 10
將畫筆顏色設為 藍色
重複執行 36
將畫筆顏色改變 10
重複執行 4
前進 80
右轉 90
右轉 10

⭐ 進階題二:畫出一個星星

🎯 挑戰要求

思考星星內部為正五邊形,判斷畫完一個邊之後,應該要轉動幾度?

五角星效果
五角星效果

💡 思考提示

面朝90度,重複5次,移動?步,旋轉?度。

答案提示:
轉動角度:60/n度
旋轉角度:360/n度

星星繪製程式碼
當 🏁 被點擊
面朝 90 度方向
畫筆落下
將畫筆顏色設為 黃色
重複執行 5
前進 100
右轉 144