• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      實(shí)例教學(xué)法在C語言循環(huán)結(jié)構(gòu)教學(xué)中的應(yīng)用

      2012-02-15 22:50:42趙衛(wèi)績劉井蓮樊守芳
      關(guān)鍵詞:程序設(shè)計(jì)實(shí)例語句

      趙衛(wèi)績,劉井蓮,樊守芳

      (綏化學(xué)院 計(jì)算機(jī)學(xué)院, 黑龍江 綏化 152061)

      1 序言

      對于任何一種計(jì)算機(jī)程序設(shè)計(jì)語言來說,程序設(shè)計(jì)的基本結(jié)構(gòu)不外乎三種,即順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu).而循環(huán)結(jié)構(gòu)是三種程序設(shè)計(jì)結(jié)構(gòu)中最復(fù)雜、最重要的結(jié)構(gòu),在后續(xù)的學(xué)習(xí)中,幾乎所有的程序都要用到循環(huán)結(jié)構(gòu),如果不會(huì)循環(huán)結(jié)構(gòu),無法繼續(xù)學(xué)習(xí)數(shù)組、指針和函數(shù)以及C++、Java等后續(xù)課程,更談不上參加國際大學(xué)生程序設(shè)計(jì)競賽ICPC.因此,循環(huán)教學(xué)應(yīng)該是C語言教學(xué)的關(guān)鍵任務(wù).目前,關(guān)于C語言循環(huán)結(jié)構(gòu)的教學(xué)方法及相關(guān)教學(xué)研究得到了較多關(guān)注[1-4],并提出了很多好的教學(xué)方法.很多地方性本科院校合作辦學(xué)學(xué)生的C語言循環(huán)教學(xué)效果并不是很理想,很多學(xué)生不能靈活地進(jìn)行循環(huán)程序設(shè)計(jì).基于此,本文在深入研究C語言循環(huán)結(jié)構(gòu)程序設(shè)計(jì)教學(xué)方法的基礎(chǔ)上,結(jié)合我校學(xué)生初學(xué)C語言學(xué)習(xí)情況,提出在C語言循環(huán)結(jié)構(gòu)教學(xué)中引入實(shí)例教學(xué)法,使學(xué)生很快進(jìn)入到C語言程序設(shè)計(jì)中來,為C語言中后續(xù)知識(shí)點(diǎn)的學(xué)習(xí)奠定堅(jiān)實(shí)的基礎(chǔ).

      2 循環(huán)思想的導(dǎo)入

      循環(huán)思想的導(dǎo)入主要圍繞兩個(gè)問題展開,什么是循環(huán),為什么引入循環(huán).首先,從具體實(shí)例出發(fā),引入循環(huán)思想,使學(xué)生從實(shí)際問題中進(jìn)入到循環(huán)思想中來.例如:

      (1)全校共有100個(gè)班級,計(jì)算每個(gè)班級的各科平均成績.

      (2)檢查100個(gè)學(xué)生的成績是否及格.

      (3)計(jì)算100個(gè)學(xué)生的成績之和.

      對這3個(gè)具體實(shí)例,如果使用順序結(jié)構(gòu)程序設(shè)計(jì),工作量大、程序冗長、重復(fù)、難以閱讀和維護(hù).而在C語言中,循環(huán)語句正可以很好解決此類問題.

      3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)教學(xué)實(shí)踐

      傳統(tǒng)的C語言循環(huán)教學(xué)法多以講授為主,注重理論知識(shí)的傳授,忽略實(shí)際操作技能的培養(yǎng),造成理論與實(shí)踐脫節(jié),致使學(xué)生的學(xué)習(xí)效果很不理想,嚴(yán)重影響了學(xué)生學(xué)習(xí)的主動(dòng)性.鑒于此種情況,本文引入實(shí)例教學(xué)法,通過具體實(shí)例分散地介紹語法難點(diǎn),避免了學(xué)生因?yàn)楦杏X枯燥和畏難而產(chǎn)生的厭學(xué)情緒.由于在循環(huán)程序設(shè)計(jì)教學(xué)實(shí)踐中以實(shí)例為授課重點(diǎn).因此,精選實(shí)例是這一教學(xué)實(shí)踐的關(guān)鍵所在,這樣一來所選擇的實(shí)例必須是典型的,能突出重點(diǎn)和難點(diǎn)的,同時(shí)還必須具有針對性,即針對學(xué)生的接受能力來選擇.這樣才能達(dá)到良好地教學(xué)互動(dòng)效果,有效增進(jìn)學(xué)生的學(xué)習(xí)興趣和動(dòng)力,調(diào)動(dòng)學(xué)生參與學(xué)習(xí)的積極性.

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

      循環(huán)結(jié)構(gòu)程序設(shè)計(jì)主要圍繞四個(gè)要素和三個(gè)語句展開,四要素包括循環(huán)初始條件,循環(huán)條件判斷,循環(huán)體,循環(huán)條件變量的修正.三個(gè)語句為:for、do-while和while語句.其中for語句的應(yīng)用比較普遍,while語句的應(yīng)用相對更為廣泛,而do-while語句一般應(yīng)用于特定場合.因此重點(diǎn)講解while語句.

      3.2 實(shí)例教學(xué)

      實(shí)例教學(xué)法的關(guān)鍵在于精心選擇實(shí)例,選擇實(shí)例的目的是為了把抽象的理論轉(zhuǎn)化到具體實(shí)例中.具體如下:

      例1 計(jì)算1+2+3+…+100的值.

      數(shù)學(xué)中算式求和的方法是先進(jìn)行化簡,然后求和.在c語言中卻要簡單的多,教學(xué)設(shè)計(jì)的重點(diǎn)就是確定循環(huán)體,即總結(jié)出算式的通式,然后采用循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)求和.首先確定一個(gè)保存結(jié)果的變量s,設(shè)定s的初始值,然后將1、2、…、100逐一累加到s變量中,具體程序如下:

      s=0;

      s=s+1;

      s=s+2;

      s=s+100;

      由于往s上累加的1、2、…、100是逐個(gè)增加1.因此,可以將1設(shè)定為i,將i累加到s變量中,然后i逐步累加1,推理如下:

      s=0; i=1;

      s=s+i; i++;

      s=s+i; i++;

      … …

      s=s+i; i++;

      由此可以看出,s=s+i; i++;這兩條語句重復(fù)執(zhí)行100次,因此需要使用循環(huán).算法分析如下:

      初始條件為s=0; i=1;重復(fù)執(zhí)行語句為s=s+i;循環(huán)變量修正語句為i++;循環(huán)執(zhí)行次數(shù)為100次,即循環(huán)執(zhí)行條件判斷為i<=100.

      如果使用while循環(huán),則該題算法為:

      s=0; i=1

      while(i<=100)

      {

      s=s+i;

      i++;

      }

      該題算法也可轉(zhuǎn)為do-while循環(huán)或for循環(huán).具體程序如下:

      do- while循環(huán):

      s=0;

      while(i<=100)

      {

      s=s+i;

      i++;

      }

      for循環(huán):

      s=0;

      for(i=1;i<=100; i++)

      s=s+i;

      通過實(shí)例1 的三個(gè)循環(huán)算法,我們可以發(fā)現(xiàn),它們的循環(huán)思想其實(shí)是一致的,只是表現(xiàn)形式不同.為了使學(xué)生更好地理解循環(huán)程序設(shè)計(jì)思想和求和類型算法,還需要精選幾個(gè)典型實(shí)例講解.

      例2 計(jì)算n?。?/p>

      由于n!=1*2*3*…*n,從中不難看出該題與實(shí)例1本質(zhì)上一致,不同點(diǎn)在于該題是計(jì)算數(shù)的乘積,因而只需把實(shí)例1中保存結(jié)果的變量s=0改為s=1,循環(huán)體中的s=s+i改為s=s*i即可.具體算法如下:

      循環(huán)初始條件:s=0; i=1;

      循環(huán)條件判斷:while(i<=n)

      {

      循環(huán)體:s=s+i;

      循環(huán)變量修正:i++;

      }

      例3 計(jì)算1!+2!+…+n?。?/p>

      從題意可以看出,為了完成它的計(jì)算既需要計(jì)算數(shù)的階層,還需要計(jì)算階層的和,其實(shí)該題本質(zhì)上是例1和例2的綜合.因此,計(jì)算該題需要設(shè)定一個(gè)保存階層中間結(jié)果的變量f和和變量s.具體算法為:

      循環(huán)初始條件:s=0;f=1; i=1;

      循環(huán)條件判斷:while(i<=n)

      {

      循環(huán)體:f=f*i;s=s+i;

      循環(huán)變量修正:i++;

      }

      例4 計(jì)算1,1,2,3,5,8,13,…的前20項(xiàng)和.

      該題的解題思想類似于例3和例4,屬于復(fù)雜累加算法,累加前,首先需要計(jì)算出被累加項(xiàng).通過觀察可以發(fā)現(xiàn),本題所給數(shù)列在給出的這些項(xiàng)中從第三項(xiàng)開始,后一項(xiàng)總是它前兩項(xiàng)的和.具體算法如下:

      循環(huán)初始條件:a=1;b=1;s=a+b;i=3;

      循環(huán)條件判斷:while(i<=20)

      {

      循環(huán)體:t=a;a=b;b=t+b;s=s+b;

      循環(huán)變量修正:i++;

      }

      引入該題有兩方面好處,一方面可以強(qiáng)化復(fù)雜累加類型計(jì)算問題的循環(huán)思想.另一方面可以強(qiáng)調(diào)該類問題學(xué)生容易出錯(cuò)的地方.比如在該題編程時(shí)容易誤將被累加項(xiàng)b值按b=a+b計(jì)算,然后累加b.其實(shí)這里的a值已經(jīng)更新為原來的b,所以b值不再是前兩項(xiàng)的和,而是2*b.

      4 結(jié)語

      以我校合作辦學(xué)學(xué)生為教學(xué)對象,在循環(huán)結(jié)構(gòu)程序設(shè)計(jì)中引入實(shí)例教學(xué)法,充分調(diào)動(dòng)了學(xué)生參與學(xué)習(xí)的積極性,因而取得了良好的教學(xué)效果,但要使學(xué)生在程序設(shè)計(jì)時(shí)進(jìn)一步深入,還需要針對我們的教學(xué)對象,進(jìn)一步改進(jìn)教學(xué)方法和教學(xué)手段,同時(shí)很好地學(xué)習(xí)C++、Visual C++、Java和數(shù)據(jù)結(jié)構(gòu)等后續(xù)課程,逐漸形成合理、標(biāo)準(zhǔn)的課程體系、實(shí)例體系,只有這樣,才能有效解決我校合作辦學(xué)學(xué)生動(dòng)手編程能力弱的根本問題.

      參考文獻(xiàn):

      [1]高枚,楊志強(qiáng),許蘭蘭,龔沛曾.C/C++教學(xué)改革的探索與實(shí)踐[J].計(jì)算機(jī)時(shí)代,2005(11):8-10.

      [2]王鴻磊,張雪松.程序設(shè)計(jì)基礎(chǔ)教與學(xué)的新模式[J].計(jì)算機(jī)教育,2006(11):53-54.

      [3]施雷,陳衛(wèi)衛(wèi).C語言中循環(huán)結(jié)構(gòu)教學(xué)方法探討[C]//2009全國計(jì)算機(jī)網(wǎng)絡(luò)與通信學(xué)術(shù)會(huì)議論文集.北京:中國電子商情雜志社:301-305.

      [4]劉冬暉,劉智濤.案例教學(xué)法在C語言教學(xué)中的研究與實(shí)踐[J].電腦知識(shí)與技術(shù),2008(03):497-498.

      猜你喜歡
      程序設(shè)計(jì)實(shí)例語句
      重點(diǎn):語句銜接
      基于Visual Studio Code的C語言程序設(shè)計(jì)實(shí)踐教學(xué)探索
      從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
      電子制作(2019年9期)2019-05-30 09:42:04
      精彩語句
      高職高專院校C語言程序設(shè)計(jì)教學(xué)改革探索
      PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
      完形填空Ⅱ
      完形填空Ⅰ
      如何搞定語句銜接題
      作文語句實(shí)錄
      巩义市| 盐山县| 日土县| 山阳县| 兴和县| 广德县| 静安区| 重庆市| 福鼎市| 陇川县| 囊谦县| 南川市| 衡东县| 敦煌市| 东乡族自治县| 灵寿县| 太仆寺旗| 开鲁县| 鸡泽县| 津南区| 阿图什市| 甘肃省| 赤壁市| 合山市| 灵台县| 钟山县| 施秉县| 海丰县| 兴义市| 金溪县| 沁源县| 万山特区| 清新县| 深圳市| 濉溪县| 富蕴县| 房山区| 兴文县| 扬州市| 岱山县| 洪雅县|