999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

類比法在《C語言程序設計》教學中的運用

2009-04-29 00:00:00許文芳
電腦知識與技術 2009年25期

摘要:教學中方法得當,事半功倍。該文重點闡述了類比法在《C語言程序設計》教學過程中的應用,以函數實例介紹了方法的展開過程,使得教學中的抽象概念具體化,收到良好的教學效果。

關鍵詞:類比法;函數;教學效果

中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2009)25-7318-02

Application Analogy in C Programming Teaching

XU Wen-fang

(Xiamen University Tan Kah Kee College Computer Department, Zhangzhou 363105,China )

Abstract: A suitable method can help us get twice the result with half the effort.. This paper is concerned with the application analogy in C programming teaching. By the example of function, Tell us how to apply analogy to programming teaching. It gets good teaching results.

Key words: Analogy;Function;Teaching result

C語言作為一個經典的編程語言,被很多的高校選做編程入門的必修課程。對于計算機專業學生而言,這門課通常在大學第一年開設,課程的主要目地在于使學生掌握程序設計的基本方法和本思想,培養使用計算機解決實際問題的能力,為它對后續專業課程的學習奠定基礎。但對于大一的新生而言,往往對計算機工作原理了解不多,對一些抽象的編程思想,理解時存在一定的困難,致使寫程序時無從下手。所以在教學過程中,采用適當的教學方法將抽象的思想具體化是非常必要的。筆者在教學過程中使用了類比法,收到了良好的教學效果。

類比在漢語字典中的解釋是一種推理方法,根據兩種事物在某些特征上的相似,做出它們在其他特征上也可能相似的結論,這種方法在我們認識新事物時很有幫助。教學中應用類比法,可將抽象概念同生活中熟悉的事物類比,將難理解的編程思想同已學知識類比,下面結合函數相關知識點介紹一下教學過程的展開。

1 針對抽象的參數概念應用類比法

在講解函數參數這個知識點時,一個讓學生很困惑的問題是:什么時候要用實參傳遞數值,什么時候用實參傳遞地址?二者的差別是什么?通過以下示例說明類比法在教學中的展開。

編寫一個子程序實現加密電文的翻譯,其功能是:對于字符字母,字母表中第i個字母變成第(26-i+1)個字母。即:A→Za→z;B→Yb→y;C→Xc→x;對于非字母字符保持不變。例如輸入Blf ziv irtsg!輸出:You are right!

#include

main()

{

void transform(char c);

int i=0;

char ch[80];

printf(\"請輸入密文: \");

gets(ch);

while(ch[i]!='\\0')

{

transform(ch[i]);

i++;

}

printf(\"\翻譯后的電文為: %s\\",ch);

} /* 程序1主函數結束*/

void transform(char c)

{

if( (c >='A') (c <='Z') )

c =155 - c;

else if((c >='a')(c <= 'z'))

c =219-c ;

else

c = c;

} /* 程序1 子函數結束*/

請輸入密文:Blf ziv irtsg!翻譯后的電文為:Blf ziv irtsg!

上述程序1中實參傳遞給形參的是一個變量的值。講解時可將參數傳遞的過程與學生中流行的qq聊天類比。參數傳遞數值就好比A通過qq向好友B傳遞照片, B接收到后如果對照片進行了修改,并不會影響A在本地瀏覽照片,因為過程中是將照片復制了一份給B,實參是將數值復制了一份給子函數transform(),子函數對數值進行了修改,但沒有返回主函數,所以上述程序是沒有起到翻譯作用的。再來看程序2:

#include

main()

{ void transform(char str[80]);

int i=0;

char ch[80];

printf(\"請輸入密文:\");

gets(ch);

transform(ch);

printf(\"\翻譯后的電文為:%s\\",ch);

}/* 程序2 主函數結束*/

void transform(char str[80])

{

int i=0;

while(str[i]!='\\0')

{

if( (str[i] >= 'A') (str[i] <= 'Z') )

str[i] = 155 - str[i];

else if( (str[i] >= 'a') (str[i] <= 'z') )

str[i] = 219 - str[i];

else

str[i] = str[i];

i++;}

}/* 程序2 子函數結束*/

請輸入密文:Blf ziv irtsg!翻譯后的電文為:You are right!

上述程序中實參傳遞了一個地址給形參,好比A通過qq的遠程協助與B共享了自己電腦,這樣B與A看到的是同一個文件,當B修改照片后,A所看到的就是被修改后的照片,通過傳遞地址給子函數,同一段的存儲空間在主函數和子函數transform()之間實現共享,所以這段程序可以輸出翻譯后的電文。

通過以上的類比,使學生清楚看到二者的本質差別,從而在編程時可以結合具體問題靈活的做出選擇。

2 針對易混淆的參數形式應用類比法

對于普通變量做函數參數時,相應的子函數定義以及函數原型的形式多數學生是很容易掌握的,但談到數組元素做函數參數時,很多同學在定義子函數,寫函數原型時就容易同數組名做函數參數混淆,通過下面的表1,容易讓學生看到其實(1)(2)本質上是一樣,所以對于(1)中普通變量做函數參數時的特點,(2)也一樣,這樣就不容易將(2)和(3)混淆了。

3 對于難理解的遞歸思想應用類比法

對于第一次接觸遞歸思想的學生來說,將自己的遞歸思想用代碼實現時往往不知從何處下手,此時可將學生熟悉循環思想與遞歸類比,例如:求斐波那契(Fibonacci)數列的問題,用循環實現求數列第20項值的代碼如程序3所示,用遞歸實現如程序4所示:

#include

main()

{ int i;

int f[20]= {1,1};

for(i = 2;i < 20;i ++)

f[i] = f [i-2] + f[i-1];

printf(″%12d″,f[19]);

} /* 程序3 結束 */

#include

int fib(int n)

{ int z;

if(n == 1 || n == 2)

z = 1;

else

z = fib(n-1) + fib(n-2);

return(z);

}/*求數列各項的遞歸函數*/

main()

{ int fib(int );

int n=20,result;

result = fib(n);

printf(“%d”,result);

} /*程序4結束*/

通過程序3與程序4的對比,可以看到循環思想中的必要元素有:循環初始值,循環結束條件以及循環體。同樣實現遞歸思想的必要元素有:遞歸求解的問題規模,遞歸返回點以及遞歸表達式,找到這些元素后再編寫遞歸程序就容易了。

以上是筆者在c語言程序設計課程教學方法方面的一點嘗試。但這遠不是一個終點,如何將我們熟悉的方法與具體的教學相結合是值得我們不斷探討的問題,總之,希望借著對這些問題的探討,使教學水平得到不斷的提高。

參考文獻:

[1] 譚浩強.C程序設計[M].3版.清華大學出版社,2005 :155-184.

[2] 程艷.C語言程序設計教學中類比法的運用[J]. 教職論壇,2003(18):34.

主站蜘蛛池模板: 亚洲最新网址| 91久久偷偷做嫩草影院电| 91精品啪在线观看国产60岁| 99热这里只有成人精品国产| 自拍中文字幕| 欧美在线一二区| 在线观看91香蕉国产免费| 亚洲 欧美 日韩综合一区| 综合五月天网| 国产三级视频网站| 精品午夜国产福利观看| 国产AV无码专区亚洲A∨毛片| 黄色网址免费在线| 中文天堂在线视频| 亚洲精品福利视频| 国产欧美日韩在线在线不卡视频| 亚洲人成人伊人成综合网无码| 91亚洲精选| 尤物精品视频一区二区三区| 午夜丁香婷婷| 久久精品娱乐亚洲领先| 国产免费羞羞视频| 国产免费精彩视频| 青青草一区二区免费精品| 91在线日韩在线播放| 国产视频自拍一区| 欧美精品一二三区| 久久综合色天堂av| 亚洲精品动漫| 国模极品一区二区三区| 国产成人精彩在线视频50| 蝴蝶伊人久久中文娱乐网| 欧美成人区| 日韩AV无码免费一二三区| www亚洲天堂| 91久久夜色精品国产网站| 国产区精品高清在线观看| 精品99在线观看| 免费看一级毛片波多结衣| 香蕉伊思人视频| 亚洲无线一二三四区男男| 国产一区二区三区在线无码| 中文字幕永久在线看| 久久久久国产精品嫩草影院| 日韩乱码免费一区二区三区| 国内精品免费| 久久精品66| 欧美一级专区免费大片| 国产精品成人AⅤ在线一二三四| 亚洲中文字幕在线一区播放| AV在线麻免费观看网站| 亚洲精品成人福利在线电影| 一级不卡毛片| 日日拍夜夜操| 精品国产黑色丝袜高跟鞋| 免费毛片a| 亚洲黄色高清| 波多野结衣一区二区三区AV| 性做久久久久久久免费看| 国产成年无码AⅤ片在线| 99精品热视频这里只有精品7| 色偷偷男人的天堂亚洲av| 久久精品午夜视频| 狠狠亚洲五月天| 自拍偷拍一区| 一个色综合久久| 激情综合激情| 青青草原偷拍视频| 茄子视频毛片免费观看| 蜜桃视频一区二区三区| 欧美国产日韩在线| 亚洲无码精彩视频在线观看| 国产免费高清无需播放器| 亚洲精品人成网线在线 | 国产真实乱人视频| 日韩二区三区| 亚洲综合一区国产精品| 亚洲精品卡2卡3卡4卡5卡区| 欧美日韩v| 日韩精品无码不卡无码| 亚洲国产精品人久久电影| 麻豆精品久久久久久久99蜜桃|