婁迎紅,焦亞冰
(1.山東廣播電視大學,山東 濟南 250014;2.山東英才學院,山東 濟南 250104)
在計算機技術的發(fā)展中,出現(xiàn)過各種各樣的程序設計語言。從程序設計語言的發(fā)展過程來看,可以分為機器語言、匯編程序設計語言、高級程序設計語言(BASIC,F(xiàn)ORTRAN,PASCAL,C,C++,Prolog,Java,C#等)、數(shù)據庫管理語言(如SQL)、網絡數(shù)據交換語言(如XML)等。程序設計語言是高校計算機專業(yè)的必修課程,語言也經歷了從低級語言到高級語言的發(fā)展,從面向過程到向面向對象的發(fā)展。但是一直以來,程序的運行基本上仍處于“黑盒工作”的狀況。在程序的設計運行過程中,程序員難以觀察到程序對數(shù)據處理和復雜的數(shù)據抽象關系之間的動態(tài)變化視圖,需要通過復雜的編程,才能顯示程序運行的結果。而可視化程序設計:以“所見即所得”的編程思想為原則,力圖實現(xiàn)編程工作的可視化,即隨時可以看到結果,程序與結果的調整同步??梢暬幊淌桥c傳統(tǒng)的編程方式相比而言的,這里的“可視”,指的是無須編程,僅通過直觀的操作方式即可完成界面的設計工作,是目前最好的Windows應用程序開發(fā)工具。
將可視化程序設計引入程序設計語言教學中,可以使學生了解更加直觀,可以更好的提高教學效果[1]。
可視化程序設計最大的優(yōu)點是設計人員可以不用編寫或只需編寫很少的程序代碼,就能完成應用程序的設計,這樣就能極大地提高設計人員的工作效率。可視化程序設計可以利用圖形技術將程序和數(shù)據對象可視化,并動態(tài)演示計算過程中數(shù)據變化和程序運行的瞬間狀態(tài)。
能進行可視化程序設計的語言很多,比較常用的有微軟的 Visual Basic、Visual C++ 、中文 Visual Foxpro、Borland公司的Delphi等。每個語言本身都是“不可視”的,僅僅是語言而已;所謂“可視化”不過是支持該語言的IDE(Integrated Development Environment,集成開發(fā)環(huán)境)所提供的功能,可以在編窗口可以看到窗口效果的可視化操作。IDE集成內容如圖1所示,是集成了代碼編寫功能、分析功能、編譯功能、debug功能等一體化的開發(fā)軟件套。
圖1 IDE集成圖
可視化程序設計在教學中可以分為編程可視化和算法可視化[2]。
編程可視化指的是程序在設計期和運行期都是可視的,而傳統(tǒng)的程序設計語言只有到程序編制完成后才能得到結果。即使是使用各類語言環(huán)境中所提供的排錯工具Debug,程序員只能查看程序斷點上部分變量的當前值。因此,程序排錯測試需要耗費大量的人力和時間,使得軟件產品中測試成本是成本最高且隱藏錯誤最多的成本之一。而提高調試能力主要依賴程序員的悟性和長期積累的實踐經驗??梢暬绦蛟O計克服了這一缺陷。程序員可以在編程過程中看到窗口的效果。
算法可視化指運用編程的手段將算法運行過程可視化??梢詼y試數(shù)據并觀看程序運行時變量前值的變化。
將可視化程序設計引入教學中,教師利用可視化編程可以展示程序運行時的動態(tài)圖像,可以測試數(shù)據,對于學習程序設計語言的學生來說,可以建立完整的程序控制流程圖和數(shù)據處理的動態(tài)過程[3]。
本文利用Visual Basic這一個優(yōu)秀的程序設計語言來實現(xiàn)編程和算法運行的過程。
冒泡排序一直是學生在學習程序設計語言時常用的一個例子,但在教學過程中,很多學生對這個例子感到枯燥,算法難懂。利用Visual Basic編制可視化例子[4],可以讓學生對算法有更加直觀的了解[5]。圖一首先顯示的是數(shù)組進行自動排序的過程,學生可以先選擇生成數(shù)組,然后選擇升序或者降序排列。就可以觀看冒泡排序的運算的動畫過程,通過這個實例,學生可以對原本枯燥的程序產生濃厚的學習興趣。如圖2所示
圖2 算法運行圖
圖2顯示,如果選擇顯示代碼這一項,就可以看到代碼和動畫過程同步顯示如圖3所示,學生面對的不再是枯燥的代碼,而是代碼和圖形,動畫的融合,學習更加直觀,更加生動。
圖3 算法動畫圖
以下代碼是實現(xiàn)冒泡排序可視化代碼。
通過本實例,學生可以更加直觀掌握冒泡排序算法,體現(xiàn)了可視化程序程序的編程可視化和算法可視化的特點。將Visual Basic可視化程序語言引入到程序設計語言教學中可以提高教學效果。
我國的高校教育發(fā)展非常迅速,近十年來以由已經從精英教育向向大眾教育發(fā)展。計算機教育是高校教育的重要組成部分。面對規(guī)模宏大的計算機教育,應采用可行的,積極的教育教學手段來應對。而可視化程序設計對計算機程序設計語言的教學影響將是深遠并且有意義的。隨著可視化程序設計語言的不斷發(fā)展,這種教學模式將會更加顯示出蓬勃的生命力和深遠的前景。
[1]孫榮高.程序可視化技術在程序設計語言教學中的應用探討[J].計算機教學,2008(10):63-64.
[2]胡眾義,匡泰.談可視化程序設計教學[J].吉林教育,2008(31):58-59.
[3]王建明.計算機專業(yè)可視化編程課教學淺談[J].江蘇教育,2010(4):54.
[4]楊桂華.可視化編程語言Visual Basic程序設計的特點及教學方法[J].內蒙古民族大學學報,2008(7):32-33.
[5]焦亞冰.教學評價數(shù)據挖掘中的關聯(lián)規(guī)則分析與設計[J].遼寧科技大學學報,2010(3):289-293.