資訊內(nèi)容
用Scratch制作計算器
”Scratch課程從第五節(jié)課開始學習函數(shù)的用法,接下來4節(jié)課講數(shù)學運算、邏輯運算、字符串運算和綜合練習。通過課堂溝通,冉爸發(fā)覺,對小朋友來說,這些內(nèi)容需要進行邏輯思考,有些枯燥,遠沒有制作動畫那么有吸引力。
????????確實,初學者很容易使用積木塊操作角色,完成動作、外形和聲音的變化,這是Scratch能夠風靡全球的基礎(chǔ)。但是小朋友一定要跨越編程學習中的第一個障礙,學習初步的計算機語言,了解計算機完成指令的方式。這就需要培養(yǎng)邏輯思維,思考代碼的組合方式,根據(jù)自己的設(shè)計去完成代碼,而不是松散地堆砌積木塊,僅僅完成初級的動畫效果。
????????這一單元主要圍繞函數(shù)和運算,因此在綜合練習里,通過講解與制作計算器,給小朋友勾勒如何分析需求、分解問題、組織代碼、實現(xiàn)功能。我們要做的,是盡量復原一個真實的計算器,完成加減乘除,以及連續(xù)運算的功能。
????????首先,我們制作一個計算器的面板,ppt是最適合的工具。
????????第二步,我們需要定位每一個按鍵。冉爸在課堂上引入了“二維數(shù)組”的概念,通過行,列定位每一個按鍵。其實數(shù)組的例子在生活中隨處可見,比如體育課上同學們排成三行四列。初等數(shù)學的知識都是從生活中抽象而來的,冉爸盡量把數(shù)學概念融入到孩子的世界里。
????????第三步,通過觀察,我們可以把功能相同的按鍵歸為一組。比如說數(shù)字鍵0~9為一組,當按下數(shù)字鍵時,調(diào)用相應函數(shù);運算符+-*/為一組,當按下運算符時,調(diào)用相應函數(shù);......
????????第四步,通過這樣“總”-“分”的結(jié)構(gòu),我們就把問題分解了,接下來針對第三步中的分組,分別編寫函數(shù)。
????? ? 我們要計算的是“數(shù)”,可是計算機接受到的,其實是0~9單一的數(shù)字,和小數(shù)點。因此,我們先用一個列表來依次存放輸入的數(shù)字。
????????舉例子,當輸入小數(shù)點時,計算機完成這樣的任務(wù):
????????(由于顯示屏寬度的原因,我們限制數(shù)字的位數(shù)不超過14)
????????當點擊“退格”鍵時,計算機完成這樣的任務(wù):
????????第五步,我們需要把列表里臨時存放的各位數(shù)轉(zhuǎn)換成被計算的數(shù)字,前后輸入的數(shù)字依次賦值給操作數(shù)1和操作數(shù)2,然后根據(jù)運算符進行運算。
????????整個分析思路其實是線性的,并不難。完成這個作業(yè)的關(guān)鍵,在于如何進行連續(xù)運算,真實的計算器是可以連續(xù)運算的。編程序計算2+3不難,但是計算((2+3) * 4 / 5 + 6) * 7......這就需要用到一些處理技巧。對于我們的孩子來說,目前還不需要思考的這么深入,先梳理分解問題和組織代碼的思路,等以后再回頭看冉爸處理連續(xù)運算的技巧。
????????低年級的小朋友也不用怕,我們在整個過程中,不僅是學習編程,還有各種工具的使用,比如搜索引擎,ppt,畫圖;還有作品的設(shè)計,這里就包括了色彩的搭配、界面的設(shè)計、功能的設(shè)計。在這些方面啊,小朋友做的往往比大人還好!
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時和我們聯(lián)系刪除
