您的当前位置:首页《C语言程序设计》教学中思维模式的转变

《C语言程序设计》教学中思维模式的转变

2021-11-25 来源:乌哈旅游
文章编号:1007—1423(2013)32—0047—03 DOI:10.3969/j.issn.1007-1423.2013.32.012 《C语言程序设计》教学中思维模式的转变★ 华丽 , 龚雄兴 , 谷琼 , 黄霞 (湖北文理学院数学与计算机科学学院软件工程系,襄阳441053) 摘 要:《c语言程序设计》是计算机相关专业要学习的一门重要基础课程,但是很多学生因为数学 中的惯性思维模式给学习这门课程带来阻碍。通过案例说明在教学中引导学生从人解决问 题的思维模式向计算机解决问题的思维模式的转变方法。经过教学实践证明。该方法取得 良好的教学效果。 关键词:C语言;程序设计;教学方法;思维模式 1 在C语言教学中存在的思维模式问题 《C语言程序设计》是很多与计算机相关的专业必 修的一门专业基础课.是进入专业学习后与该专业其 他的后继课程联系最紧密的一门课程.所以它被称为 培养计算机解决问题的思维模式。这样,学生会对为什 么C语言要这样解决问题有了清楚的认识.也就更容易 接受和理解C语言中某些看起来很难理解的内容 2 人和计算机解决问题的思维模式的基本 区别 问题:求圆的半径为3的圆的面积。 通往计算机专业的入门课程。因此.学好这门课程对后 面《面向对象程序设计》、《数据结构》等重要专业课程 的学习起着至关重要的作用。另外。这门课程同时也是 很多高校非计算机专业的理工科要学习的公共基础 课 但是很多学生一入学就被这门课程难倒了,认为这 门课程涉及的概念多、语法复杂、内容广泛,特别是程 人解决的方法:根据求圆面积的公式s='n'r2,得s= 3.14x3 ̄3,最后s=28.26。 计算机解决的方法: #include<stdio.h> 序设计的思想难以理解。所以很难入门。 笔者根据多年来的教学经验发现,学生在学习《C void main() f float r,s; 积 , 定义变量r存放半径,s存放求得的面 语言程序设计》这门课程时,会把中小学数学中解决问 题的惯性思维.不自觉地应用到C语言的学习中。恰恰 是这种惯性思维阻碍了学生学习C语言的步伐。因为 数学中是用人脑解决问题,解决问题的主体是人。C语 言中是人通过编写程序让计算机解决问题.解决问题 的主体是计算机 这两种解决问题的思维模式有着很 r-=3; ,木给半径赋值¥/ s=3.14*r'r; ,术求出面积{/ printf(“圆的面积是:% s); } 输出求得的面积 / 经比较。人与计算机解决问题的主要区别: 大的区别 为了使学生尽快融人到C语言解决问题的 思维模式.在教学过程中,应就二者的区别,多引导学生 ★基金项目:湖北省教育科学“十二五”规划项目(No.2012B192) 收稿日期:2013—09—26 修稿日期:2013-10—26 ①人有眼睛,问题的已知条件通过眼睛看,不需要 输入;计算机没有眼睛,问题的已知条件必须通过键盘 作者简介:华丽(1975一),女,湖北襄阳人,硕士,研究方向为软件工程、软件测试 现代计算机 2013.11中 囝 \ 教学园地 \ 输入.告诉给计算机 ②人解决问题的过程中.用纸张和大脑记录解题 的过程,不需要存储:计算机解决问题过程中的中间数 据则要保存在计算机的存储器中 ③解决问题的结果出来后.人用眼睛看就清楚了, 不需要输出 计算机需要输出到显示器的屏幕上.让用 户知道。 3 具体实施案例 根据人和计算机解决问题的区别.教师必须引导 并培养学生使用计算机解决问题的思维模式理解程序 和编写程序 另外.在C语言教学中,遇到生涩难懂的 概念或问题尽量多通过举例子、打比方的方法,活跃课 堂教学的气氛.极大地激发学生学习的兴趣,使得《C 语言程序设计》这门课程变得通俗易懂,简单易学。 案例1:为什么要在C语言中引入数据类型? 数学中把数简单地分成整数和实数两种类型。而 C语言提供了非常丰富的数据类型.不仅有整数、实数 类型,还有字符、指针、数组、结构体等类型。并且在C 语言中整数类型还被进一步划分为短整型、整型和长 整型。实型也被进一步分成单精度实型和双精度实型。 那么为什么要在C语言中对数据类型划分得如此详细 呢? 根据人与计算机解决问题的区别得知.C程序中 涉及到的中间数据都需要保存到计算机中.以提供给 后面的处理使用。计算机的存储器提供了记忆功能。存 储器被分成了一个个的小房间称为字节.每个字节可 以存储8个二进制位 那么一个字节能够存储的最大 正整数就是111111l1.转化成十进制数就是256 而在 编程中我们要用到的正整数大的可能上亿.小的只有l 那么大 究竟一个整数该分配多少个字节来存储合适 呢?首先不能太大,否则可能会造成存储资源的浪费。 但是也不能太小.否则可能会存放不下.造成数据的溢 出。因此我们要量体裁衣。就好像姚明和一个小朋友两 个人都要做一件同样款式的衣服.姚明需要用的衣料 肯定要远远超过小朋友的衣料 为了做到量体裁衣。C 语言把整数又进行了进一步划分 对于一32768~32767 之间这样较小的整数.我们分配2个字节来存储.来做 到资源的不浪费.并把这个范围内的整数称为短整型。 超过这个范围的整数可以分配4个字节存储.以免数 ④ 现代计算机2013.11中 据的溢出.4个字节可以存储的数据范围是 一2147483648~2147483647.并把这个范围内的整数称 为长整型。由此,引人了C语言的数据类型。 案例2:从键盘输入两个实数a和x,按公式:y=aS+ sin(ax)+In(a+x)+e ,计算并输出y的值。 学生使用数学的方法写出的C程序: #include<stdi0.h> void main0 {float a,x,y; scanf(“%f,%f”,&a,&x); y=a^5+sin(ax)+ln(a+x)+e ax; printf(“y=% y); l 事实上.数学中的 符号表示乘方运算在C语言 中并不存在.数学中两个数相乘可以省略乘号但C语 言的语法规则不能省。在C语言中求正弦值、自然对 数、乘方都是通过调用库函数来实现的。因此,在遇到 类似问题的时候.要引导学生摒弃数学中的惯性思维. 使用C语言中提供的方法来解决该问题。正确的C程 序应该如下: #include<stdio.h> #include<math.h> void mainO {float a,x,y; scanf(“%C%f,’,&a,&x); y=pow(a,5)+sin(a x)+log(a+x)+exp(a x); prinff(“y=%f’’,y); } 案例3:求1+2+3+…+100的和。 数学使用的简便方法: (1+100)+(2+99)+…+(49+52)+(50+51) =101x50 =5050 根据此算法,编写出C程序如下: #include<stdio.h> void main0 f int s=0; s=101 50: printf(“1+2+…+lO0=%d”,s); } 虽然这种算法能输出最后的结果.但是这种方法 需要人事先做很多准备工作.再编写程序交给计算机 来完成显得意义不大 计算机使用的算法: 计算机运算速度快.并且机器不怕繁琐重复的工 作.所以把需要求解的问题转化成多次重复的操作很 适用于计算机。那么该问题可以采用这样的算法:重复 执行100次的加法运算,第一次加1。第二次加上2, …例如等号“=”在数学中表示左右两边的式子相等.在C 语言中是代表赋值运算符.表示把等号右边表达式的 值赋给等号左边的变量。因此,式子a+b=c+d在数学中 常见,在C语言中却不合语法。式子a=a+l在数学中不 成立,在C语言中却常用。所以.教师在进行C语言教 学的过程中.尽量多引导学生发展计算机解决问题的 思维.对于适用于数学却不适用C语言的惯性思维模 式要加以抑制 同时。在教学过程中多引入生活中的例 子进行打比方.让C语言中生涩难懂的概念变得通俗 易懂.使C语言的学习变得轻松有趣.C语言的知识也 会掌握得更加牢固.为今后其他重要专业课程的学习 打下坚实的基础 .最后一次加100。这样重复100次的操作后就可以 #include<stdio.h> 求得最终的结果。根据此算法编写出C程序如下: void main0 f inti,s=0; for(i=0;i<=100;i++) s=s+i: 参考文献 [1]杨路明,郭浩志.C语言程序设计教程[M】.北京邮电大学出 版社.2005.12 prinff(“1+2+…+l0o=%d”,s); } [2】南丽丽.阶梯式教学法在C语言教学中的应用[J].计算机 在C语言编程中.还有很多问题的算法都可以转 换成多次重复的操作,例如经典的百马百担问题。 教育.2008(07):75~76 [3】郭跃华.高校计算机专业C语言教学改革研究[J].中国科 教创新导刊.201 1 f081:25~27 4 结语 [4]徐晓.一种C语言函数部分的新教学方案fJ].计算机教育, 2007(09):82~85 除了上述三个案例外.C语言中还有很多概念和 问题在理解和解决的时候与数学的思维模式有区别 Change of Thinking Patterns in the C Language PrOgramming 一 一 一 一 V V l eaehinq — HUA Li , GONG Xiong-xing , GU Qiong ,HUANG Xia (College of Mathematical and Computer Sciences,Hubei University of Arts and Science,Xiangyang 441o53) Abstract:C Language Programming is one of the important basic courses in computer science or related major.Many students feel dififcult to learning this course because of conventional modes of thought.The cases illustrate the transformation methods of thinking patterns in teaching from human solving problem to computer solving problem.As the teaching practice shows,the effect of this method is good. Keywords:C Language;Programming;Teaching Methods;Thinking Patterns 现代计算机 2013.11中 囝 

因篇幅问题不能全部显示,请点此查看更多更全内容