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