Scratch與數(shù)學的整合3
????????????????????????????????????????第3課? ? 幻方
一、課程導入
????????1?、本節(jié)課你將會學到:幻方的概念、填幻方的技巧、以中心數(shù)為0的情況編寫Scratch程序。
????????2、知識儲備:幻方由3行×3列的9個小格子組成。其中中間的數(shù)叫中心數(shù),橫排的叫做“行”,豎排的叫做“列”,斜著排的叫做“對角線”。規(guī)則每行每列每條對角線上的數(shù)字之和都相等(即幻和)。每個格子里的數(shù)都互不相同,否則就沒有意義了。(如圖1所示)

二、例題講解
????????1、如圖2所示,在每個方格內填上適當?shù)臄?shù),使每行、每列、每條對角線上的數(shù)字之和都相等。

????????2、明顯這是個幻方題。前面我提到過幻方的概念,規(guī)則是每行、每列、每條對角線上的數(shù)字之和都相等吧?而且我們也可以通過幻方的概念直觀的看到,給出的中心數(shù)是0,左下角是1,右下角是根號2。可難點是:算式的結果是唯一的,方格內要相加的數(shù)有8組。方格是二維的。這就意味著,只要“破壞”了幻方中任意一個內的數(shù),格內的其他所有數(shù)就都會受到影響。這可怎么辦呢?實際上不用擔心。大家記?。?span id="s0sssss00s" class="color-pink-03">當幻方的中心數(shù)為0時,它有個公理:對角線兩數(shù)之差=中間數(shù)。以左下角為參照的數(shù)為例,右上角就是它的相反數(shù),∵互為相反數(shù)的兩個數(shù)相加得0,無理數(shù)、虛數(shù)、代數(shù)式也是同樣道理,只不過這里還是要拿無理數(shù)來舉例子講為主。現(xiàn)在我們可以知道左上角是-根號2,右上角是-1,那剩下的也就好求了,答案如圖3所示。

三、流程圖講解
如圖4所示:

????????首先程序開始,第一步固定中心數(shù)為0,第二步固定好左下角和右下角的數(shù)字,這個程序里的這一步我們以左下角、右下角為例,第三步根據(jù)這些已知數(shù)推出角上的數(shù),即左上角、右上角的變量,最后進一步推出邊上的數(shù),也就是格上方、格下方、格左方、格右方的變量。此時程序結束。
四、代碼及其講解
????????由于我們這里只以中心數(shù)為0為例來討論,∴幻和一定為0。
當綠旗被點擊
將幻和設為0
將中間數(shù)設為0
????????雖然幻方的規(guī)則是固定的,但是數(shù)字是無窮大、無窮小的,另外解題前總得出好題吧?流程圖中就提到輸入左下角、右下角的數(shù),∴詢問與回答的變量的部分也應該是左下角、右下角的數(shù)。
詢問請輸入左下角的數(shù)字并等待
將左下角設為回答
詢問請輸入右下角的數(shù)字并等待
將右下角設為回答
????????為什么接下來要處理的是對角線?∵現(xiàn)在兩條對角線均只剩1個數(shù)字要填,并且根據(jù)互為相反數(shù)的兩個數(shù)相加得0就可以推出對角線空缺的數(shù),改變一下正負號就可以了。但是由于Scratch中沒有相反數(shù)的積木塊,可是我們卻知道同號得正異號得負,1乘以任何非零數(shù)都等于另一個乘數(shù)本身,∴我們就可以把它替換成“××變量×(-1)”形式的積木塊。
將左上角設為:右下角×(-1)
將右上角設為:左上角×(-1)
????????我們都知道,對于一行積木塊而言,執(zhí)行的步驟是“從里到外”逐一執(zhí)行的。這就說明,如果把上一步的“下方”看成一個整體,那么“左下角×(-1)”和“右下角×(-1)”就是兩個個體,于是有:
將上方設為:左上角+右下角
????????結合上兩部分的思路,把最初設定的兩個數(shù)分別看成一個整體,填數(shù)時再進行加減法化簡,于是有:
將下方設為:左下角×(-1)
????????此時我們已經(jīng)推出了右上角的數(shù),它和下方、上方有個共同點:把鄰邊的兩個對角處看成一個整體,填數(shù)時再進行加減法化簡,只不過就是由于右上角是負數(shù),需要加變減,那么腳本就是:
將右邊設為:左下角-右下角
將左邊設為:右上角+左上角×(-1)