公務(wù)員期刊網(wǎng) 精選范文 c語言程序設(shè)計實例范文

c語言程序設(shè)計實例精選(九篇)

前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的c語言程序設(shè)計實例主題范文,僅供參考,歡迎閱讀并收藏。

c語言程序設(shè)計實例

第1篇:c語言程序設(shè)計實例范文

關(guān)鍵詞:C語言程序設(shè)計 教學(xué)方法 實踐

中圖分類號:TP312.1 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2013)06-0168-02

1 引言

C語言是國際上廣泛流行的計算機高級語言,自1972年問世以來,以其功能強大、使用靈活,既可用于編寫應(yīng)用軟件,又能用于編寫系統(tǒng)軟件的特點得到迅速推廣[1]。以我院電氣工程系生產(chǎn)過程自動化技術(shù)專業(yè)為例,它是很重要的一門專業(yè)基礎(chǔ)課,一般安排52學(xué)時左右(包括上機實驗),通過該課程的學(xué)習(xí),學(xué)生不僅能夠掌握程序設(shè)計的一些基本方法和技巧,也為后續(xù)課程的學(xué)習(xí)打下基礎(chǔ)。但現(xiàn)階段非計算機專業(yè)的C語言教學(xué)不容樂觀,為了激發(fā)學(xué)生的學(xué)習(xí)興趣,在近幾年的實際教學(xué)中不斷進(jìn)行探索和實踐,得到一些有益的啟示。

2 存在問題

2.1 學(xué)習(xí)不主動,學(xué)習(xí)方法不科學(xué)

近幾年高校擴(kuò)招緣故,高職學(xué)生基礎(chǔ)下降,自我控制能力和自我約束能力較差,對學(xué)習(xí)沒有興趣。特別是對于非計算機專業(yè)的學(xué)生認(rèn)為這門課程不重要,學(xué)習(xí)時課前不預(yù)習(xí),上課注意力不集中,只是機械的聽老師講課,課堂上也不做筆記,課后也不及時復(fù)習(xí)[2],這樣的惡性循環(huán)造成了學(xué)生對C語言越學(xué)越不會的局面。

2.2 教學(xué)方法單一,降低了學(xué)習(xí)興趣

在傳統(tǒng)的C語言整個教學(xué)過程中,教師始終處于主導(dǎo)地位,學(xué)生只是被動的接受知識,再加之教師只是一味地給學(xué)生灌輸C語言的語法知識,而忽略了編程,學(xué)生處于一種“學(xué)完忘完”的現(xiàn)象。教學(xué)內(nèi)容的枯燥,教學(xué)方法的單一,學(xué)生難以發(fā)揮學(xué)習(xí)的主動性和積極性,降低了學(xué)習(xí)興趣。

3 改進(jìn)方法

3.1 課堂多互動,調(diào)動學(xué)生學(xué)習(xí)興趣

傳統(tǒng)的教學(xué)主要以教師講授為主,學(xué)生只是被動的接受,我們學(xué)院一節(jié)課課時長達(dá)100分鐘,學(xué)生很難集中注意力,不能主動的去分析問題、解決問題。在講課的同時,教師可以通過提問---回答---講解的方式使學(xué)生注意力集中,還可以通過分組、進(jìn)行小組討論,讓學(xué)生處于主體,提高學(xué)生興趣,活躍課堂氣氛,調(diào)動學(xué)生積極性。

3.2 教學(xué)方法和手段的改革

3.2.1 從問題入手,進(jìn)行啟發(fā)式教學(xué)

傳統(tǒng)的教學(xué)過程是先介紹基本概念,再講解語法知識,然后圍繞語法知識進(jìn)行舉例,最后上機編程運行。對于高職學(xué)生來說,邏輯思維比較差,對于純理論的東西缺乏興趣。在教學(xué)過程中要精心設(shè)計各種問題,把教學(xué)內(nèi)容巧妙地隱含在每個任務(wù)中,讓學(xué)生帶著任務(wù)和問題去學(xué)習(xí)[3]。比如在講數(shù)組時先提出問題:如何編寫程序來計算全班同學(xué)的平均成績?這個時候?qū)W生進(jìn)入思考過程,能力強一些的甚至試圖動手寫出程序。但由于之前只學(xué)過變量,程序中變量設(shè)置過多,比較麻煩,這個時候,教師可以引出一批相同類型的數(shù)據(jù)應(yīng)該怎么解決-----數(shù)組的概念,最終成功解決問題。

3.2.2 作業(yè)布置循序漸進(jìn),由易到難

教師在布置作業(yè)時,要能夠滿足學(xué)生的成就心理,以鼓勵的方式進(jìn)行作業(yè)設(shè)置。也就是說在作業(yè)布置時應(yīng)該從簡單入手,必要時給出提示或相似的例子,由易到難提高作業(yè)難度,這樣可以增強學(xué)生自信心,進(jìn)而解決更難的問題。例如在利用循環(huán)的嵌套打印圖形組合的作業(yè)中,作業(yè)題目由易到難可以做如下布置。

這個題目在先前題目的基礎(chǔ)上,進(jìn)一步提高了難度,由有規(guī)律變換變成了無規(guī)律變換的圖形組合,學(xué)生通過本題目的練習(xí)有意識的會拆分圖形,把無規(guī)律變換成為有規(guī)律變換,對知識融會貫通,成功解決問題。

由此可見,從所學(xué)知識的簡單應(yīng)用到復(fù)雜推廣,可在逐步增加難度的題目中逐漸提高學(xué)生的應(yīng)用能力。

3.2.3 理論與實踐相結(jié)合,提高學(xué)生實踐能力

C語言程序設(shè)計這門課程是實踐性較強的課程,不僅要學(xué)習(xí)理論知識,更重要的是要學(xué)以致用,利用所學(xué)到的知識編寫程序解決實際問題。在上機過程中,學(xué)生可以通過編譯軟件掌握程序的編寫、調(diào)試、運行。在具體的操作中,發(fā)現(xiàn)問題、解決問題。本專業(yè)理論與實踐課比是2:1,一般兩次理論課后安排一次上機,這樣學(xué)生可以吧課堂上的理論知識通過編譯軟件進(jìn)行練習(xí),進(jìn)一步驗證程序的可執(zhí)行行。這樣不但能培養(yǎng)學(xué)生動手能力,還能培養(yǎng)學(xué)生獨立思考能力,理論與實踐相結(jié)合,提高學(xué)習(xí)的質(zhì)量和效率。

4 結(jié)語

總之,在C語言程序設(shè)計的教學(xué)過程中,要努力提高學(xué)生對該課程的學(xué)習(xí)興趣和學(xué)習(xí)熱情,在教學(xué)方法和手段上不斷進(jìn)行改革,加強實踐動手能力。C語言的教學(xué)改革是一項長期的過程,需要我們不斷改進(jìn)、不斷完善,只有堅持不懈的探索實踐,才能達(dá)到更好的效果。

參考文獻(xiàn)

[1]譚浩強.C語言程序設(shè)計.北京:清華大學(xué)出版社,2010.2-6.

第2篇:c語言程序設(shè)計實例范文

[關(guān)鍵詞]知識認(rèn)知導(dǎo)航C語言程序設(shè)計

中圖分類號:G71文獻(xiàn)標(biāo)識碼:A文章編號:1671-7597(2009)1210102-02

一、引言

C語言作為計算機程序設(shè)計的基礎(chǔ)課程,對于培養(yǎng)學(xué)生基本程序設(shè)計思路的地位不可撼動。對于C語言來說,教學(xué)的最終目的是讓學(xué)習(xí)者能夠熟練的利用相關(guān)軟件編譯C語言程序。然而,據(jù)具體教學(xué)實踐來看,這一教學(xué)目標(biāo)的實現(xiàn)情況并不樂觀。

究其原因,就課程特點來說,C語言課程體系結(jié)構(gòu)嚴(yán)密,需要記憶并靈活運用的知識點多,程序設(shè)計邏輯性強、靈活度高。作為程序設(shè)計的初學(xué)者,在有限的課時內(nèi)不易掌握相關(guān)知識。就學(xué)生的學(xué)習(xí)行為來說,學(xué)生對C語言課程的學(xué)習(xí)具有盲目性,沒有構(gòu)建出學(xué)科的知識結(jié)構(gòu),而這正是問題所在的關(guān)鍵。

為了克服這樣一種不良的教學(xué)境況,本文設(shè)計出了一個以知識認(rèn)知導(dǎo)航理論為基礎(chǔ)的C語言課程的教學(xué)改良方法。

二、知識認(rèn)知導(dǎo)航理論概述

知識認(rèn)知導(dǎo)航是遵照學(xué)科的知識結(jié)構(gòu)特點和學(xué)習(xí)者的認(rèn)知特點,為學(xué)習(xí)者的學(xué)習(xí)提供一種引導(dǎo)。

知識是相對穩(wěn)定的、具有特定結(jié)構(gòu)的體系,對知識的學(xué)習(xí)是不能改變這種結(jié)構(gòu)的。為此合理的知識結(jié)構(gòu)有利于知識的靈活運用,有利于促進(jìn)進(jìn)一步的學(xué)習(xí)。對于學(xué)習(xí)者,在接觸一個新的學(xué)科領(lǐng)域時,首先是以接受性學(xué)習(xí)為主,在對該學(xué)科的知識結(jié)構(gòu)明確的基礎(chǔ)上據(jù)個人的實際情況來確定具體的學(xué)習(xí)目標(biāo)和學(xué)習(xí)路徑,然后再從點滴學(xué)起,建構(gòu)完整的知識結(jié)構(gòu)。所以人的學(xué)習(xí)首先是由大到小的細(xì)化過程,然后是由小到大的建構(gòu)過程。前一個過程主要依賴于過程的引導(dǎo),后一個過程則受外界引導(dǎo)和自身領(lǐng)悟力兩者的影響。而在實際的學(xué)習(xí)中,這兩個過程是并列交替進(jìn)行的。在整個學(xué)習(xí)過程中,教師以引導(dǎo)者、促進(jìn)者的身份出現(xiàn),而不是知識的灌輸者。

基于上述人們對知識的認(rèn)知特點,如果能夠建立起一個可以引導(dǎo)人們對專業(yè)領(lǐng)域知識進(jìn)行認(rèn)識、學(xué)習(xí)的導(dǎo)航系統(tǒng),則可以將整個學(xué)科的知識內(nèi)容、分化關(guān)系、層次結(jié)構(gòu)、發(fā)展動向以及前沿最新研究等清晰地展示給學(xué)習(xí)者,使得學(xué)習(xí)者能夠在該系統(tǒng)上確立自己的知識層次、認(rèn)知位置和最鄰近發(fā)展區(qū),并且為學(xué)習(xí)者的具體學(xué)習(xí)提供引導(dǎo)作用。

知識認(rèn)知導(dǎo)航以學(xué)習(xí)導(dǎo)航和對知識框架的認(rèn)識為核心,其學(xué)習(xí)過程如圖1所示。

圖1知識認(rèn)知導(dǎo)航學(xué)習(xí)過程

從圖1中可以看出,學(xué)習(xí)者是經(jīng)過學(xué)習(xí)、定位、知識結(jié)構(gòu)變化、再學(xué)習(xí)這樣一個不斷循環(huán)的過程中實現(xiàn)知識的積累和構(gòu)建的。

可見知識認(rèn)知導(dǎo)航的目的就是:使學(xué)習(xí)者能始終認(rèn)清位置、認(rèn)清方向,并引導(dǎo)學(xué)習(xí)者及時糾正偏差,保證學(xué)習(xí)能沿著正確的方向前進(jìn)。

三、基于知識認(rèn)知導(dǎo)航理論的C語言課程教學(xué)方案設(shè)計

(一)構(gòu)建課程知識體系的知識認(rèn)知導(dǎo)航圖

知識認(rèn)知導(dǎo)航圖屬于知識地圖的一種形式。知識地圖的概念最早是由情報學(xué)家布魯克斯于20世紀(jì)80年代初提出的,他認(rèn)為人類的知識結(jié)構(gòu)可以繪制成各個單元概念為結(jié)點的學(xué)科認(rèn)識圖,體現(xiàn)知識之間的聯(lián)系和獲取途徑,以幫助用戶知道在什么地方能夠找到知識的管理工具。

對于C語言課程來說,專業(yè)的理論知識,各知識點連貫性強,其較強的邏輯性思維,使得初學(xué)者很容易一頭霧水,無從下手。為此作為一門課程的引導(dǎo)者,教師必須在學(xué)習(xí)者學(xué)習(xí)這門課程之前將該課程的知識體系以一個簡單明了的結(jié)構(gòu)視圖展現(xiàn)在學(xué)習(xí)者面前。通過對該課程的知識背景、結(jié)構(gòu)框架及內(nèi)容之間的相互聯(lián)系等的講解,使學(xué)習(xí)者的頭腦中先搭建一個整體的知識框架,以后的學(xué)習(xí)就是往這個框架中填充的過程。知識框架的搭建,為本門課程的學(xué)習(xí)確定了總體方向,學(xué)習(xí)者就可以從整體中去把握學(xué)習(xí)過程中的重點難點,以防止在錯綜復(fù)雜的知識體系中迷失方向。

由于學(xué)習(xí)者的個體差異,不同學(xué)習(xí)者的知識結(jié)構(gòu)是不一樣的。因此,構(gòu)建知識體系的知識認(rèn)知導(dǎo)航圖也為學(xué)習(xí)者在學(xué)習(xí)之初的自我定位提供了一個很好的依據(jù)。

圖2《C語言程序設(shè)計》知識認(rèn)知導(dǎo)航圖

針對C語言這一門課程而言,就可以其課程特點,按照一般學(xué)習(xí)者的知識的認(rèn)知過程、特點以及獲取知識的先后順序,構(gòu)建出一個C語言課程的知識認(rèn)知導(dǎo)航圖。

圖2是以知識的生長、分化為主線,以所學(xué)知識的應(yīng)用先后來劃分層次的,該圖僅畫出了學(xué)習(xí)該課程中的幾個主要過程,其余部分均被省略。

在該圖中,縱向箭頭表示計算機技術(shù)的一個大的發(fā)展過程,同時也是該課程理論學(xué)習(xí)的總順序。橫向聯(lián)系表示在不同的階段所需要學(xué)習(xí)的相關(guān)內(nèi)容,并且標(biāo)出部分內(nèi)容在整個課程中的地位。教師可以以這樣一個導(dǎo)航圖為基礎(chǔ),在詳細(xì)介紹課程之前,提綱挈領(lǐng)的將本課程的整體框架、各個知識點的相互關(guān)系以及該課程的發(fā)展講述給學(xué)習(xí)者。同時也可以以該圖為基礎(chǔ),以知識測試的方式,通過讓學(xué)習(xí)者進(jìn)行若干相關(guān)知識的測試,得到不同學(xué)習(xí)者的已有知識成分,使得教師掌握學(xué)習(xí)者的第一手知識結(jié)構(gòu)資料,以便后繼教學(xué)的因材施教;也使得學(xué)習(xí)者能夠清晰地知道自己在該課程中已經(jīng)學(xué)習(xí)過哪些內(nèi)容,還有哪些沒有學(xué)習(xí)過,為后繼學(xué)習(xí)指明了方向。

構(gòu)建課程知識體系的知識認(rèn)知導(dǎo)航圖,可以完整地體現(xiàn)本課程的總體知識結(jié)構(gòu),并且按照知識的生長、分化為主線,以知識在本課程的應(yīng)用先后來劃分層次,將原本雜亂的基礎(chǔ)知識編織成一個相互關(guān)聯(lián)的知識網(wǎng)絡(luò),使教師與學(xué)習(xí)者都能夠清晰的掌握該課程的結(jié)構(gòu),為教與學(xué)提供了一個便捷的知識傳播與獲取的路徑。

(二)單類知識體系視圖化

對于C語言程序設(shè)計來說,僅從圖2便可以看出該課程的所涉及知識相當(dāng)專業(yè),所包含的內(nèi)容相當(dāng)繁復(fù),僅僅為學(xué)習(xí)者提供一個課程的總體框架是不能滿足的,也不利于學(xué)習(xí)者去掌握該課程中分支知識的具體內(nèi)容,此時,還需要為學(xué)習(xí)者提供單類知識的知識體系導(dǎo)航圖,為學(xué)習(xí)者詳細(xì)的描述出該知識點的分類、應(yīng)用及常見案例等。然而將單類知識從課程總體框架中分離并不意味著將該知識點獨立,而是為了讓學(xué)習(xí)者在掌握該知識詳細(xì)內(nèi)容的前提下,逐步構(gòu)建該課程理論體系的結(jié)構(gòu)圖。通過單類知識體系的視圖化,在將單個知識點清晰地展現(xiàn)給學(xué)習(xí)者,便于其深入了解該知識點的同時,也為學(xué)習(xí)者對感興趣的內(nèi)容進(jìn)行進(jìn)一步的學(xué)習(xí)指明了方向。因此,單類知識體系視圖的構(gòu)建,是教師為學(xué)習(xí)者提供知識深層學(xué)習(xí)的有效手段,也是教師在備課與講授的時候所要注意的地方。

(三)利用項目驅(qū)動法建立階段學(xué)習(xí)效果定位機制

知識認(rèn)知導(dǎo)航圖,不但要為學(xué)習(xí)者提供一個有效便捷的學(xué)習(xí)路徑,還要為學(xué)習(xí)者的學(xué)習(xí)效果進(jìn)行及時的測試定位,即將學(xué)習(xí)者的學(xué)習(xí)過程視圖化。這樣,便于教師與學(xué)習(xí)者了解學(xué)習(xí)者的學(xué)習(xí)情況,從而為進(jìn)一步的教與學(xué)提供參考依據(jù)。

項目驅(qū)動法,就是師生通過共同實施一個完整的項目工作而進(jìn)行的教學(xué)活動。這種方法可以很好的測試出學(xué)生的學(xué)習(xí)情況,并明確地定位出學(xué)生對于知識的掌握程度。

對于C語言課程本身來說,項目驅(qū)動法是測試學(xué)生學(xué)習(xí)效果的最佳方法。為此,通過結(jié)合課程知識體系的知識認(rèn)知導(dǎo)航圖與單類知識體系視圖,利用項目驅(qū)動教學(xué)法可以構(gòu)建階段學(xué)習(xí)效果定位機制。首先,以單類知識體系視圖為結(jié)點,通過構(gòu)建相關(guān)知識的測試題庫,根據(jù)題目的難易程度,以及測試者的測試成績,可以直接獲取學(xué)習(xí)者的結(jié)點學(xué)習(xí)情況;其次,以課程知識體系的知識認(rèn)知導(dǎo)航圖,構(gòu)建課程的階段性測試題庫,結(jié)合上述結(jié)點的測試題(尤其是學(xué)習(xí)者做錯的題),通過測試可以提供學(xué)習(xí)者階段性的學(xué)習(xí)情況;最后,利用具體的程序項目,對學(xué)習(xí)者的綜合能力進(jìn)行測試,提供學(xué)習(xí)者對知識的整體把握情況。這樣通過結(jié)點測驗、階段測驗與綜合項目測試相結(jié)合,為學(xué)習(xí)者與教師提供了最為直接的學(xué)習(xí)情況參數(shù),從而為進(jìn)一步的教與學(xué)提供了參考依據(jù)。

四、用項目驅(qū)動法完善知識體系

如前所述,C語言程序設(shè)計這一課程特點是要將所學(xué)知識應(yīng)用于實際。知識認(rèn)知導(dǎo)航理論可以為學(xué)習(xí)者構(gòu)建一套完整的理論體系,但是針對具體的應(yīng)用,則要求學(xué)習(xí)者需要豐富的實踐經(jīng)驗、創(chuàng)新意識和團(tuán)隊精神,而項目驅(qū)動法正好能夠很好的訓(xùn)練學(xué)習(xí)者的這些能力。它將教師從知識認(rèn)知導(dǎo)航中的引導(dǎo)者變成了知識的統(tǒng)籌者,將學(xué)習(xí)者從構(gòu)建知識網(wǎng)變成使用知識網(wǎng),讓學(xué)習(xí)者變成了認(rèn)知的主體,真正實現(xiàn)學(xué)以致用。利用項目驅(qū)動法,結(jié)合軟件工程流程,通過具體項目的設(shè)計、實施、控制、評價,可以很好的鞏固學(xué)習(xí)者的知識點,激發(fā)學(xué)習(xí)者的自學(xué)興趣,明確學(xué)習(xí)目的,實現(xiàn)學(xué)習(xí)者由被動學(xué)習(xí)轉(zhuǎn)為主動學(xué)習(xí),進(jìn)一步完善學(xué)習(xí)者的知識結(jié)構(gòu)體系,同時也有利于教師對學(xué)習(xí)者知識掌握程度的評價。

五、結(jié)束語

以知識認(rèn)知導(dǎo)航理論為基礎(chǔ)的教學(xué)方法,通過構(gòu)建知識認(rèn)知導(dǎo)航圖,建立有效的階段學(xué)習(xí)效果定位機制,可以將繁雜的知識聯(lián)系在一起,將課程知識結(jié)構(gòu)和學(xué)習(xí)者的學(xué)習(xí)過程視圖化,便于教與學(xué),同時也為教師與學(xué)習(xí)者及時掌握學(xué)習(xí)情況提供了參考依據(jù)。在學(xué)習(xí)過程中結(jié)合項目驅(qū)動教學(xué)法為學(xué)習(xí)者的學(xué)習(xí)效果進(jìn)行定位,有利于知識的結(jié)構(gòu)化,為教與學(xué)的改進(jìn)與深化提供了很好的參考模式。

參考文獻(xiàn):

[1]苗英愷、陳佳,“知識認(rèn)知導(dǎo)航圖”在教育中的應(yīng)用初探[J].教育信息化,2006.2.

第3篇:c語言程序設(shè)計實例范文

關(guān)鍵詞:C語言;程序設(shè)計;循環(huán)結(jié)構(gòu);教學(xué)方法

中圖分類號:G642文獻(xiàn)標(biāo)識碼:A

1引言

“C語言程序設(shè)計”是計算機系各專業(yè)的必修課程,屬專業(yè)主干課,是一門學(xué)位課程。也是各高校部分非計算機專業(yè)開設(shè)的程序設(shè)計課程之一。本課程開設(shè)的目的是使學(xué)生掌握面向過程的程序設(shè)計的基本概念,逐步形成正確的程序設(shè)計思想,理解結(jié)構(gòu)化程序設(shè)計方法;掌握程序設(shè)計的基本技術(shù),程序設(shè)計的基本組織方法即函數(shù)(模塊)程序設(shè)計;具備調(diào)試程序的能力。因為C語言功能強大,程序編寫靈活,具有較強的實踐性,是一門高級語言中的“低級語言”,既可以用來編寫系統(tǒng)軟件,又可以用來開發(fā)應(yīng)用軟件,因此對學(xué)生以后參與專業(yè)領(lǐng)域的應(yīng)用軟件的開發(fā)和使用會有極大的幫助。C語言是結(jié)構(gòu)化的語言,學(xué)好C語言程序設(shè)計,能為后續(xù)課程(數(shù)據(jù)結(jié)構(gòu)、編譯原理、操作系統(tǒng)、C++、Java等)及其他程序設(shè)計課程的學(xué)習(xí)打下基礎(chǔ)。同時,C語言程序設(shè)計也是計算機類各種考試所要求的重點課程之一。

2循環(huán)結(jié)構(gòu)程序設(shè)計

結(jié)構(gòu)化程序設(shè)計中包含三種基本技術(shù):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)的程序設(shè)計是學(xué)生學(xué)習(xí)了結(jié)構(gòu)化程序設(shè)計的前兩種基本技術(shù)之后的第三種基本技術(shù),是結(jié)構(gòu)化程序設(shè)計技術(shù)中最重要也是最難的部分。這門課程一般都是學(xué)生學(xué)習(xí)程序設(shè)計的入門課程,第一次學(xué)習(xí)循環(huán),可能難于理解“循環(huán)”的含義,在設(shè)計程序時正確使用循環(huán)也就更困難了。針對這些特點,循環(huán)結(jié)構(gòu)程序設(shè)計的教學(xué)方法和教學(xué)手段也就值得探討。

3循環(huán)結(jié)構(gòu)程序設(shè)計的教學(xué)方法

3.1教學(xué)重點和難點

要想學(xué)生能夠輕松理解和掌握循環(huán)結(jié)構(gòu)的程序設(shè)計,首先得確定本部分內(nèi)容的重點和難點。

本部分的重點主要是:(1)循環(huán)控制結(jié)構(gòu)及其設(shè)計。(2)循環(huán)控制語句的應(yīng)用。教學(xué)重點是循環(huán)控制語句中的while語句,只要把while語句的使用講解清楚了,后面的for語句和do-while語句就容易多了。

本部分的難點是循環(huán)控制結(jié)構(gòu)及其設(shè)計。

3.2突出教學(xué)重點與分散難點的方法

為了突出教學(xué)中的重點并分散難點,可以從三方面入手:

(1) 從分析問題的重復(fù)性入手。學(xué)生在日常的生活、學(xué)習(xí)中能看到、體會到重復(fù)這種行為。精心設(shè)計實例,給學(xué)生一個比較實際的切入點,通過教師的引導(dǎo),使學(xué)生能體查、歸納“重復(fù)行為”,從而理解和掌握循環(huán)的主要特點:有規(guī)律地重復(fù)操作。在教師的啟發(fā)、引導(dǎo)下,使學(xué)生在課堂上真正地成為“主體”,教師扮演“主導(dǎo)”角色。在整個過程中,緊緊抓住循環(huán)程序設(shè)計的思想,采用“自頂向下,逐步求精”的結(jié)構(gòu)化程序設(shè)計方法,把重點突出出來,并把難點進(jìn)行分散,使學(xué)生容易理解和接受。

(2) 難點內(nèi)容,提前做好鋪墊。在前面內(nèi)容適當(dāng)?shù)牡胤桨才懦霈F(xiàn)循環(huán)程序,但不講它的功能,為講解現(xiàn)在的內(nèi)容做好鋪墊,打下伏筆。這使得學(xué)生的每一步學(xué)習(xí)都有基礎(chǔ),是一個循序漸進(jìn)的過程,使學(xué)生的學(xué)習(xí)是在“走臺階”,而不是“三級跳”,效果很好。

(3) 在循環(huán)程序設(shè)計的應(yīng)用中,可以從簡單公式化的循環(huán)入手到復(fù)雜非公式化的循環(huán)的處理。講解過程中,通過黑板進(jìn)行詳細(xì)分析和講解,使學(xué)生加深學(xué)習(xí)和理解。適當(dāng)?shù)牡胤竭M(jìn)行提問,教師引導(dǎo)學(xué)生積極參與到分析問題,解決問題的過程中,寫出程序后,放到實際的環(huán)境下運行,讓學(xué)生來分析程序的正確性,改正程序的錯誤,有利于學(xué)生理解難點、掌握重點。

3.3教學(xué)過程的設(shè)計與組織

(1) 提出問題

本部分的內(nèi)容是循環(huán)程序設(shè)計,體現(xiàn)在兩個方面,一是循環(huán)結(jié)構(gòu)程序設(shè)計的算法表示;二是循環(huán)結(jié)構(gòu)程序的C語言表示。循環(huán)程序設(shè)計是結(jié)構(gòu)化程序設(shè)計中最難、最復(fù)雜的部分,而授課對象是初次接觸程序設(shè)計和循環(huán)結(jié)構(gòu),因此循環(huán)的引入就至關(guān)重要。例如:通過引入求5!這個簡單的例子,運用已經(jīng)學(xué)過的順序結(jié)構(gòu)程序設(shè)計就可以實現(xiàn);但是求復(fù)雜的階乘,比如20!,任意自然數(shù)n!,用已經(jīng)學(xué)過的順序結(jié)構(gòu)程序設(shè)計和選擇結(jié)構(gòu)程序設(shè)計就難于解決,要用簡單的方法解決這樣的問題,就必須使用結(jié)構(gòu)化程序設(shè)計中的第三種基本技術(shù):循環(huán)結(jié)構(gòu)的程序設(shè)計。這樣就輕松地引入了循環(huán)結(jié)構(gòu)程序設(shè)計。在引入的過程中,要注重調(diào)動學(xué)生的積極性,采用互動教學(xué)法帶動學(xué)生的積極性。

(2) 解決問題的方法及講授新內(nèi)容

在用問題引入了循環(huán)后,第一步,分析用循環(huán)控制結(jié)構(gòu)求20!的算法的自然語言和流程圖表示。第二步,為了實現(xiàn)這種循環(huán)控制行為,C語言提供了多種循環(huán)控制語句,while語句就是其中的一種,介紹while語句的一般形式和功能。第三步,講解while循環(huán)語句的應(yīng)用。在講解的過程中,為了提高學(xué)生的學(xué)習(xí)效果,達(dá)到預(yù)期的目標(biāo),除了采用常用的教學(xué)方法和手段外,還可以采用以下一些教學(xué)方法和手段:

① 注重啟發(fā)、引導(dǎo)學(xué)生。教師在講解分析時,注重啟發(fā)、引導(dǎo)學(xué)生主動分析問題、解決問題。

② 注重采用任務(wù)驅(qū)動的教學(xué)模式。通過提出問題,分析問題,引入新知識,解決問題,總結(jié)提高,一步步實現(xiàn)教學(xué)的目標(biāo)。

③ 采用國際上慣用的解析教學(xué)法。

④ 把編寫的程序放到實際環(huán)境下運行。讓學(xué)生來分析程序的正確性,改正程序的錯誤,有利于學(xué)生掌握好重點、難點知識。

⑤ 應(yīng)用現(xiàn)代化多媒體教學(xué)手段,有利于提高教學(xué)效率,便于學(xué)生理解。充分利用黑板和投影相結(jié)合的方式;分析過程用黑板進(jìn)行教學(xué),以便體現(xiàn)思維過程。

4結(jié)束語

要使學(xué)生輕松容易地理解和掌握C語言中的循環(huán)結(jié)構(gòu)程序設(shè)計方法和技巧,必須在教學(xué)的所有環(huán)節(jié)上都進(jìn)行認(rèn)真研究和精心設(shè)計。通過對循環(huán)結(jié)構(gòu)程序設(shè)計的教學(xué),使學(xué)生提高綜合應(yīng)用的能力,為今后的后續(xù)課程及軟件的設(shè)計和開發(fā)打下堅實的基礎(chǔ)。

參考文獻(xiàn):

[1] 徐慶生.C語言程序設(shè)計[M].北京:科學(xué)普及出版社,2007.

[2] 高牧,楊志強,許蘭蘭,等. C/C++教學(xué)改革的探索與實踐[J]. 計算機時代,2005(11).

The Design and Discussion of Programming Course of Iteration Structure Pedagogical

in C Programming Language

SUN Ying, XU Shun-qiong, LI Xing-mei

(Department of Computer Science, Chuxiong Normal University, Chuxiong 675000, China)

第4篇:c語言程序設(shè)計實例范文

【關(guān)鍵字】 XML Dataset DataTable 存儲數(shù)據(jù)

隨著C#的流行,C#越來越為廣大開發(fā)人員所接受。我們都知道,C#的開發(fā)不僅需要掌握其基本的原理,更要多實踐,從實踐中獲取真正的開發(fā)本領(lǐng)。在我們的實際開發(fā)中,往往基本的原理滿足不了開發(fā)需求,作為一名教師,在長期的教學(xué)以及項目開發(fā)中,我總結(jié)出了下面小技巧,希望對大家的開發(fā)有所裨益。

一、C#中讀取XML到Dataset最簡單的方法

C#其實是支持讀取XML到Dataset的,但是可能直接讀取效率不是特別的高。如果你的XML非常小的話,那么用這種方法再合適不過了。

使用方法:

using System.Data;

using System.Xml;

………………………….

DataSet myds=new DataSet();

myds.ReadXml(“yourxmlfilepath.xml”);

DataTable mytable=new DataTable();

mytable= myds.Tables[0];

String something;

something = mytable.Rows[1]["name"].ToString().Trim();

textBox1.Text=something;

That’s it.

二、C#中得到文件夾下文件

C#封裝了很多類,可以直接使用,對獲取本機資源提供了很大的便利。

String FPath=at“D:\CSharp\” ;//at表示后面的特殊字符都不是轉(zhuǎn)義字符,而按照特殊字符對待

System.IO.DirectoryInfo MyDir = new System.IO.DirectoryInfo(FPath);//得到文件夾信息

foreach (System.IO.FileInfo MyFile in MyDir.GetFiles(“*.mp3″))//得到mp3文件

{

String FName = MyFile.Name;//得到文件名, MyFile.FullName是帶路徑的文件名

// 對文件進(jìn)行處理

}

三、在C#中使用DataTable存儲數(shù)據(jù)

說DataTable之前應(yīng)該先說說DataSet,DataSet其實是存儲在內(nèi)容中的一個關(guān)系數(shù)據(jù)庫,是一個數(shù)據(jù)表的集合,一個DataTable就是DataSet中的一個關(guān)系數(shù)據(jù)表,了解關(guān)系數(shù)據(jù)庫的話對此應(yīng)該很容易理解。

類:DataTable

命名空間:System.Data

System.Data.DataTable MyTable = new System.Data.DataTable(“Files”);

創(chuàng)建了一個名為Files的數(shù)據(jù)表,這個數(shù)據(jù)表對象的名字叫做MyTable。剛創(chuàng)建的數(shù)據(jù)表沒有屬性列和記錄,需要我們進(jìn)行添加:

MyTable.Columns.Add(“OriginalFileName”,

System.Type.GetType(“System.String”));

在數(shù)據(jù)表中創(chuàng)建一個名為 OriginalFileName類型為String的屬性列,使用相同方法可以添加其他的屬性列。添加完屬性后就可以使用DataRow添加記錄:

DataRow MyDr = MyTable.NewRow();

MyDr["OriginalFileName"] =“從頭再來-劉歡”;

MyTable.Rows.Add(MyDr);

使用相同的方法可以添加其他的記錄。添加完畢后就可以對其進(jìn)行操作:

for(int m=1;m

{

for (int n = 1; n

{

String Content= MyTable.Rows[m - 1][ n - 1].ToString().Trim();

}

}

希望上述技巧能對大家的實際開發(fā)帶來真正的方便!總之,C#的開發(fā)是一個長期的工作,從基礎(chǔ)開始,把握好一些技巧的應(yīng)用,相信通過您的努力,一定能開發(fā)出有創(chuàng)意的C#程序!

參考文獻(xiàn):

[1] 孫印杰 楊滔 呂書琴 ,《+SQL SERVER動態(tài)網(wǎng)站 設(shè)計實例精解》,北京,電子工業(yè)出版社,2009年

[2] 譚浩強,《C#程序設(shè)計》,北京,清華大學(xué)出版社,2008年

[3] 朱秀英,朱愛彬,《C#程序設(shè)計題解與實驗指導(dǎo)》,北京,中 國人民大學(xué)出版社,2009年

[4] 趙喜清,李思廣,《C語言程序設(shè)計》,北京,中國農(nóng)業(yè)科學(xué)技 術(shù),2008年

第5篇:c語言程序設(shè)計實例范文

關(guān)鍵詞:震動;語音;超聲波;導(dǎo)盲

引言

目前市場上的導(dǎo)盲裝置,如:導(dǎo)盲機器人、導(dǎo)盲犬、GPRS導(dǎo)盲定位等,這些成本都很高而且像導(dǎo)盲犬不易于練習(xí)。但超聲波能夠很好的對障礙物進(jìn)行檢測且檢測距離較遠(yuǎn),而且設(shè)備成本較低,便于攜帶。文章用一個超聲波傳感器檢測前方障礙物,同時利用ISD1730語音芯片快速語音播報。實時提示前方障礙物的距離,為使用者提供安全保障。

1 系統(tǒng)概述

本設(shè)計以AT89C51單片機為核心,實現(xiàn)超聲的發(fā)送、接收、處理、顯示及語音播放及聲光提示功能。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)框圖

2 硬件設(shè)計

本系統(tǒng)硬件電路包括超聲發(fā)射與接收模塊、語音模塊、顯示電路、光電提示電路和震動模塊五大部分。

2.1 超聲發(fā)射與接受模塊

結(jié)合本設(shè)計所要求的檢測范圍,選用HC-RS04模塊實現(xiàn)超聲發(fā)射與接收。該模塊采用TRIG觸發(fā)測距,性能穩(wěn)定,測度距離精確,盲區(qū)小。HC-RS04模塊與AT89C51單片機的連接電路如圖2所示。

圖2 超聲模塊與單片機連接電路圖

2.2 震動模塊

震動模塊主要是通過偏振電機實現(xiàn),其電路圖如圖3所示。

2.3 顯示電路以及光電提示電路

本設(shè)計由LCD1602顯示屏顯示當(dāng)前與障礙物的距離。 LCD1602與單片機的連接圖4所示。光電提示電路由單片機控制其IO口實現(xiàn)指示燈閃爍,如圖5所示。

2.4 isd1730語音模塊

本系統(tǒng)采用ISD1730 優(yōu)質(zhì)語音芯片。ISD1730不僅有錄放功能,還有快進(jìn)、擦除、音量控制、直通放音和復(fù)位等功能。這些功能通過按鍵就可完成。在按鍵模式時,芯片可以通過/LED 管腳給出信號來提示芯片的工作狀態(tài),并且伴隨有提示音,用戶也可自定4種提示音效。本系統(tǒng)采用SPI工作方式,電路如圖6所示。

3 軟件設(shè)計

本系統(tǒng)的軟件設(shè)計是在C51編程的基礎(chǔ)之上采用了模塊化設(shè)計和子程序嵌套技術(shù)。主要實現(xiàn)超聲發(fā)射、接收、信號處理、語音控制、震動、顯示以及光電提示等功能。主程序流程圖如圖7所示:

4 結(jié)束語

文章介紹的具有語音功能的超聲導(dǎo)盲儀,將超聲模塊和震動模塊結(jié)合。既有語音提示功能,又能在觸感上警示,有效地解決了盲人導(dǎo)航的問題,為盲人提供安全保障。該導(dǎo)盲儀具有高精度、語音可自行錄制、使用方便,具有很大的推廣價值。

參考文獻(xiàn)

[1]李麗霞,在超聲測距中的應(yīng)用[J].電子技術(shù),2002(6).

第6篇:c語言程序設(shè)計實例范文

【關(guān)鍵詞】溫濕度;監(jiān)測系統(tǒng);主控電路;PIC

目前,大部分常用的溫濕度監(jiān)測系統(tǒng)是以晶體管電路或51單片機為核心部件,再配以相應(yīng)的傳感器和A/D轉(zhuǎn)換電路組成的溫度和濕度實時監(jiān)測系統(tǒng)。這樣的系統(tǒng),在實際工作中存在諸如在線調(diào)節(jié)不方便、數(shù)字化和智能化程度較低等缺點。

因此,本文研究了基于PIC16F877A單片機的蔬菜大棚溫濕度監(jiān)測系統(tǒng)相關(guān)技術(shù),對主控電路進(jìn)行了改進(jìn),提出了相應(yīng)的對策和解決方案。

1 設(shè)計思路

通常情況下,溫室內(nèi)的溫度和濕度對作物的影響巨大。如若要使得這些植物在非本季節(jié)處于較佳的生長狀態(tài),就必須嚴(yán)格控制溫室內(nèi)的溫濕度。而不同類別的植物,所需溫濕度也不盡相同。嚴(yán)格監(jiān)測和控制溫室內(nèi)溫度和濕度環(huán)境參數(shù),能夠有效保障植物時刻處于較佳的生長狀態(tài),有利于提高生產(chǎn)質(zhì)量和產(chǎn)量。

首先,本文分析了溫室溫濕度監(jiān)測系統(tǒng)基本原理和性能要求,針對農(nóng)業(yè)生產(chǎn)所使用的普通MCU與PIC系列PIC16F877A進(jìn)行性能比較,對優(yōu)化主控電路做出理論依據(jù),并提出相應(yīng)的優(yōu)化方案和整改對策。然后,分析了目前農(nóng)業(yè)生產(chǎn)所使用的模擬量傳感器和直插式數(shù)字傳感器進(jìn)行性能差異,從非電和電兩個方面著手對影響溫濕度監(jiān)測精度及可靠性的原因進(jìn)行分析,并在優(yōu)化的主控電路。最后,采用了以PIC16F877A對直插數(shù)字集成式溫濕度傳感器DHT11進(jìn)行循環(huán)控制,達(dá)到對蔬菜大棚溫濕度實時監(jiān)控的目的[1]。

2 硬件電路設(shè)計

本文選用DHT11作為溫濕度環(huán)境信號監(jiān)測系統(tǒng)的主要傳感器件。DHT11數(shù)字溫濕度傳感器含有已校準(zhǔn)數(shù)字信號輸出,包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連,具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強、性價比極高等優(yōu)點。DHT11傳感器的校準(zhǔn)系數(shù)以程序的形式存在OTP內(nèi)存中,傳感器內(nèi)部在檢測型號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,非常適合溫室內(nèi)的溫度和濕度環(huán)境參數(shù)信號監(jiān)測系統(tǒng)的技術(shù)特點[2]。

本設(shè)計利用DHT11直插式數(shù)字溫濕度傳感器對蔬菜大棚溫濕度進(jìn)行實時監(jiān)測,并把實測溫濕度值實時顯示在LCD1602上,可以通過鍵盤設(shè)定溫濕度極限值,如果實測溫濕度超過設(shè)定極限值,則進(jìn)行LED或者蜂鳴器報警操作。

基于PIC16F877A單片機的蔬菜大棚溫濕度監(jiān)測系統(tǒng)主控電路如圖1所示,監(jiān)測過程大體如下:當(dāng)產(chǎn)品上電時,PIC16F877A與DHT11傳感器通訊,當(dāng)PIC做好數(shù)據(jù)接收準(zhǔn)備時,DHT11通過單總線將數(shù)據(jù)發(fā)到至PIC,最后再由PIC將處理過的檢測數(shù)據(jù)發(fā)送至LCD1062進(jìn)行顯示,從而達(dá)到蔬菜大棚溫濕度的實時檢測。在此基礎(chǔ)上,用戶可以通過按鍵輸入溫濕度極限值,對溫濕度報警值進(jìn)行設(shè)定,之后以達(dá)到峰值超標(biāo)自動報警的目的。

3 主函數(shù)初始化和外部中斷流程圖設(shè)計

我們對需要的特殊寄存器進(jìn)行初始化后,使其進(jìn)入while循環(huán),等待外部中斷。

①初始化

初始化函數(shù)包括了系統(tǒng)初始化函數(shù)sys init();,LCD初始化函數(shù)lcd_init();等。系統(tǒng)初始化函數(shù)主要是對外部中斷的I/O口,和使能端進(jìn)行設(shè)置[3]。LCD初始化函數(shù)lcd_init();主要是多LCD的I/O口進(jìn)行方向設(shè)置,LCD指令輸入等操作。如圖2所示,對主函數(shù)進(jìn)行初始化設(shè)計。

如圖3所示,本文對中斷入口和外部信號進(jìn)行了設(shè)置,使得設(shè)計的主控電路能夠更好的響應(yīng)其他優(yōu)先級更高的事件,從而完成了外部中斷流程的設(shè)計。

從上述設(shè)計的主控電路來看,本文在對傳統(tǒng)主控程序進(jìn)行分析后,才給出基于PIC16F877A的溫濕度監(jiān)測系統(tǒng)主控程序的設(shè)計,并設(shè)計主要模塊的流程圖。不難看出,通過PIC單片機設(shè)計監(jiān)測系統(tǒng)的主控電路,能夠使得整個監(jiān)測系統(tǒng)的主要部分實現(xiàn)模塊化設(shè)計,這將有利于系統(tǒng)將來的升級改造,并降低了整個程序復(fù)雜度,使程序設(shè)計、調(diào)試和維護(hù)等操作簡單化。從而使得整個監(jiān)測系統(tǒng)相對與傳統(tǒng)的監(jiān)測系統(tǒng)而言,能夠體現(xiàn)出智能化、數(shù)字化的特點。

【參考文獻(xiàn)】

[1]孫安青.PIC單片機實用C語言程序設(shè)計與典型實例[M].北京.中國電力出版社,2008:21-31.

第7篇:c語言程序設(shè)計實例范文

關(guān)鍵詞:單片機;教學(xué)改革;課程體系

中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B

文章編號:1672-5913(2007)18-0125-02

在嵌入式系統(tǒng)中單片機仍然占有重要的地位,各高校的相關(guān)專業(yè)大都開設(shè)有單片機原理及應(yīng)用的課程。筆者在長期教學(xué)過程中感覺到,要想培養(yǎng)的學(xué)生適應(yīng)、滿足社會需要的能力,有必要對教學(xué)的內(nèi)容和方法進(jìn)行一些改革,在本文中對此進(jìn)行了一些思考和探索。

1問題提出

目前社會對于嵌入式系統(tǒng)的開發(fā)人才需求量大,涉及面廣,但學(xué)生在校期間雖然學(xué)習(xí)了相關(guān)的課程,卻難以勝任開發(fā)工作。究其原因是缺乏實際運用知識的能力。

嵌入式系統(tǒng)中使用的MCU種類繁多,有8位、16位的,也有32位的。有普通的單片機,也有DSP和ARM。僅就8位的單片機來講,也有眾多的系列。顯然,學(xué)校的教學(xué)不可能也不必要對這些全部進(jìn)行講授,更何況新的MCU還會不斷的出現(xiàn)。我們認(rèn)為,不管MCU的類型、字長和其他功能如何,只要使學(xué)生通過某一種MCU的學(xué)習(xí),掌握了核心知識點,那么他們就能夠在今后的工作中舉一反三、融會貫通,很快適應(yīng)工作的需要。這個核心知識點就是――MCU內(nèi)部的各功能部件是怎樣為應(yīng)用服務(wù)、怎樣為系統(tǒng)服務(wù)的。同時,學(xué)生在學(xué)習(xí)單片機原理及應(yīng)用課程時已進(jìn)入高年級。他們這時已有了相當(dāng)?shù)幕A(chǔ)知識和自學(xué)能力。因此,在教學(xué)中簡單的“就事論事”,泛泛地介紹MCU的結(jié)構(gòu)、功能,往往不能使學(xué)生獲得深刻的印象,更談不上熟練地運用了。因此,培養(yǎng)學(xué)生的系統(tǒng)設(shè)計能力及創(chuàng)新能力,應(yīng)是我們教學(xué)的關(guān)鍵所在。

2單片機應(yīng)用系統(tǒng)設(shè)計的知識結(jié)構(gòu)與教學(xué)內(nèi)容安排

首先,教學(xué)內(nèi)容的安排應(yīng)使學(xué)生通過本課程的學(xué)習(xí)后,能夠具備完善、合理的知識結(jié)構(gòu),能夠勝任單片機應(yīng)用系統(tǒng)的設(shè)計與研制工作。我們認(rèn)為應(yīng)具備的知識結(jié)構(gòu)如圖1所示。

圖中有的內(nèi)容,如傳感器技術(shù)、信號調(diào)理技術(shù)、程序設(shè)計技術(shù)及與應(yīng)用相關(guān)的知識在其它的課程中解決。其次,隨著微電子技術(shù)的發(fā)展,集成電路的集成度越來越高。各種型號的單片機中不僅包含了大容量的存儲器器和各種接口電路;而且還包含了AD轉(zhuǎn)換器、程控放大器等模擬電路。對應(yīng)用系統(tǒng)的體積、成本、功耗等也提出了越來越高的要求。因此,在單片機應(yīng)用系統(tǒng)中不必要進(jìn)行外部電路的擴(kuò)展,而應(yīng)當(dāng)強調(diào)“單片應(yīng)用”。

基于上述考慮,我們認(rèn)為教學(xué)內(nèi)容應(yīng)圍繞著四個方面安排。一是單片機的體系結(jié)構(gòu),包括其編程模型、指令系統(tǒng)、存儲器系統(tǒng)等;二是各種片內(nèi)各種功能部件的原理及應(yīng)用,包括中斷系統(tǒng)、I/O接口、定時/計數(shù)器、AD轉(zhuǎn)換器、PWM功能等;三是通過常見的串行接口實現(xiàn)單片機功能的擴(kuò)展。在萬一需要對單片機的功能進(jìn)行擴(kuò)展時也盡量使用串行接口實現(xiàn)擴(kuò)展。四是應(yīng)用系統(tǒng)設(shè)計實例、分析。

用作教學(xué)的實際型號,應(yīng)選用功能相對完善,結(jié)構(gòu)簡單、易學(xué)的型號。綜合各種情況,我們在實際的教學(xué)中以常見的MCS-51系列為例。具體內(nèi)容安排如下:

1) 單片機體系結(jié)構(gòu)(6學(xué)時)。

基本存儲器結(jié)構(gòu)及空間分布、擴(kuò)展的片內(nèi)存儲器;

編程模型;

中斷系統(tǒng)結(jié)構(gòu);

指令系統(tǒng)簡介。

2) 單片機片上I/O接口及應(yīng)用 (6學(xué)時) 。

并行I/O端口;

定時/計數(shù)器;

串行通信接口。

3) 程序設(shè)計技術(shù) (理論課6學(xué)時,實驗8學(xué)時) 。

匯編語言程序設(shè)計;

C51程序設(shè)計技術(shù);

集成開發(fā)環(huán)境IDE使用簡介;

程序設(shè)計方法概述。

4) 利用串行接口實現(xiàn)功能擴(kuò)展(理論課6學(xué)時,實驗8學(xué)時) 。

同步串行接口;

IIC接口及常見芯片;

SPI接口。

5) 新一代51單片機的片上外設(shè)接口(2學(xué)時)。

計數(shù)器陣列 (PCA) 及應(yīng)用;

AD轉(zhuǎn)換器及程控放大器;

PWM及應(yīng)用;

6) 應(yīng)用系統(tǒng)中的接口(理論課4學(xué)時,實驗8學(xué)時)。

顯示接口 (LED、LCD) ;

鍵盤接口;

開關(guān)量的輸入與輸出接口。

7) 單片機應(yīng)用系統(tǒng)的抗干擾技術(shù)(2學(xué)時)。

硬件設(shè)計中的抗干擾;

軟件抗干擾技術(shù)。

8) 單片機應(yīng)用系統(tǒng)設(shè)計概要 (理論課4學(xué)時,實驗12學(xué)時) 。

單片機應(yīng)用系統(tǒng)設(shè)計方法;

應(yīng)用系統(tǒng)軟、硬件協(xié)同設(shè)計;

系統(tǒng)調(diào)試方法;

應(yīng)用系統(tǒng)設(shè)計舉例。

按上述安排,理論課和實驗課各36學(xué)時。通過這些內(nèi)容的學(xué)習(xí)和時間訓(xùn)練,學(xué)生能掌握應(yīng)用系統(tǒng)設(shè)計的核心知識,大大提高動手能力與創(chuàng)新能力,從而滿足實際工作需要。當(dāng)然,上述教學(xué)內(nèi)容安排對教師提出了較高的要求,要求任課教師有豐富的實踐經(jīng)驗,關(guān)注單片機技術(shù)應(yīng)用的最新發(fā)展,并隨時調(diào)整教學(xué)內(nèi)容,保證將最新的知識傳授給學(xué)生。

3教學(xué)過程的實現(xiàn)

為實現(xiàn)上述教學(xué)目標(biāo),應(yīng)將課堂教學(xué)與實驗緊密結(jié)合起來,并有意識地將單元電路的實驗與某一具體的應(yīng)用系統(tǒng)結(jié)合。這樣當(dāng)基本內(nèi)容和全部單元實驗完成后,即可將其組合成一個具體的應(yīng)用系統(tǒng),學(xué)生可以借此領(lǐng)會到單片機各功能部件在系統(tǒng)中的應(yīng)用及其方法,在這個基礎(chǔ)上再進(jìn)一步學(xué)習(xí)應(yīng)用系統(tǒng)的設(shè)計方法就水到渠成,得到事半功倍的效果。

參考文獻(xiàn)

[1] 邵貝貝. 關(guān)于嵌入式系統(tǒng)教學(xué)的思考[A]. 第三屆高等院校嵌入式系統(tǒng)教學(xué)研討會論文集[C]. 2005.

[2] 何立民. 單片機高級教程―應(yīng)用與設(shè)計[M]. 北京:北京航空航天大學(xué)出版社,2000.

第8篇:c語言程序設(shè)計實例范文

關(guān)鍵詞:Word2007;實時標(biāo)注系統(tǒng);課程實驗

中圖分類號:TP311.52

實時標(biāo)注系統(tǒng)是筆者自主開發(fā)的基于Word2007的在局域網(wǎng)環(huán)境中使用的工具軟件。其目的是使教師能夠?qū)崟r得到學(xué)生對所學(xué)知識的反饋信息,從而知道教師下一步教學(xué)。

《PHP+MySQL動態(tài)網(wǎng)站程序設(shè)計》是計算機網(wǎng)絡(luò)專業(yè)所開設(shè)的一門專業(yè)基礎(chǔ)課。在教學(xué)中既要對PHP語法知識、MySQL數(shù)據(jù)庫相關(guān)知識進(jìn)行講解,又要對基礎(chǔ)知識加以應(yīng)用,在實例或作業(yè)中提高學(xué)生動態(tài)網(wǎng)站程序設(shè)計開發(fā)調(diào)試能力。然而,傳統(tǒng)教學(xué)中由于學(xué)生基礎(chǔ)差異大及課時量限制,造成教師講解針對性不強,無法顧及各層次學(xué)生,從而影響了教學(xué)效果。

針對以上問題,筆者作為《PHP+MySQL動態(tài)網(wǎng)站程序設(shè)計》任課教師嘗試將實時標(biāo)注系統(tǒng)應(yīng)用于該課程中,探索改變現(xiàn)狀、提高教學(xué)質(zhì)量的方法,使該課程達(dá)到教師和學(xué)生都滿意的教學(xué)效果。

1 實時標(biāo)注系統(tǒng)的功能

實時標(biāo)注系統(tǒng)是使用Word―addin開發(fā)的嵌入式軟件。其功能是教師將教學(xué)內(nèi)容Word文檔在局域網(wǎng)中,學(xué)生在學(xué)習(xí)中將疑問或評論以批注的形式添加在Word文檔中,教師可以實時看到學(xué)生的批注內(nèi)容,從而及時了解學(xué)生的學(xué)習(xí)需求。教師將Word文檔依照正常方法打開文件;根據(jù)實時標(biāo)注系統(tǒng)要求設(shè)置其IP地址信息,之后點擊StartButton開啟教師機IP服務(wù)地址;等待學(xué)生在學(xué)習(xí)Word文檔內(nèi)容時所添加的標(biāo)注自動實時顯示在當(dāng)前文檔相應(yīng)位置上;最后,在結(jié)束接受批注內(nèi)容時,點擊StopButton關(guān)閉教師機IP服務(wù)地址即可。在教師將IP服務(wù)正確開啟之后,與教師機出于同一局域網(wǎng)范圍的學(xué)生機即可依照正常方式打開與教師機所打開的同名的Word文檔。學(xué)生通過知識點學(xué)習(xí),將疑問或相關(guān)評論以批注的形式添加到該Word文檔中;在希望教師看到批注時點擊SendButton將批注內(nèi)容傳送到教師端即可。

2 實時標(biāo)注系統(tǒng)應(yīng)用于《PHP+MySQL》課程的實驗

本次試驗?zāi)康氖窍Mㄟ^將實時標(biāo)注系統(tǒng)應(yīng)用在《PHP+MySQL》課程中,改變傳統(tǒng)的教學(xué)方式,充分調(diào)動學(xué)生的學(xué)習(xí)積極性,以學(xué)生需求作為教師教學(xué)的出發(fā)點,從而提高教學(xué)質(zhì)量,達(dá)到教師和學(xué)生都滿意的教學(xué)效果。

實驗對象選擇筆者所在學(xué)校計算機網(wǎng)絡(luò)技術(shù)專業(yè)二年級學(xué)生,共四十六人?!禤HP+MySQL》是該班級學(xué)生所學(xué)習(xí)的一門專業(yè)必修課,能夠?qū)W好這門課程不僅是完成學(xué)習(xí)任務(wù),對他們今后就業(yè)以及后日后續(xù)課程的學(xué)習(xí)都有好處。同時,該班級學(xué)生已經(jīng)具備計算機基本操作基礎(chǔ)和C語言程序設(shè)計基礎(chǔ),系統(tǒng)學(xué)習(xí)過Word2007基本操作方法,對于打開文檔、保存文檔、添加批注以及實時標(biāo)注系統(tǒng)的使用都駕輕就熟。這一點為本次實驗的順利進(jìn)行打下了堅實的基礎(chǔ)。

本次實驗為期兩個月,這兩個月中每周《PHP+MySQL》學(xué)時為六課時(每課時45分鐘),主要講解內(nèi)容為PHP基本語法部分。

實驗過程:以兩課時作為一次授課,首先教師將課前準(zhǔn)備的本次課程內(nèi)容以Word文檔的形式發(fā)送到局域網(wǎng)當(dāng)中的學(xué)生機,作為學(xué)生自學(xué)的基本材料。在適當(dāng)對本次課程的主要知識點加以介紹之后,留出時間供學(xué)生自學(xué)。此時,根據(jù)實時標(biāo)注系統(tǒng)的操作要求,教師需要將IP地址加以設(shè)置,為實時接收學(xué)生的批注內(nèi)容做準(zhǔn)備。該時間根據(jù)教學(xué)內(nèi)容的不同會適當(dāng)有所調(diào)整,但一般會控制在20分鐘到35分鐘之間。在這段時間內(nèi),教師會鼓勵學(xué)生在其所學(xué)習(xí)的Word文檔中及時將他們存在疑問的知識點加以批注,并在批注中盡量簡潔明了地解釋他們的疑問所在,同時每添加一條批注就將其發(fā)送到教師機。而教師在這個時間段中,不需要對教學(xué)內(nèi)容做過多解釋,只需及時看到學(xué)生所添加的批注,了解他們的疑問,并就疑問的講解做準(zhǔn)備。在教師關(guān)閉IP地址之后就學(xué)生存在疑問的知識點加以重點講解。受到課時限制,教師可以靈活處理,例如:對于大多數(shù)學(xué)生都存在疑問的知識點,教師需重點講解;而只有個別同學(xué)提出疑問的知識點,教師可以以提問的方式讓其他同學(xué)加以解答;有個別知識點教師可以到網(wǎng)路教學(xué)平臺中供學(xué)生討論,既提高了學(xué)生互相幫助團(tuán)隊協(xié)作的意識,也提高了學(xué)生的參與度,調(diào)動了學(xué)生的學(xué)習(xí)積極性。在實際授課中,根據(jù)《PHP+MySQL》課程的課程特點,在對基本知識點加以學(xué)習(xí)之后,在課堂中教師還需留出時間留下程序設(shè)計實例操作練習(xí)題,既提高學(xué)生的程序設(shè)計調(diào)試能力,這一過程也是對學(xué)生自學(xué)效果的及時檢驗。

3 實時標(biāo)注系統(tǒng)應(yīng)用于《PHP+MySQL》課程實驗結(jié)果分析

對于本次實驗的效果,筆者采用問卷以及訪談的方式,對學(xué)生的學(xué)習(xí)情況進(jìn)行了調(diào)查?,F(xiàn)對調(diào)查結(jié)果總結(jié)如下:(1)對于在課堂中使用實時標(biāo)注系統(tǒng),大部分學(xué)生表示能夠接受。許多學(xué)生反映單純聽老師講授內(nèi)容容易走神,無法長時間集中注意力,從而錯過一些知識點,需要課下進(jìn)一步學(xué)習(xí);而是用實時標(biāo)注系統(tǒng)首先自己自學(xué),可以根據(jù)自身情況安排時間,因此這樣的學(xué)習(xí)方式能夠接受。當(dāng)然,也有個別學(xué)生反映自學(xué)內(nèi)容時比較困難,希望教師能夠適當(dāng)講解。(2)對于實時標(biāo)注系統(tǒng)學(xué)生們都反映其操作方式簡單,不會為學(xué)習(xí)課程內(nèi)容增加額外負(fù)擔(dān)。由于實時標(biāo)注系統(tǒng)是基于Word2007的嵌入式系統(tǒng),而Word文檔呈現(xiàn)內(nèi)容已經(jīng)被教師和學(xué)生所接受,因此,新的教學(xué)方式完全符合學(xué)生的操作習(xí)慣,無需再學(xué)習(xí)其他平臺的操作方法,這為課程的學(xué)習(xí)帶來了方便。(3)大部分學(xué)生覺得實時標(biāo)注系統(tǒng)的使用對于他們學(xué)習(xí)課程內(nèi)容是有一定幫助的。主要體現(xiàn)在該系統(tǒng)可是幫助他們更好地自主學(xué)習(xí),及時提出疑問,及時得到老師的幫助方面。也有個別同學(xué)覺得相較于傳統(tǒng)教學(xué)方式該系統(tǒng)的使用幫助不大。(4)學(xué)生反映在今后其它的課程學(xué)習(xí)中還希望使用該系統(tǒng),但讓在文檔內(nèi)容呈現(xiàn)、疑問講解等細(xì)節(jié)方面如果可以加以改善,相信今后的使用會帶來更大的幫助。

4 總結(jié)

將實時標(biāo)注系統(tǒng)應(yīng)用于《PHP+MySQL》課程的實驗旨在探索通過教學(xué)軟件的幫助適當(dāng)調(diào)整教學(xué)方法,將傳統(tǒng)的以教師講授為中心的教學(xué)方式轉(zhuǎn)變?yōu)橐詫W(xué)生學(xué)習(xí)為中心,真正做到教學(xué)以學(xué)生為本,一切從學(xué)生出發(fā)。實驗基本達(dá)到實驗?zāi)繕?biāo),取得了一定的收效,并就實時標(biāo)注系統(tǒng)應(yīng)用于教學(xué)中的方式方法積累了一定的經(jīng)驗。當(dāng)然,實驗中也存在不足之處,例如實時標(biāo)注系統(tǒng)的并發(fā)處理方面還有待提高;教師在準(zhǔn)備自學(xué)材料時可以更加靈活使其更具吸引力,這樣可以幫助學(xué)生更好的學(xué)習(xí)。筆者在今后的課程實驗中會改進(jìn)以上不足,期望得到教學(xué)質(zhì)量的更大提高,使得教學(xué)實現(xiàn)教師與學(xué)生雙贏的效果!

參考文獻(xiàn):

[1]莫雷.教育心理學(xué)[M].北京:教育科學(xué)出版社,2007.

[2]宋廣文,苗洪霞.網(wǎng)絡(luò)時代教師角色的轉(zhuǎn)換[J].教育研究,2001(8).

[3]楊春濤.信息時代的教育改革[J].素質(zhì)教育研究,2006(9).

第9篇:c語言程序設(shè)計實例范文

關(guān)鍵詞:PT100;自校正;非線性;D/A轉(zhuǎn)換器

中圖分類號:TP391文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2012)01-0197-02

A Simulation of a Simple Design PT100 RTD

LIU Yue-ru

(Xinjiang Wind Energy Institute,Urumqi 830000,China)

Abstract:This paper presents a simulation PT100 thermal resistance of the circuit design。The design utilizes a precision op amp buffers the input voltage through D/A converter to adjust the voltage applied to the standard resistor and the current ratio, thus changing the resistance value。Through the built-in precision resistance measurement circuit measured the op amp’s offset voltage, and use D/A converter automatically compensate for the offset voltage can be synthesized to obtain high-precision programmable resistors to meet the PT100 thermal resistance of long-term stability requirements.

Key words: PT100; self-correction; nonlinear; D/A converter

熱電阻是中低溫區(qū)最常用的一種溫度傳感器。它的主要特點是測量精度高,性能穩(wěn)定。其中鉑熱電阻的測量精確度是最高的,它不僅廣泛應(yīng)用于工業(yè)測溫,而且被制成標(biāo)準(zhǔn)的基準(zhǔn)儀。而熱電阻PT100(以下簡稱PT100)是一種穩(wěn)定性和線性都比較好的鉑絲熱電阻傳感器??梢怨ぷ髟?200℃至650℃的范圍。

但有時為了滿足設(shè)計整個系統(tǒng)設(shè)計的要求,需要在實驗室中模擬PT100在工業(yè)現(xiàn)場的使用。本設(shè)計采用運放等構(gòu)成單口網(wǎng)絡(luò),通過單片機編程得到輸入電壓及電流的比值,即可獲得可編程的線性電阻。這種阻抗合成技術(shù)可獲得很高精度的輸出電阻。通過查找PT100的分度表,可以得到準(zhǔn)確的溫度值。

1電路原理設(shè)計

合成電阻的電路原理圖如圖1所示,由輸入運放、D/A轉(zhuǎn)換器、輸出運放及失調(diào)調(diào)零電路構(gòu)成。施加于標(biāo)準(zhǔn)電阻一端的輸入電壓值經(jīng)過緩沖放大、比例調(diào)節(jié)后,反饋到標(biāo)準(zhǔn)電阻的另一端,以此來控制輸入電流,從而確定輸入電阻值。

運算放大器A1接成電阻跟隨器形式,輸出電壓為U10=Ui,作為D/A轉(zhuǎn)換器的基準(zhǔn)電壓。D/A轉(zhuǎn)換器采用電壓輸出型乘法轉(zhuǎn)換器(電流輸出型乘法轉(zhuǎn)換器需要后面加一級運放電路將電流信號轉(zhuǎn)換成電壓信號即可),使基準(zhǔn)電壓即使減小到接近零也可得到較好的比例輸出。數(shù)/模轉(zhuǎn)換器的傳輸系數(shù)K由輸入數(shù)/模轉(zhuǎn)換器U1的數(shù)字信號決定。因此D/A轉(zhuǎn)換器的輸出電壓為UD/A=Kui。由于A2工作于線性放大狀態(tài)時兩輸入端電位相等,因此A2的反相端電壓為KUi。這樣,施加于標(biāo)準(zhǔn)電阻上的電壓為Ui-KUi,電流為Ii=(Ui-KUi)/Rs。由于運放A1的同樣輸入電流為零,則對輸入端來講,可得合成電阻R=Ui/Ii為:

R=Rs/1-K

(1)

即標(biāo)準(zhǔn)電阻倍增了1/(1-K)倍。當(dāng)K=0時,電阻不變;當(dāng)K=0.9時,電阻放大10倍。可見,可以通過改變D/A轉(zhuǎn)換器的輸入值以調(diào)整K值來改變合成電阻值。電路中,運算放大器A1連接成電壓跟隨器的形式,A2接近單位增益,并接入校正電容,因此得到穩(wěn)定的合成電阻。

2誤差分析

式(1)中電阻是基于理想到的,但實際運放由于存在失調(diào)電壓、熱電勢、偏置電流等會引入誤差。合成電阻施加的電壓較小時,失調(diào)電壓及熱電勢等誤差電壓的影響較大;電流較小時,偏置電流影響較大。在兩級運放中,設(shè)失調(diào)電壓與相應(yīng)的熱電勢等誤差電壓之和分別是Ue1、Ue2,則運放A1輸出端及A2反相輸入端的電壓分別為:Uo1=Ui-Ue1U2i=KU01-Ue2

其中,K為D/A轉(zhuǎn)換器的傳輸系數(shù)。再由Ii=(Ui-U2i-)/Rs及R=Ui/Ii,可得合成電阻值為:

R=[Rs-(Kuel+Ues)/Ii]/1-K

(2)或

R=Rs/1-K+(Kuei+Ue2)/Ui

(3)

可見,Ue1、Ue2與合成電阻值有關(guān),并使電阻變成非線性,當(dāng)Ue1、Ue2為0時,上式退化為(1)式??梢?,其誤差不僅與Ue1、Ue2成正比,而且與Ii或Ui成反正,即合成電阻的工作電流電壓越小,相對誤差越大。如挑選失調(diào)電壓優(yōu)于10μV的低溫漂精密運算放大器AD707K,外接失調(diào)調(diào)零電位器調(diào)整后,短期內(nèi)Ue1、Ue2可控制在0.1μV以內(nèi)。此時,如K=0.9,Rs=1kΩ,工作電流在0.2mA時,由(2)式可得Ue1、Ue2引入的誤差接近1ppm,即誤差比K=0時放大了10倍。

輸入運放的偏置電流也會分流輸入電流而引入較大誤差,其相對誤差為Ib/Ii。工作于0.2mA時,如采用典型偏置電流為0.5nA的運放AD707K,可產(chǎn)生2.5ppm的誤差,如加大工作電流可以進(jìn)一步減小誤差。采用某些斬波穩(wěn)零的運放(如典型失調(diào)電壓為0.5μV、典型偏置電流僅為2pA的TLC2652運放),則可以忽略偏置電流的影響,但其輸入噪聲電壓偏大。

3校正措施

合成電阻中,工作電流不同時還存在運放失調(diào)電壓等引起的誤差,而且這些誤差由于溫漂及時漂等原因并不能長期穩(wěn)定。

式(2)可見,合成電阻與輸入電流有關(guān),而實際的工作電流與自校正時的電流又不一定相同,所以Ue1、Ue2引起的誤差并不能直接通過測量阻值來校正。誤差的根據(jù)是Ue1、Ue2。所以有效的辦法是求出并消除Ue1、Ue2,使合成電阻與工作電流無關(guān)。

采用系統(tǒng)自帶的精密電阻測量體系可以求出Ue1、Ue2。具體步驟為:取K=0.9,用激勵電流為I1的最合適的量程一測得合成電阻為r3;取K=0,用量程一及激勵電流為I2的稍大的量程二來分別測量合成電阻,得到讀數(shù)r1、r2。將其電阻及電流值分別代入式(2)并整理,可得:

Ue2=I1Rs-I2r1

(4)

Ue2=I2Rs-I2r2(5)0.9Ue1=I1Rs-Ue2-0.1I1r3(6)

對式(4)、(5)、(6)求解,得:

Ue1=1.1111I1(r1-0.1r3)

(7)

Ue2=(r1-r2)/(1/I2-1/I1)(8)

可見失調(diào)電壓可以通過測量電阻及已知的恒流激勵源來求取。如激勵電流I1=0.5mA時,讀數(shù)r1為1000Ω。大電阻(20MΩ)量程的激勵倍增后的r3為10000.018Ω。大電阻(20MΩ)量程的激勵電流I2=0.5μA即電壓僅5mV時,r2變?yōu)?001.8Ω,此時可求得Ue1=-1μV,Ue2=-0.9μV。當(dāng)然僅利用(4)、(6)兩式也可得到(7)式及Ue2=I1(Rs-r1),但已知值Rs及測量值r1的來源性質(zhì)不同,會引入較大誤差。而式(8)中,r1、r2同為測量值,其漂移影響較小。

盡管求出了Ue1、Ue2,但由于施加于合成電阻的電壓或電流不定,所以并不能通過改變K值來消除誤差。有效的辦法是外接D/ A轉(zhuǎn)換器來抵消Ue1、Ue2,以徹底消除式(2)、(3)中的非線性項。采用廉價的10位雙D/A轉(zhuǎn)換器TLC5617的兩個通道分別對兩運放進(jìn)行補償。

圖2利用D/A轉(zhuǎn)換器的調(diào)零電路

對于運放A1,接成非單位增益的同相放大電路時,可在反相輸入端加入校零電路。為保持電壓跟隨器形式。AD707K等運算放大電路提供了失調(diào)電壓調(diào)節(jié)端,只要在兩調(diào)零端接入電位器至電源端,改變兩調(diào)節(jié)端的輸入電流即可實現(xiàn)手動調(diào)零。

參考文獻(xiàn):

[1]童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].4版.北京:高等教育出版社,2001.