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