:::

Empty Title

 

一、國小比賽例題練習

解題方式一:

http://www.hnps.tn.edu.tw/images/micrafimg/code/國小範例_東昌.mkcd

分析圖形

  • 縱向來看,這張圖其實只有二種模式

1.紅-白 重覆五次,建立一個函式

 

2.白-紅 重覆五次,建立一個函式,只要把上一個函式複製, 槽位互換就好了。

  • 横向來看(從0到9)

模式1是 0、3、6、9,其它是模式2。模式1每3排出現一次,所以用除以三的餘數來判斷是不是模式1。

 

解題方式二:

http://www.hnps.tn.edu.tw/images/micrafimg/code/國小範例_瑛蘭.mkcd

想法:觀察發現本例題橫向解法比較簡單,所以轉90度來規劃本題。

觀察每一列的規則,發現

偶數列: 白紅紅  白紅紅  白紅紅  白

奇數列:紅白白  紅白白 紅白白  紅

因次可以利用index變數來進行判斷是偶數行還是奇數行 

變數 index 除2餘數0,表示偶數行   偶數行起始  (index的初始值為 0 - 9 )

變數 index 除2餘數1,表示奇數行

排列完一行之後必須轉彎偶數行向右轉,奇數行向左轉。

 

解題方式三:

http://www.hnps.tn.edu.tw/images/micrafimg/code/國小範例_盛南.mkcd

將圖形轉90度來看,採用直走上下放置的寫法。

 

 

二、國中比賽例題練習

 

解題方法一:

http://www.hnps.tn.edu.tw/images/micrafimg/code/國中範例_東昌.mkcd

  • 分析圖形

 縱向來看,這張圖有三種模式

1.紅-白 重覆5次,和國小範例相同,把國小範例的函式拿來用就好,這就是建立函式的好處。

我們在這裏略做修改,讓三種模式的比較更清楚

由上往下的格數從1~10

1.紅色:奇數。白色:偶數。

2.紅色:奇數。白色:4、8。藍色:其它。

3.紅色:奇數。藍色:4、8。白色:其它。

找到了規則,程式就簡單了。

模式1的函式

模式2的函式

模式3只要把模式2複製,1和3的槽位互換就好了。

  • 横向來看(從0到9)

模式1:0、3、6、9,

模式2:1、5 、7(模式1外的奇數)

模式3:2、4 、8(模式1外的偶數)

再次把國小範例拿來略為修改(下圖僅顯示修改的部份)

 

只要找到通則,就可以重覆利用,這就是運算思維!

 

 

解題方法二:

http://www.hnps.tn.edu.tw/images/micrafimg/code/國中範例_瑛蘭.mkcd

想法:觀察發現本例題橫向解法比較簡單,所以轉90度來規劃本題。

觀察每一列的規則,發現

0 和4和8:紅藍白   紅藍白   紅藍白  紅

1和5和9:白紅紅   白紅紅  白紅紅  白

2和6: 紅白藍  紅白藍  紅白藍  紅

3和7:  白紅紅   白紅紅  白紅紅  白

因次可以利用index變數來進行判斷

變數 index 除4餘數0,表示0 和4和8   (index的初始值為 0 - 9 )

變數 index 除4餘數1,表示1和5和9

變數 index 除4餘數2,  表示2和6

變數 index 除4餘數3, 表示 3和7

其中,餘1 和 餘3  又一樣。

所以程式寫法

如果變數 index 除4餘數 = 0  呼叫排紅藍白

如果變數 index 除4餘數 = 2 呼叫排紅白藍 

否則就呼叫  排白紅紅

排列完一列之後必須轉彎偶數行向右轉,奇數行向左轉。

 

 

 

三、高中比賽例題練習

http://www.hnps.tn.edu.tw/images/micrafimg/code/高中範例_瑛蘭.mkcd


搜尋