c语言 多重循环 教案.doc
下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
2.下载的文档,不会出现我们的网址水印。
3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
文档包含非法信息?点此举报后获取现金奖励!
下载文档到电脑,查找使用更方便
20
积分
还剩页未读,继续阅读
关 键 词:c语言
多重循环
教案
语言
多重
循环
资源描述:
课程名称
多重循环——文本作图问题
教材分析
重点
熟练掌握循环的嵌套,并能用双重循环结构编写有关文本作图的程序
难点
对双重循环的外循环和内循环的理解与应用
教学目标
知识目标:巩固循环的嵌套,掌握利用循环嵌套解决文本作图问题的程序设计方法
能力目标:培养学生分析问题、解决问题的能力,训练学生逻辑思维和判断能力
发展目标:教给学生灵活的思维方法,培养学生的学习兴趣和勇于探索、勇于创新的精神,提高综合素质
教法
讲授、演示与学生自己编程并演示
教具
多媒体(ppt)
教学过程
一、复习多重循环
1、循环的嵌套
n 一个循环体内包含另一个完整的循环结构,称为循环的嵌套。
n while语句、do-while语句和for语句都可以互相嵌套,甚至可以多层嵌套。例如:
while( )
{
for( )
{
}
}
for( )
{
for( )
{
}
}
2、 二重循环
假设外循共循环m次,内循环共循环n次,则:
• 内外循环用到的循环变量名不能相同
• 外循环每循环1次,内循环需要完成整个n次循环
• 内循环的循环体共执行mn次
二、新课引入
给出各种图片,引发学生的兴趣。
*
**
***
****
*
**
***
****
*
***
*****
*******
*
***
*****
*******
*****
***
*
1
22
333
……
999999999
1
121
12321
1234321
……
12345678987654321
三、新课内容
1、 现场编程
例1、
输出以下图形
*
**
***
****
分析
1、该问题用二重循环实现
2、外循环控制输出行数,for(i=1;i<=n;i++)
内循环实现输出列数,for(j=1;j<=m;j++)
3、该题行数i与列数j的关系是j<=i
代码
#includemain()
{
int i,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
例2、
输出以下图形
*
**
***
****
分析
1、该问题用二重循环实现
2、外循环控制输出行数
内循环中第一部分用循环打印空格确定打印字符的初始位置,第二部分确定每行打印符号的个数
3、该题行数i与列数j的关系是j<=i
代码
#includemain()
{
int i,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf(" ");
for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
例3、
输出以下图形
*
***
*****
*******
分析
1、该问题用二重循环实现
2、外循环控制输出行数
内循环中第一部分用循环打印空格确定打印字符的初始位置,第二部分确定每行打印符号的个数
3、本题图形的规律:每行“*”的个数与行数i的关系是2*i-1
代码
#includemain()
{
int i,j,k;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
}
2、 拓展练习
输出以下图形
1
121
12321
……
12345678987654321
行数(i)
空格数(9-i)
前半段数字(i)
后半段数字(i-1)
1
2
3
4
5
6
7
8
9
8
7
6
5
4
3
2
1
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
代码
#includevoid main()
{
int i,j;
for(i=1;i<=9;i++)
{
for(j=1;j<=9-i;j++)
printf(" ");
for(j=1;j<=i;j++)
printf("%d",j);
for(j=i-1;j>=1;j--)
printf("%d",j);
printf("\n");
}
}
例2、
输出以下图形
*
***
*****
*******
*****
***
*
行数
(i)
空格数
(abs(i))
字符个数(2*(n-abs(i))-1
-3
-2
-1
0
1
2
3
3
2
1
0
1
2
3
1
3
5
7
5
3
1
代码
#include#includevoid main()
{
int i,j;
for(i=-3;i<=3;i++)
{
for(j=1;j<=abs(i);j++)
printf(" ");
for(j=1;j<=2*(4-abs(i))-1;j++)
printf("*");
printf("\n");
}
}
四、课堂总结
1、外循环控制图形的行数
2、内循环的第一部分控制输出字符的首位置,
第二部分控制输出字符的个数
3、用printf("\n")语句换行
4、如果关于x轴或y轴对称,循环变量从
-(n-1)/2到(n-1)/2,n为行数或列数。
五、课后作业
利用双重循环结构打印所示图形
****
***
**
*
9 8 7 6
5 4 3
2 1
0
展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:c语言 多重循环 教案.doc
链接地址:https://www.renrendoc.com/p-42374129.html