溫春玲

摘 要:基于Android平臺設計并實現了數據結構課程教輔演示系統。以動畫的形式在移動終端設備上演示數據結構典型算法的執行過程,用戶可以與之進行交互,輸入不同的初始數據后,系統可以動態演示算法的具體執行過程。該系統提高了數據結構課程學習的趣味性和直觀性,并且可以在任何地點進行學習,具有較高的靈活性。
關鍵詞:Android 數據結構 課程算法 動畫演示
數據結構課程,傳統的教學方法缺少直觀性和動態性,很難形象地使學生理解相關知識點?;诖?,出現了一些數據結構算法的動畫演示系統,其輸入一些初始數據即能以動畫的形式演示算法的整個執行過程,提高了學生的學習效率。但是這些系統都是基于PC機設計實現的,學生學習場地受到了限制。如果將該系統在智能手機或平板電腦上實現,將極大地提高該系統的方便性。為此,我們設計并實現了基于Android平臺的數據結構課程教輔演示系統。
一、系統功能設計
該系統是一個基于Android的動態演示數據結構算法執行過程的輔助學習軟件,它可根據學習者輸入的算法初始數據以及算法執行過程中控制方式的不同在Android終端設備具有不同的顯示效果,包括算法執行過程中數據邏輯結構或存儲結構的變化情況以及遞歸算法執行過程中棧的變化情況等。整個系統使用觸摸按鈕驅動方式,設計多個按鈕選項。每個按鈕選項對應一個動作,系統將一直處于選擇按鈕項或執行動作狀態,直到選擇了退出動作為止。整個系統的功能設計如下。
一是動態演示數據結構典型算法的執行過程,包括順序表、鏈表、二叉樹、圖以及排序等。二是算法執行過程中跟蹤變量的值。三是算法執行過程中動態顯示相應的C語言代碼。四是具有暫停、恢復運行、單步運行、復位等控制功能。
二、系統主界面設計
數據結構算法演示系統主界面設計啟動各個算法的按鈕,通過這些按鈕啟動每個算法演示界面。算法演示的圖形用戶界面采用的模板有幾個主要區域,每個區域對應一個組件。
一是主窗口:包括標題欄和工具欄,用來實現系統控制。
二是動畫演示區:以圖形和動畫的方式模擬和顯示算法執行的過程和結果。
三是源代碼區:用來顯示類C語言編寫的算法描述。為了更清楚地描繪算法的執行過程,當程序運行到當前行時,用一條高亮度光帶罩住此語句,表示該語句被執行。在系統的主界面中,利用GridView布局,顯示功能選項,并在布局下方添加“幫助”和“退出”按鈕。主界面的設計風格簡約大方,操作方便。系統主界面及幫助界面如圖1所示。
三、系統功能實現
以順序表為例闡述系統功能的實現。在順序表模塊中,二級菜單中提供了順序表的插入和刪除選項。選擇順序表的插入或者刪除后進入初始化界面,設置順序表中的元素、插入變量以及插入位置,確認后將進入算法演示的主窗口。主窗口的工具欄包括執行、暫停、單步和重置。動畫演示區的圖形模擬是在原有的布局中通過添加TextView控件,生成新的布局進行算法的動畫演示。源代碼區是定義代碼字符的數組,利用初始化函數接收數組中的元素,并根據數組長度添加TextView控件的個數,循環將TextView中的內容添加為代碼字符數組中的元素。這樣,實現的順序表模塊的界面如圖2所示。
四、小結
基于Android平臺實現了數據結構算法動畫演示系統,作為數據結構課程的教輔軟件,實現了數據結構中典型算法,包括順序表插入、鏈表插入、二叉樹的遍歷以及起泡排序等算法的動畫。該系統對算法的執行過程進行動態模擬、代碼同步跟蹤,并在算法執行過程中可選擇單步執行、暫停、重置等功能。該系統作為Android的App形式,使其下載安裝方便,容易攜帶,隨時隨地進行輔助學習,并且具有良好的交互性,對提高數據結構課程學習效率起到較好的輔助作用。
(作者單位:青島市化學工業職工中等專業學校)