學習重點:
1. 程式編輯介面的使用。 2. 移動的相對與絕對位置。 3. 轉向的相對與絕對方向。
情境主題
左到右,兩兩比較(一個已排序、一個未排序)。
比較結果,小的往左移動,大的往右移動。
移動後,如果小數字的左側仍有數字,則再往左側比較、移動。
重複 1~3,直到全部數字比完為止。
學習重點:
1. 程式編輯介面的使用。 2. 移動的相對與絕對位置。 3. 轉向的相對與絕對方向。
情境主題
未排序的數字中找出最小的,將其移動至未排序數字的最前面。
再從剩餘未排序的數字中找出最小的,將其移動至未排序數字的最前面。
重複 1~2,直到未排序數字全部被選完為止。
1.變數、清單
變數
一個變數由 變數名稱 & 變數值 兩個部分組成。
程式指令 A = 10 表示將 10 指派給 A ,所以 A 是變數名稱,10 是變數值。
容易混淆的變數積木:
左側的積木相當於程式指令 A = 10,它能使變數 A 的值重設為 10。
左側的積木相當於數學運算式 A(新)=A(舊)+10 ,它能使變數 A 的值重設為比現在多 10。
清單
清單是變數的集合,它以 項目編號 & 項目值 ,表示變數。
右圖的清單中,test是清單名稱,最下面長度 2 是指清單中有兩項變數,分別是 第 1 項='thing' & 第 2 項= 10 。
2.角色的絕對方向
絕對方向的積木
它跟東、南、西、北同樣,是一種 絕對方向 的指向積木,它適合用在屬性(初始)設定中,為角色的方向做初始設定。
影響角色方向最後外觀的積木
左-右: 只表現兩個方向,0 ~ 180 度,向右,0 ~ -180 度,向右 。
不旋轉: 完全不會改變方向 。
不設限: 以旋轉的方式,表現任何角度方向 ,其中, 向左(-90度)的表現方式,是上下顛倒 。
3.雙重複迴圈
需要兩個變數:
暫存值:紀錄最小值。
項目編號:紀錄現在正在跟清單中的第幾個項目比大小。
外重複迴圈:
依據選擇排序的演算法,5 個數字的排序,需要 4 輪比大小才能排完(5-1輪,因為自己不會跟自己比)。
第一輪有 5 個未排序數字, 我們將變數暫存值設為清單的第一項數字 ,用這個變數暫存值跟其餘 4 個數字依次比大小。
如果 清單內的數字小於暫存值,就將變數暫存值設為清單內的小數字 ,如果清單內的數字大於暫存值,我們就什麼也不做,繼續往下比。
每一輪比完,都會產生一個該輪的最小值,我們會將其自未排序清單中刪除,放進已排序清單中,如此反覆進行,直到排序完成
外迴圈的功能就是提供足夠的輪數,讓排序能順利完成。
內重複迴圈:
每一輪開始,都會先將 變數暫存值設為清單的第一項數字 ,然後進入內迴圈,跟剩餘的數字比大小,找出該輪最小的數字。
內迴圈的功能就是提供每一輪足夠的比大小圈數 ,讓每一輪的每個數字都能比到大小。
圖解雙重複迴圈的過程:
1.第一輪 外圈 1:內圈 4 最小值 2
2.第二輪 外圈 2:內圈 3 最小值 4
3.第三輪 外圈 3:內圈 2 最小值 5
4.第四輪 外圈 4:內圈 1 最小值 7
學習重點:
1. 程式編輯介面的使用。 2. 移動的相對與絕對位置。 3. 轉向的相對與絕對方向。
情境主題
從最右側兩個數字開始比,小的往左移動,大的往右移動。
接著,左側未排序的第一個數字,跟前一步驟的數字比。
重複步驟 2,直到未排序的數字,全部與其前一步驟的數字比完為止。