基于C语言循环嵌套课堂教学设计与探讨
2018-11-26付云侠
【摘要】本文以设计C语言中循环嵌套知识点的课堂教学为例展开,围绕课堂教学中教学任务的组织展开讲述,借助教学设计的渐进案例,引入外循环和内循环概念,通过分解课堂教学任务来完成本次内容的课堂教学,加深学生掌握循环嵌套,达到学生灵活清晰的设计程序,精准的分析程序结果、快速调试代码中错误这种教学效果。
【关键词】C语言 循环嵌套 课堂教学 案例
一、引言
循环嵌套是在一个完整的循环里面,又包含一个完整的循环结构,把外面的循环称为外循环,内部的循环称为内循环;循环的执行过程是外循环变量每取一个值时,内循环要把内循环变量范围里面的值全部执行一遍,这时外循环变量才可以取下一个循环变量的值;以此类推,直到外循环变量所有的值全部执行完毕,这时循环就结束了。我们把这样的循环结构称为循环嵌套。
循环嵌套在C语言中占有很重要的地位,它是C语言程序设计的核心知识点和教学的一个难点,它在一维数组、二维数组和函数中循环嵌套尤其重要。教师在课堂教学中通过借助设计的例子,由浅人深展开讲解;通过分析程序运行结果,不断提出新的实现目标,完善修改程序,这样课堂教学会加深学生理解,尤其是代码书写、程序调试技巧等尤其重要。
二、课堂教学组织
从课堂教学引例出发,深入课堂教学内容的设计,具体实现过程如下:
1、设计浅显易懂、能激发学生兴趣的案例出发,让学生接触循环概念;
2、提出程序的结果要求,通过不断完善修改之前的代码,逐渐完善给定的初始图形,从而修改算法,调整、完善程序,引出程序设计思路;
3、通过不断修改程序,调整运行结果,完善代码,实现最终的程序效果。
通过课堂案例的演示,程序代码的书写、代码的修改,引出内循环和外循环概念,分析程序执行流程。通过引入新的要求,加大程序难度,不断调整代码,最终达到期待的结果。通过课堂完整代码的实现分析过程,加深学生的理解、提高课堂的互动,达到好的教学效果。
三、问题的引入和解决过程
问题一:给出一个*图形,编程输出图形*****,程序如何书写?
停顿几秒,让学生思考后,打开VC环境编写如下代码:
for(i=1;i<=5;i++)
printf(“*”);
问题二:在实现问题一后,继续提出新要求,如何由一个*编程输出5行******图形?
引出程序的分析过程:首先需要引入一个循环变量代表行标,取值是1到5;然后再引出另一个循环变量代表每行图形的个数,也就是列标。从而确定每一行图形中列标的取值范围,当每一行中所有列的图形全部打印输出之后,再换到下一行准备打印下一行图形,这个过程需要重复执行5次,才可以实现图形的打印。分析完图形打印的过程后,继续在VC下编出代码如下:
for(i=1;i<=5;i++)
for(j=1;j<=5;J++)
printf(“*”);
运行结果如下,输出的图形是*************************,不是预期的5行图形;
问题三:图形输出结果不对,程序如何修改?
展开课堂探讨,分析程序执行的错误地方。学生很快会分析出出错的原因是这样的,在打印完每一行图形后,必须给出换行操作的语句,程序才可以在单独的一行输出新的一行的图形。找出程序中的问题后,修改程序如下:
for(i=1;i<=5;i++)
{for(j=1;j<=5;j++)
printf(“* ”);
printf(“\n”);
}
四、课堂小结
课堂教学的案例中需要引出循环嵌套的内循环变量和外循环变量、内外循环体的概念。总结分析得出以下几点:
1、i是外循环变量,j是内循环变量;
2、外循环变量是i,循环体语句是:
for(j=1;j<=5;j++)
printf(“*”);
printf(“\n”);
3、内循环变量是j,循环体语句是:
for(j=1;j<=5;j++)
printf(“*”);
4、程序运行时,外循环变量i每次取1个值时,内循环变量必须执行5次。外循环执行了5次,内循环执行了25次,这样循环才结束。
5、锯齿状程序代码的书写,便于更好、更清晰地检查程序错误,注意层次,也就是外循环和内循环语句的区分,注意大括号的作用。
6、及时总结程序运行中的错误,进行修改、调试的地方;通过程序运行验证,加深对案例调试分析的理解,再一次加深学生对循环嵌套的理解。
五、课后内容的引深
学习了这讲的C语言教学内容之后,要求学生课后编程實现菱形图形、直角三角形等图形的打印,延伸课堂所学内容,对出现的新的难点,如何应对解决,实现这些内容,那么这一讲的课堂内容将基本掌握了。教师分析图形后,可给出提示:1、分析图形的特点,图形左右、上下对称;2、每行图形的个数和行标有什么关系;3,如何输出每行的图形;4、每行图形打印前的空白位置如何输出;5,调整图形,直至输出正确的图形。同时给出奖励措施,提高学生课后编程的兴趣和积极性。
六、总结
通过课堂案例展开循环嵌套知识点的讲解,加深学生对内、外循环体的理解;通过调试、修改代码,强调程序中语句组是用左右括号决定的,锯齿状程序书写方式,便于程序的阅读和修改,更好的区分层次和标识循环体语句,明确区分内循环和外循环中的循环体语句,避免不必要的错误的出现,从而养成良好的、正确的程序书写习惯。
参考文献:
[1]付云侠.C语言程序设计教学中开篇教学方法的研究[J].科教文汇,2015.
[2]任小燕,付云侠.基于CDIO的C语言程序设计教学模式研究[J].计算机教育,2012.
[3]李丽亚,刘海静,《C语言程序设计》教学模式的研究与探索[J].电子制作,2015(04).