廉侃超,李 霞
(運(yùn)城學(xué)院公共計(jì)算機(jī)教學(xué)部,山西運(yùn)城044000)
Visual Basic程序設(shè)計(jì)課程是我院針對(duì)非計(jì)算機(jī)專業(yè)文史類專業(yè)開設(shè)的一門通識(shí)教育課程,是一門靈活性、實(shí)踐性、綜合設(shè)計(jì)性較強(qiáng)的學(xué)科。文史類學(xué)生以形象思維、感性思維見長(zhǎng),缺乏成熟的邏輯思維能力[1],對(duì)程序設(shè)計(jì)也比較陌生,這在某種程度上造成文史類學(xué)生程序設(shè)計(jì)學(xué)習(xí)的障礙。要達(dá)到較好的教學(xué)效果,具有一定的挑戰(zhàn)性。學(xué)習(xí)Visual Basic程序設(shè)計(jì),必須掌握程序設(shè)計(jì)的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。選擇結(jié)構(gòu)是程序設(shè)計(jì)中控制程序流程非常重要的一種結(jié)構(gòu)[2],在三種結(jié)構(gòu)的學(xué)習(xí)中具有承前啟后的作用,“前”是對(duì)順序結(jié)構(gòu)運(yùn)用的深化認(rèn)識(shí),“后”是為學(xué)習(xí)循環(huán)語句做鋪墊。IF語句是選擇結(jié)構(gòu)的一種實(shí)現(xiàn)語句,在教學(xué)過程中如何突破IF語句的重、難點(diǎn),幫助文史類學(xué)生理解IF語句的執(zhí)行過程,掌握IF語句的應(yīng)用,提高文史類學(xué)生的思維素質(zhì)和能力素質(zhì)[3,4],是我們?cè)诮虒W(xué)中一直思考的問題。
當(dāng)一個(gè)問題涉及到對(duì)條件進(jìn)行分析、比較、判斷,判斷條件所得的結(jié)果不同時(shí),處理問題的方式也要相應(yīng)不同,這時(shí)就要用選擇結(jié)構(gòu)來解決問題。[5,6]基于文史類學(xué)生的認(rèn)知特點(diǎn)[1],如果用一些能引起學(xué)生興趣的,又特別貼近學(xué)生日常生活的例子來分析選擇結(jié)構(gòu),學(xué)生定能輕松愉快地接受、理解,同時(shí)印象會(huì)特別深刻,從而加強(qiáng)學(xué)習(xí)效果。
針對(duì)IF語句教學(xué)的各主要環(huán)節(jié),精心選取一些生活案例,促使學(xué)生在學(xué)習(xí)過程中積極思考,培養(yǎng)學(xué)習(xí)興趣,提高學(xué)習(xí)主動(dòng)性,幫助學(xué)生有效地學(xué)習(xí)IF語句的使用方法。教學(xué)中,以啟發(fā)、引導(dǎo)貫穿始終,創(chuàng)造學(xué)生自主探究學(xué)習(xí)的平臺(tái),使學(xué)生由“要我學(xué)”轉(zhuǎn)變?yōu)椤拔乙獙W(xué)”,提高課堂的學(xué)習(xí)效率。
文史類學(xué)生的課程大部分是識(shí)記類,他們的認(rèn)知特點(diǎn)主要以識(shí)記為主,而程序設(shè)計(jì)課程側(cè)重于邏輯思維的訓(xùn)練與應(yīng)用,所以文史類學(xué)生普遍會(huì)感覺程序設(shè)計(jì)比較困難,也缺乏相應(yīng)的學(xué)習(xí)興趣。如果按傳統(tǒng)的教學(xué)方法,直接講授語句格式、語句功能,學(xué)生會(huì)覺得枯燥無味毫無興致。結(jié)合學(xué)生的實(shí)際情況,設(shè)計(jì)了一個(gè)有趣特別的案例情景,引起學(xué)生的關(guān)注及興趣,渲染了課堂氣氛,也為IF語句的應(yīng)用埋下伏筆,設(shè)置了懸念。
展示一幅有極胖、極瘦兩種體型的圖片,引入體型判斷問題。分析體型判斷問題的解決過程,總結(jié)生活中判斷、選擇類問題的特點(diǎn),指出VB中IF語句的主要功能就是解決類似的判斷、選擇性的問題,從而引入本課主題——IF語句的學(xué)習(xí)。
If語句從功能上可以分為單分支、雙分支和多分支三種結(jié)構(gòu)。IF語句的學(xué)習(xí)主要在于把握三種結(jié)構(gòu)IF語句的語句格式、語句功能和語句應(yīng)用。語句格式是識(shí)記性的內(nèi)容,提醒學(xué)生在學(xué)習(xí)的過程中注意三種格式的書寫區(qū)別,進(jìn)行對(duì)比記憶印象會(huì)更深刻。語句功能和語句應(yīng)用是學(xué)生學(xué)習(xí)中的重點(diǎn)和難點(diǎn),對(duì)這兩部分分別精心選取了一些學(xué)生身邊的、能引起興趣的生活小實(shí)例,通過這些有趣實(shí)例的分析,幫助學(xué)生更好地理解、掌握IF語句的功能和用法,并力爭(zhēng)達(dá)到靈活運(yùn)用、解決生活實(shí)際問題的高度。
興趣是學(xué)習(xí)的原動(dòng)力,拋開晦澀難懂的概念和語法,用帶有旋律的歌詞實(shí)例來煥發(fā)學(xué)生的學(xué)習(xí)熱情。
將各語句功能同生活中大家熟悉的、能帶來快感的選擇性歌詞語句類比,這些語句是大家一聽就能明白的,這樣,可以在輕松愉快的歌詞品味中將語句功能這個(gè)難點(diǎn)化解。各分支結(jié)構(gòu)的類比語句如下:
(1)單分支類比生活中的語句:“如果幸福,那么拍拍手”,并把它寫成對(duì)應(yīng)的單分支IF語句格式為:
或單行格式:If幸福Then拍拍手
它的執(zhí)行過程和我們聽到“如果幸福,那么拍拍手”這句話后的行為反應(yīng)是一樣的。程序執(zhí)行時(shí),先判斷條件幸福是否成立,如果成立,執(zhí)行語句拍拍手,否則什么都不用做。執(zhí)行流程如下圖所示:
通過對(duì)比分析,可以讓學(xué)生自己輕松地總結(jié)出單分支語句的執(zhí)行特點(diǎn):只有一種執(zhí)行結(jié)果。
(2)雙分支結(jié)構(gòu)類比生活中的語句:“如果幸福,那么拍拍手,否則跺跺腳。”寫成對(duì)應(yīng)的雙分支IF語句格式為:
或單行格式:If幸福Then拍拍手Else跺跺腳
它的執(zhí)行過程和我們聽到“如果幸福,那么拍拍手,否則跺跺腳。”這句話后的行為反應(yīng)是一樣的。程序執(zhí)行時(shí),先判斷條件幸福是否成立,如果成立,執(zhí)行語句拍拍手,否則執(zhí)行跺跺腳語句。執(zhí)行流程如下圖所示:
從流程圖中看到雙分支語句有兩種執(zhí)行結(jié)果,有部分學(xué)生可能不清楚兩種結(jié)果能不能同時(shí)出現(xiàn),簡(jiǎn)單分析一個(gè)人聽到“如果幸福,那么拍拍手,否則跺跺腳?!边@句話后的行為,可知一個(gè)人只能從兩種結(jié)果中選擇一種。因此可總結(jié)出雙分支語句的執(zhí)行特點(diǎn):有兩種執(zhí)行結(jié)果,但某一次執(zhí)行中只能出現(xiàn)一種執(zhí)行結(jié)果。
(3)多分支結(jié)構(gòu)類比生活中的語句:“如果幸福,那么拍拍手;否則,如果開心,那么跺跺腳;否則,……;如果溫暖,那么擠擠眼;否則伸伸腰。”不過,在這里我們要首先假設(shè)“幸福”、“開心”、“溫暖”這些條件任何兩個(gè)都不能同時(shí)出現(xiàn)。它對(duì)應(yīng)的IF條件語句為:
它的執(zhí)行過程和我們聽到“如果幸福,那么拍拍手;否則,如果開心,那么跺跺腳;否則,……;如果溫暖,那么擠擠眼;否則伸伸腰?!边@句話后的行為反應(yīng)是一樣的。程序執(zhí)行時(shí),如果條件1幸福成立,執(zhí)行第一分支的拍拍手語句,IF語句結(jié)束,其它分支不再執(zhí)行;如果條件1幸福不成立再接著判斷條件2,如果條件2開心成立,執(zhí)行第二個(gè)分支的跺跺腳語句,IF語句結(jié)束,剩余的分支不再執(zhí)行;依次類推,當(dāng)前面的條件都不成立時(shí),執(zhí)行Else分支的伸伸腰語句。執(zhí)行流程如下圖所示:
分析我們對(duì)類比語句的行為反應(yīng)可得出多分支語句的執(zhí)行特點(diǎn):有幾個(gè)分支就有幾種執(zhí)行結(jié)果,但某一次執(zhí)行中只能出現(xiàn)其中的一種執(zhí)行結(jié)果。
如何靈活應(yīng)用IF語句來解決實(shí)際問題,是學(xué)生學(xué)習(xí)中需要突破的一個(gè)難點(diǎn)。面對(duì)要解決的問題學(xué)生往往不知道該選擇哪種分支結(jié)構(gòu)的IF語句。為簡(jiǎn)化學(xué)生解決問題的過程,我們根據(jù)各分支結(jié)構(gòu)IF語句的執(zhí)行特點(diǎn),總結(jié)出一個(gè)選用分支結(jié)構(gòu)的“公式”。選用的思想是:根據(jù)問題需要出現(xiàn)的執(zhí)行結(jié)果的總數(shù)目進(jìn)行判斷,如果只有一種執(zhí)行結(jié)果,選用單分支結(jié)構(gòu);如果有兩種執(zhí)行結(jié)果,選用雙分支結(jié)構(gòu);如果有三種或三種以上執(zhí)行結(jié)果,則選用多分支結(jié)構(gòu)IF語句。同時(shí),我們選用一個(gè)大家都比較感興趣的“體型測(cè)試程序”對(duì)“公式”進(jìn)行驗(yàn)證。根據(jù)體型測(cè)試的實(shí)際情況,設(shè)計(jì)了三個(gè)問題,分別對(duì)應(yīng)單、雙、多三種結(jié)構(gòu),從易到難,層層遞進(jìn),以滿足不同層次學(xué)生的需求。目前體型測(cè)試比較通用的方法是對(duì)體重指數(shù)進(jìn)行判斷,體重指數(shù)由下面公式計(jì)算得到:
體重指數(shù)(BMI)=體重(公斤)/身高(米)的平方
評(píng)判標(biāo)準(zhǔn)為:BMI<19為偏輕,BMI介于19-23之間為健康體重,BMI>23為超重。
問題1:春節(jié)后,用戶希望程序給出超重的提示。
分析問題,程序只需“超重”一種執(zhí)行結(jié)果,根據(jù)“公式”,選用單分支IF語句實(shí)現(xiàn)。由體型測(cè)試標(biāo)準(zhǔn)知顯示“超重”的條件為體重指數(shù)大于23。對(duì)應(yīng)的偽語句為:
問題2:希望程序給出超重和未超兩種提示。
程序要求有兩種執(zhí)行結(jié)果,根據(jù)“公式”,兩種結(jié)果選用雙分支IF語句實(shí)現(xiàn)。條件的確定需要根據(jù)第一個(gè)分支的結(jié)果判斷,第一分支的結(jié)果如是“超重”,則條件應(yīng)為BMI>23,如是“未超”,則條件應(yīng)為“BMI<=23”。其程序偽代碼為:
問題3:希望程序給出重、輕和標(biāo)準(zhǔn)三種提示。
由問題知程序共有三種執(zhí)行結(jié)果,根據(jù)“公式”,三種結(jié)果需用三分支結(jié)構(gòu)IF語句實(shí)現(xiàn)。三個(gè)分支對(duì)應(yīng)三個(gè)結(jié)果。將條件從小到大或從大到小進(jìn)行排序,然后依序填各條件及結(jié)果。程序在環(huán)境下具體實(shí)現(xiàn)時(shí)通過調(diào)用不同的窗體來顯示不同的提示結(jié)果。以下程序的實(shí)現(xiàn)代碼:
在VB環(huán)境下運(yùn)行程序,并分別檢驗(yàn)三種情況。輸入一負(fù)數(shù)查看程序運(yùn)行結(jié)果,通過結(jié)果的不合理性引入讓學(xué)生思考的問題:“輸入數(shù)據(jù)不合法時(shí)如何處理?”
對(duì)學(xué)生較難掌握的選擇結(jié)構(gòu),采用案例教學(xué)法,教學(xué)案例從學(xué)生的實(shí)際情況出發(fā),根據(jù)現(xiàn)有學(xué)生的基礎(chǔ),結(jié)合簡(jiǎn)單、有趣的生活實(shí)例,引導(dǎo)學(xué)生進(jìn)行探索式學(xué)習(xí),問題從學(xué)生對(duì)體型測(cè)試的關(guān)注入手,過渡到課題的研究學(xué)習(xí)。原本枯燥無味的VB程序設(shè)計(jì),在簡(jiǎn)單、形象的生活實(shí)例下變得生動(dòng)、有趣,激發(fā)了學(xué)生對(duì)程序設(shè)計(jì)的求知欲,提高其學(xué)習(xí)興趣,形成積極主動(dòng)學(xué)習(xí)程序設(shè)計(jì)的態(tài)度,督促學(xué)生課后搜集生活中的選擇結(jié)構(gòu)實(shí)例,并嘗試用IF語句編寫相應(yīng)程序。促使學(xué)生對(duì)選擇結(jié)構(gòu)IF語句舉一反三,在生活中靈活應(yīng)用,提高學(xué)生用IF語句解決實(shí)際問題的能力,加強(qiáng)學(xué)生對(duì)程序設(shè)計(jì)的理解力,從而促進(jìn)學(xué)生對(duì)問題解決方法和思想的理解與掌握,從而提升學(xué)生的問題解決能力,讓學(xué)生在按照一定流程解決問題的過程中,去體會(huì)和理解程序設(shè)計(jì)的思想,而且也為嵌套選擇結(jié)構(gòu)和Select語句的學(xué)習(xí)打下基礎(chǔ)。
[1]徐文武,向會(huì)斌.文史類大學(xué)生思維素質(zhì)培養(yǎng)芻議[J].高等函授學(xué)報(bào):哲學(xué)社會(huì)科學(xué)版,2011(9).
[2]李祥坤.VB選擇結(jié)構(gòu)的分析與教學(xué)[J].學(xué)術(shù)問題研究:綜合版,2011(2).
[3]徐文武.文史類專業(yè)“四維三合”人才培養(yǎng)模式的構(gòu)架[J].鹽城師范學(xué)院學(xué)報(bào):人文社會(huì)科學(xué)版,2011(5).
[4]黃宏磊.地方教學(xué)型院校文史類專業(yè)高素質(zhì)人才培養(yǎng)模式研究[J].電子世界,2013(1).
[5]李祥坤.VB選擇結(jié)構(gòu)的分析與教學(xué)[J].學(xué)術(shù)問題研究,2011(2).
[6]臧勁松.培養(yǎng)學(xué)生計(jì)算思維的程序設(shè)計(jì)課程教學(xué)[J].計(jì)算機(jī)教育,2012(2).
運(yùn)城學(xué)院學(xué)報(bào)2014年2期