師鵬 張永生
【摘要】依據(jù)高校計算機課程中的基本算法為基礎(chǔ),我們開發(fā)了計算機算法動態(tài)演示系統(tǒng),這種系統(tǒng)集聲音、視頻、圖像及文字等為一體,將這些都充分應用到媒體技術(shù)中來演示各種算法的過程,把抽象的理論變得形象化,把靜態(tài)的教學轉(zhuǎn)變?yōu)閯討B(tài)的教學,這些手段有助于激發(fā)學生的學習興趣,使得學生對于算法的理解更加的深入。本文對于設(shè)計的優(yōu)質(zhì)算法進行了闡述及研究,向人們展示了一些優(yōu)質(zhì)的算法,這些算法使得學生在學習的過程中降低了難度,并增強了學生學習的信心。
【關(guān)鍵詞】動態(tài)演示系統(tǒng);計算機語言;遞歸算法;遺傳算法
前言
人們對高效軟件的需求越來越多,設(shè)計出優(yōu)質(zhì)的算法是眾多計算機科學人員的目標,但是,計算機算法領(lǐng)域的知識面很廣,難度很大,學生在學習的時候,普遍覺得非常困難,究其原因主要有以下兩點:
(1)由算法本身的特點造成的,算法具有很強的理論性,要求學生扎實的掌握數(shù)學、數(shù)據(jù)結(jié)構(gòu)及至少一種高級的語言;算法設(shè)計的領(lǐng)域非常的廣泛,學生要理解性的學習;算法有很強的擴展性,學生要有很高的探索欲望,才能在學習中真正的感受到樂趣。
(2)在教授的過程中,教師只是教授一些經(jīng)典的算法,并不注重媒體的使用,想要學好這門知識及能力集一體的課程,作為教師,要不斷的培養(yǎng)學生設(shè)計計算的能力,還要把傳統(tǒng)的教學手段及多媒體手段結(jié)合,這樣可以幫助學生形象的理解多種算法。
1.開發(fā)工具
開發(fā)系統(tǒng)一般使用的系統(tǒng)為Authorware或者其他類似的類型,這樣主要是因為這種類型的軟件的研發(fā)方是微軟,它的特點是在制作多媒體軟件的過程中可以使用圖表的形式。因此,不管設(shè)計的專業(yè)技能水平高與低,該軟件都可以為多媒體提供一個很方便的環(huán)境,而且,其功能很多,應用廣泛。其只要求用戶可以簡單的應用鼠標對程度的走向進行確定,弱化了計算機語言編程的作用,并且既能夠?qū)Χ嗝襟w需要的聲音、文字或者動畫等結(jié)合操作。
2.總體設(shè)計思路
Authorware是美國公司研究開發(fā)的非常強大的交互式制作軟件,以Authorware二語言作為研發(fā)的基礎(chǔ)的計算機動態(tài)算法演示系統(tǒng),對計算機的遞歸算法、分治思想、貪心法及排序算法等應用原理和應用舉例進行動態(tài)的交互式演示工作,并且算法的內(nèi)容還包括高校的計算機算法、美國的計算機協(xié)會內(nèi)的ACM及國際設(shè)計程序等內(nèi)容,演示系統(tǒng)可以讓大學生更加真切的了解算法的執(zhí)行過程,進而更好地應用、理解算法。
2.1 操作流程
Authorware系統(tǒng)主要有四項功能,其中設(shè)置的菜單內(nèi)容分為三個部分,對于系統(tǒng)中窗口的屬性及背景音樂等的調(diào)節(jié)系統(tǒng)設(shè)置,對系統(tǒng)中的音樂、視頻及游戲等管理及附件的設(shè)置,對系統(tǒng)菜單中各種功能進行管理設(shè)置作為界面設(shè)置。還有一個功能,也是這個系統(tǒng)中比較重要的一項,每個算法都有針對的案例及相應的邏輯思維介紹,點擊相應的按鈕就可以對應相應類型的功能進行切換,這些都使得系統(tǒng)結(jié)構(gòu)非常的嚴謹。
2.2 一些關(guān)鍵的操作
(1)界面設(shè)置
對算法演示進行觀看,可能會出現(xiàn)顯示的字體顏色不佳或大小不佳導致無法看清的問題,這種情況要利用文本格式設(shè)置來解決問題,如果演示過程的設(shè)置過程較為麻煩,那么可以在主菜單中來定義設(shè)置格式,進而再選擇應用的對象。
(2)使用模板
如果有較多的相似結(jié)構(gòu)的算法程序運行時,使用模板技術(shù)對數(shù)據(jù)進行重用操作,可以節(jié)省很多時間,比如,目前的系統(tǒng)正處于算法結(jié)構(gòu)瀏覽狀態(tài),點擊算法的選項菜單,再選中“模板另存為”,然后簡單的設(shè)置相關(guān)屬性,這樣就可以讓其成為模板,并對其進行命名,再刷新就會出現(xiàn)建立好的模板選項,此時在相應的需求流程線上就可以把模板拖拽來完成相應的任務。
(3)動畫效果
動畫效果也可以在系統(tǒng)演示的過程中顯示出來,不僅包括圖標的移動,右擊圖標,選擇“屬性”設(shè)置菜單項,然而就可以對相關(guān)值進行設(shè)置,以求達到對目標對象的控制效果。比如設(shè)置小球在固定的區(qū)域進行碰撞反彈運動,這時就可以把已知的位移坐標及相關(guān)向量進行設(shè)置就可以完成。這種操作還可以使得界面得以美化。比如客戶想使用動態(tài)的文字作為主界面的顯示,就可以右擊圖標屬性的選擇項,設(shè)置成水平對齊,再設(shè)定好路徑,把出發(fā)及終點的坐標都進行標號,將初始值定為0,再結(jié)合計時器對坐標值進行設(shè)置,使得文字達到我們需要的效果,這種操作很簡單,大多數(shù)人都可以輕松掌握。
(4)動態(tài)顯示
在對變量值進行調(diào)試的過程中,使得系統(tǒng)在運行的時候還要保證變量值同步的更新,這時我們可以把“變量名”輸進顯示圖標中,再右擊對變量進行更新操作,進而可以保證演示的動態(tài)變化時間問題得到解決。
2.3 冒泡排序算法
這種算法的思路為:依次把相鄰的兩個數(shù)字進行對比,把小數(shù)放在大數(shù)的前面,把大數(shù)放在小數(shù)的后面,下面是演示的具體過程。
(1)算法設(shè)計的思路
在算法的設(shè)計過程中,工作人員將數(shù)組假設(shè)為垂直的狀態(tài),將各種元素定義為不同的氣泡,并且把氣泡的大小定義為相應數(shù)據(jù)內(nèi)容的重要程度,氣泡大的表示內(nèi)容比較重要,氣泡小的表示內(nèi)容不那么重要,然后對氣泡進行全面的掃描,如果氣泡的質(zhì)量比較小,那么它的漂浮力就較大,這個過程要反復多次的操作,然后使得研究的結(jié)果更加的準確,進而得出重要程度不一樣的數(shù)據(jù)信息。
(2)具體的實現(xiàn)過程
首先,要把第一個和第二個數(shù)進行比較,然后依照數(shù)字的大小不同對其進行排序,小數(shù)字排在大數(shù)字前面,以此類推,直到比較最后兩個數(shù)字。
(3)用戶可以操作的部分
每一步需要操作的動畫都是自流程圖里圓形的按鈕進行操作的,各種各樣的背景色、風格、線寬及字體都可以在流程圖里設(shè)置,如果需要及時切換算法,可以應用算法結(jié)構(gòu)的對象,點擊之后把需要的算法模型都拖進流程圖,這時就會有臨時的小窗口出現(xiàn),主要是針對其他的算法及該算法間的內(nèi)容的分析。
3.總結(jié)
隨著科學技術(shù)的不斷發(fā)展,計算機信息技術(shù)等到了大力的發(fā)展與應用,在各個領(lǐng)域的影響作用也越來越重要,尤其是對算法動態(tài)系統(tǒng)來說,我們可以通過特殊的算法方式,來對計算機進行操作,充分提高計算機的準確性并提高計算運作的效率,對于不斷地改進工作方法有很大的幫助。而且,經(jīng)過實踐運用,表明“計算機算法演示系統(tǒng)”的應用,能夠非常有效地激發(fā)學生對于學習計算機算法的興趣及信心,并且提高了學生的學習效率,取得了比以往要好的教學效果。
參考文獻
[1]柴項羽.計算機算法動態(tài)系統(tǒng)中關(guān)鍵技術(shù)的設(shè)計與實現(xiàn)[M].計算機光盤軟件與應用,2013(22).
[2]李肯立,郭里,唐卓.一種求解Ramsey數(shù)的DNA計算機算法[M].計算機研究與發(fā)展,2011(3).
[3]李肯立,姚鳳娟,李仁發(fā).基于分治的背包問題DNA計算機算法[M].計算機研究與發(fā)展,2007(6).