多重循环教案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
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)
for(i=1;i<=4;i++)
{
for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
例2、
输出以下图形
*
**
***
****
分析
1、该问题用二重循环实现
2、外循环控制输出行数
内循环中第一部分用循环打印空格确定打印字符的初始位置,第二部分确定每行打印符号的个数
3、该题行数i与列数j的关系是j<=i
代码
#include<stdio.h>
main()
{
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
代码
#include<stdio.h>
main()
{
int i,j,k;
for(i=1;i<=4;i++)
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<stdio.h>
三、新课内容
1、现场编程
例1、
输出以下图形
*
**
***
****
分析
1、该问题用二重循环实现
2、外循环控制输出行数,for(i=1;i<=n;i++)
内循环实现输出列数,for(j=1;j<=m;j++)
3、该题行数i与列数j的关系是j<=i
代码
#include<stdio.h>
main()
{
int i,j;
课程名称
多重循环
教材分析
重点
熟练掌握循环的嵌套,并能用双重循环结构编写有关文本作图的程序
难点
对双重循环的外循环和内循环的理解与应用
教学目标
1、巩固循环的嵌套,掌握利用循环嵌套解决文本作图问题的程序设计方法
2、培养学生分析问题、解决问题的能力,训练学生逻辑思维和判断能力
3、教给学生灵活的思维方法,培养学生的学习兴趣和勇于探索、勇于创新的精神,提高综合素质
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
代码
#include<stdio.h>
void 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);
#include<math.h>
void 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为行数或列数。
•内外循环用到的循环变量名不能相同
•外循环每循环1次,内循环需要完成整个n次循环
•内循环的循环体共执行m×n次
二、新课引入
给出各种图片,引发学生的兴趣。
*
**
***
****
*
**
***
****
*
***
*****
*******
*
***
*****
*******
*****
***
*
1
121
12321
……
12345678987654321
教学过程
一、复习多重循环
1、循环的嵌套
一个循环体内包含另一个完整的循环结构,称为循环的嵌套。
while语句、do-while语句和for语句都可以互相嵌套,甚至可以多层嵌套。例如:
while( )
{
for( )
{
}
}
for( )
{
for( )
{
}
}
2、二重循环
假设外循共循环m次,内循环共循环n次,则:
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)
for(i=1;i<=4;i++)
{
for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
例2、
输出以下图形
*
**
***
****
分析
1、该问题用二重循环实现
2、外循环控制输出行数
内循环中第一部分用循环打印空格确定打印字符的初始位置,第二部分确定每行打印符号的个数
3、该题行数i与列数j的关系是j<=i
代码
#include<stdio.h>
main()
{
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
代码
#include<stdio.h>
main()
{
int i,j,k;
for(i=1;i<=4;i++)
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<stdio.h>
三、新课内容
1、现场编程
例1、
输出以下图形
*
**
***
****
分析
1、该问题用二重循环实现
2、外循环控制输出行数,for(i=1;i<=n;i++)
内循环实现输出列数,for(j=1;j<=m;j++)
3、该题行数i与列数j的关系是j<=i
代码
#include<stdio.h>
main()
{
int i,j;
课程名称
多重循环
教材分析
重点
熟练掌握循环的嵌套,并能用双重循环结构编写有关文本作图的程序
难点
对双重循环的外循环和内循环的理解与应用
教学目标
1、巩固循环的嵌套,掌握利用循环嵌套解决文本作图问题的程序设计方法
2、培养学生分析问题、解决问题的能力,训练学生逻辑思维和判断能力
3、教给学生灵活的思维方法,培养学生的学习兴趣和勇于探索、勇于创新的精神,提高综合素质
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
代码
#include<stdio.h>
void 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);
#include<math.h>
void 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为行数或列数。
•内外循环用到的循环变量名不能相同
•外循环每循环1次,内循环需要完成整个n次循环
•内循环的循环体共执行m×n次
二、新课引入
给出各种图片,引发学生的兴趣。
*
**
***
****
*
**
***
****
*
***
*****
*******
*
***
*****
*******
*****
***
*
1
121
12321
……
12345678987654321
教学过程
一、复习多重循环
1、循环的嵌套
一个循环体内包含另一个完整的循环结构,称为循环的嵌套。
while语句、do-while语句和for语句都可以互相嵌套,甚至可以多层嵌套。例如:
while( )
{
for( )
{
}
}
for( )
{
for( )
{
}
}
2、二重循环
假设外循共循环m次,内循环共循环n次,则: