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