渐进启发式方法在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语言循环结构教学中运用

渐进启发式方法在C语言循环结构教学中运用   1、引言   如何激发学生学习循环结构的兴趣,如何引导其设计出合理的循环结构,是我们在C语言循环结构的教学中急需研究和探讨的问题。在分析了以往教学方法弊端以及人们认识事物的规律的基础上,我们试图提出一种在C语言循环结构中的渐进启发式教学方法。   2、循环结构和渐进启发式方法   根据学生的前期知识背景,按照人们认识事物的规律,渐进地,由易到难地,一步一步地启发学生在C语言程序设计中什么是循环结构(what),为什么要学习循环结构(why),如何设计循环结构(How)。本文就是在渐进启发式教学方法的指导下将其中的2W+H三个问题一一解剖,借此引起学生对循环结构重视的同时,激发其学习循环结构的兴趣。   3、C语言循环结构教学步骤   3.1什么是循环结构(What)    “循环”顾名思义就是“事情的重复”,其具体到程序中就是某一段代码(一条或多条语句)在满足某种条件下的不断重复执行,但是大多数的循环都不是简单的重复,而是有规律的重复,并从本质上讲都是量变到质变的过程。可以举例比喻:“从这学期开始1-16周,周二的3,4节,我们都要上“C语言程序设计”的课程。”显然这不是简单地重复上课,是通过每一次教授不同的知识点和不同的程序设计方法,最后达到大家掌握C语言程序设计的质变过程。   3.2为什么要用循环结构(Why)   首先,让学生先通过前期的知识,设计程序求解下述的累乘问题(也可以换成累加等)。首先计算1×2×3×4×5。很显然不用循环结构的情况下,可以用顺序结构的5条语句来解决:   s=1;s=s*2;s=s*3; s=s*4; s=s*5;   程序结构简单,语句数量可以接受。紧接着,很自然的,你可以让学生利用同样的方法去计算1×2×...×100,甚至是1×2...×100000000, 如果还是只采用顺序结构,结构虽然简单,但是语句的数量已经达到了一个无法忍受的地步。随着累加个数的增加,语句也随着线性增多。代码量太大,重复劳动太多。尽管解决效果很差,但这还是一个不用循环结构就是可以解决的问题。最后,如果式子变为1×2×...×n,而n是一个变量,是一个不定数,就会发现如果不用循环结构,就已经无法解决了。很自然地,学生就会迫切地想知道利用循环结构如何解决,解决的效果如何,极大地引起了其对循环结构的重视,激发其学习兴趣。    类似地,为了更为直观,我们在教学过程中,通过同样的渐进启发式方法引导解决下列问题需要用到循环结构的原因。   首先让学生在不用循环结构的情况设计程序输出下列图形:    *   ***    *****   学生可能给出的参考答案:   printf();printf(*); printf(\n);   printf( ); printf(***); printf(\n);   printf(*****); printf(\n);   然后抛出第二个问题,启发学生如果符合该规律的图形不只3行,而是10行,甚至是更多,还是不用循环去解决,可以解决吗?解决效果如何?你从中有没有发现什么规律?   正当学生埋头苦写代码时,你再抛出第三个启发式的问题:如果现在符合这种规律的图形不是10行,也不是100行,而是一个不定数,是一个变量,可以根据用户的需求随时改变行数的图形,不用循环还能解决吗?   3.3如何设计循环结构(How)   引起了学生对循环的重视和激起其学习循环的兴趣之后,我们带着学生的疑惑一步一步地引导学生设计循环结构去解决上述问题。C语言的循环主要有三种结构(for, while ,dowhile)。各自有不同的适用范围,通过一定的变动可以相互转换。我们先可以选择其中一种结构实现,然后在巩固循环结构的时候可以换成其它两种方法。   对于引例1,学生在用顺序结构计算1×2×3×4×5时,很容易发现其中有四个相乘是重复操作,但是通过怎样有规律地累乘才能得到结果呢,这个需要我们一步一步渐进地去启发。   首先我们将上面的代码,即   int s;s=1;s=s*2;s=s*3;s=s*4;s=s*5;   进行稍微的修改:   int s=1;s=s*1;s=s*2;s=s*3;s=s*4;s=s*5;   这时,再启发学生在第二行到第六行代码中除了乘法是重复的,还有什么是重复的?学生很容易就发现,被乘数s也是重复的,而乘数在有规律的变化(依次增加1)。通过引入变量来表达该有规律的变化,代码再次改写为:   int s=1, i=1;   s=s*i; i++;   s=s*i; i++;   s=s*i; i++;   s=s*i; i++;   s=s*i; i++;  

文档评论(0)

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

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

1亿VIP精品文档

相关文档