浅谈比较教学法在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语言教学中运用   摘要:C语言是系统描述语言,是一种通用的程序设计语言,具有许多突出的优点,因而在许多方面都得到了广泛应用。越来越多的程序员将C语言作为主要的编程工具;同时,越来越多的人开始学习C语言。但由于C语言灵活,功能强大,也给初学者带来了一定的学习难度。文章从教学法出发,认为教师在《C语言》授课过程中,应根据不同的教学目的,针对不同的教学内容,采用比较教学法,以获得良好的教学效果。   关键词:比较教学法;C语言;程序设计   中图分类号:G712文献标识码:A文章编号:1672-5727(2010)05-0138-02      C语言使用起来方便灵活,具有现代化的数据结构、结构化的控制语句、程序设计自由度大等特点。但是,C语言中诸多的符号难以驾驭,尤其是函数、指针和结构体等,学生学习起来相当吃力。近几年来,笔者不断对C语言教学进行探索和总结,认为在《C语言》课程教学中运用比较教学法能有效提高教学质量。   典型例题“接龙”比较法   学生学习程序设计语言,只有在掌握这门高级语言自身特点的基础上,才能进一步学习编程。教师在进行教学设计时,编排例题的顺序很重要,应依据知识的连贯性,由简单到复杂,逐层深入。例如,for循环语句这一节内容,由于介绍完单层循环,还要进一步介绍循环的嵌套,笔者选择了下面这道编程题为“龙头”,然后分别横向深入和纵向深入进行“接龙”,将这一节的所有知识点都概括其中,使它们彼此联系,相互挂钩。   例题一(累加):求1+3+5+7+…+n(n是奇数)。    源程序:main( ){    inti,n;    ints;    s=0;    scanf(“%d”,n);    for(i=1;i=n;i+=2)   sum+=i;    printf(“s=%d”,s);    }   (一)横向深入   在程序设计语言的教学过程中,教师应适时让学生进行编程训练。这不仅对学生理解和熟悉知识点有帮助,而且还能循序渐进地培养学生树立程序设计思想,提高分析问题和解决问题的能力。   讲完例题一,将题目稍加改动为例题二(求和):s=1+1/3+1/5+1/7+…+1/n(n是奇数)。这道题的源程序,除了将例题一源程序的“s+=i;”语句改为“s+=1.0/n;”语句,还要注意将“int s;”语句改为“float s;”语句。另外,在输出语句printf中参数s的格式控制符也应作相应的改动,由“%d”改为“%f”。   此后,再将例题一稍加改动为例题三(求积):1*3*5*7*…*n(即求n的阶层:n!,n是奇数)。这道题,除了将例题一源程序的“s+=i;”语句改为“s*=i;”语句外,还要注意将“s=0;”语句改为“s=1;”语句。   (二)纵向深入   将例题一和例题二结合,就成为了例题四:求1!+3!+5!+7!+…+n!(n是奇数)。这道题具有承上启下的作用,使教学内容由单层循环引入循环嵌套。累乘由内层循环来实现,累加由外层循环来实现。   例题四源程序:main( ){    inti,,j;    intp=1;    ints=0;    sacnf(“%d”,n);    for(i=1;i=n;i+=2)    for(j=1;j=i;j++)    p*=j;    s+=p;    printf(“s=%d\n”,s);    }   借助本题的讲解,可将有关循环嵌套的知识点着重介绍给学生。然后再将该题进行横向深入:求1!+1/3!+1/5!+1/7!+…+1/n! (n是奇数)。让学生自己动手练习。   途径比较法   在程序设计语言的授课过程中,任何一个问题的解决,都应该尽量通过多种途径来实现。途径比较法,就是通过比较各种途径(即解决问题的办法),引导学生发散思维。哪种途径效率最高,各种途径分别适用于什么情况,引导学生养成周密考虑这些问题的习惯。   例如,在求解例题一时,除了用以上方法之外,还可以有另外的解题方法。1到n(n是奇数)之间的项数(即奇数个数)可以用简单的算法求得。假设1到n之间的项数为m,实际上这是一个公差为2的等差数列,利用公差的通项公式,则有n=1+(m-1)*2,求得m=(n-1)/2+1,利用单层循环语句for就可以马上求得结果。源程序如下:    main( ){    inti,n,,sum=0;    scanf(“%d”,n);    for(i=1;i= (n-1)/2+1;i++)    sum+=2*i-1;    printf(“sum=%d\n”,sum);    }   显然,这个源程序的执行效率比较高。在讲完用这种方法

文档评论(0)

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

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

1亿VIP精品文档

相关文档