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