c語言程序設(shè)計實例范文
時間:2023-03-27 18:57:51
導(dǎo)語:如何才能寫好一篇c語言程序設(shè)計實例,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
關(guān)鍵詞: C語言程序設(shè)計; 案例式教學(xué); 計算思維; 能力
中圖分類號:G642 文獻標(biāo)志碼:A 文章編號:1006-8228(2013)01-55-02
Study and practice of case teaching of C language programming
Xiong Qijun, Ning Bin, Gu Qiong
(College of mathematics & Computer Science Hubei University of Arts and Science, Xiangyang, Hubei 441053, China)
Abstract: A feasible project of case teaching is put forward for C language programming. Its application in teaching is illustrated from various aspects. The result shows that it plays a positive role in improving the students' programming ability, computational thinking ability and creative ability.
Key words: C language programming; case teaching; computational thinking; ability
0 引言
“C語言程序設(shè)計”課程是計算機及相關(guān)專業(yè)學(xué)生進入大學(xué)所學(xué)習(xí)的第一門專業(yè)基礎(chǔ)課程。教學(xué)實踐證明,該門課程對引領(lǐng)學(xué)生進入編程世界、掌握基本概念和原理、產(chǎn)生編程興趣和愛好、完成從傳統(tǒng)學(xué)科的思維方式向計算思維方式的轉(zhuǎn)變、培養(yǎng)編程意識、形成編程風(fēng)格、提高編程能力等,起著決定性的作用。因此,加強對C語言程序設(shè)計課程的教學(xué)與研究至關(guān)重要。
我校自2008年提出“211”人才培養(yǎng)模式以來,對教學(xué)的研究與改革如火如荼,秉持理論夠用,重在實踐的原則,開展教學(xué)研究及實踐。針對C語言程序設(shè)計課程的教學(xué),筆者曾提出了“四期六段教學(xué)模式”[1]、“多元教學(xué)模式”[2]等,有力地推動著教學(xué)的研究和改革。
1 案例教學(xué)法基本思想及特點
目前,案例教學(xué)被廣泛應(yīng)用于醫(yī)學(xué)、法學(xué)和管理學(xué)等學(xué)科的教學(xué)之中。案例教學(xué)模式是一種互動式的教學(xué)方法,以案例分析為基礎(chǔ),解決問題為主線, 教學(xué)內(nèi)容圍繞案例的討論、分析逐步展開,通過對案例的剖析,激發(fā)學(xué)生的求知欲,調(diào)動學(xué)生的積極性,使學(xué)生主動地思考,讓學(xué)生充分討論并發(fā)表各自的見解,教師適時引導(dǎo)和評判,最后推導(dǎo)出結(jié)論[3]。案例是實現(xiàn)案例教學(xué)的前提和基礎(chǔ),教學(xué)案例并不是簡單的舉例,不僅要求案例所涉及的知識點要豐富,并且要求案例具有針對性、系統(tǒng)性、可實踐性和啟發(fā)性。
由此可見,比起簡單的說教,將案例式教學(xué)引入程序設(shè)計語言的教學(xué)之中,可以起到示范、模仿、思考、啟發(fā)、應(yīng)用、拓展的作用。
2 案例教學(xué)法在C語言教學(xué)中的應(yīng)用
案例教學(xué)的一般過程是“提出案例-案例分析-要點講解-知識點導(dǎo)入-模仿-應(yīng)用-拓展”。
2.1 通過案例上好第一次課
C語言教材的第一章是C語言概述,主要講述其發(fā)展歷史、特點、應(yīng)用領(lǐng)域、程序結(jié)構(gòu)、上機操作步驟等。在講授這部分內(nèi)容時,不需要按部就班,因為計算機語言的發(fā)展歷史、特點是純文字的、抽象的、枯燥的,即使演講得天花亂墜,在現(xiàn)階段也是不能被學(xué)生所理解的,還可能讓學(xué)生產(chǎn)生厭惡、畏懼的情緒。
第一節(jié)課就通過案例直接切入主題:讓學(xué)生了解計算機解題的步驟、程序的基本組成和框架。
通過簡單的算術(shù)運算導(dǎo)入計算機如何解題。譬如計算圓的面積。先用口頭語言或文字進行描述:先需要給定圓周率、指定半徑;然后才是根據(jù)固定的計算公式進行計算;最后是顯示結(jié)果。這種一目了然的計算步驟,既展示了解題的算法,又體現(xiàn)了順序程序的基本結(jié)構(gòu),符合人的思維習(xí)慣,是容易被理解和接受的,在此基礎(chǔ)上,現(xiàn)場敲入代碼,添加頭文件、主函數(shù),再進行編譯和運行。以這個實例為基礎(chǔ),再去認識常量、變量、輸入輸出函數(shù)、主函數(shù)、語句等。這樣,圍繞一個簡單的例子,既演示了解題算法、也講述了程序的基本框架。上好第一節(jié)課,盡早將學(xué)生引入編程世界、盡早讓學(xué)生開始模仿編程、盡早讓學(xué)生建立程序框架的概念是可行的,也是必須的。
2.2 通過案例完成教學(xué)內(nèi)容取舍和組合
以教材和教學(xué)內(nèi)容為基礎(chǔ),對教學(xué)內(nèi)容進行適當(dāng)?shù)娜∩岷徒M合,起到降低難度、分散難點的作用。
⑴ 單純的語法教學(xué)向?qū)嵱眯徒虒W(xué)轉(zhuǎn)變。C語言的語法規(guī)則繁多且復(fù)雜,初學(xué)者很難理解、記憶、明晰和掌握。在講述時可以化繁為簡,只講授最簡潔、常用的格式,且嵌入到實際的例子之中,而不是單獨去說教。譬如“輸入輸出的格式控制”,在教學(xué)中追求簡單和實用,暫時剔除復(fù)雜和靈活方面的內(nèi)容。即化語法教學(xué)向?qū)嵱没虒W(xué)方向轉(zhuǎn)變。
⑵ 及早引入函數(shù)的概念和使用簡單的函數(shù)。將庫函數(shù)、自定義函數(shù)與數(shù)學(xué)上的函數(shù)進行類比,譬如“求平方根的函數(shù)sqrt”,明晰使用函數(shù)的原因和目標(biāo),再循序漸進地講述函數(shù)的名稱、參數(shù)和返回值等專業(yè)術(shù)語。
⑶ 及早引入指針和地址的概念。指針既是C語言的難點,也是其亮點,更是重點,及早建立指針和地址的概念和關(guān)系,了解指針最基本的用法,加強練習(xí)分散難點[4]。
⑷ 循環(huán)結(jié)構(gòu)的程序設(shè)計是教學(xué)的重點和難點,必須列舉大量的案例,花大量的時間進行講授和練習(xí)。在講授和練習(xí)過程中,務(wù)必采用手工執(zhí)行循環(huán)體的方式,寫下每次執(zhí)行時循環(huán)變量、中間變量的結(jié)果,將循環(huán)體執(zhí)行3到5次,循環(huán)體的功能自然能清晰明了。在這項技能掌握熟練之后,再講述單步跟蹤調(diào)試。學(xué)習(xí)過程中切忌“只動眼不動手”。攻克了循環(huán)結(jié)構(gòu),特別是多重循環(huán)這個難關(guān),后續(xù)的函數(shù)、數(shù)組的教學(xué)就簡單多了。
2.3 通過案例逐步建立計算思維的思想
求和、乘積,是講述循環(huán)時的常例,求和時一般設(shè)置和的初值為0,乘積初值為1。必須將這個基本規(guī)律傳授給學(xué)生,并加以靈活使用。
計算機解題的算法雖然來源于數(shù)學(xué),但更是數(shù)學(xué)知識應(yīng)用的升華。
例如:如何將一個二進制數(shù)字串轉(zhuǎn)化成十進制數(shù)??梢赃@樣引入:一個5位十進制整數(shù)12048如何用數(shù)學(xué)式子表示?數(shù)學(xué)上可以這樣寫:1*104+2*103+0*102+4*101+8*100,這要進行多少次乘法和加法(禁止使用pow指數(shù)函數(shù)進行運算);如果寫成(((1*10+2)*10+0)*10+4)*10+8,需要進行多少次乘法和加法,誰的效率更高呢?由此再過渡到使用數(shù)組實現(xiàn)一個二進制數(shù)字串轉(zhuǎn)化成十進制數(shù)。
在這個案例中,并沒有高深的數(shù)學(xué)知識,只有思維的轉(zhuǎn)變。然而,形成計算思維是一個長期引導(dǎo)、積累、思索、實踐的過程,不能操之過急。
2.4 通過案例建立知識的關(guān)聯(lián)
求最值(最大值、最小值、次大值、次小值)的算法,從講授選擇結(jié)構(gòu)時就可以開始灌輸和培養(yǎng)。從2個數(shù)、3個數(shù)求最值,到數(shù)組求最值,到選擇排序,都使用了這樣的思想——“將左手中握著的最值與右手中的一個個數(shù)進行比較、替換”,可見,知識之間存在強烈的內(nèi)在聯(lián)系。早早地灌輸求最值的思想,為講授后續(xù)算法做鋪墊。
2.5 通過案例發(fā)現(xiàn)規(guī)律拓展應(yīng)用
在講述循環(huán)結(jié)構(gòu)的程序設(shè)計時,通過求1+2+3+…+n的值,可以過渡到求1+3+5+…的值,再過渡到求1-3+5-7+…的值,過渡到求1+(1+2)+(1+2+3)+…的值;從求1+1/2+1/3+…的值,過渡到求1+1/2+2/3+3/5+…的值……。通過舉例,讓學(xué)生學(xué)會觀察和分析,尋找項與項之間的關(guān)系和規(guī)律,學(xué)會觀察、思考、應(yīng)用,最終達到舉一反三的效果。
2.6 通過精選案例收獲多重效果
精選案例,注重案例的實用性、趣味性、綜合性,能達到立竿見影、事半功倍的教學(xué)效果。
譬如:在講述關(guān)系運算、邏輯運算時,列舉的例子通常是簡單的關(guān)系運算或者關(guān)系運算的邏輯組合,雖然容易理解,但缺乏趣味性,難以引人入勝。我們可以引入一些推理題,如“誰做了好人好事”、“誰是罪犯”[5]。通過這樣的例子,既講授了基本的概念和原理,又列舉了知識的應(yīng)用領(lǐng)域,極具實用性、趣味性、可引起學(xué)生的共鳴,自然能收到良好的教學(xué)效果。
3 培養(yǎng)能力綜合考核
為了提高學(xué)生對程序的編輯能力,必須要求熟練計算機基本操作技術(shù)。譬如:在實驗課上、在C語言的集成開發(fā)環(huán)境中,必須強調(diào)對Tab、Insert、Home、End等按鍵的功能和使用,因為它們能加快代碼編輯的速度和質(zhì)量。
為了提高編程能力,必須增加課外學(xué)時,勤學(xué)苦練,將其與水滴石穿、冰凍三尺非一日之寒、點石成金進行類比,充分說明只有經(jīng)歷大量的程序閱讀,編寫、調(diào)試練習(xí),才能成就文如泉涌、火眼金睛。
為了真正檢驗學(xué)習(xí)效果,必須改變只憑一次考試決定該課程成績的做法??荚嚨拇螖?shù)要增加、考試形式要多樣化,可以是機考、筆試、單元測驗、答辯等,便于及時掌握教學(xué)效果,檢查、督促和改進。
4 結(jié)束語
教學(xué)實踐證明,采用案例教學(xué),將抽象的概念、枯燥的語法、繁多的算法,轉(zhuǎn)化為一個個具體生動的實例,再加上學(xué)生多閱讀、多思考、多練習(xí),就能夠很好地解決素質(zhì)教學(xué)中倡導(dǎo)的“3W1H問題(what,where,why,how)”,使C語言程序設(shè)計課程達到良好的教學(xué)效果,從而使后續(xù)的程序設(shè)計類課程教學(xué)游刃有余。
參考文獻:
[1] 熊啟軍,袁磊,谷瓊.基于“四期六段”模式的C語言教學(xué)[J].現(xiàn)代計算機,2012.5:40-42
[2] 曹文平,熊啟軍.多元教學(xué)模式在C語言教學(xué)中的探索與實踐[J].教育理論與教學(xué)研究,2012.6:31-32
[3] 丁海燕,袁國武,周小兵,白孟堯.高級語言程序設(shè)計案例式教學(xué)模式的探討[J].計算機教育,2011.4:65
篇2
關(guān)鍵詞:C程序設(shè)計;歷奇教育;案例教學(xué);項目驅(qū)動;教學(xué)模式
中圖分類號:G642 文獻標(biāo)識碼:A 文章編號:1009-3044(2017)17-0134-02
C語言功能豐富,表達能力強,以其豐富靈活地控制、簡潔高效的語句表達、清晰的程序結(jié)構(gòu)、良好的移植性,被廣泛應(yīng)用于系統(tǒng)軟件和應(yīng)用軟件的開發(fā)中。C語言誕生時間雖早,面臨C#、Java等新興語言強有力的沖擊,但是C語言依然以其良好的底層操作、較小的時空開銷等優(yōu)勢在互聯(lián)網(wǎng)+時代顯示出強大的生命力,成為現(xiàn)代軟件程序員中廣泛使用的編程語言之一,《c程序設(shè)計》也成為高等職業(yè)學(xué)校計算機類專業(yè)廣泛開設(shè)的一門重要專業(yè)課程。在軟件開發(fā)領(lǐng)域,IT企業(yè)對C語言程序員的需求量相當(dāng)大,我國每年畢業(yè)的計算機專業(yè)學(xué)生雖然數(shù)量很多,但是企業(yè)依然難以招聘到可以直接上崗無縫對接的軟件開發(fā)人才。如何做好課程內(nèi)容與職業(yè)標(biāo)準(zhǔn)對接、教學(xué)過程與生產(chǎn)過程對接,探索適合職業(yè)教育特點的有效教學(xué)模式成為重要研究課題。本文就《c程序設(shè)計》課程教學(xué)所存在的問題進行深入分析,探索新型有效的教學(xué)模式,使教學(xué)質(zhì)量不斷提高。
1 C程序設(shè)計教學(xué)內(nèi)容分析
《C程序設(shè)計》是理論實踐一體化專業(yè)基礎(chǔ)課程、課證融通類課程,是《數(shù)據(jù)結(jié)構(gòu)》、《軟件工程》及其他編程語言類課程的前導(dǎo)課程,也是國家工業(yè)和信息化部計算機軟件水平考試程序員初級資格考試中要求的主要程序設(shè)計語言。課程開設(shè)的主要目的是使學(xué)生掌握一種基礎(chǔ)編程語言,了解c語言的基本開發(fā)要求,掌握C語言數(shù)據(jù)類型、結(jié)構(gòu)化程序設(shè)計方法、數(shù)組及函數(shù)的使用、指針結(jié)構(gòu)體、文件等基本操作。課程實踐性很強,既要掌握概念、理解原理,又要動手編程,使學(xué)生通過C語言的學(xué)習(xí)得到程序設(shè)計的基本訓(xùn)練,進而為學(xué)習(xí)其他語言進行軟件開發(fā)打好基礎(chǔ)。課程學(xué)習(xí)難度大,需要以大量的案例、典型的項目以及良好的互動開展教學(xué),運用豐富的教學(xué)手段提高學(xué)生的學(xué)習(xí)興趣,幫助學(xué)生理解掌握艱深的知識。
2高職學(xué)生學(xué)情分析
《C程序設(shè)計》作為專業(yè)基礎(chǔ)課程,一般在大學(xué)一年級開設(shè),在傳授知識的基礎(chǔ)上還要培養(yǎng)學(xué)生踏實的工作作風(fēng),以及耐心、毅力和團隊合作精神。對于高職院校大一新生來說,學(xué)生普遍缺乏程序設(shè)計方面的知識基礎(chǔ)和邏輯思維,在剛接觸C語言程序設(shè)計時,會覺得軟件設(shè)計是新潮的高科技工作,在進行學(xué)習(xí)時情緒會相當(dāng)高漲,很有學(xué)習(xí)熱情;但是當(dāng)初學(xué)語言的新鮮感過去,面對艱深的編程語法即便是依然努力也是難以掌握,此時學(xué)生的厭學(xué)情緒就會接踵而來,在教學(xué)過程中跟不上教師的節(jié)奏,學(xué)習(xí)主動性和積極性不夠,甚至放棄學(xué)習(xí)。同時,學(xué)生解決新問題的能力不足,遇到課本上的例題或以前遇到過的問題可以很好地解決,但是一旦遇到新問題便不知如何下手,只能照搬照抄,不能靈活運用。
為此,剛開始接觸語法學(xué)習(xí)時,教師要根據(jù)學(xué)生的情況多通過相關(guān)案例和有趣的研討活動進行引入,從簡單的例子開始做起,采用少講多練的形式進行教學(xué),多給學(xué)生提供練習(xí)語法的機會,讓學(xué)生逐步克服對編程的恐懼心理,隨著編程能力的逐步提升,學(xué)生的自信心也會不斷增強。
3基于歷奇教育理念的混合式教學(xué)模式設(shè)計
歷奇教育(Adventure Education)是指“在合作、互動、有趣的氛圍下,以自主參與、經(jīng)歷體驗為基礎(chǔ),在分享中生成、在探究中成長的教育新理念、教學(xué)新模式、學(xué)習(xí)新方法”。對于相對枯燥難懂的程序設(shè)計類課程,歷奇教育模式可以經(jīng)過教師精心設(shè)計的一系列教學(xué)活動,通過學(xué)生的自主探究、協(xié)作學(xué)習(xí)和交流分享來活躍課堂氛圍,激發(fā)學(xué)生學(xué)習(xí)興趣,有效解決學(xué)生學(xué)習(xí)積極性不高的問題?;跉v奇教育理念,結(jié)合網(wǎng)絡(luò)教學(xué)、案例教學(xué)、項目驅(qū)動等教學(xué)方法,我們設(shè)計了一種適合本課程的混合式教學(xué)模式,以提高程序設(shè)計課程教學(xué)的效果。
3.1優(yōu)化教學(xué)內(nèi)容,開展案例教學(xué)
《C程序設(shè)計》課程當(dāng)前有關(guān)的教材種類繁多,許多都是結(jié)合編寫者的經(jīng)驗進行編寫,彼此之間內(nèi)容差異不大,形式不夠新穎,特點不夠突出,甚至有的書本知識出現(xiàn)語言不通、內(nèi)容不全和科學(xué)性錯誤;側(cè)重點也不盡相同,有的偏重于理論知識,有的偏重于實際經(jīng)驗,適用性千差萬別。為此,教師在開展課程教學(xué)時應(yīng)當(dāng)認真選擇教學(xué)內(nèi)容,注意其是否真的適合學(xué)生使用,章節(jié)編排必須保證合理,條理必須清楚,結(jié)構(gòu)簡明扼要,講解的時候一定要遵循深入淺出的原則,既具備相應(yīng)的實踐經(jīng)驗,又要具有相應(yīng)的知識完整度,要保證科學(xué)性不出現(xiàn)誤差,程序案例必須精心選擇和設(shè)計,難易適當(dāng),數(shù)量合適,既能用來進行教學(xué),也方便學(xué)生自己課下自主練習(xí)。
在案例教學(xué)過程中,要經(jīng)過對學(xué)生的實際情況進行了解之后再做決斷,選擇最適合的案例,對象是什么、類是什么、成員方法是什么、成員變量是什么,都要進行具體的思考,每節(jié)課要學(xué)習(xí)的知識點和要完成的教學(xué)任務(wù)都要合理安排,在案例講解和學(xué)生操作過程中要做好充分的指引,提供實訓(xùn)指導(dǎo)書、實訓(xùn)任務(wù)書給學(xué)生,把C語言程序設(shè)計相關(guān)知識凝練成相應(yīng)的案例,最后將這些整合起來就形成完整的項目。在相應(yīng)的案例后面布置一定的練習(xí)題,第一個練習(xí)應(yīng)該將主要部分放在“仿”,第二個練習(xí)應(yīng)該將主要部分放在“改”,這對第一個例子起著加工精簡的作用,第三個練習(xí)的主要部分應(yīng)該注重“提高”,這樣能夠便于學(xué)生進行深刻的理解和有序的練習(xí),從而增強學(xué)習(xí)的效果。
3.2精心設(shè)計活動,增強學(xué)習(xí)動力
作為一種程序設(shè)計語言,對學(xué)生的數(shù)學(xué)功底和邏輯思維能力要求很高,艱苦的編程工作會使學(xué)生精神高度緊張,在學(xué)習(xí)過程中學(xué)生會出現(xiàn)不知所措的局面和情緒較為波動的現(xiàn)象。因此,在進行知識點講解的過程中要把理論與實際案例相結(jié)合,盡可能使用形象生動的課件、動畫和微課等教學(xué)資源吸引學(xué)生注意力,盡可能運用歷奇教育理念組織研討分享和各種有趣的教學(xué)活動,使學(xué)生保持較強的專注力和學(xué)習(xí)興趣。每講完一組知識點,就應(yīng)該及時歸納總結(jié),并向?qū)W生提出相應(yīng)的實際問題進行鞏固練習(xí),讓學(xué)生能夠運用所學(xué)的知識來解決現(xiàn)實問題。
在這個過程中教師只是起引導(dǎo)的作用,對學(xué)生的大腦思維進行開發(fā)。這樣做能夠讓學(xué)生更加明確學(xué)習(xí)目標(biāo),將教學(xué)內(nèi)容進行相應(yīng)的規(guī)整,不斷降低教學(xué)難度。當(dāng)學(xué)生看到自己的學(xué)習(xí)成果時,學(xué)生的成就感瞬間爆棚,從而使得學(xué)生學(xué)習(xí)的信心不斷增強,由此也對程序設(shè)計語言產(chǎn)生濃厚的興趣,讓學(xué)生明白自己W到了什么,什么還沒有學(xué),下一步應(yīng)該學(xué)什么,教師要讓學(xué)生明白自己的目標(biāo)定位是什么,采用雙向互動教學(xué)方式,引導(dǎo)學(xué)生對自己的學(xué)習(xí)情況進行認識,這比只是掌握知識要重要得多。
3.3項目驅(qū)動教學(xué),提高實踐能力
結(jié)合高職教育的教學(xué)目標(biāo)和特點,《C程序設(shè)計》課程教學(xué)應(yīng)當(dāng)以“任務(wù)驅(qū)動”、“項目導(dǎo)向”模式為主,結(jié)合其他模式的不同特點,相互補充,目的是要幫助學(xué)生學(xué)會學(xué)習(xí),提高能力。在項目教學(xué)中,學(xué)習(xí)過程成為一個人人參與的創(chuàng)造性的實踐活動,它注重的不是最終的結(jié)果,而是完成項目的過程。在課程教學(xué)過程中以任務(wù)或項目為中心,組織教學(xué)內(nèi)容,通過講練結(jié)合,使學(xué)生在完成工作任務(wù)或具體項目的過程中學(xué)會知識的應(yīng)用,構(gòu)建相關(guān)理論知識,發(fā)展職業(yè)能力。
項目設(shè)計以學(xué)生編程能力的培養(yǎng)為線索來進行,突出對高職學(xué)生職業(yè)能力的訓(xùn)練,理論知識的選取緊緊圍繞工作任務(wù)完成的需要來進行,同時又充分考慮高等職業(yè)教育對理論知識學(xué)習(xí)的需要,并融合了相關(guān)職業(yè)資格證書對知識、技能和態(tài)度的要求。通過系列教學(xué)項目,培養(yǎng)高職學(xué)生計算機編程基本思想、編程基本技能以及邏輯思維能力,掌握運用C語言編程來解決生活中實際問題的方法和步驟,為可持續(xù)發(fā)展能力和拓展職業(yè)空間打下堅實基礎(chǔ)。
篇3
關(guān)鍵詞: C 語言;匯編語言;混合編程
中圖分類號:TP313 文獻標(biāo)識碼:A 文章編號:1006-4311(2014)24-0231-02
0 引言
匯編語言是一種面向機器的語言,其優(yōu)點是運行速度快,占用存儲空間小,可直接對硬件進行控制。缺點是編寫、調(diào)試?yán)щy、移植性差。C語言簡潔、靈活、庫函數(shù)豐富、調(diào)試方便、移植性好,目前已被廣泛地應(yīng)用于系統(tǒng)軟件和應(yīng)用軟件的開發(fā)中,為了發(fā)揮各自優(yōu)勢,取長補短,采用混合編程。大部分程序,如界面、人機接口(外殼程序)、數(shù)據(jù)處理等用C語言編寫,以提高程序的開發(fā)效率。而某些程序,如需要縮短程序的運行時間,或需要對硬件進行直接操作,或需要利用操作系統(tǒng)的某些功能模塊,或頻繁使用的程序、或需要占用內(nèi)存空間少的程序(內(nèi)核程序),則用匯編編寫,以提高程序的運行效率。
1 嵌入式匯編
嵌入式匯編也稱行內(nèi)匯編,源程序中直接插入?yún)R編語句。匯編語句可直接訪問C程序中定義的常量、變量、函數(shù)。不必考慮二者之間的接口,方便編程。
1.1 嵌入式匯編語句的格式
格式:asm操作碼 操作數(shù)[;或換行]
其中:操作數(shù)可以是匯編語句中的立即數(shù)、寄存器、表達式等還可以是C中的常量、變量、標(biāo)號等。分號;是匯編語句結(jié)束符,并非注解,要用注解,用C的注解。如下例
所示。
1.2 匯編語句訪問C的數(shù)據(jù)
嵌入的匯編語句可以訪問C語言程序中的任何標(biāo)識符,包括變量、常量、標(biāo)號、函數(shù)名、寄存器變量、函數(shù)參數(shù)等。如下例所示。
1.3 匯編語言與C語言接口規(guī)則
1.4 編譯過程
命令行鍵入命令:TCC-B-Iinclude-Llib 文件名.c即可. TCC會自動調(diào)用TASM.EXE和TLINK.EXE,并且TLINK.EXE能正確的找到需要的.obj和.lib文件,要保證TC目錄下存在TASM.EXE文件。如果單步編譯,可能會碰到很多的問題,主要是TLINK.EXE不會自己去找.obj和.lib文件。該命令的功能是:.C編譯TCC.ASM匯編TASM.OBJ連接TLINK.EXE。
2 Turbo C模塊連接方式
C、匯編程序各自編程,各自編譯,然后連接在一起。
2.1 匯編語言與C語言接口規(guī)則
①命名約定:匯編的名字前加一個下劃線,C的名字前不加下劃線(編譯后內(nèi)部自動加),以確保兩個模塊內(nèi)部名字一致。
3 結(jié)語
混合編程,主要涉及接口,匯編調(diào)C的函數(shù)、全局變量。C調(diào)匯編的函數(shù)、變量。本文對此做了淺述。
參考文獻:
[1]譚浩強.C語言程序設(shè)計[M].清華大學(xué)出版社,2004.
篇4
關(guān)鍵詞:卓越計劃;C語言;教學(xué)方法;研究性教學(xué)
中圖分類號:TN70-4;G642
鑒于“C語言程序設(shè)計”這門課的重要性,以及目前在實際教學(xué)過程中這門課存在的亟待解決問題,在景德鎮(zhèn)陶瓷學(xué)院計算機科學(xué)與技術(shù)專業(yè)被立為江西省“卓越工程師教育培養(yǎng)計劃”的背景下,改革該課程的教學(xué)組織形式和教學(xué)方法,提高教學(xué)效果,為實施“卓越計劃”奠定堅實的基礎(chǔ)。
1 教學(xué)組織形式和教學(xué)方法改革
“C語言程序設(shè)計”這門課程是為計算機專業(yè)一年級本科生開設(shè)的專業(yè)必修課,景德鎮(zhèn)陶瓷學(xué)院信息工程學(xué)院在制定課程教學(xué)大綱時,理論教學(xué)32學(xué)時,上機實踐32學(xué)時。開設(shè)課程時間為大一第一學(xué)期,學(xué)生幾乎沒有任何的編程基礎(chǔ)知識。學(xué)生剛接觸時普遍認為這門課程難度較大,容易打擊學(xué)生的學(xué)習(xí)積極性并導(dǎo)致學(xué)習(xí)興趣不高?!白吭接媱潯钡哪康氖侵荚谂囵B(yǎng)適應(yīng)社會需求,具有較強工程能力,實踐能力和創(chuàng)新能力的技術(shù)人才,因此需要在實際的教學(xué)過程中改變教學(xué)組織形式并進行教學(xué)方法改革,本文提出了五種教學(xué)組織形式和教學(xué)方法,如圖1所示,并將其貫穿于整個理論教學(xué)和實踐教學(xué)過程中。下面將結(jié)合具體的實例來介紹這些教學(xué)方法。
圖1 五種教學(xué)組織形式和教學(xué)方法
(1)啟發(fā)式。比如編程實現(xiàn)求圓的周長和面積。學(xué)生在學(xué)習(xí)了C語言的基本數(shù)據(jù)類型與表達式后,就可以寫出如下的程序。
void main()
{
float r,l,s,pi;
r=2.0;
pi=3.14;
l=2*pi*r;
s=r*r*pi;
}
這個例子中半徑只能固定為某一個值,如果半徑變了,需要修改程序。如果問題改成:從鍵盤輸入圓半徑,求圓的周長與半徑并輸出,要求圓的半徑可變。這樣給學(xué)生以啟迪,并引出了輸入輸出函數(shù)的教學(xué)內(nèi)容,并可以調(diào)動學(xué)生學(xué)習(xí)這部分內(nèi)容的積極性。
(2)探究式。假設(shè)a=3,b=5,編程實現(xiàn)交換兩個變量a和b的值。剛開始學(xué)生會寫出如下的程序。
void main()
{
int a=3, b=5;
a=b;
b=a;
printf(“a=%d,b=%d”,a,b);
}
程序運行后發(fā)現(xiàn)a和b的值都是5。實驗結(jié)果與預(yù)期的不一樣,這樣需要探究分析下出現(xiàn)這樣結(jié)果的原因,需要學(xué)生學(xué)會編程工具的調(diào)試功能,經(jīng)過單步調(diào)試發(fā)現(xiàn),執(zhí)行完a=b這條語句后a的值已經(jīng)是5,在執(zhí)行b=a后,沒有將a原來的值3賦給b,而是將a新的值5賦給了b,再進一步的探究分析,原來a是變量,經(jīng)過a=b這個賦值操作后a原來的值沒有了,這就需要定義個臨時變量int t 來存儲a的值,程序修改如下:t=a;a=b;b=t;
(3)討論式。在講授了利用循環(huán)語句求1到100的累加和之后,馬上給出思考題,求解100的階乘,然后讓學(xué)生進行分組討論,如何在1到100的累加和的程序上做修改,1到100的累加和的程序如下。
void main()
{
int s=0;
int i;
for(i=1;i
s+=i;
printf(“s=%d”,s);
}
經(jīng)過五分鐘左右的討論后,絕大部分學(xué)生做出了兩處修改:s=1;s*=i;但是運行程序后發(fā)現(xiàn)結(jié)果與預(yù)期不一樣。老師經(jīng)過引導(dǎo),指出要注意變量的數(shù)據(jù)類型及范圍,學(xué)生經(jīng)過討論后發(fā)現(xiàn)需要修改s的數(shù)據(jù)類型和輸出函數(shù)的格式控制字符串。經(jīng)過討論和老師的引導(dǎo)后,首先對循環(huán)語句有了更深刻的了解,同時鞏固了之前所學(xué)的輸入輸出函數(shù)和數(shù)據(jù)類型這兩個知識點。
(4)參與式。在理論課教學(xué)時,主要以老師的知識點灌輸為主,學(xué)生參與較少,即使參與,多以簡單地回答老師的提問,偶爾會有一些老師引導(dǎo)式的討論,學(xué)生的主動性發(fā)揮得不夠。參與式教學(xué)方式中,將以學(xué)生為主,老師為輔。這種參與式教學(xué)方式主要在實踐教學(xué)中應(yīng)用。因為上機實踐部分不同于理論教學(xué)部分,需要學(xué)生全身心的參與到程序設(shè)計開發(fā)過程中來,自己動手編寫程序。比如求ax2+bx+c=0的解。大多數(shù)同學(xué)在編寫該程序時,僅考慮到該方程有兩個實根的情況,未考慮到該方程有可能不是一元二次方程以及方程的根是虛根這兩種情況。學(xué)生只有參與到該程序的編寫當(dāng)中,才知道在編程時需要全面考慮問題的各種可能性。
(5)合作式。經(jīng)過了所有知識點的學(xué)習(xí)后,學(xué)生已基本掌握了程序設(shè)計的常用方法和編程技巧,也積累了一些編程和調(diào)試的經(jīng)驗。但是之前的課程教學(xué)過程中以及上機實踐過程中所使用的例子都較為簡單,基本上學(xué)生個人可以獨立完成,然而現(xiàn)在的系統(tǒng)和軟件開發(fā)不是一個人所能完成的。因此為了進一步提高學(xué)生的動手能力、解決實際問題的能力,特別是團隊協(xié)作與合作能力。為此,設(shè)計了五個綜合性的應(yīng)用程序設(shè)計實例,分別是簡易學(xué)生選修課程系統(tǒng),可以進行方程求解和科學(xué)計算的計算器,簡單學(xué)生成績統(tǒng)計,班級學(xué)生通訊錄,商品庫存管理。模仿數(shù)學(xué)建模比賽,三個學(xué)生一個小組,分工協(xié)作完成功能描述與劃分、總體設(shè)計、詳細設(shè)計、程序編寫、總結(jié)報告等任務(wù),讓學(xué)生充分地體驗合作式程序開發(fā)過程。
2 結(jié)束語
本文結(jié)合了C語言程序設(shè)計教學(xué)過程中典型的實際案例,介紹了啟發(fā)式、探究式、討論式、參與式、合作式等五種教學(xué)組織形式和教學(xué)方法,并在2013級計算機專業(yè)學(xué)生的C語言課程教學(xué)中進行了實踐,表明學(xué)生的編程能力、動手能力和協(xié)作能力得到了一定的提高,符合計算機科學(xué)與技術(shù)專業(yè)的“卓越工程師教育培養(yǎng)計劃”的目標(biāo)。
參考文獻:
[1]朱福珍,楊自恒,蔣愛平,王曉飛,甄佳奇,付麗.基于“卓越計劃”的“數(shù)字圖像處理”課程教學(xué)研究[J].中國電力教育,2013(28):128-129.
[2]林健.面向“卓越工程師”培養(yǎng)的課程體系和教學(xué)內(nèi)容改革[J].高等工程教育研究,2011(05):1-9.
[3]徐靜.卓越工程師培養(yǎng)計劃下“Java程序設(shè)計”課程改革[J].計算機時代,2013(09):65-66.
[4]白忠建,李巧勤.面向卓越工程師培養(yǎng)的C++教材研究與建設(shè)――兼談C++課程建設(shè)[J].教育教學(xué)論壇,2013(06):193-195.
[5]章義來,葉君耀.C語言程序設(shè)計[M].國防科技大學(xué)出版社,2011.
作者簡介:徐星(1984-),男,博士,副教授;柳炳祥(1966-),男,信息工程學(xué)院書記,博士,教授,碩導(dǎo)。
篇5
【關(guān)鍵詞】微課 C語言 程序設(shè)計
一、何謂微課
2008年美國的戴維?彭羅斯,運用建構(gòu)主義理論,以在線學(xué)習(xí)或移動學(xué)習(xí)為目的,提煉課程要點,制成了十幾分鐘的微課并上傳網(wǎng)絡(luò),從此微課被提出進入了大眾視野。我國廣東佛山教育局的胡鐵生,率先在國內(nèi)提出了以“微視頻為中心”的新型教學(xué)資源這一理念。近年來隨著翻轉(zhuǎn)課堂的推行以及可汗學(xué)院在互聯(lián)網(wǎng)上推出的系列微視頻,微課在全球迅速走紅成為教育界關(guān)注的熱點話題。
“微課”是按照新課程標(biāo)準(zhǔn)及教學(xué)實踐要求,以“微視頻”為主要載體,針對某個知識點或教學(xué)環(huán)節(jié)而開展教與學(xué)活動,包括各種教學(xué)資源有機組合。
微視頻是微課的核心,為了使教學(xué)更有效,基于學(xué)生的認知特點和視覺駐留規(guī)律,時間長度控制在5~10分鐘左右。微視頻可以無論是在課前、課內(nèi)、課后都可以使用。學(xué)生可以在課前先預(yù)習(xí),這樣課堂上教師就可以把課內(nèi)重點放在學(xué)生對知識的掌握吸收上,比如進行個性化的輔導(dǎo)、討論來解決問題。如果課上有些同學(xué)還想復(fù)習(xí)或者上課沒有聽清,課后都能夠繼續(xù)使用視頻、課件等資源進行學(xué)習(xí)。隨著手機、平板電腦等終端的普及,碎片化移動學(xué)習(xí)逐漸成為人們學(xué)習(xí)生活方式的主流,微課適合學(xué)習(xí)者自主學(xué)習(xí)、按需學(xué)習(xí)、個性化學(xué)習(xí),既可查缺補漏又能強化鞏固知識,是傳統(tǒng)課堂學(xué)習(xí)的一種重要補充和拓展資源,真正做到了以學(xué)位本。
二、微課的具體應(yīng)用
1.課程背景
C語言程序設(shè)計是高職計算機信息管理專業(yè)的一門專業(yè)基礎(chǔ)課,也是許多非計算機專業(yè)的主要選修課,是一門實踐性與應(yīng)用性較強的課程,目的是培養(yǎng)學(xué)生算法設(shè)計的基本思想和程序設(shè)計的基本技能。但是根據(jù)筆者的實踐,許多同學(xué)學(xué)習(xí)編寫程序感到比較困難,上課也聽不懂,因此害怕編寫程序。通過與學(xué)生的交談,同事的交流,以及教學(xué)實踐,筆者發(fā)現(xiàn)主要原因是一方面是課程本身的邏輯性強,有一定的靈活性,課程本身有一定的難度,另一方面是學(xué)生在一開始學(xué)習(xí)的時候就不是很感興趣,學(xué)習(xí)也沒有成就感,就喪失了自信心。順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序的三種基本程序結(jié)構(gòu),其中編寫順序結(jié)構(gòu)程序是后續(xù)學(xué)習(xí)編寫選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)程序的基礎(chǔ),正式學(xué)習(xí)編寫程序一般是從編寫順序結(jié)構(gòu)程序開始的,很多同學(xué)由于一開始學(xué)編寫順序結(jié)構(gòu)程序時學(xué)習(xí)不得法,不能真正理解如何來編寫程序,入不了門,在心理上害怕編寫程序,看到問題就無從下手,導(dǎo)致后續(xù)的學(xué)習(xí)沒有興趣,無法繼續(xù)后續(xù)的學(xué)習(xí)。微課展示時時間段、主題鮮明、內(nèi)容簡潔,可以使學(xué)生在注意力較為集中的時期對教學(xué)重點和難點有一個較好的把握,也可以反復(fù)學(xué)習(xí)。針對以上這些情況,因此選取編寫簡單順序結(jié)構(gòu)程序為題作為微課的內(nèi)容。
2.微課在C語言程序設(shè)計中的教學(xué)設(shè)計實例
【微課名稱】
編寫簡單順序結(jié)構(gòu)程序
【教學(xué)背景】
本知識點是計算機信息管理專業(yè)高職二年級《C語言程序設(shè)計》課程中的一個知識點,在學(xué)習(xí)該知識點之前要求已經(jīng)掌握C語言的書寫格式和調(diào)試環(huán)境、常量和變量、數(shù)據(jù)類型、運算符表達式及輸入輸出函數(shù)。
【教學(xué)目標(biāo)】
(1)了解順序結(jié)構(gòu)程序的特點;
(2)理解簡單順序結(jié)構(gòu)程序的編寫思路;
(3)學(xué)會編寫簡單的順序結(jié)構(gòu)程序。
【教學(xué)重點】
(1)順序結(jié)構(gòu)程序的特點;
(2)編寫簡單的順序結(jié)構(gòu)程序的思路。
【教學(xué)難點】
靈活編寫簡單的順序結(jié)構(gòu)程序。
【教學(xué)活動設(shè)計】
本微課采用演示法和講授法,從具體簡單的兩個整數(shù)的加法為例,先提出生活中怎樣完成求兩個整數(shù)的和。這個問題學(xué)生在小學(xué)就學(xué)過,肯定都能回答出來,即一個加數(shù)加上另一個加數(shù)得出和。接下來引導(dǎo)學(xué)生思考,如果把這個任務(wù)交給計算機程序來自動完成應(yīng)該如何實現(xiàn),由于不知道兩個整數(shù)具體是多少,也就是說這兩個參與運算的整數(shù)是可變的,所以可以定義兩個整型變量比如a和b來存放參與運算的兩個加數(shù),由于加數(shù)是可變的,那么最終計算出的和也是可變的,所以還需要定義一個變量比如sum來存放最終的和,接著通過一個賦值語句sum=a+b;可以讓計算機自動把和求出來,最終為了讓結(jié)果顯示出來,還需要將結(jié)果輸出。通過一步步進行分析,了解為什么要寫這么一條語句,最終完成程序的編寫。為了讓學(xué)生對程序能進一步理解,我還對程序執(zhí)行的過程進一步進行模擬,讓學(xué)生在程序執(zhí)行的過程中看到每個語句起的作用,進一步理解該程序。雖然針對不同的問題,編寫程序的語句不同,但是順序結(jié)構(gòu)編寫程序的思想還是一致的,通過編寫完成兩個整數(shù)的加法這個特殊的例子,最終歸納出一般順序結(jié)構(gòu)程序的步驟:(1)定義需要的變量,使部分變量有值,可以通過賦值的方法,也可以通過輸入的方法。(2)根據(jù)具體的要求,讓計算機完成相應(yīng)的操作或運算。(3)將最終得到的結(jié)果輸出,給出問題解決所需要的結(jié)果。
這是一個由特殊到一般、由簡單到復(fù)雜的過程,符合學(xué)生的認知規(guī)律。為了檢驗或評價學(xué)習(xí)的效果并鞏固所學(xué)內(nèi)容,課后還安排了練習(xí)(微課學(xué)習(xí)任務(wù)單并附有答案),旨在引導(dǎo)學(xué)習(xí)者學(xué)會編寫簡單的順序結(jié)構(gòu)程序,達到觸類旁通、舉一反三的效果,在設(shè)計該微課任務(wù)單時,安排的練習(xí)也是從簡單到復(fù)雜,在難易度上有一定的梯度,方便學(xué)生循序漸進的練習(xí)。該微課配套的學(xué)習(xí)資源主要有微視頻、課件、微課學(xué)習(xí)任務(wù)單。
附:任務(wù)單
微課學(xué)習(xí)任務(wù)單
【教學(xué)反思】
1.收獲
制作微課對于教師的個人專業(yè)化成長是有很大的幫助的。首先需要教師轉(zhuǎn)變教學(xué)理念,在教學(xué)過程中教師是真正的主導(dǎo)者,學(xué)生是學(xué)習(xí)的主體,現(xiàn)在的學(xué)習(xí)必須具有更高的實效性。本微視頻采用的是超級錄屏軟件結(jié)合power point 2007來制作的,實現(xiàn)起來比較簡單。通過此次微課的制作與實踐,筆者對于微課的概念有了進一步的理解,也熟悉了微課設(shè)計與制作的流程。在制作微課的過程中,為了制作微視頻,我還熟悉了微課制作的幾個小軟件,比如:超級錄屏、Camtasia Studio、屏幕錄像專家等。另外,在選題時,需要仔細斟酌,要思考選取哪個知識點來作為微課程的內(nèi)容,可以針對教學(xué)的難點,也可以針對教學(xué)的重點,在這個思考的過程中,又加深了教師對教材知識內(nèi)容的進一步理解。
當(dāng)然微課的受益者還是學(xué)生,由于選取的內(nèi)容出發(fā)點門檻比較低,從簡單的例子引到計算機程序,一定程度上幫助學(xué)生化解了學(xué)習(xí)的難度,提高對學(xué)習(xí)的自信心。另外本課程內(nèi)容有一定的實踐性,學(xué)生在學(xué)習(xí)的過程中也可以動手體驗,一定程度上也能提高學(xué)習(xí)者學(xué)習(xí)的參與度。有了微視頻、課件等教學(xué)資源,學(xué)生可以反復(fù)學(xué)習(xí)和使用,無論在課堂內(nèi)外,都能學(xué)習(xí),能幫助接受能力弱的同學(xué)慢慢學(xué),學(xué)會“知新”;能幫助所有同學(xué)重新回顧課堂上所講內(nèi)容,學(xué)會“溫故”。如果學(xué)生在課前提前預(yù)習(xí),教師上課的時間就可以主要花在讓學(xué)生對知識進行消化、吸收與促進上,課堂的形式可以有互動討論、答疑解惑等多種形式,而不是純粹的知識講解,這能讓學(xué)生的學(xué)習(xí)相對原來的傳統(tǒng)學(xué)習(xí)更具有有效性,一定程度上也幫助學(xué)生慢慢養(yǎng)成自主學(xué)習(xí)的習(xí)慣,使課內(nèi)學(xué)習(xí)與課外學(xué)習(xí)相互銜接,滿足學(xué)生的個性學(xué)習(xí)和共性學(xué)習(xí)。
此次微課實施后,從學(xué)生的微課任務(wù)單以及學(xué)生的反映來看,效果相對于傳統(tǒng)的教學(xué)都不錯,對學(xué)生的幫助還是比較大的。
2.不足
本微課雖然通過簡單通俗的例子把問題講清楚了,但是由于學(xué)習(xí)的內(nèi)容還不能直接作用于生產(chǎn)生活,在教學(xué)的實用性方面還有所欠缺。另外,內(nèi)容在激發(fā)學(xué)生學(xué)習(xí)的興趣方面還需要下功夫,還不能達到引人入勝的效果。
三、結(jié)束語
微課作為一種新型的學(xué)習(xí)形式和資源,無論對老師還是學(xué)生都是一種機遇,在C語言程序設(shè)計課程教學(xué)中,要真正做到增強學(xué)習(xí)效果,需要全面使用微課這種資源還需要開發(fā)系列化的微課程,形成本門課程的微課“資源庫”,并在教學(xué)實踐中逐步加以提高和完善,這也需要更多的時間和精力。本文是筆者在本門課程中的初次應(yīng)用,還存在許多的不足,需要不斷地完善和思考。
【參考文獻】
[1] 汪瓊. 微課關(guān)鍵在課不在微,《中國教育網(wǎng)絡(luò)》,2013(10).
[2] 黎加厚. 微課的含義與發(fā)展,《中小學(xué)信息技術(shù)教育》,2013(04).
[3] 陳磊、魏林. C語言課程中循環(huán)嵌套的微課教學(xué)設(shè)計與思考,《科教導(dǎo)刊》,2014(12).
篇6
關(guān)鍵詞:For語句 循環(huán)結(jié)構(gòu) 條件表達式
1、for語句的表達形式
for(表達式1;表達式2;表達式3),3個表達式的主要作用:表達式1設(shè)置初始條件,只執(zhí)行一次;表達式2循環(huán)條件表達式,用來判斷程序是否繼續(xù)執(zhí)行,在每次執(zhí)行循環(huán)體前先執(zhí)行此表達式,決定是否繼續(xù)執(zhí)行循環(huán)體;表達式3是對循環(huán)的調(diào)整,是在執(zhí)行完循環(huán)體后才進行的。所以我們可以對for語句這樣理解 for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量自增或自減)例如:
for(i=1;i
sum=sum+i;
其中i=1是給循環(huán)變量賦初值1,i
(1)for語句表達形式中的表達式1可以省略,但表達式1后邊的分號不能省略。例如:
for(;i
(2)for語句表達形式中的表達式2也可以省略,但表達式2后邊的分號不能省略。即不設(shè)置和檢查循環(huán)結(jié)束的條件。例如:for(i=1; ;i++) sum=sum+i;此時循環(huán)無終止的進行下去,也就說表達式2一直為真.
(3)表達式3也可以省略,但此時程序設(shè)計者應(yīng)另外設(shè)法保證循環(huán)能正常結(jié)束。
(4)表達式1和表達式3都沒有,只有表達式2,即只給出循環(huán)結(jié)束條件。對于沒有表達式1和表達式3的for循環(huán)語句,為了讓循環(huán)正常執(zhí)行,應(yīng)當(dāng)在for語句前給循環(huán)變量賦初值。 從此處我們可以看出for語句比while語句功能更強大,除了可以給出循環(huán)條件外,還可以賦初值,使循環(huán)變量自動增減等。
(5)表達式1、表達式2和表達式3都可以省略。例如:for(; ;) printf(“%d\\n”,i);
相當(dāng)于 while(1) printf(“%d\\n”,i);即就是不設(shè)初值,不判斷表達式2的條件(表達式2始終為真),不改變循環(huán)變量。這樣程序就無終止的執(zhí)行循環(huán)體語句。顯然這樣的程序是沒有任何價值的。
(6)表達式1可以是設(shè)置循環(huán)變量初值的賦值表達式,也可以是與循環(huán)變量無關(guān)的其他表達式。
例如:for(sum=0;i
(7)表達式1和表達式3可以是一個簡單的表達式,也可以是逗號表達式,即就是包含一個以上的簡單表達式,中間用逗號隔開。
如:for(sum=0,i=1,i
(8)表達式2一般是關(guān)系表達式(如i
①for(i=0;(ch1=getchar())!=’\\n’;i+=ch1);在表達式2中先從終端接收一個字符賦給ch1,然后判斷這個賦值表達式的值是否不等于‘\\n’(轉(zhuǎn)移字符 換行),如果不等于’\\n’,就執(zhí)行這個循環(huán)體,它完成的作用是不斷輸入字符,將他們的ASCⅡ碼相加,直到輸入一個“換行”符為止,程序結(jié)束執(zhí)行。這里我們要注意的是:此時for語句的循環(huán)語句為空語句,把本來要在循環(huán)體內(nèi)處理的內(nèi)容放在表達式3中,作用是一樣的,可見for語句功能的強大,可以再表達式中完成本來應(yīng)在循環(huán)體內(nèi)完成的操作。
②for(;((ch1=getchar())!=’\\n’;) printf(“%c”,ch1);這個for語句中只有表達式2,而無表達式1和表達式3.它的作用是每讀入一個字符后立即輸出該字符,直到輸入一個“換行”為止。
運行情況: Computer((輸入) Computer(輸出)。這里我們要注意的是:從終端鍵盤向計算機輸入時,是在按Enter鍵以后將一批數(shù)據(jù)一起送到內(nèi)存緩沖區(qū)去的。因此輸出結(jié)果不是CCoommppuutteerr,即不是從終端輸入一個字符馬上輸出一個字符,而是在按Enter鍵后數(shù)據(jù)才送入內(nèi)存緩沖,然后每次從緩沖區(qū)讀一個字符,再輸出該字符。
從上面的介紹我們可以看到,C語言的FOR語句使用非常靈活,變化多端。C語言的FOR語句比其他語言中的for語句靈活和強大的多。可以把循環(huán)體和一些循環(huán)控制無關(guān)的操作也作為表達式1和表達式3的出現(xiàn),這樣程序可以比較簡潔。
2、for語句的執(zhí)行過程
(1)先求解表達式1.
(2)再求解表達式2,如果表達式2為真,則執(zhí)行FOR語句中的循環(huán)體,然后執(zhí)行(3),如果為假,則循環(huán)結(jié)束,轉(zhuǎn)到第(5)步。
(3)求解表達式3.
(4)轉(zhuǎn)回步驟(2)繼續(xù)執(zhí)行。
(5)循環(huán)結(jié)束,執(zhí)行for語句下面的一個語句。
3.種循環(huán)的比較
(1) 在處理循環(huán)語句中,while、do-while和for 都可以用來處理同一個問題,一般情況下他們3個可以互換。
(2)在while循環(huán)和do-while循環(huán)中,只在while后面的括號內(nèi)指定循環(huán)條件,因此為了使循環(huán)能正常結(jié)束,應(yīng)在循環(huán)中包含使循環(huán)區(qū)域結(jié)束的語句。For循環(huán)可以在表達式3中包含使循環(huán)趨于結(jié)束的操作,甚至可以將循環(huán)體重的操作全部放到表達式3中。因此for語句的功能更強,凡是while循環(huán)能完成的,用for循環(huán)都能實現(xiàn)。
(3)用while和do-while循環(huán)時,循環(huán)變量初始化的操作應(yīng)在while和do-while語句之間完成。而for語句可以在表達式1中實現(xiàn)循環(huán)變量的初始化。
(4)while、do-while和for循環(huán),都可以用break語句跳出循環(huán),用continue語句結(jié)束本次循環(huán)。
4.種循環(huán)舉例:求1+2+3+……+100,即∑100n=1n
(作者單位:陜西國際商貿(mào)學(xué)院)
參考文獻:
[1]《電腦知識與技術(shù)》2009年第24期。
篇7
[關(guān)鍵詞]STC51 DHT11 LCD1602
中圖分類號:TP274 文獻標(biāo)識碼:A 文章編號:1009-914X(2016)24-0105-01
引言
溫度、濕度和人類的生產(chǎn)、生活有著密切的關(guān)系,同時也是工業(yè)生產(chǎn)中最常見最基本的工藝參數(shù),例如機械、電子、石油、化工等各類工業(yè)中廣泛需要對溫度濕度進行檢測與控制。隨著人們生活水平的提高,人們對自己的生存環(huán)境越來越關(guān)注,空氣中溫濕度的變化與人體的舒適度和情緒都有直接的影響,所以對溫度濕度的檢測及控制就非常有必要了。
1.總體方案設(shè)計
按照系統(tǒng)功能的具體要求,在保證實現(xiàn)其功能的基礎(chǔ)上,盡可能降低系統(tǒng)成本??傮w設(shè)計方案如圖1所示。從圖中可以看出,系統(tǒng)設(shè)計以STC51單片機為控制核心,包含微處理器模塊、DHT11溫濕度傳感器模塊、閾值設(shè)置模塊、1602字符液晶顯示模塊、報警模塊。
2.系統(tǒng)硬件設(shè)計
2.1 DHT11傳感器模塊接口電路設(shè)計
DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上。
DHT11傳感器與單片機采用單總線的方式進行通訊。由于測量范圍電路小于20米,在DHT11傳感器的DATA引腳接一個10K的上拉電阻后直接與51單片機的P2.0引腳連接。
2.2 1602液晶顯示模塊設(shè)計
液晶顯示原理是利用液晶物理特性, 通過電壓對其顯示區(qū)域控制,有電就有顯示,這樣即可以顯示出圖形。LCD1602液晶是一種工業(yè)字符型液晶,能夠同時顯示2行,每行16個字符。在本系統(tǒng)中,第一行顯示測量的溫度和濕度值,第二行顯示溫度上下限值和濕度上下限值。當(dāng)溫度或濕度超過設(shè)定范圍是,該測量值閃爍顯示。
LCD1602液晶顯示器與單片機采用并行通訊方式。單片機的P0口與LCD1602的8位雙向數(shù)據(jù)端即第7~14腳相連,單片機的P1.0~P1.2與LCD1602數(shù)據(jù)通訊控制口RS、RW、EN腳相連。
2.3 閥值設(shè)置和報警電路設(shè)計
該溫濕度測試儀閥值的設(shè)置通過按鍵來完成,設(shè)置內(nèi)容包括溫度上、下限和濕度上、下限四項內(nèi)容。設(shè)計了K1、K2、K3、K4四個按鍵。K1為設(shè)置鍵,該鍵按下進入設(shè)置狀態(tài),設(shè)置項閃爍顯示,再次按下此鍵退出設(shè)置狀態(tài);K2為切換鍵,按下K2切換設(shè)置的項目,設(shè)置項目在四個之間輪換;K3為加一鍵,按下該鍵設(shè)置值在原來的基礎(chǔ)上加一;K4為減一鍵,按下該鍵設(shè)置值在原來的基礎(chǔ)上減一。由于按鍵數(shù)量比較少,而且單片機I/O口資源充足,在本系統(tǒng)中采用獨立式按鍵接口設(shè)計,按鍵一腳接地,另一腳與單片機的P2.0~P2.3相連。
報警采用蜂鳴器鳴叫和指示燈閃爍來實現(xiàn),當(dāng)測量的溫度或濕度超過設(shè)定的上限或下限則發(fā)出報警。蜂鳴器和指示燈分別與單片機的P2.4、P2.5相連。單片機引腳的驅(qū)動電流比較小,不足以驅(qū)動蜂鳴器工作,因此采用三極管C9013驅(qū)動蜂鳴器發(fā)聲。
3.系統(tǒng)軟件設(shè)計
該溫濕度測試儀的軟件分模塊設(shè)計,包括主程序、鍵盤掃描處理程序、顯示程序、溫濕度測量處理程序、聲光報警程序組成。
3.1 主程序設(shè)計
該系統(tǒng)的主程序流程圖如圖2所示。系統(tǒng)上電后對單片機I/O口、LCD1602、溫濕度傳感器進行初始化設(shè)置。在主循環(huán)中單片機循環(huán)執(zhí)行讀取溫濕度傳感器的測量數(shù)據(jù),對測量數(shù)據(jù)進行處理計算得到當(dāng)前的溫度和濕度值;單片機執(zhí)行按鍵識別與處理程序;溫濕度及溫濕度的上下限送LCD1602顯示;測量的溫濕度值與閥值進行比較,如果超出閥值范圍則發(fā)出聲光報警。
3.2 傳感器模塊程序設(shè)計
DHT11作為新型的單總線溫濕度數(shù)字傳感器控制方便??偩€空閑狀態(tài)為高電平,主機把總線拉低等待DHT11響應(yīng),主機把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號。DHT11接收到主機的開始信號后,等待主機開始信號結(jié)束,然后發(fā)送80us低電平響應(yīng)信號。主機發(fā)送開始信號結(jié)束后,延時等待20-40us后, 讀取DHT11的響應(yīng)信號,主機發(fā)送開始信號后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。總線為低電平,說明DHT11發(fā)送響應(yīng)信號,DHT11發(fā)送響應(yīng)信號后,再把總線拉高80us,準(zhǔn)備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時隙開始,高電平的長短定了數(shù)據(jù)位是0還是1.格式見下面圖示.如果讀取響應(yīng)信號為高電平,則DHT11沒有響應(yīng),請檢查線路是否連接正常.當(dāng)最后一位數(shù)據(jù)傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高進入空閑狀態(tài)。
4 結(jié)論
本文在論述了溫濕度測試儀系統(tǒng)的總體設(shè)計方案,根據(jù)這個方案完成了系統(tǒng)的硬件和軟件設(shè)計、應(yīng)用程序的編寫及調(diào)試,經(jīng)實際運行驗證,取得了滿意的效果。
參考文獻
[1]張秀國.單片機C語言程序設(shè)計.北京大學(xué)出版社.2008。
篇8
1微課建設(shè)總體思路
如果需要將一門課程建設(shè)成微課程的形式到網(wǎng)上,讓更多的人方便學(xué)習(xí),需要做的第一步就是選題,,即站在一門課的整體內(nèi)容的角度,梳理整個框架,摘出課程中所有可以作為重點、難點或易錯點的知識點,作為微課選題的目標(biāo)范圍;第二步,是對每個串起來就能掌握整個課程內(nèi)容的知識點進行精心設(shè)計,包輯如何導(dǎo)人、如何展示、.如何交互等;第三步,根據(jù)設(shè)計結(jié)果,采用合適的制作工具,制作出一個一個小而精的微視頻,并配上學(xué)習(xí)任務(wù)單(與微課程配套的學(xué)案,主要包括學(xué)習(xí)目標(biāo)、學(xué)習(xí)資源、學(xué)習(xí)方法、學(xué)習(xí)任務(wù)、學(xué)習(xí)反思和后續(xù)學(xué)習(xí)預(yù)告),加上片頭片尾,那么,一個完整的微謀程系列就出爐了
2微課教學(xué)設(shè)計三部曲
在制作微視頻之前,先要進行微:課的教學(xué)設(shè)計,就像蓋樓一樣,要先對未來的大樓進行設(shè)計規(guī)劃,有了設(shè)計圖,下一步就可以按照設(shè)計圖施工了u同樣的道理,有了微課的設(shè)計結(jié)果,就可以按照這個結(jié)果制作微視頻了u如果你想做個精致、實用、符合教學(xué)規(guī)律的微課視頻甚至是系列,就需要前期做精心設(shè)計u傳統(tǒng)的教學(xué)方式是在一節(jié)課50分鐘或45分鐘之內(nèi)講解幾個知識點,包括導(dǎo)人、講授、活動、評價及小結(jié)等環(huán)節(jié),這些也同樣適用于微課,只是微課程只涉及1個知識點,時間在8分鐘之內(nèi)因此,微課教學(xué)更需要在財間、語言、展示、手段等方面進行精煉、精確和精彩的設(shè)計與安排,設(shè)計的越詳細越到位,將來的微視頻制作才更有的放矢u那么,針對一般敎學(xué)的導(dǎo)人、講授和小結(jié)三個環(huán)節(jié)來看看分別需要考慮哪方面的設(shè)計
2.1導(dǎo)入
在講授一個新知識點的內(nèi)容時需要通過某種方式介紹給學(xué)生,包括為什么要學(xué)習(xí)這方面的內(nèi)容(必要性),該內(nèi)容在什么情況下需要用到(情景或背景)等等u因此,導(dǎo)人的方式可以有問題導(dǎo)人、情景導(dǎo)人、故事導(dǎo)人、目標(biāo)導(dǎo)人等等具體采用哪種導(dǎo)人方式還要看內(nèi)容本身的需要,但不管哪種導(dǎo)人都要遵循時間短、簡明扼要、流暢銜接、目標(biāo)明確的特點,以符合微課小而精的碧求
2.2講授
將課程內(nèi)容導(dǎo)人之后,下一步就是以流暢的銜接方式進人講授環(huán)節(jié)u這個環(huán)節(jié)可以融人教師豐富的教學(xué)經(jīng)驗和個性的教學(xué)風(fēng)格,在有限的時間內(nèi)將知識點的主要內(nèi)容進行講解和展示4語言方面,盡量聞練、準(zhǔn)確、能風(fēng)趣幽默一些更好;思路要清晰明了;簡單的內(nèi)容點到為止不必啰嗦,復(fù)雜有難度的內(nèi)容可以用案例法、類比法、舉例法、演示法、操作法等教學(xué)方法以直觀、形象、通俗易懂的方式講解;展示手段可以用文字、表格、圖表、動畫、實物、實驗、截取視頻直播、現(xiàn)場操作等方式;對于啟發(fā)性教學(xué),還需要設(shè)計恰當(dāng)?shù)慕换キh(huán)節(jié)總之,教師在這個環(huán)節(jié)可以充分發(fā)揮自己的教學(xué)特長,如高超的內(nèi)容組織編排能力、一流的口才、強大的動手操作能力、豐富的想象力、時間的把控力等。
2.3小結(jié)
最后用1分鐘或半分鐘的時間對整個知識點內(nèi)容做一個簡短的小結(jié),包括重點、難點、易錯點的總結(jié)、步驟思路的梳理、課后思考或內(nèi)容引申等,主要是起到點睛或提綱挈領(lǐng)的作用u這個環(huán)節(jié)雖然簡短,但卻必不可少。
3微課教學(xué)設(shè)計實例
以《C語言程序設(shè)計課程中“數(shù)組與指針”一節(jié)中的“用指針訪問一維數(shù)組”知識點給出具體的微課設(shè)計實例供同行參考下面具體展示該設(shè)計實例主要包括的幾個部分。
3.1選題意圖
“用指針訪問一維數(shù)組”知識點是該課程的“指針”一章中的教學(xué)重點和.教學(xué)難點,指針和數(shù)組不僅是C語言中的兩種重要數(shù)據(jù)類型,也是C++、C#等其他竄言中必備的數(shù)據(jù)類型,而且在實際編程中因指針訪問數(shù)組對于提升算法的空間效率和時間效率效果顯著,因此,如果將該知識點做成微課形式,貝不但提升授課效果,而且可以服務(wù)學(xué)生的課后鞏固復(fù)習(xí),幫助學(xué)生強化二者的基:本概念、使用操作及應(yīng)用技巧,為學(xué)生在今后的編程過程中提升和優(yōu)化軟件功能奠定基礎(chǔ)u
3.2教學(xué)目標(biāo)
教學(xué)目標(biāo)包括:①領(lǐng)悟理解用指針訪問一維數(shù)組的好處;②識別記憶如何定義指向數(shù)組元素的指針變量并賦值;③簡單應(yīng)用方面,能夠用指針訪問一維數(shù)組元素來實現(xiàn),如比較大小、排序、矩陣操作等u
3.3教學(xué)過程及設(shè)計意圖
該過程共需6分鐘,分7步進行,具體見圖3~6該過程按照前面所述的導(dǎo)人、講授、小結(jié)的順序進行設(shè)計,并在講授環(huán)節(jié)使用了多種教學(xué)法
3.4設(shè)計亮點
該實例的設(shè)計亮點有5個:①在導(dǎo)人和講授環(huán)節(jié)融人了多達9種的教孛方法,尤其在講授環(huán)節(jié),采用溫故知新法引出需要的前期知識即一維數(shù)組和指針變量的定義,然后使用陳述法并穿插對比法和歸納法說明指向一維數(shù)組的指針變量的賦值與引用方法,有了這個基礎(chǔ),下一步就是如何應(yīng)用了u因此使用舉例法結(jié)合圖示法說明應(yīng)用過程,之后采用列舉法說明注意事項,這樣,主要知識點都講授完畢,花一點時間做個小結(jié)梳理,從思路上將應(yīng)用要點串一遍,形成4匡架知識(歸納法),最后,為了讓學(xué)生加深對下標(biāo)法和指針法表示數(shù)組元素的區(qū)別理解,設(shè)計一個練習(xí)題和一個思考題加以鞏固(練習(xí)法);②本知識點的選取原則既考慮到內(nèi)容的重點性和難點性,叉考慮到該知識點對后續(xù)知識學(xué)習(xí)的鋪墊功能;③媒體選擇了圖示法和程序法,將課件中的部分內(nèi)容直接展示于此,有利于描述的直觀性和簡潔性;④在互動環(huán)節(jié)設(shè)計了課堂絳習(xí)和思考題;⑤梳理了整個教學(xué)過程框架:問題導(dǎo)人->講授:先概念、后使用、再應(yīng)用->小結(jié):梳理重點和思路。
4結(jié)束語
篇9
人物語錄:或許對于他人來說,軟件編程是一件復(fù)雜且需要無限耐心的工作。但對于我來說,軟件編程是一件非常有趣的事情,特別是在解決程序中某個BUG的時候,所體驗到的成就感是無法用言語描述的。
不知是因為日常生活太平凡,還是因為人們的思維易于停滯,大多數(shù)人總是善于“習(xí)慣”。因習(xí)慣,而“視若無睹”;因習(xí)慣,而“毫無創(chuàng)新”。 羅曼?羅蘭曾說過:“唯有創(chuàng)造才是快樂,只有創(chuàng)造的生靈才是生靈?!弊鳛檐浖こ處煹年惤?,大概就是一位如上所說的“生靈”。在筆者與其談到為何要以“孤膽”作為自己的網(wǎng)名時,這位低調(diào)的軟件工程師說:“ ‘孤膽’其實是我在學(xué)生時代為了轉(zhuǎn)換心情而玩的一個游戲。在那個時候,我就憧憬自己可以成為一名擁有孤膽膽魄,但不封閉自我內(nèi)心的人?!?/p>
“”曾經(jīng)瘋狂的快樂時光
雖然筆者與陳杰是第一次交談,但完全沒有感到拘束或是無法順暢交流的壓迫感。在交談中,陳杰興奮的說起上學(xué)時候的事,“在上學(xué)時,我的學(xué)習(xí)成績處于中等偏上,一旦學(xué)習(xí)起來,就會完全置入其中。記得有一次寫項目,早上7點我就起床開始敲代碼,一直到晚上10點,除了去了幾趟廁所,我基本上就沒有離開過電腦。午飯也是請人送來的,那段日子我非常地瘋狂,也許那段時光是我為數(shù)不多的快樂時光?!标惤茉谡f這句話的時候,他自己或許并沒有發(fā)覺到,他的語氣與神情中,正透露出他品質(zhì)中某種堅定的意念,也正是由于這樣的意念令他在將來的軟件編程的工作中,感到樂趣無窮。
原本,陳杰在大學(xué)期間所學(xué)的專業(yè)是機電一體化,畢業(yè)后,學(xué)校將其分配到合作單位――中國核工業(yè)建設(shè)集團做技術(shù)員。在回憶那段經(jīng)歷時,陳杰的語氣中顯露出成熟?!暗谝环莨ぷ鞯攸c是在深圳的一個郊區(qū),每天坐著班車來回。由于去市區(qū)一趟要來回6、7個小時,因此,大多數(shù)休息時間我都是在宿舍里度過的。在這家公司里,我的工作職責(zé)是負責(zé)核電站內(nèi)設(shè)備的安裝,具體主要是負責(zé)電氣隊一組施工材料的申請;核實倉庫到貨情況;與不同部門協(xié)調(diào)、溝通等。第一份工作我大概做了1年,就主動辭職了。因為我覺得再這樣下去,只是在無意義的消耗自己的生命。人生的成長難道不是在于不斷地前進嗎?我對自己主動辭職這件事情,一點也不后悔。”
便捷的“奢華”源自幕后英雄
結(jié)束了第一份工作,陳杰來到了南京,經(jīng)過一段時間的考慮后,他決定到北大青鳥學(xué)習(xí)軟件工程。當(dāng)筆者問其在軟件工程的學(xué)習(xí)中最大的樂趣是什么時,陳杰笑著說,“學(xué)習(xí)軟件工程的樂趣在于,計算機能夠按照我的指示做出相應(yīng)的反應(yīng)?!?/p>
軟件工程培訓(xùn)課程結(jié)束后,陳杰成功進入一家500強企業(yè),總公司位于德國,中國總部位于上海。新的工作,新的工作職責(zé),對于陳杰來說,意味著新的挑戰(zhàn)與機遇?!霸谛鹿纠铮业墓ぷ髦饕歉鶕?jù)項目經(jīng)理的設(shè)計實施開發(fā)。我還清晰得記得,有一次需要改一個業(yè)務(wù)需求,當(dāng)我拿到這個需求之后,發(fā)現(xiàn)其中的代碼有不少問題,改了兩天也沒有搞定,最后,我重構(gòu)了那個業(yè)務(wù)需求的代碼。同事知道后說真佩服我的勇氣,因為我所重構(gòu)的業(yè)務(wù)需求中所包含的代碼真的十分多,并且還需要理解原先的開發(fā)者思路。但我個人認為,比起不斷地給程序打補丁,重構(gòu)代碼更有長遠意義?!?/p>
在說起新工作時,筆者發(fā)現(xiàn)陳杰顯得很活潑,而不再是之前他自稱的“低調(diào)”。在談?wù)摰叫鹿ぷ鞯某删蜁r,陳杰表示說:“軟件工程師其實是一份十分需要耐心與技術(shù)的工作。說到這份工作的成就,我會不自主地聯(lián)想到‘幕后英雄’這個詞來?!?/p>
交談中,陳杰很興奮地向筆者介紹了時下熱門的電子購物方式的“隱秘”。他說,“喜歡網(wǎng)絡(luò)購物的人都知道淘寶商城,便捷且安全的購物模式越來越受到人們的青睞。但其實,普通大眾都只是看到最表面的東西,即見即所得的東西。買家拍下的某個訂單是如何出現(xiàn)在賣家的后臺,賣家后臺中的多個訂單又是如何高效運作等這類問題,我相信大多數(shù)人都沒有考慮過。但這些問題恰恰是我作為軟件工程師的工作?!?/p>
作為一名“風(fēng)頭正勁”的職場奮斗者,陳杰說了自己的從業(yè)體會:“自從成為了軟件工程師,我學(xué)會用簡單的方法解決復(fù)雜的問題。這一點對于是否能夠成為優(yōu)秀的軟件工程師是尤為重要的。因為一段簡潔、清晰的代碼將可使程序使用者感受到更為舒適、快捷的操作體驗?!?/p>
大多數(shù)人都知道,軟件工程師是一份十分枯燥的工作,一定要耐得住寂寞才能有所作為。陳杰對此深有體會,在采訪即將結(jié)束時,他告訴筆者,“每天面對著如蝌蚪般的代碼,是一件非常鍛煉人的事情。除此之外,與領(lǐng)導(dǎo)通過郵件溝通這項日常工作也非常能鍛煉人,因為你要非常清晰地描述自己已經(jīng)做的工作,在工作中發(fā)現(xiàn)的問題,以及解決這些問題的方法。若一個人不具有清晰的邏輯思維,很容易將郵件寫的雜亂無章,直接影響工作效率?!?/p>
期待和自己喜歡的人牽手同行
在對陳杰采訪結(jié)束后的當(dāng)天晚上,他給筆者發(fā)了一份與上司溝通的郵件。郵件的內(nèi)容如陳杰之前所說的一樣,邏輯思維十分清晰,不同重點與注意事項也用不同的顏色標(biāo)注了出來。在郵件的末尾處,陳杰說:“比起名牌的大學(xué)畢業(yè)生,我可能微不足道。但是我相信,每個人都有只屬于他的閃光點,而人的一生就如走在旅途中尋找自我的閃光點一般,不斷地向前邁進。作為一名軟件工程師,我感到很充實,以自己踏實、積極的上進心不斷地向前邁進。我有一個小小的希望,就是能夠在南京買一套房子,與自己喜歡的人住在里面,朝著共同的目標(biāo),一起努力下去?!?/p>
專業(yè)Tips:
軟件工程專業(yè)簡介:軟件工程師是對應(yīng)用軟件、創(chuàng)造軟件的人們的統(tǒng)稱。軟件工程師按照所處的領(lǐng)域不同可以分為系統(tǒng)分析員,軟件設(shè)計師,系統(tǒng)架構(gòu)師,程序員,測試員等。目前,我國軟件高級人才的短缺已經(jīng)成為制約我國軟件產(chǎn)業(yè)快速發(fā)展的一個瓶頸。在中國,國內(nèi)市場對軟件人才的需求每年高達80萬人,而高校計算機畢業(yè)生中的軟件工程人才還很缺乏,尤其是高素質(zhì)的軟件工程人才極度短缺。
篇10
【關(guān)鍵詞】 野外;監(jiān)護儀;便攜
在當(dāng)今的醫(yī)療領(lǐng)域中,無論診斷還是護理工作,都越來越依賴于儀器設(shè)備的輔助。在大多數(shù)醫(yī)院中,床旁監(jiān)護儀都是不可或缺的基礎(chǔ)設(shè)施?,F(xiàn)代的監(jiān)護儀發(fā)展十分迅速,然而,針對病房監(jiān)護設(shè)計的監(jiān)護儀,追求大屏幕,高清晰,高精確度,多功能,模塊化插件,乃至工業(yè)設(shè)計,外觀裝潢,不可避免的存在體積大,重量大,搬運不便,易受物理損壞,脫離電源后工作時間有限等問題。
而在野外急救,維穩(wěn)處突,部隊衛(wèi)勤保障方面,卻恰恰需要一款重量輕,體積小,結(jié)實耐用,持續(xù)工作時間長的監(jiān)護設(shè)備。
鑒于此,可以認為,在野外的特殊條件下,對監(jiān)護儀的要求重點在于解決有和無的問題,而非花樣繁多的附加功能。從這個前提出發(fā),分析現(xiàn)有監(jiān)護儀體積過大的原因,主要有三點。
1.為便于查看,顯示屏設(shè)計的很大。
2.因為顯示屏和電路板的高耗電,不得不配備體積和重量都較大的電池。
3.因為過大的顯示屏和美觀需要,不得不使用遠大于裝載電路板需要的機殼。
借助日新月異的電子技術(shù),分別在屏幕,處理器,機械工作部件,電池,以及機體結(jié)構(gòu)上下功夫,并且采取特殊的節(jié)電設(shè)計,是可以得到符合要求的便攜式監(jiān)護儀的。
1 硬件設(shè)計
處理器方面,使用低功率16位RISC混合信號處理器的MSP430, 在保持低功率的同時,得以能同步連接至模擬信號傳感器,模擬信號和數(shù)字組件。針對將來設(shè)備小型化、便攜化的趨勢,該單片機專門對功耗方面做了優(yōu)化。作為一款16位單片機,它又具備了遠高于8位處單片機的運算和處理能力。
整個系統(tǒng)則分為四個部分。
1.輸入設(shè)備:包括電極片,袖帶及壓力傳感器,血氧飽和探頭等傳感器,和醫(yī)務(wù)人員操作裝置。
2.轉(zhuǎn)換部分,包括數(shù)據(jù)采集,過濾干擾,A/D轉(zhuǎn)換(模擬信號/數(shù)字信號轉(zhuǎn)換)。
3.運算處理部分。
4.輸出部分,包括屏幕,報警燈,揚聲器。
2 輸入設(shè)備
此類采用市場上現(xiàn)有成熟設(shè)備,在操作設(shè)備方面,則應(yīng)考慮到野外條件和耐用,省電等理由,使用傳統(tǒng)的按鈕式操作。
3 轉(zhuǎn)換部分
該部分由五個不同的模塊組成,實現(xiàn)對探頭輸入模擬信號的接收,轉(zhuǎn)化,放大工作。
4 心電檢測
采用現(xiàn)通用的三電極胸部檢測方法。由于傳感器探頭外接,引線較長,所以心電檢測容易受到外部干擾。而心電信號比較微弱,在探頭信號必需放大處理,所以采用輸入阻抗高、漂移低的運算放大器作為第一級放大。過濾掉干擾之后再對信號進行二次放大,再經(jīng)過波形變換電路后,直接送入單片機的模擬信號輸入口,再利用單片機內(nèi)置的16位模數(shù)轉(zhuǎn)化器,將模擬信號轉(zhuǎn)化為數(shù)字信號,即提取了心率信號,可用于屏顯和儲存。
5 血壓測量
參考第三軍醫(yī)大學(xué)學(xué)報上的文章《一片8Xc196 mc 單片機的便攜式多參數(shù)監(jiān)護儀的研制》,血壓參數(shù)可以采用無創(chuàng)袖套間接方式來檢測,其檢測原理選用先進的振動法(Oscillometric method) [1,2]通過單片機控制的氣泵和電磁閥,我們可以實現(xiàn)血壓的定時自動檢測。具體方法是用一個壓力傳感器在袖帶放氣過程之中同時檢測袖帶的靜壓及脈搏波的變化情況。
6 體溫測量
溫度傳感器選用集成數(shù)字溫度傳感器LM92,它耗電低,分辨率高,在10℃~50℃之間最大誤差僅有0.5℃。它采用串行的方式直接輸出12位數(shù)字信號,不占用單片機的A/D轉(zhuǎn)化器資源,數(shù)據(jù)可以直接由單片機處理,可靠性高,是測量體溫的理想芯片。
7 呼吸頻率測量
由于使用單片機內(nèi)置的A/D轉(zhuǎn)化器,所以呼吸頻率的測量不像體溫測量一樣直接由探頭發(fā)出數(shù)字信號,所以選用四電極恒流源電阻橋法來測量呼吸頻率,由交流恒流源輸出100 kHz 的正弦波信號對呼吸信號進行調(diào)制處理,在本儀器內(nèi)部對調(diào)制信號放大,解調(diào),濾波,即可得到較為完美的呼吸信號。然后輸入單片機的模擬輸入口,再利用單片機內(nèi)置的16位模數(shù)轉(zhuǎn)化器,將模擬信號轉(zhuǎn)化為數(shù)字信號,可用于屏顯和儲存。
8 血氧飽和度
根據(jù)郎伯比爾定律采用光電技術(shù)測定。鑒于現(xiàn)有探頭技術(shù)已很成熟,故選用普通血氧探頭在此不做贅述。設(shè)置定時電路以控制LED發(fā)光次序,并將檢測到的光電信號轉(zhuǎn)換為電壓信號,經(jīng)放大,濾波,信號基線電平變換和去直流分量等信號調(diào)理過程后,輸出至具有自動增益調(diào)整功能的電壓/電流轉(zhuǎn)換電路,然后由積分電路對信號積分,最后用A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號。為加強信號質(zhì)量,可配備masimo血氧飽和度套件過濾噪聲影響。
9 運算處理部分
由于MSP430F42X系列單片機僅有三對模擬信號輸入口,而測量的模擬信號超過三種,因些需要采用分時技術(shù)對模擬信號輸入口進行復(fù)用。如系統(tǒng)原理圖所示,通過一片74LS138 h芯片進行譯碼,將三位單片機接口的狀態(tài)字轉(zhuǎn)化為8個端口,在某個時間點只有一個端口輸出為高電平1,代表與此端口連接的功能模塊工作,其余端口均為0,與其相連的功能模塊不工作。由于單片機的運算速度很快,因此感覺不到監(jiān)控參數(shù)是分時測量的。
軟件使用C語言進行開發(fā)。C語言具有實時性高,編寫效率較匯編語言高,易讀易維護的特點,并且相關(guān)的調(diào)試技術(shù)也很成熟,是開發(fā)單片機系統(tǒng)的理想語言。
基于上述的硬件設(shè)計,由軟件定時,使某個時間點只測量某一個參數(shù),具體測量參數(shù)調(diào)用相應(yīng)的子程序進行測量,再將測量數(shù)據(jù)匯集到相應(yīng)的儲存和顯示參數(shù)上。
10 輸出設(shè)備
屏幕方面,使用分辨率為640×480像素的彩色液晶屏,可以提供豐富的色彩。按鈕采用加大設(shè)計,方便在野外或是移動過程中使用,減少誤按率。配置背光,便于在黑暗中查看。
由于顯示屏尺寸較小,同屏只顯示心電波形和兩參數(shù),所以設(shè)置切換開關(guān),可手動切換,也可自動每10 s切換一次。
屏幕耗電較大,為解決這個問題,屏幕具備兩種模式,在通常模式下,屏幕常亮,用于對需要連續(xù)觀測的重癥患者監(jiān)護,在省電模式下,屏幕常滅,工作人員可手動點亮屏幕,30 s無操作自動熄滅。在屏幕熄滅的情況下,監(jiān)護儀依然在工作,依然能儲存患者信息可供醫(yī)護人員以后查看,并且在出現(xiàn)異常情況時能報警并自動點亮屏幕。
11 功耗和電源
根據(jù)TI的官方資料,MSP430F42X在工作模式下消耗電流僅400 μA,而待機模式更是低至1.6微安。液晶顯示屏工作電流約為200 mA(帶背光)充氣泵工作時消耗電流500 mA,工作1 min,停止4 min??梢暈檫B續(xù)工作電流為100 mA。
其他傳感器工作電流總和不超過100 mA,因此整個儀器最大連續(xù)工作電流不超過500 mA。本儀器采用4芯鋰電池并聯(lián)供電,電池規(guī)格為3.7V 6000 mAH,在整機以最大功耗工作時,工作時間應(yīng)不低于12 h??紤]到電池老化,在充放電大約600次之后電池容量將下將一半,但此時連續(xù)工作時間仍不低于6 h。足以滿足大多數(shù)情況需要,更遠優(yōu)于市面上現(xiàn)行監(jiān)護儀1.5~2 h的工作時間。
12 體積體積和重量
由于采用了大規(guī)模集成電路,并且盡可能地利用了單片機內(nèi)部的集成器件和功能,使得元件較少,可以大大縮小電路板尺寸,降到150 mm×80 mm。顯示屏,電路板,電池三者采取重疊的布局,長寬均可保持在180 mm×90 mm以內(nèi)。
為防止野外使用時的摔落和碰撞,外殼應(yīng)加入一定緩沖的空隙。并在外殼與原件之間布設(shè)減震裝置。整個儀器的體積最終應(yīng)在200 mm×100 mm×50 mm左右,重量500 g左右?;緦崿F(xiàn)了小巧,便攜,耐用的初衷。同時,在外殼設(shè)計上,對顯示屏,按鈕,電線接口的易損部件,采取內(nèi)凹式設(shè)計予以保護。
13 結(jié)論
該設(shè)備具備以下功能:①ECG顯示與測量功能:信號采集時可實時顯示心電波形和心率,并可存儲1 min 的ECG波形數(shù)據(jù),存儲的ECG波形可重放、凍結(jié)、水平滾動,并可通過光標(biāo)對ECG波形的幅度、相關(guān)時間進行測量。②血壓測量:其測量范圍為0~250 mm Hg(0~33.33 kPa),可同時檢測收縮壓、平均壓、舒張壓三個血壓指標(biāo)。③呼吸頻率:測量范圍0~100 次/ min。④體溫:測量范圍0℃~60℃,精度0.1℃。⑤趨勢圖顯示功能:可顯示24 h 內(nèi)的心率、血壓(收縮壓、平均壓、舒張壓) 、體溫、呼吸頻率,血氧飽和度的趨勢圖。
該機可由醫(yī)護人員隨身放置,可配備掛扣,扣于腰帶上攜行,需要數(shù)量較多時,可以大批裝箱運送,在使用過程中,可以用簡易支架放置于任意平臺,也可掛扣于擔(dān)架等處。配備完善裝具時,可以充分發(fā)揮,小,靈,輕,便的優(yōu)勢,提供醫(yī)護人員所需最基本的生理指征。同時,記錄的生理數(shù)據(jù),也可以在返回后方醫(yī)院時作為醫(yī)生判斷的依據(jù)。無論是在自然災(zāi)害,戰(zhàn)場救護,野外衛(wèi)勤保障方面,都有著廣泛的用途和顯著的作用。
參 考 文 獻
[1] 王成,張劍戈,李斌,錢明理,黃盺編著.醫(yī)療儀器原理.上海交通大學(xué)出版社,2008.
[2] 沈建華, 楊艷琴, 翟驍曙編著. MSP430系列16位超低功耗單片機原理與應(yīng)用. 北京:清華大學(xué)出版社,2004.
[3] 張晞, 王德銀, 張晨編著. MSP430系列單片機實用C語言程序設(shè)計. 北京:人民郵電出版社,2005.
[4] 魏小龍編著. MSP430系列單片機接口技術(shù)及系統(tǒng)設(shè)計實例. 北京:北京航空航天大學(xué)出版社,2002.