(山東省濰坊第一中學(xué),山東 濰坊 261051)
高中信息技術(shù)課程中,算法與程序設(shè)計(jì)的內(nèi)容相對(duì)來(lái)說(shuō)難度較大,但卻非常適合培養(yǎng)學(xué)生的計(jì)算思維。因?yàn)樽鳛橐杂?jì)算機(jī)理論和概念方法為指導(dǎo)思想的計(jì)算思維,是學(xué)生在解決各種問(wèn)題的過(guò)程中鍛煉培養(yǎng)出來(lái)的,而程序設(shè)計(jì)恰恰是一種易于理解和表達(dá)最為直觀的方式。此外,在程序設(shè)計(jì)學(xué)習(xí)中,不僅有利于學(xué)生計(jì)算思維的培養(yǎng),對(duì)學(xué)生思維和心理的發(fā)展及完善也有幫助。
在講授程序設(shè)計(jì)內(nèi)容時(shí),我們應(yīng)選取真實(shí)案例,且盡可能是學(xué)生熟悉的、有趣的,理論聯(lián)系實(shí)際,從而引導(dǎo)學(xué)生關(guān)注和發(fā)現(xiàn)身邊的問(wèn)題。從具體問(wèn)題著手,找出解決問(wèn)題的方法,形成算法并利用程序語(yǔ)言將算法思想轉(zhuǎn)變?yōu)榇a,進(jìn)而解決問(wèn)題。這種以問(wèn)題為出發(fā)點(diǎn)的教學(xué)思想,貫穿于程序設(shè)計(jì)的整個(gè)教學(xué)過(guò)程中,從而達(dá)到了培養(yǎng)計(jì)算思維的目的。,進(jìn)而設(shè)計(jì)出算法和計(jì)算機(jī)程序去解決這些問(wèn)題,如在講解隨機(jī)函數(shù)這部分內(nèi)容時(shí),就選取了日常生活中既有代表性的又有趣的“紅包”案例進(jìn)行教學(xué)。
隨機(jī)函數(shù)的應(yīng)用——紅包程序的設(shè)計(jì)
本課程是屬于必修課程《數(shù)據(jù)與計(jì)算》中《算法與程序?qū)崿F(xiàn)》單元內(nèi)容。通過(guò)本單元學(xué)習(xí),能認(rèn)識(shí)到數(shù)據(jù)在信息社會(huì)中的價(jià)值,合理處理與應(yīng)用數(shù)據(jù),掌握算法與程序設(shè)計(jì)的基本知識(shí),根據(jù)實(shí)際需要運(yùn)用到生活中,成為信息社會(huì)的參與者。
本節(jié)是新授課,學(xué)生已經(jīng)學(xué)習(xí)掌握了VB 中文本框、標(biāo)簽、按鈕控件的添加和屬性修改,對(duì)界面的設(shè)計(jì)有了初步認(rèn)識(shí),并對(duì)計(jì)算機(jī)解決問(wèn)題的過(guò)程有了初步的認(rèn)識(shí),本課程繼續(xù)體驗(yàn)計(jì)算機(jī)解決問(wèn)題的過(guò)程并要求學(xué)生掌握VB 圖像控件及其屬性的修改。
(一)復(fù)習(xí)計(jì)算機(jī)解決問(wèn)題的一般過(guò)程,掌握VB 標(biāo)簽、文本框、按鈕、圖像控件的添加和屬性修改;掌握隨機(jī)函數(shù)rnd 和取整函數(shù)int(x)知識(shí)。能運(yùn)用兩個(gè)函數(shù)解決日常生活中的問(wèn)題,并編寫(xiě)隨機(jī)小程序。
(二)下發(fā)紅包小程序引入隨機(jī)函數(shù),調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性和主動(dòng)性。通過(guò)師生互動(dòng),自主學(xué)習(xí)、精講點(diǎn)撥、小組合作等方式探究函數(shù)的轉(zhuǎn)化,并能根據(jù)需要通過(guò)計(jì)算對(duì)rnd 隨機(jī)函數(shù)作出合理的轉(zhuǎn)化。
(三)通過(guò)對(duì)隨機(jī)函數(shù)rnd 和取整函數(shù)int(x)的學(xué)習(xí),創(chuàng)設(shè)程序設(shè)計(jì)的情景,完成生活中的實(shí)際問(wèn)題,讓理論知識(shí)應(yīng)用化,并具有一定的使用價(jià)值。通過(guò)應(yīng)用小程序的設(shè)計(jì)激發(fā)學(xué)生后繼的學(xué)習(xí)興趣。
(一)創(chuàng)設(shè)情景
分發(fā)紅包小程序,比手氣,提興趣。點(diǎn)出計(jì)算機(jī)解決問(wèn)題的一般過(guò)程。
(二)任務(wù)設(shè)置漸進(jìn)式
任務(wù)設(shè)置由易到難,易于消化理解。特別是兩個(gè)函數(shù)的學(xué)習(xí),漸進(jìn)式地計(jì)算,易于學(xué)生理解,提升計(jì)算思維。
(三)設(shè)計(jì)程序,合作探究
根據(jù)函數(shù)設(shè)計(jì)小程序,分組比賽,積極參與。
(四)任務(wù)分層
根據(jù)學(xué)情作業(yè)分層,學(xué)有余力的學(xué)生做拓展作業(yè)。
隨機(jī)函數(shù)rnd 和取整函數(shù)int(x)的轉(zhuǎn)化應(yīng)用
【導(dǎo)入】:體驗(yàn)搶紅包小程序。
提問(wèn):同學(xué)們,請(qǐng)大家先想一想生活中有哪些常用的隨機(jī)數(shù)?(用隨機(jī)函數(shù)點(diǎn)數(shù)提問(wèn))
引導(dǎo)復(fù)習(xí)計(jì)算機(jī)解決問(wèn)題的一般過(guò)程:
【自主學(xué)習(xí)】
rnd:【隨機(jī)函數(shù)】隨機(jī)生成一個(gè)[0.1)之間的實(shí)數(shù),在調(diào)用Rnd 之前,先使用Randomize 語(yǔ)句初始化隨機(jī)數(shù)生成器。大家可以先試一下,rnd 隨機(jī)函數(shù),取值范圍是[0,1)
【精講點(diǎn)撥】
思考:如何表示[0,10)之間的實(shí)數(shù)?如何表示[0,9]之間的整數(shù)?綜合示例:
1.隨機(jī)生成0,1,2……9 其中的一個(gè)整數(shù):a=Int(10 * Rnd)
2.生成1 到6 之間的隨機(jī)整數(shù)x:x=Int((6 * Rnd)+1) 。
由于Rnd 是[0,1),(6*Rnd)+1 為[1,7)。int 是求不大于number的最大整數(shù),所以得出1 到6 的隨機(jī)整數(shù)。
【實(shí)踐練習(xí)】
基礎(chǔ)任務(wù) 1、隨機(jī)出現(xiàn)[0,10)之間的隨機(jī)數(shù);2、隨機(jī)出現(xiàn)[1,10]之間的隨機(jī)整數(shù)
提升任務(wù) 3、隨機(jī)生成的10 以?xún)?nèi)紅包金額
程序界面設(shè)計(jì)
體驗(yàn)rnd 隨機(jī)函數(shù)和int 取整函數(shù):
任務(wù)一:?jiǎn)螕簟緍nd】按鈕時(shí),顯示[0,10)之間的隨機(jī)數(shù)。
任務(wù)二:?jiǎn)螕簟緄nt】按鈕時(shí),顯示[1,10]之間的隨機(jī)整數(shù)。
【任務(wù)提升】
任務(wù)三:揭開(kāi)紅包奧秘:
單擊紅包圖像,紅包圖像打開(kāi),同時(shí)顯示隨機(jī)生成的10 以?xún)?nèi)紅包金額。
提示:image2 的visible 屬性設(shè)為false,設(shè)為不可見(jiàn)。
【拓展任務(wù)】
任務(wù)四、制作隨機(jī)計(jì)算器
【提交作業(yè)及作業(yè)評(píng)價(jià)展示】
分組評(píng)價(jià)作業(yè)。
1.界面美觀大方 2.任務(wù)三個(gè)及以上 3.調(diào)試運(yùn)行無(wú)誤
【本節(jié)小結(jié)】
程序設(shè)計(jì)一般步驟:界面設(shè)計(jì)——屬性設(shè)置——編寫(xiě)代碼——調(diào)試運(yùn)行——保存。