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