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