謝 鵬,曾 升,白金鑫,許 寧(銀川能源學院,銀川 75000)
?
原型實例在C語言程序設計課程中的應用
謝 鵬1,曾 升2,白金鑫3,許 寧4
(銀川能源學院,銀川 750100)
摘 要:本文通過列舉源于生活的3個原型實例作為教學的案例,來對教材上的知識加以擴展,使學生不僅學會了,如何從題目中獲取需求包括數(shù)據(jù)和算法,并建立數(shù)學模型和實現(xiàn)程序編制、舉一反三,進而掌握C語言程序設計的方法和步驟;補充了有趣的案例,學生才有興趣去學習和研究,才會掌握學習C語言的方法。
關鍵詞:實例;需求;C語言;程序設計
目前,在國內(nèi)講解C語言程序設計的過程中,無論是教師還是學生都對國內(nèi)教材中的案例,部分比較費解,相信大家感同身受了,為什么會這樣?本來很有趣的知識怎么會讓大家教、學都十分痛苦呢?其實根源在于,一切知識的原型都是來自我們的自然和現(xiàn)實生活,只有貼近生活案例才是鮮活的,共鳴的、有趣的、值得大家去思考的,才能夠激發(fā)大家學習和研究的興趣,這篇文章就是和大家分享我是如何將生活中的實例作為案例來教學的,取得了不錯的效果。
眾所周知,多分支選擇結(jié)構(gòu)的案例,基本上就是五分制如何與百分制的范圍,案例給學生沒有太多的啟發(fā)。而我今天介紹的兩個案例分別來自我們的日常生活,學生的課堂反應良好,接下來我就介紹一下這個案例,該案例都是在沒有使用數(shù)組的情況下設計的。案例—學校餐廳的菜譜(見圖1):菜單用menu()函數(shù)實現(xiàn),選擇所列菜名的序列號,便可獲得該菜品的價格,然后在總金額中減去即可,本例可以通過對繼續(xù)[1,0]的選擇繼續(xù)重復選菜單操作;最后退出時,計算菜品總額和卡里余額,通過本例學生理解了switch多分支選擇結(jié)構(gòu),其實生活中的類似的實例還有很多,比如:圖1政務大廳服務選項,各銀行排隊系統(tǒng)抽的小票都是非常好的案例。
在C語言中,數(shù)組屬于構(gòu)造數(shù)據(jù)類型,其實是非常有用而且也很好舉例的,教材最多就是存放學習成績、字符串之類的。本例來源于觀察電影院買票系統(tǒng)(見圖2),利用了二維數(shù)組來實現(xiàn)顯示空座位"□"和已購座位"■",其主要思路是利用判斷數(shù)組中元素為“0”或“1”,來顯示空座位"□"和已購座位"■"兩種圖形,如何數(shù)組元素值為“0”就顯示"□",如何數(shù)組元素值為“1”就顯示"■",這樣以來可以根據(jù)二數(shù)組的大小來確定座位的多少;在顯示座位票的基礎上,我們還可以來選定座位的行列數(shù),比如輸入9,10,這樣便把數(shù)組的第9行第10列個元素置“1”,這樣以來再次顯示座位表時,就會根據(jù)這個數(shù)組各個元素的值得情況,打印出來新的座位表。通過這個案例,學生不僅可以認識到數(shù)組,不僅僅可以放一些具體的如學生成績、姓名等,還可以存放用于狀態(tài)判斷的數(shù)據(jù),拓寬了對數(shù)組應用的范圍。
我選擇了我們經(jīng)常會接觸到的案例—銀行卡的基本信息及簡單的查詢和修改操作,盡管該例與實際銀行卡真實的情況有些不完善的地方,但是作為結(jié)構(gòu)體的一個案例,我想應該是可以的,如果真的按銀行要求的來編制的話,部分內(nèi)容超出了學生的能力。見圖3可知,該例創(chuàng)建新用戶的時候,其實將用戶名、卡號、密碼、金額作為結(jié)構(gòu)體customer的信息了,至于菜單選項只不過是一些簡單的查詢和訪問結(jié)構(gòu)體里面的元素,通過該例學生可以了解到如何根據(jù)案例要求來定義、創(chuàng)建、訪問和修改結(jié)構(gòu)體元素,同時案例里面也使用前面講到的多分支選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),所有該案例較為綜合,是一款學習掌握這幾方面的知識較好的案例。
綜上所述,本文挑選了一些典型的原型實例,既能夠反映和貼近現(xiàn)實生活,便于理解和模仿,又能夠利用C語言來實現(xiàn),對于學習C語言程序設計來說是最好的教和學的方法,也給予我們很多的啟迪,很值得我們在今后教學中進一步的去發(fā)掘更新更好的案例,來幫助我們講好這門課程。
參考文獻:
[1]張俊竹.“產(chǎn)學研用”結(jié)合、“教學做”合一的藝術計人才培養(yǎng)模式[J].教育與職業(yè),2015,(01):133-134.
DOI:10.16640/j.cnki.37-1222/t.2016.12.243
作者簡介:謝鵬(1975-),男,山西運城人,碩士,工程師,研究方向:數(shù)字圖像融合。