周儀蘭
摘 要: 在VB教學(xué)時(shí),采用讓算法貼近生活、在調(diào)試過(guò)程中形象化程序的運(yùn)行過(guò)程、用圖形使算法形象化及監(jiān)視數(shù)組的值讓算法形象化這四種方法,充分挖掘?qū)W生的潛能,達(dá)到學(xué)生主動(dòng)探究算法的目的,做到知行合一。
關(guān)鍵詞: VB教學(xué) 形象化 知行合一
中職學(xué)生邏輯數(shù)理方面的能力相對(duì)較弱,形象思維能力較強(qiáng),是具有形象思維的個(gè)體。VB這門(mén)課的核心是算法,算法是計(jì)算機(jī)解決問(wèn)題的方法。VB教學(xué)算法是重點(diǎn),也是難點(diǎn),算法比較枯燥、難懂,如果學(xué)生理解了算法,就成功了一半。算法對(duì)邏輯思維能力有較高的要求,他們感到學(xué)習(xí)VB的難度很大。在教學(xué)中,要讓學(xué)生了解計(jì)算機(jī)解決問(wèn)題的過(guò)程,把抽象的理論轉(zhuǎn)換成形象的過(guò)程,而形象化算法,使算法貼近生活,拉近學(xué)生與算法的距離,讓學(xué)生知其然也知其所以然,做到知行合一。
一、使算法貼近生活
交換兩個(gè)變量值的算法在許多問(wèn)題中都得用到,學(xué)生在編寫(xiě)交換變量a,b值的代碼時(shí),出現(xiàn)a=b:b=a,對(duì)于代碼運(yùn)行的結(jié)果,學(xué)生感到困惑,發(fā)現(xiàn)錯(cuò)誤后,卻不知該如何修改。所以在教學(xué)時(shí),要讓學(xué)生理解計(jì)算機(jī)解決問(wèn)題的過(guò)程,教學(xué)時(shí)可以用生活中的例子理解它。假設(shè)A杯裝果汁,B杯裝咖啡,要將A、B兩個(gè)杯子中裝的飲料對(duì)調(diào),要怎么做,學(xué)生自然就想到:再拿個(gè)空杯C過(guò)渡,先把A中的果汁倒入C中,A杯空了,再將B中的咖啡倒入A中,最后將C中的果汁倒入B中。讓學(xué)生借用中間代碼將這個(gè)過(guò)程用語(yǔ)句表達(dá)出來(lái):t=a:a=b:b=t。
用生活中的實(shí)例講解算法,讓VB算法貼近生活,使得算法形象化,順應(yīng)學(xué)生的思維方式,使學(xué)生更容易理解,拉近學(xué)生與VB程序設(shè)計(jì)的距離,讓學(xué)生感到VB程序是可理解的,不是那么遙不可及。在運(yùn)行出正確的結(jié)果時(shí),體驗(yàn)到成功的喜悅,同時(shí)樹(shù)立學(xué)習(xí)VB程序的信心。
二、在調(diào)試過(guò)程中形象化程序的運(yùn)行過(guò)程
VB的調(diào)試菜單中有逐語(yǔ)句的功能,它可以跟蹤計(jì)算機(jī)程序中各語(yǔ)句的執(zhí)行。教學(xué)時(shí)可利用這個(gè)功能進(jìn)行教學(xué)。調(diào)試菜單中的監(jiān)視功能能夠顯示程序運(yùn)行過(guò)程中變量值的變化,使用這個(gè)功能,把計(jì)算機(jī)與程序的運(yùn)行過(guò)程完美地呈現(xiàn)出來(lái)。
在最初學(xué)習(xí)分支選擇結(jié)構(gòu)時(shí),可讓學(xué)生輸入程序,用逐語(yǔ)句執(zhí)行的方式直觀地感覺(jué)條件成立時(shí)then后的語(yǔ)句被執(zhí)行,當(dāng)條件不成立時(shí)則跳過(guò)then分支,執(zhí)行else分支的語(yǔ)句。把理論知識(shí)與計(jì)算機(jī)的執(zhí)行過(guò)程有機(jī)地結(jié)合起來(lái),實(shí)現(xiàn)理論和實(shí)踐的統(tǒng)一。
在循環(huán)結(jié)構(gòu)教學(xué)中,采用監(jiān)視表達(dá)式或變量的功能,加上逐語(yǔ)句執(zhí)行方式的功能,讓學(xué)生觀察循環(huán)結(jié)構(gòu)語(yǔ)句的執(zhí)行順序、各語(yǔ)句的執(zhí)行次數(shù)、循環(huán)變量及表達(dá)式的值的變化情況,直觀地感受計(jì)算機(jī)執(zhí)行循環(huán)結(jié)構(gòu)的過(guò)程,在運(yùn)行程序的過(guò)程中加深對(duì)循環(huán)結(jié)構(gòu)的認(rèn)識(shí),提高學(xué)生的程序閱讀能力。用這種方法,把老師從枯燥、抽象地講解這些理論知識(shí)中解放出來(lái),培養(yǎng)學(xué)生自主探究學(xué)習(xí)的能力。
三、用圖形使算法形象化
循環(huán)的嵌套在程序設(shè)計(jì)中運(yùn)用廣泛,但學(xué)生學(xué)習(xí)這個(gè)知識(shí)點(diǎn)時(shí)會(huì)感到困惑,什么時(shí)候執(zhí)行內(nèi)層循環(huán),什么時(shí)候執(zhí)行外層循環(huán),它們是如何協(xié)調(diào)工作的。在教學(xué)中應(yīng)先從簡(jiǎn)單的問(wèn)題入手,讓學(xué)生有感性的認(rèn)識(shí),把多重循環(huán)表現(xiàn)在具體的圖形中,由易到難,層層遞進(jìn)。
首先,演示實(shí)例,打印一個(gè)5行7列的方形圖案,第一行執(zhí)行7次,由內(nèi)層循環(huán)起作用,圖形共輸出5行,是外層循環(huán)起的作用。這個(gè)過(guò)程如鐘表的時(shí)針、分針和秒針的工作過(guò)程,內(nèi)層循環(huán)相當(dāng)于秒針,外層循環(huán)相當(dāng)于分針,當(dāng)秒針走了一圈(60秒)時(shí),分針走一格(1分鐘),秒針繼續(xù)走一圈,分針再走一格。
學(xué)生理解循環(huán)的嵌套后,讓學(xué)生自主探究打印直角三角圖形,用多重循環(huán)把圖形直觀地表現(xiàn)出來(lái),學(xué)生在圖案的繪制過(guò)程中,主動(dòng)地探索循環(huán)變量的值的設(shè)定,再進(jìn)一步引入九九乘法表的實(shí)例,體驗(yàn)將循環(huán)變量的值用到循環(huán)體中,讓學(xué)生逐步理解多重循環(huán)的執(zhí)行過(guò)程,從而理解計(jì)算機(jī)能夠快速執(zhí)行重復(fù)的步驟。利用這一特點(diǎn),計(jì)算機(jī)可對(duì)一組數(shù)據(jù)進(jìn)行逐個(gè)篩查,輸出1至100內(nèi)的所有素?cái)?shù),以實(shí)現(xiàn)知識(shí)的遷移。
四、監(jiān)視數(shù)組的值讓算法形象化
冒泡排序的算法,數(shù)據(jù)存放在數(shù)組中,將相鄰的兩個(gè)數(shù)比較大小,大的數(shù)放在后面,小的數(shù)放在前面,一輪結(jié)束時(shí),最后的數(shù)是所有數(shù)中最大的,第二輪將其余的數(shù)進(jìn)行同樣的操作,重復(fù)這個(gè)過(guò)程,直到最后一輪剩下兩個(gè)數(shù)為止。在教學(xué)中,添加數(shù)組名為監(jiān)視表達(dá)式,用逐語(yǔ)句的運(yùn)行方式,觀察數(shù)的變化,關(guān)注第一輪結(jié)束時(shí)最后一個(gè)數(shù)的特點(diǎn),再觀察第二輪結(jié)束時(shí)倒數(shù)第二個(gè)數(shù)的特點(diǎn),用這種方法,把冒泡排序的算法直觀形象地展示出來(lái),讓學(xué)生感受冒泡算法的可行性,對(duì)冒泡排序有感性的認(rèn)識(shí)。
由以上數(shù)據(jù)的變化,找出每一輪數(shù)組一下標(biāo)范圍:1-n,1-n-1……再找出掃描的次數(shù),共幾輪,n個(gè)數(shù),n-1輪,外層變量控制可表示為Fori=1ton-1或Fori=n-1to1step-1觀察內(nèi)層循環(huán)變量的變化情況,選用第二種表示法,內(nèi)層循環(huán)可簡(jiǎn)化為Forj=1toI,將學(xué)生對(duì)算法的認(rèn)識(shí)提高到理性認(rèn)識(shí)的階段,讓學(xué)生參與算法的執(zhí)行過(guò)程,有利于學(xué)生學(xué)習(xí)主動(dòng)性的發(fā)揮,在學(xué)習(xí)過(guò)程中總結(jié)算法重復(fù)執(zhí)行的語(yǔ)句:
Ifa(j)>a(j+1)then
T=a(j):a(j)=a(j+1):a(j+1)=t
Endif
在教學(xué)中,充分利用各種教學(xué)手段,發(fā)揮教師的主導(dǎo)作用,充分挖掘?qū)W生的潛能,達(dá)到學(xué)生主動(dòng)探究算法的目的,實(shí)現(xiàn)知行合一。
參考文獻(xiàn):
[1]賀洪鳴,符水波.桌面應(yīng)用程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2006:10.
[2]楊芬紅,蔣雯音.VB程序設(shè)計(jì)中常用算法的Flash動(dòng)態(tài)演示[J].安徽:電腦知識(shí)與技術(shù),2011:06.