耿春梅
摘要:循环结构是C语言程序设计课程中的一个重要的结构,同时也是掌握程序设计的基础与关键。文章在剖析当前C语言循环结构课堂教学问题的基础上,探讨循环结构的教学方法,提出一种“源实例”教学法。教学实践证明该方法在激发学生求知欲、提高学生抽象思维能力方面有着较好的效果。
关键字:C语言;循环结构;教学方法
C语言是高职院校计算机专业与非计算机专业讲授程序设计课程的首选语言。C语言的重要性有目共睹,其应用也是包罗万象。它集汇编语言和高级语言优点于一身,向下可以做系统设计语言开发底层的嵌入式,向上可以做应用程序设计语言开发应用程序。C语言是一种结构化的高级语言,循环结构是3种结构中最为复杂,又最为常见的。如果学生没有掌握好循环,那么学好后续的数组、指针、函数等的知识点便是空中楼阁。因此应注重Z_--结构的教学方法探讨,力争让学生较好较快地理解和掌握。
1.当前C语言循环结构课堂教学中的问题
1.1思维方式的跳跃
C语言有3种基本结构:顺序结构、选择结构、循环结构。在这3种结构中,顺序结构和选择结构十分接近人类的日常思维方式,因而也较容易被理解和掌握。但是循环结构与人类的自然思维却不尽相同。所以若在教学过程中按部就班、照本宣科,必然出现思维方式跳跃带来的知识掌握的滞后性。机械的记忆语法知识、临摹式的上机调试课本实例使得越来越多的学生对C语言失去兴趣。学生的学习呈现被动状态,学习积极性不高,甚至产生排斥心理。因此C语言循环结构课堂教学亟待解决的问题之_就是如何缓冲思维方式的跳跃。能够让学生在轻松自由的认知过程中掌握循环结构的使用,同时这也是激发学生学习积极性的至关重要的一点。
1.2教材教法的禁锢
C语言的教材充栋折轴,其中也不乏有经典教材,然而这也导致了很多学校与教师认为讲授必选经典教材。但是,教育教学讲究灵活多变、因材施教。经典教材固然为C语言的教学做出了巨大的贡献,但是其编写模式与所举实例却不利于引发学生的学习兴趣。目前,关于C语言循环结构的教学方法及其相关的教学研究等得到了较多的关注,同时也诞生了不少好的教学方法。其中实例教学法就是其中出色的一种。沿用实例教学法的教材也层出不穷,教师在讲解循环结构章节中采用实例法也是明智之选。然而,实例教学法精髓在于精选实例,如果实例取之不精,不仅不能发挥其应有的效用,相反还会给教学带来很大的负面影响,实例取之不当不仅破坏了知识的系统性,甚至会使学生成为“实例操作员”,机械的上机练习,也会影响课堂的教学效果。如何精选实例是C语言循环结构教学的关键所在,实例既要经典,突出重点和难点,又要与学生的自然思维想吻合,激发学生的自主动手能力。
2.C语言循环结构“源实例”教学法
2.1“源实例”提高学生对抽象概念的感观认识,实例源自生活,基于观察
循环是什么?其实循环就是“重复操作”,是为了达到某种目标(循环条件),而反复地执行一组操作(循环体),直到该目标(或条件)达成为止。通过循环结构,程序员可以减少重复书写代码的工作量,能够充分利用计算机运算速度快的优点解决实际问题。循环同样也是生活实例的语言抽象。例如生活中的某农民对某一农田的四季耕耘,在20年的耕作权的时间里,每当春播时节到来,就会播种,年年如是。再如,参加自考的考生,学习过后,就可以参加考试,然后根据考试的结果来决定是否需要继续学习还是重新参加考试,直到考试通过拿到证书为止。可以将以上2个事件用流程的形式解释,如图1所示。
诸如此类的“源实例”循环很多,如银行的密码验证过程,教师在授课过程中,经常举一些与实际生活息息相关的事例,围绕精选出的源于生活的事例,把学习的过程与具体的事例抽象相融合,引导学生自己去思考解决方案。整个教学过程以应用为根本出发点,强调在生活事例中抽象,在抽象过程中学习应用,避免枯燥、复杂的理论说教对提高学生综合分析和解决实际问题的能力有极大的帮助。
2.2“源实例”,实例源于体验
有了循环的生活提炼以后,学生还要面临的一个问题是怎么才能在编程过程中自主的选择循环结构程序设计。也就是说,学生要进一步明确在面临实际问题的时候,何时需要使用循环。如果只凭教师与教材的一面之词,学生只是被动接受,止于模仿,充分调动学生的自主性才是学习程序设计的根本。在循环结构的前续知识中,学生已经掌握基本的输出函数printf(),针对该函数都会有图形输出的趣味练习,比如输出下实心三角形作为某程序的开始菜单图标。其图形与代码片段如下所示。
教师可以提出,如果该图形不是3行,而是50行甚至更多,该怎么办。学生自然会想到继续重复的使用printf几十次是不明智的一件事。教师要抓好时机的进行“重复”抽象的引导,这样学生自动会考虑使用循环结构解决。再如,在c语言循环结构教学之前学生学习if语句和switch语句时,一般学习实现将学生分数从百分制转换成五分制。在此基础上,教师可以引导学生思考,如何完成一个班的学生的分制转换工作?这种基于学生自身体验的需求会极大地调动学生对未知事物探索的积极性,吸引他们的兴趣,变被动为主动,变呆板为灵活,更容易对所学循环结构举一反三,做到触类旁通。
“源实例”教学,首先要求教师在实例选择上多下功夫,精心设计实例,从日常生活中容易看到的、用到的、好理解的问题下手,抓好较为实用的切入点,抓住学生的眼球是该教学方法的关键。其次,教师要通过层层引导,让学生自主动脑,归纳“重复”行为,主动地接近循环结构的真谛,以达到理解和运用循环结构的目标。第三,“源实例”教学要求教师注重利用现代科技手段,把课堂扩展到学生喜闻乐见的现代化生活平台,当前的QQ群或微信朋友圈都是不错的平台,一方面打破课堂的物理局限性,另一方面在网络的平台下,更能拉近师生距离,使学生将生活中随时遇到的可以抽象的各种问题与教师实时交流看法与心得,更好地提高教学效率。第四,“源实例”教学要求教师在组织教学的过程中将教材融会贯通,阶梯式难度设置。例如游客足迹记录问题。第一步,让学生使用循环结合printf()设计出完成星型界面。第二步,让学生在上一问题的基础上,通过设计while(1)循环,实现当用户输入Q时该循环退出并输出循环的次数。依次将任务难度增加,让学生拾级而上,增强学生编程的自信心。
3.结语
循环结构是C语言课程的重点,掌握好循环结构一方面为后续的数组、函数、指针等知识的学习夯实基础,另—方面也可锻炼学生的逻辑思维能力,提高学生对编程的信心。在循环结构程序设计中使用实例教学法可以凸显课程知识点,明确教学重难点,但是以题为例的实例教学法也会给教学带来一定的局限性,比如知识点的不系统,课程的枯燥感,这些都会给学生带来一定的厌学情绪,不利于知识的学习。本文通过引入“源实例”教学法,循循善诱,循环结构变抽象为具体、变枯燥为生动,让学生在整个教学过程中逐步养成严密的逻辑思维,提高学生分析问题、处理问题的能力,教学实践证明该方法对循环结构的教学效果明显。