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