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