Scratch與數(shù)學(xué)的整合22
????????????????第22課????????數(shù)圖形
一、課程導(dǎo)入
? ? ? ? 本節(jié)課你將會學(xué)到:如何巧妙地解決圖形計數(shù)問題(包括Scratch程序)?
二、知識儲備
? ? ? ? 以線段、角、正方形、正方體為例,圖形計數(shù)問題有如下公式:
????????1.1、(1+小線段的條數(shù))×(小線段的條數(shù)÷2)=線段的條數(shù)????(小線段的條數(shù)為偶數(shù))
????????1.2? 、[1+(小線段的條數(shù)+1)]??×[(1+(小線段的條數(shù))÷2]=線段的條數(shù)????(小線段的條數(shù)為奇數(shù))
????????2.1、(1+小角的個數(shù))×(小角的個數(shù)÷2)=線段的條數(shù)????(小角的個數(shù)為偶數(shù))
????????2.2? 、[1+(小角的個數(shù)+1)]??×[(1+(小角的個數(shù))÷2]=線段的條數(shù)????(小角的個數(shù)為奇數(shù))
3、{[小正方形的個數(shù)×(小正方形的個數(shù)+1)]×(2×小正方形的個數(shù)+1)}/6=正方形的個數(shù)
4、[小正方體的個數(shù)×(小正方體的個數(shù)+1)/2]2=正方體的個數(shù)
????????上面的公式中,1.1、2.1均為高斯求和公式,3為平方數(shù)列求和公式。4為立方和公式。
三、探索新知
????????1、請問圖1中有多少條線段?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖1
????????分析:這道題不能亂數(shù),還有人認(rèn)為ABCDEFGH這些點之間有8個間隔,由此得出有8-1=7(條)線段,這樣數(shù)也是錯誤的。這道題與間隔一點關(guān)系都沒有。那我們該怎么數(shù)呢?首先要知道AD與DH的傾斜角不同,也就是對他們兩個是各自獨立的線段,要分開數(shù)再相加。首先看AD,AD上有4個端點,那么根據(jù)高斯求和公式Sn=[n(a1+an)]/2可知,n,an均為端點個數(shù),a1=1,進(jìn)而求得AD有[4×(1+4)]/2=10(條)線段。再看AH,DH上有5個端點。[5×(1+5)]/2=7.5,怎么會出現(xiàn)小數(shù)呢?奇數(shù)不能被2整除,不能用高斯求和公式,看看還有什么其他方法。我把5拆成4+1,這樣就變成了[1+(1+4)]×[(1+4)÷2]=15,這回是整數(shù)了。那么DH有15條線段。最后可以得到圖1中有10+15=25(條)線段。答:圖1中有25條線段。
????????2、請問圖2中有多少個正方形?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖2
????????分析:這道題還是不能亂數(shù),間隔也不要想。正方形屬于平面圖形,線線成面。∴可以這樣思考:大正方形的每條邊上都有4條直線,那么圖2中有4種不同大小的正方形:1×1、2×2、3×3、4×4。接下來代入平方數(shù)列求和公式可求得圖2中有{[4×(4+1)]×(2×4+1)}/6=30(個)。答:圖2中有30個正方形。
????????3、已知有一個正方體被切成6×6×6體積均等的小正方體。問:被切后的正方體一共有多少個?
????????分析:這道題沒有給出圖,需要靠我們的想象想出這個立體圖形的特征是怎樣的。首先明確一個最基本的概念:正方體有上下前后左右6個面,每個面的棱長相等。接下來題中又說“正方體被切成6×6×6體積均等的小正方體”,什么是體積均等呢?每個大小都均等吧?那“6×6×6”怎么理解呢?正方體由長寬高構(gòu)成,那“6×6×6”就是有6層正方體,每層正方體都是6個小棱的正方體。問被切后的小正方體一共有多少個,那答案就是套入立方和公式計算:{[6×(6+1)÷2]}2=441(個)答:被切后的正方體有441個。
四、流程圖
????????由于今天我們研究的三道題完全同屬圖形計數(shù)問題,因此為了保證編程時盡可能多刪減腳本,∴我們就看看刪減后的腳本對應(yīng)的代碼的流程圖吧。

? ? ?? ?流程圖看上去比較繁瑣,但如果我們理清了里面的內(nèi)在聯(lián)系,進(jìn)行“合并同類項”,分析起來就會簡單得多。首先程序開始,點、線段、角、正方形、正方體是不同的對象,找準(zhǔn)的對象不同,計數(shù)的過程也就不同,而程序的答案只有一個?!辔覀兇藭r要問角色輸入哪個圖形?;卮?1時找準(zhǔn)點計數(shù),回答=2時找準(zhǔn)線段計數(shù),回答=3角計數(shù),回答=4正方形計數(shù),5是正方體計數(shù)。當(dāng)程序知道了找準(zhǔn)哪類圖形計數(shù)時,人家就問你“××的個數(shù)?”。你此時回答的是點的個數(shù)的話直接數(shù)出來作答;線段或是角要判斷n是否為偶數(shù),若判斷為“是”則用高斯求和來解,否則套用[1+(n+1)]×[(n+1)÷2]來解;正方形的話用平分?jǐn)?shù)列求和,正方體的用立方和公式。
五、變量信息

? ? ? ? 圖形的種類、點的個數(shù)、線段的條數(shù)、正方形的個數(shù)、小線段的條數(shù)、小角的個數(shù)、小正方形的個數(shù)、小正方體的個數(shù)、角的個數(shù)
六、代碼示例
當(dāng)綠旗被點擊
????????首先要統(tǒng)一問題。該編程的共同點是全為計數(shù)問題,不同點是圖形種類不同。那我們把圖形計數(shù)看成一個集合,圖形的種類則是對象。那么要統(tǒng)一的變量就是圖形的種類。
詢問你要數(shù)哪類圖形?
將圖形的種類設(shè)為回答

?將1賦值給變量“點的個數(shù)”。由于點是獨立的,∴點的個數(shù)直接詢問并回答,再作答。
如果圖形的種類=1那么
詢問請輸入點的個數(shù)
將點的個數(shù)設(shè)為回答
說:“連接連接這個圖形有和點的個數(shù)和點”

? ? ?? 將2賦值給變量“小線段的條數(shù)”,由于求線段的條數(shù)公式是連續(xù)求和。對于配對求和而言會涉及到2的整除特征,∴要用余數(shù)積木判斷該數(shù)是奇數(shù)還是偶數(shù),根據(jù)情況選用合適的公式計數(shù)。
如果圖形的種類=2那么
詢問被分成多少條線段?
將小線段的條數(shù)設(shè)為回答
如果小線段的條數(shù)÷2的余數(shù)=0那么
將線段的條數(shù)設(shè)為(1+小線段的條數(shù))÷(小線段的條數(shù)÷2)
否則
將線段的條數(shù)設(shè)為[1+(小線段的條數(shù)+1)]×[(小線段的條數(shù)+1)÷2]
說:“連接連接這個圖形有和線段的條數(shù)和條”

? ? ? ? 由于角的計數(shù)方法同理于線段的計數(shù)方法,∴只要此時把上一組代碼復(fù)制,再把變量“小線段的條數(shù)”改成“小角的個數(shù)”,“線段的條數(shù)”改成“角的個數(shù)”就可以了。
如果圖形的種類=3那么
詢問被分成多少個小角?
將小角的個數(shù)設(shè)為回答
如果小角的個數(shù)÷2的余數(shù)=0那么
將角的個數(shù)設(shè)為(1+小角的個數(shù))÷(小角的個數(shù)÷2)
否則
將小角的個數(shù)設(shè)為[1+(小角的個數(shù)+1)]×[(小角的個數(shù)+1)÷2]
說:“連接連接這個圖形有和角的個數(shù)和角”

????????將4賦值給小正方形的個數(shù),5賦值給正方體的個數(shù)。由于在講例題時我們直接套公式求了,∴這里我們還套公式求。
如果圖形的種類=4那么
詢問由多少個小正方形構(gòu)成
將小正方形的個數(shù)設(shè)為回答
將正方形的個數(shù)設(shè)為{小正方形的個數(shù)×[小正方形的個數(shù)+1]×(2×小正方形的個數(shù)+1)}/6
說:“連接連接這個圖形有和正方形的個數(shù)和個正方形”

如果圖形的種類=5那么
詢問由多少個小正方體構(gòu)成
將小正方體的個數(shù)設(shè)為回答
將正方體的個數(shù)設(shè)為[小正方體的個數(shù)×(小正方體的個數(shù)+1)]2
說:“連接連接這個圖形有和正方體的個數(shù)和個正方體”
