图形在C语言循环结构教学中的作用
来源:用户上传
作者: 路敏
摘要:循环结构是C语言学习的重点和难点之一,比较抽象,不易掌握。作者从事多年的C语言教学,对这部分内容的教学也不断进行探索。在实践中发现从熟悉的图形入手,可以变抽象为具象,化难为易,学生易于接受和理解,效果较为理想。
关键词:C语言 循环结构 图形
C语言是一种结构化的程序设计语言。循环结构是结构化程序设计中非常重要的一环,相比其他2种结构来讲,难度大、应用广。n!的计算,累加计算等都要用到循环;循环还与数组的使用密不可分;可以说,循环在整个程序设计中的作用非常重要,循环结构要贯穿在大部分C程序中。
循环结构的教学也是C语言的重点和难点。如何能让这部分的教学形象、易懂,让学生印象深刻?作者在多年的教学中不断摸索总结,认为把循环结构与点阵图形结合,可以变抽象为具象,使学生更容易理解和掌握循环的本质。
一、通过对比体会循环的意义
如:打印“**********”
在学习printf( )函数时,一定要做这道习题。
Main()
{
Printf(“**********\n”);
}
这是一个最简单的C程序。
在讲到for语句时,通过构造循环来做这个题目,前后对比体会循环的意义。
Main()
{
Int I;
For (i=1;i<=10;i++)
Printf(“*”);
Printf(“\n”);
}
二、循环嵌套的学习
循环嵌套比单循环更抽象,需要学生逻辑分明、思维清晰,这是一个难点。这一部分的例题很关键,要通过循序渐进、由易到难的例题逐步掌握嵌套的使用,尤其是学会循环控制变量的取值。
1、打印点阵图形
*****
*****
*****
先介绍程序段
For (j=1;j<=10;j++)
Printf(“*”);
的功能是打印5个连续星号 ,即 *****
在此基础上,讲下面程序。
Main()
{
Int I,j;
For (i=1;i<=3 ;i++)
{Printf(“\n”);
For(j=1;j<=5;j++)
Printf(“*”);
}
}
I 表示外循环控制变量,j表示内循环控制变量;I同时代表点阵图形的行数,j同时代表点阵图形的列数。因为图形是3行5列的矩阵。所以i的取值从1到3,j的取值从1到5。
因为学生已经明白以j为循环控制变量的for循环的作用是输出*****,所以把以j为循环控制变量的for循环当做一个整体,充当外循环的循环体,学生很容易理解整个程序的功能是i=1时,输出第一行*****,i=2时,输出第二行*****,i=3时,输出第三行*****,即整个程序的功能是输出题目要求的3×5的星型矩阵。
2、打印点阵图形
*
* *
* * *
* * * *
这个图形比例1的图形要复杂。先分析行号与每一行列数的关系
I表示行号, j表示每一行的“*”数
1 1
2 2
3 3
4 4
所以i的取值从1到4,对应每一个i值,j 的取值从1到i
程序如下:
Main()
{
Int I,j;
For (i=1;i<=4 ;i++)
{Printf(“\n”);
For(j=1;j<=i;j++)
Printf(“*”);
}
}
这个题目的关键是理解内循环控制变量j的取值。当i=1时要输出第一行星号,j的取值是1,所以j<=1;当i=2时要输出第二行星号,j的取值是1,2,所以j<=2;当i=3时要输出第三行星号,j的取值是1,2,3,所以j<=3;当i=4时要输出第四行星号,j的取值是1,2,3,4,所以j<=4。看得出,j 的取值是随i变化的,即j<=i。通过这个题目,让学生熟悉内循环控制变量的取值及表达。
3、打印九九乘法表
“九九乘法表”也是我们都非常熟悉的一个图形,在前2例的基础上,设计“九九乘法表”对理解循环嵌套有很大帮助。
Main()
{
Int i,j;
For (i=1;i<=9 ;i++)
{Printf(“\n”);
For(j=1;j<=i;j++)
Printf(“%d*%d=%d ”,i,j,i*j);
}
}
因为我们的头脑中已经有“九九乘法表”的印象了,所以很容易想到i表示第一个乘数,j表示第二个乘数,i的取值从1到9,j的取值从1到i。理解了这个题目后,再作其他循环嵌套时,对循环控制变量取值,会变得比较容易。
在循环结构的教学中,从熟悉的图形入手,化繁为简易于被学生掌握。逻辑思维的建立是一个渐进的过程。教师先把抽象思维化解为形象思维,再引导学生由形象思维逐步建立抽象思维,顺利完成这部分的教学。
转载注明来源:https://www.xzbu.com/1/view-236213.htm