将逻辑思维方法运用到C语言程序设计的教学中
2015-05-30吕双庆
吕双庆
摘 要:在C语言程序设计的教学过程中,运用逻辑思维方法,把经思维演绎得到的结果借助自然语言翻译成程序设计语言,可以降低学生学习的难度,培养学习兴趣,提高程序设计的技巧。
关键词:逻辑思维;C语言程序设计;教学;
中图分类号:G40 文献标识码:A 文章编号:1674-3520(2015)-08-00-01
C语言具有功能丰富、表达能力强、应用面广等特点,是现金在国内外广泛使用的一种计算机语言。许多高校都把C语言程序设计作为一门重要的课程。然而由于C语言牵涉的概念比较复杂、规则繁多、使用灵活,很多学生在学习的过程中不能很好地理解算法,编写程序困难,感觉无从下手,逐渐产生了抵触和畏难情绪。为了解决这一问题,我们可以把逻辑思维方法运用到教学过程中。
程序设计语言不过是一种逻辑语言,而程序(或称算法)不过是用该语言表示的一系列推理规则。计算机程序设计就是以一种符号化的语言系统为载体,通过对这一系列的符号进行推理运算以达到某一特定的目的。因此,一个C语言程序的设计过程实际上就是将人们处理该问题的逻辑思维翻译、变换成计算机所能识别的语句集合的过程。思维是人脑对客观事物能动的、间接的和概括的反映,语言是人类形成和表达思想的手段。人类借助于语言的帮助来进行思维,并且通过语言表现出来,但计算机不能直接执行人类的自然语言。程序设计语言是人与计算机之间交换信息的工具,人是通过它来指挥计算机进行工作的。C语言是一种计算机高级语言,采用英语单词表达语句,接近人类的自然语言和数学语言。在C语言程序设计的教学过程中,依据结构化程序设计的方法,可以从自然语言和程序设计语言的自身特点出发,构建一个可以将自然语言翻译成程序设计语言的逻辑对应关系。
在教学过程中我们从一开始就要给学生建立一个清晰的基础知识结构。任何一个C语言程序都可以看作由4个步骤组成:定义变量、输入数据、处理数据、输出数据。即一个C程序的一般结构可以将它归纳成下面的格式:
# include
main( )
{
定义变量;(int,float,char,double等)
输入数据;(直接赋值,例如x=8或标准输入函数scanf( )等)
处理数据;(if-else;switch;for;while;do…while等)
输出数据;(printf( ))
}
有了以上的结构认识后,在教学的过程中,遇到一个具体的问题,就要按照人们处理问题的逻辑思维,将问题求解由抽象逐步具体化,搞清楚其中的数据关系及问题的要求,分析如何解决此问题。例如在中国古代著名的“鸡兔同笼”数学问题中讲的是:在同一个笼子中养着鸡和兔,但只知道鸡和兔的总数是 ,鸡和兔的总脚数是 ,求鸡和兔各有多少只。看到这个题目后我们的思路一般是这样:题目已经知道鸡和兔的总数是 以及鸡和兔的总脚数是 两个条件,要得到鸡和兔分别有几只,可以根据数学方法先假设鸡有 只,兔有 只,然后建立方程组:
解方程组可得:
此即求 和 的数学模型,只要代入具体的 和 的值,即可得到 和 的值。
那么以上过程如何由计算机来完成计算呢?根据C程序的4个步骤,要先定义4个变量:m、n、x、y。接着把m和n的值从键盘输入,然后根据 , 计算x和y的值,也就是得到鸡和兔的只数,最后打印输出鸡有几只,兔有几只。
至此,我们完成了构建自然语言翻译成程序设计语言的逻辑对应关系过程。可以轻松的写出程序如下:
#include< stdio.h >
main() /* 主函数 */
{
int m,n,x,y; /* 定义变量m,n,x,y */
printf(“Enter the number of heads:”); /* 输入鸡和兔的总数m */
scanf(“%d”,&m);
printf(“Enter the number of feet:”); /* 输入鸡和兔的总脚数n */
scanf(“%d”,&n);
x=(4*m-n)/2; /* 计算鸡的只数 */
y=(n-2*m)/2; /* 计算兔的只数 */
printf(“There are %d chicks \n”,x); /* 在屏幕上输出鸡有多少只 */
printf(“There are %d rabbits \n”,y); /* 在屏幕上输出兔有多少只 */
}
程序运行结果为:
Enter the number of heads: 18
Enter the number of feet: 60
There are 6 chicks
There are 12 rabbits
科学家马希文教授曾说过:“用一串符号把一个计算机过程描述出来,就是一个程序……制定一些严格的规则,以确定什么样的符号表示什么样的程序。这些规则的总和就叫做一种语言”。在程序设计的学习过程中,主要是学会分析问题、设计方案(建立数学模型—— 算法),在此过程中,逻辑思维起到了重要的作用,它使程序设计的过程严谨,条理清晰。经过严密的思考,再将该过程通过自然语言和程序语言联系,C语言的编程变得顺理成章,大大降低了学生学习的难度,提高了学习兴趣。
参考文献:
[1]谭浩强.C程序设计(第三版)[M].北京:清华大学出版社,2005.
[2]张桃红,彭真,杨炳儒,谢永红.“C程序设计”课程的KM教学法研究 [J].计算机教育,2010(02):113—115.
[3]贾茹,郝长胜,郑惠生,裴衣非,董焕芝.运用自然语言的思维建构C语言程序设计教学 [J].计算机教育,2006(10):52—54