类比法在《C语言程序设计》教学中的运用.doc
类比法在C语言程序设计教学中的运用 教学中方法得当,事半功倍。该文重点阐述了类比法在C语言程序设计教学过程中的应用,以函数实例介绍了方法的展开过程,使得教学中的抽象概念具体化,收到良好的教学效果。 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)个字母。即AZaz;BYby;CXcx;对于非字母字符保持不变。例如输入Blf ziv irtsg!输出You are right! #include main() void transform(char c); int i=0; char ch80; printf("请输入密文 "); gets(ch); while(chi!='0') transform(chi); i+; printf("n翻译后的电文为 %sn",ch); /* 程序1主函数结束*/ void transform(char c) if( (c >='A') && (c ='a')&&(c main() void transform(char str80); int i=0; char ch80; printf("请输入密文"); gets(ch); transform(ch); printf("n翻译后的电文为%sn",ch); /* 程序2 主函数结束*/ void transform(char str80) int i=0; while(stri!='0') if( (stri >= 'A') && (stri = 'a') && (stri main() int i; int f20= 1,1; for(i = 2;i 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语言程序设计课程教学方法方面的一点尝试。但这远不是一个终点,如何将我们熟悉的方法与具体的教学相结合是值得我们不断探讨的问题,总之,希望借着对这些问题的探讨,使教学水平得到不断的提高。 第 6 页