C语言中循环结构程序课的教学设计与探讨
2009-06-18孙英徐顺琼李兴美
孙英 徐顺琼 李兴美
摘要:循环结构的程序设计是面向过程的程序设计课程的核心部分,掌握好循环结构的程序设计技术对学好此类课程至关重要。本文重点介绍了“C语言程序设计”中循环结构程序课的一种行之有效的教学方法和教学手段。
关键词:C语言;程序设计;循环结构;教学方法
中图分类号:G642文献标识码:A
1引言
“C语言程序设计”是计算机系各专业的必修课程,属专业主干课,是一门学位课程。也是各高校部分非计算机专业开设的程序设计课程之一。本课程开设的目的是使学生掌握面向过程的程序设计的基本概念,逐步形成正确的程序设计思想,理解结构化程序设计方法;掌握程序设计的基本技术,程序设计的基本组织方法即函数(模块)程序设计;具备调试程序的能力。因为C语言功能强大,程序编写灵活,具有较强的实践性,是一门高级语言中的“低级语言”,既可以用来编写系统软件,又可以用来开发应用软件,因此对学生以后参与专业领域的应用软件的开发和使用会有极大的帮助。C语言是结构化的语言,学好C语言程序设计,能为后续课程(数据结构、编译原理、操作系统、C++、Java等)及其他程序设计课程的学习打下基础。同时,C语言程序设计也是计算机类各种考试所要求的重点课程之一。
2循环结构程序设计
结构化程序设计中包含三种基本技术:顺序结构、选择结构和循环结构。循环结构的程序设计是学生学习了结构化程序设计的前两种基本技术之后的第三种基本技术,是结构化程序设计技术中最重要也是最难的部分。这门课程一般都是学生学习程序设计的入门课程,第一次学习循环,可能难于理解“循环”的含义,在设计程序时正确使用循环也就更困难了。针对这些特点,循环结构程序设计的教学方法和教学手段也就值得探讨。
3循环结构程序设计的教学方法
3.1教学重点和难点
要想学生能够轻松理解和掌握循环结构的程序设计,首先得确定本部分内容的重点和难点。
本部分的重点主要是:(1)循环控制结构及其设计。(2)循环控制语句的应用。教学重点是循环控制语句中的while语句,只要把while语句的使用讲解清楚了,后面的for语句和do-while语句就容易多了。
本部分的难点是循环控制结构及其设计。
3.2突出教学重点与分散难点的方法
为了突出教学中的重点并分散难点,可以从三方面入手:
(1) 从分析问题的重复性入手。学生在日常的生活、学习中能看到、体会到重复这种行为。精心设计实例,给学生一个比较实际的切入点,通过教师的引导,使学生能体查、归纳“重复行为”,从而理解和掌握循环的主要特点:有规律地重复操作。在教师的启发、引导下,使学生在课堂上真正地成为“主体”,教师扮演“主导”角色。在整个过程中,紧紧抓住循环程序设计的思想,采用“自顶向下,逐步求精”的结构化程序设计方法,把重点突出出来,并把难点进行分散,使学生容易理解和接受。
(2) 难点内容,提前做好铺垫。在前面内容适当的地方安排出现循环程序,但不讲它的功能,为讲解现在的内容做好铺垫,打下伏笔。这使得学生的每一步学习都有基础,是一个循序渐进的过程,使学生的学习是在“走台阶”,而不是“三级跳”,效果很好。
(3) 在循环程序设计的应用中,可以从简单公式化的循环入手到复杂非公式化的循环的处理。讲解过程中,通过黑板进行详细分析和讲解,使学生加深学习和理解。适当的地方进行提问,教师引导学生积极参与到分析问题,解决问题的过程中,写出程序后,放到实际的环境下运行,让学生来分析程序的正确性,改正程序的错误,有利于学生理解难点、掌握重点。
3.3教学过程的设计与组织
(1) 提出问题
本部分的内容是循环程序设计,体现在两个方面,一是循环结构程序设计的算法表示;二是循环结构程序的C语言表示。循环程序设计是结构化程序设计中最难、最复杂的部分,而授课对象是初次接触程序设计和循环结构,因此循环的引入就至关重要。例如:通过引入求5!这个简单的例子,运用已经学过的顺序结构程序设计就可以实现;但是求复杂的阶乘,比如20!,任意自然数n!,用已经学过的顺序结构程序设计和选择结构程序设计就难于解决,要用简单的方法解决这样的问题,就必须使用结构化程序设计中的第三种基本技术:循环结构的程序设计。这样就轻松地引入了循环结构程序设计。在引入的过程中,要注重调动学生的积极性,采用互动教学法带动学生的积极性。
(2) 解决问题的方法及讲授新内容
在用问题引入了循环后,第一步,分析用循环控制结构求20!的算法的自然语言和流程图表示。第二步,为了实现这种循环控制行为,C语言提供了多种循环控制语句,while语句就是其中的一种,介绍while语句的一般形式和功能。第三步,讲解while循环语句的应用。在讲解的过程中,为了提高学生的学习效果,达到预期的目标,除了采用常用的教学方法和手段外,还可以采用以下一些教学方法和手段:
① 注重启发、引导学生。教师在讲解分析时,注重启发、引导学生主动分析问题、解决问题。
② 注重采用任务驱动的教学模式。通过提出问题,分析问题,引入新知识,解决问题,总结提高,一步步实现教学的目标。
③ 采用国际上惯用的解析教学法。
④ 把编写的程序放到实际环境下运行。让学生来分析程序的正确性,改正程序的错误,有利于学生掌握好重点、难点知识。
⑤ 应用现代化多媒体教学手段,有利于提高教学效率,便于学生理解。充分利用黑板和投影相结合的方式;分析过程用黑板进行教学,以便体现思维过程。
4结束语
要使学生轻松容易地理解和掌握C语言中的循环结构程序设计方法和技巧,必须在教学的所有环节上都进行认真研究和精心设计。通过对循环结构程序设计的教学,使学生提高综合应用的能力,为今后的后续课程及软件的设计和开发打下坚实的基础。
参考文献:
[1] 徐庆生.C语言程序设计[M].北京:科学普及出版社,2007.
[2] 高牧,杨志强,许兰兰,等. C/C++教学改革的探索与实践[J]. 计算机时代,2005(11).
The Design and Discussion of Programming Course of Iteration Structure Pedagogical
in C Programming Language
SUN Ying, XU Shun-qiong, LI Xing-mei
(Department of Computer Science, Chuxiong Normal University, Chuxiong 675000, China)
Abstract: The programming design of iteration structure is a key part of process-oriented programming design. Mastering the programming iteration structure technology is essential to study such courses. This paper focuses on introduce a effectual method of pedagogical design and a good way of, pedagogical approaches for the programming design of iteration structure in "C Programming Language".
Key words: C programming language; programming design; iteration structure; pedagogical approaches