C语言教学中采用“一题多解”开发学生思维.docVIP

C语言教学中采用“一题多解”开发学生思维.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言教学中采用“一题多解”开发学生思维   文章编号:1672-5913(2008)18-0095-01   摘要:本文介绍了笔者在教学中如何通过一题多解的开放性思维方法来提高学生编程能力的。   关键词:算法分析;创新能力;语法;   中图分类号:G642 文献标识码:B      1灵活运用启发式教学方法      为避免学生强于应试而弱于编程实践,应在教学过程中以程序设计为主线进行教学,有意识地淡化计算机语言本身语句的介绍,而重点介绍程序设计方法,在分析程序和程序设计中熟悉语法、应用语句,将软件工程、数据结构及算法设计等思想贯穿于程序设计过程中。另外,在教学过程中,灵活运用启发式教学方法,将比较抽象,不易被学生接受和理解的教学内容化繁为简,在教学中巧用生活中的实例,运用比喻、游戏、实验等方法使学生尽快掌握编程的方法。   例1:如高教出版社《全国计算机等级考试――二级教程――C语言程序设计》第五章“循环结构”,课后习题中有这样一道题:“编写程序,求1-3+5-7+9-…-99+101的值”这道题与例题5.2“用p/4=1-1/3+1/5-1/7+1/9…公式求p的近似值,直到最后一项的绝对值小于10-6为止”题目有些相似。学生自然而然会想到用例题的这种方法求这道题。程序如方法一:   #includestdio.h   main()   {    int s=1,n,sum=0;    for(n=1;n=101;n=n+2)    {   sum=sum+s*n;   s=-s;   }    printf(%d\n,sum);   }   这道题除以上的解法以外还有许多种。我让同学们撇开计算机,就当成是一堂数学课,去试着解决这个问题。大家争先恐后地讲出自已的想法。我将他们的想法一一归类,并且告诉同学们这就是解决这个问题的算法,同学们感觉有些不可思议,课堂气氛顿时活跃起来,我再让同学们冷静下来将这些想法转化为C语言形式,同学们这时都来劲了,同学们给出了许多个解决问题的思路。   方法二:将1-3+5-7+9-…-99+101=(1+5+9+…+101)-(3+7+…+99),经过这样的组合后,先分别求和,再作差。具体程序如下:   #include”stdio.h”   void main()   {       int sum=0,sum1=0,sum2=0,i;    for(i=1;i=101;i=i+4)    sm1=sum1+i;    for(i=3;i=99;i=i+4)    sum2=sum2+i;    sum=sum1-sum2;    printf(“%d\n”,sum);   }   方法三:根据“+”、“-”间隔的规律,笼统地去求和,只不过将数分为正数和负数。具体程序如下:   #includestdio.h   void main()   {   int i,sum=0;   for(i=1;i=51;i++)    {    if(i%2!=0)    sum=sum+(2*i-1);    else    sum=sum-(2*i-1);   }   printf(%d\n,sum);   }   方法四:利用求通项T=(-1)i-1*(2*i-1),程序如下:   #includemath.h   #includestdio.h   void main()   {   int i,sum=0;   for(i=1;i=51;i++)    sum=sum+pow(-1,i-1)*(2*i-1);    printf(%d\n,sum);   }      2赏识学生,注重学习兴趣的培养      在教学过程中,教师应运用多种信息技术适时的辅导,创设丰富的情境,发挥最佳效应,运用多种教学手段激发学生主动学习获取知识的热情。   例2输出由“*”构成的一个菱形。我让同学们考虑了5分钟左右大多数同学都在想办法用for语句来实现。有些同学受前面例子的影响开始学着分析问题了,最后有同学举手胆怯地说:“老师,您看这样行吗?我用7条printf语句实现。”即:   #includestdio.h   void main()   {   printf( *\n);   printf(***\n);   printf( *****\n);   printf(*******\n);   printf( *****\n);   printf(***\n);   printf( *\n);   }   当然这种方法是正确的,只是说与编写教材人的思想不能统一

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档