Scratch與數(shù)學(xué)的整合6
????????????????第6課:數(shù)位倒序排列
一、讓我們開始吧
????????在上課開始,我請大家和我玩一個游戲:我說:“請出題”。請大家把我的話反過來說?!邦}出請”。就是我要的答案。這也是我們這節(jié)課要學(xué)習(xí)的內(nèi)容:數(shù)位倒序排列。
二、知識儲備
????????1、一個數(shù)中的任意一位數(shù)是這個數(shù)其中的一個數(shù)位。例如:36中的6就是一個數(shù)位。
????????2、數(shù)位與數(shù)位之間的運(yùn)算關(guān)系屬于字符運(yùn)算關(guān)系。
????????3、設(shè)原數(shù)為abc,最高為、最低位(均不為0)調(diào)過來后得到新數(shù)cba,有如下公式:|abc-cba|=原數(shù)與新數(shù)的差。
三、流程圖及代碼
????????我們以“把一個四位數(shù)××的千位與個位調(diào)換位置之后得到一個新數(shù),求這兩個數(shù)的差”為例來,來講解代碼的編寫過程編寫流程:

????????首先運(yùn)行程序開始?!叱绦蛞笞罡呶慌c最低位調(diào)換,同時我們有令原來的四位數(shù)為abcd,因此調(diào)換后的新數(shù)為dcba,一個數(shù)的最高位不能為0,∴a,d均不為0。再將abcd的數(shù)位拆成4個一位數(shù)的變量,讓角色知道哪個變量名的變量值是多少。接下來就是具體怎么調(diào)換了,注意變量名和調(diào)換位置不要搞混了,否則程序會執(zhí)行錯誤。一個數(shù)減去另一個數(shù)的結(jié)果叫做差。由于位值原理不考慮負(fù)數(shù),兩個相等的數(shù)作差一定等于0,∴要先判斷原數(shù)與新數(shù)相等,若相等則原屬于新數(shù)之差為0,否則判斷原數(shù)與新數(shù)哪個大,最后根據(jù)大數(shù)-小數(shù)=差的方法結(jié)束程序。
四、代碼示例
????????先把原數(shù)的每一位設(shè)為多少歸為一類來編寫腳本,這樣會非常直觀。
詢問請輸入a
將a設(shè)為回答
詢問請輸入b
將b設(shè)為回答
詢問請輸入c
將c設(shè)為回答
詢問請輸入d
將d設(shè)為回答
????????別忘了最高位不能為0,∴需要對a,d的值進(jìn)行判斷。
如果a=0或d=0那么
停止當(dāng)前腳本
否則
將原數(shù)設(shè)為連接a連接b連接c連接d
????????