黃鑫
(北京信息職業技術學院 基礎教育學院,北京 100000)
高職院校C語言教學輔助系統功能分析與應用
黃鑫
(北京信息職業技術學院 基礎教育學院,北京 100000)
為解決高職院校五年制學生C語言學習的難題,利用嵌入式機器人作為載體,通過教學輔助系統實現從硬性灌輸到主動學習的模式轉變,提高學生對C語言程序設計學習的積極性,使學生掌握C語言程序設計知識。
嵌入式編程;交互式;機器人
常規的C語言教學一般用指令分類的形式進行講解,每條指令的含義用語言文字解釋。由于五年制學生的年齡小,活潑好動,他們的抽象思維能力、自主學習能力較差,缺乏動手實踐能力,在C語言學習上缺乏學習興趣,學習的積極性和主動性不高,使得講解非常困難,導致學習效果不理想等問題。為解決這個難題,利用機器人和流程圖與C語言交互編程的方式來講解C語言。
由于C語言教學我們采用項目教學,系統在設計時以工程設計項目的方式進行設計。這種設計的目標易于理解,學生可以直觀地根據目標來選用流程圖中的圖形進行過程設計,在流程圖的設計過程中對應的C語言代碼也是可以實時的顯現。指令的使用方法清晰明了。使用此方法,首先需要了解流程圖的繪制,熟悉流程圖中的每一個圖框對應的指令,同時要明白所寫指令對應的實際運行效果。利用流程圖和C語言程序交互的方式,使學生可以很清楚的學習到C語言的編寫過程和機器指令的使用方法。通過對機器人運行出現的各種問題的了解,可以準確的判定程序修改位置,同時可以觀察到程序修改后的運行結果。C語言教學項目設計如圖1所示。
因系統中需要配合機器人進行設計,大部分內容會針對機器人和C語言語法進行功能性設計,針對C語言語法功能設計主要使用頭文件鏈接翻譯方式進行,系統的主要流程圖界面需要配合機器人和流程圖的畫法來進行功能性的設計。針對機器人的特點,首先是系統與機器人的連接。其次是C語言課程教學的內容。用流程圖與C語言程序交互轉換的功能,幫助學生更快更好地理解C語言代碼。最后,將C語言程序的語句及語句的執行下傳到機器人上。教學過程設計用到的功能:
第一:建立工程項目目標。實現機器人的運行。
第二:選用流程圖與C語言代碼一一對應的設計方法講解C語言。
首先用圖形化編輯的方法列出流程圖,這時每一個流程圖圖形所對應的C語言代碼可以在向導式語句編程界面上對應顯示出來。
第三:學習C語言程序,講解使用方法。
第四:編譯下傳到機器人上,觀察程序運行結果。可檢查語法錯誤對應修改。
第五:項目保存。
依據教學過程設計的功能,擬建設的北京某高職院校C語言教學輔助系統應包含以下功能。見圖2所示。
Figure 2 The function of the system construction
系統允許在一個教學項目中,可以反復進行硬件連接和軟件編程的修改。
硬件連接部分是系統最先要考慮的功能,對應相關機器人硬件接口,可在此結構上安裝相關驅動及各種傳感器等,在此結構上安裝完成后,才能在以下結構中對相應模塊進行操作。在硬件信息連接上主要分為兩大類型,一個是傳感器模塊連接,另一個是執行器模塊,傳感器模塊根據項目所需要的傳感器來進行選擇安裝,執行器模塊根據所選電機類型安裝。
在進行完與機器人硬件連接后,進入軟件編程第二層結構,在第二層結構中涉及的問題較多,需要根據第一層結構硬件連接所安裝的硬件來進行調配,所以在第二層結構中必須將所有的硬件連接情況都需要考慮到,此時考慮的問題主要在流程的使用功能上,其它部分可以在底層用函數進行翻譯。優先需要考慮的問題是內置的軟件個數和功能問題,經過大量的研究和探討,根據機器人的特性和基本項目的特點,在基本的C語言中,幾種結構語句必須要有,分別為條件判斷、計數循環、條件循環、DO循環、永遠循環等。根據機器人的特性,為減少用戶編寫程序的復雜性,在軟件中進行模塊集中化,所以增加了幾種針對于機器人的內置軟件功能,分別為延時、聲控、啟動聲響、停止聲響等。通過這些內置軟件的直接調用可以使程序編程變得簡單。
在第二層結構中,其次還需要考慮子程序個數及子程序的組成問題,一個主程序可能會出現多次調用同一個內容的情況,如果出現這種情況,我們在設計軟件的時候就將其設置成子程序的方式,在后面直接對其進行調用即可,子程序的個數問題也很重要,就和C語言中的嵌套一樣,不能太深,過于深層次的嵌套會造成程序崩潰,所以在子程調用中,基本控制在30個以內。
考慮學生在C語言程序設計課程學習中遇到的困難和問題,使用流程圖讓學生理解和掌握計算機編程技術,從而進一步理解程序運行的過程,系統利用流程圖與C語言程序交互轉換的功能,可以有助于學生學習和掌握計算機程序代碼。
最后將C語言程序編譯和下傳到機器上,可觀察到C語言程序運行的結果。此部分大部分工作可以利用底層程序和通訊程序來完成,在流程圖軟件中只需要設計一個新的窗體,在窗體中有相應的按鈕和圖片即可。
G718.5
A
1671-864X(2016)10-0195-01