教學背景
本課例借助學生熟悉的小程序與隨機函數(shù)的有機融合,在寓教于生活的過程中讓學生強化用已學的算法與程序設計知識解決問題的方法與過程。小程序激發(fā)了學生學習的興趣,讓他們體驗由知識的“趣味性”過渡到解決問題的“獲得感”。
此外,教師也讓學生發(fā)揮主觀能動性。學生通過小組研討、建立模型等一系列過程完成主題探究任務,進一步提升學生使用算法解決實際問題的能力與創(chuàng)造性。而結(jié)合生活中的驗證碼、驗證字符和驗證圖片等實例,也能夠體現(xiàn)網(wǎng)絡安全的重要意義。
教學目標
知識與技能 復述隨機函數(shù)Rnd( )的功能,能根據(jù)需要完成隨機函數(shù)Rnd( )表達式的書寫。
過程與方法 根據(jù)問題的需求分析,嘗試分解和細化問題,借助隨機函數(shù)Rnd( )化歸為算法并解決實際問題。
情感態(tài)度與價值觀 體驗程序設計的魅力,提升用計算機解決生活實際問題的能力;通過驗證圖片與驗證字符等實例遷移隨機函數(shù)的知識,提升網(wǎng)絡安全意識。
教學重難點
教學重點 隨機函數(shù)在VB程序中的使用。
教學難點 應用隨機函數(shù)解決實際生活中的問題。
教學過程
一、初步體驗隨機函數(shù)
教師采用模擬微信搶紅包這一情境,逐步引申到“使用隨機函數(shù)生成兩位正整數(shù)”等算法問題的求解。依次圍繞“體驗搶紅包—化歸為算法問題—制作紅包(編程實現(xiàn))”三個教學環(huán)節(jié)逐步推進。
(一)體驗搶紅包
在第一個“體驗搶紅包”環(huán)節(jié)中,教師將事先編譯好的程序“搶紅包.exe”下發(fā)給學生,供學生操作體驗搶紅包的過程。學生在體驗的過程中,逐步產(chǎn)生探索的興趣,由直觀體驗到理性分析,進而過渡到算法問題的化歸。
(二)化歸為算法問題
教師展示微信群拼手氣發(fā)紅包界面,讓學生思考:“何為‘拼手氣?搶到的紅包金額有什么共同特點?”再由“拼手氣”化歸為“產(chǎn)生隨機數(shù)”問題,由“10元至99元”化歸為“兩位正整數(shù)”問題。之后教師引入隨機函數(shù)概念及其默認取值范圍、“隨機種子”概念,進而與學生一同推導隨機生成兩位正整數(shù)的公式。
(三)搶紅包程序?qū)崿F(xiàn)
搶紅包VB編程界面及代碼如圖1所示。
二、隨機函數(shù)知識遷移
(一)數(shù)字驗證碼(隨機數(shù)→數(shù)字)
1.程序背景
教師展示日常生活中手機用戶收到的短信驗證碼截圖,并介紹短信驗證碼:“短信驗證碼是通過發(fā)送驗證碼到手機的一種有效的驗證碼系統(tǒng),通常由6位阿拉伯數(shù)字組成?!?/p>
教師布置任務:如何讓計算機生成并顯示數(shù)字驗證碼?
2.化歸為算法問題
教師引導學生思考并回答短信驗證碼的共同特征,即“6位正整數(shù)”,其后組織學生以小組為單位設計算法。
方法1:每次生成1位隨機正整數(shù),重復6次,流程圖如圖2所示。
方法2:將該6位正整數(shù)看做是一個整體,生成1個在100000~999999范圍內(nèi)的6位隨機正整數(shù),流程圖如圖3所示。
3.短信驗證碼程序?qū)崿F(xiàn)
“數(shù)字短信驗證碼”的方法1編程代碼如圖4,方法2編程代碼如圖5所示。
(二)字符驗證碼(隨機數(shù)→字符)
1.程序背景
教師展示驗證字符的截圖,并簡要介紹:“驗證字符在頁面的驗證碼輸入框附近以圖片的形式展示,此類驗證碼一般由4個字母與數(shù)字混合組成。”
教師布置任務:如何讓計算機生成并顯示4位數(shù)字、字母組合的字符?
2.化歸為算法問題
教師闡釋思路:讓計算機隨機產(chǎn)生4次隨機數(shù),每次選取的隨機數(shù)要符合數(shù)字、字母對應ASCII碼范圍(48~122),并將其轉(zhuǎn)化為ASCII碼字符輸出。
其中,字符“0~9”對應的ASCII碼值為48~57;“A~Z”對應的ASCII碼值為65~90;“a~z”對應的ASCII碼值為97~122。
3.字符驗證碼程序?qū)崿F(xiàn)
“驗證字符”的最終程序界面如圖6所示,VB編程代碼如圖7所示。
三、隨機函數(shù)拓展探究
(一)圖片驗證碼(隨機數(shù)→圖片)
為防搶票軟件,鐵路12306網(wǎng)站將驗證碼區(qū)域升級為選取圖片模式。用戶需要從給定的圖片范圍中選擇符合要求的圖片,點擊“刷新”,可以隨機更換圖片,如圖8所示。
教師布置任務:隨機生成3張圖片,點擊刷新,隨機更換圖片。
(二)化歸為算法問題
教師闡釋思路:1.將程序界面劃分為3個區(qū)域,每個區(qū)域疊放2張圖片。2.設置范圍1~2的隨機函數(shù),當抽到“1”時,顯示圖片1、3、5,隱藏圖片2、4、6;當抽到“2”時,反之。3.點擊“刷新”,切換圖片。
(三)圖片驗證碼程序?qū)崿F(xiàn)
“圖片驗證碼”最終程序界面如圖9所示,VB編程代碼如圖10所示。
教學反思
本課例從生活的真實情境出發(fā),以隨機函數(shù)的使用為主軸線,融合“隨機數(shù)→數(shù)字”(搶紅包、數(shù)字驗證碼)、“隨機數(shù)→字符”(字符驗證碼)、“隨機數(shù)→圖片”(圖片驗證碼),讓學生運用隨機函數(shù)解決生活中的問題,鍛煉了學生的知識應用能力。
學生體驗感興趣的新媒體應用,有助于提升學習積極性。如何把這份積極性進行有效發(fā)揮?就要由直觀體驗過渡到理性分析,讓學生融合所學算法知識實現(xiàn)其功能,進而提升學生程序設計學習的“獲得感”。
教師在本節(jié)課中提供了新媒體情境讓學生理解知識、實現(xiàn)功能,與此同時學生要主動思考與實踐所學知識的價值性與實踐意義。所以,在課程探究環(huán)節(jié),教師讓學生帶著線索(隨機函數(shù))去思考與實踐,將課堂還給學生,充分體現(xiàn)了學生的主體地位。