(共24张PPT)
(1)顺序结构
(2)选择结构(单分支结构/双分支结构)
(3)循环结构
分支结构的程序虽然能解决计算、输出等问题,但不能做判断在选择。对于要先做判断再选择的问题就要使用分支结构。
程序的三种基本结构
第七课
循环结构
主题1
for循环
罗海燕
https://haokan./v?vid=2905946718420573017&pd=bjh&fr=bjhauthor&type=video
有趣的益智接龙游戏
“一只青蛙,一张嘴,两只眼睛,四条腿……”,一直数下去,数到100只青蛙。
能够通过编程来接龙这个游戏?
我们怎么编写代码呢?会用到哪些语句呢?
printf语句
我们可以计算出每一只青蛙的数量和对应的嘴巴、腿的数量,
然后利用printf输出函数,把结果输出来
有趣的益智接龙游戏
for语句格式:循环变量-循环体-循环终止的条件
表达式1
“i=1”,
i是循环变量,初始值是1
表达式2
“i<=99”,
判断i的值是否小于等于99
表达式3
“i++”,
相当于i=i+1,步长为1
for语句格式:循环变量-循环体-循环终止的条件
for(表达式1;表达式2;表达式3;)
{
循环体
}
表达式之间用分号
思考:表达式1、2、3的执行顺序?
for(
i=初始值
;
终值;
步长)
有趣的益智接龙游戏:顺序结构
能否用循环结构?
有趣的益智接龙游戏:循环结构——化繁为简
表达式1
“i=1”,
i是循环变量,初始值是1
表达式2
“i<=5”,
判断i的值是否小于等于5
表达式3
“i++”,
相当于i=i+1,步长为1
任务一
利用讲解过的for循环语句,尝试着让计算机数3只青蛙。
完成的同学修改代码,尝试将数3只青蛙的代码变成数5只青蛙的代码。
任务二
让计算机数出特定数量范围内的青蛙。
以上程序只能够数固定数量的青蛙,如果能够根据用户的需求数出用户想要数的青蛙,那就更好了。
你能做到吗?
改进代码,输入青蛙的起始数量和终止数量,让计算机数出特定数量范围内的青蛙。
代码范例:任务二
让计算机数出特定数量范围内的青蛙。
#include
int
main()
{
int
i,n;
printf("请输入青蛙数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("%d只青蛙%d张嘴%d只眼睛%d条腿\n",i,i,i
2,i
4);
}
return
0;
}
代码范例:任务二
让计算机数出特定数量范围内的青蛙并且接龙。
代码范例:任务二
让计算机数出特定数量范围内的青蛙。
任务三
用for循环解决猴子摘桃子问题
猴子摘桃和之前的数青蛙接龙游戏有哪些相似之处,它们的编码逻辑结构是不是有相互借鉴的地方?
小猴子来到一片森林,看到好多桃。第1天小猴子摘了1个桃,第2天摘了2个,以后每天都比前1天多摘1个,请问:小猴10天总共摘多少个桃?
任务三
用for循环解决猴子摘桃子问题
学有余力
--韩信点兵
有一次战斗后,韩信要清点士兵的人数。
让士兵三人一组,就有两人没法编组;五人一组,就有三人无法编组;七人一组,就有两人无法编组。那么请问这些士兵一共有几人?
讨论:韩信点兵和猴子摘桃有哪些相似之处?又有哪些不同?
得先进行手工计算,发现问题的求解规律。
韩信点兵问题没有明显的循环过程,仅从问题本身难以发现解方法。
学有余力
任务四
操场上有100多人排队,若按3人一组排对则多1人,
若按4人一组排对则多2人,
若按5人1组排对则多3人,请问多少人?
for循环程序设计的特点:
1.
问题中要有需重复执行的内容;
2.
要知道循环的初值,终值和步长值;
3.
要善于归纳总结出循环体(难点)。
for循环小结
板书设计
第七课
主题1
for循环
循环语句化繁为简、迭代重复的特点。
小猴子摘桃子每天都积累一点点,日积月累就会收获很多。
韩信点兵:是枚举法的经典改编。
大部分高级语言提供for和while语句实现循环结构。
谢谢
观看
https://www.21cnjy.com/help/help_extract.php2021福建教育出版社《信息技术》七(下)
厦门市音乐学校
罗海燕
第七课
主题1
for循环语句(85页)
班级:
姓名:
【学习目标】
for循环语句的执行流程。
编写for循环结构的代码解决实际问题。for循环语句可以帮助解决重复执行的工作。
for(i=1;i<=5;i++)
表达式1
“i=1”,
i是循环变量,初始值是1
表达式2
“i<=5”,
判断i的值是否小于等于5
表达式3
“i++”,
相当于i=i+1,步长为1
【任务一】一只青蛙,一张嘴,两只眼睛,四条腿……”,一直数下去。(86页)
利用讲解过的for循环语句,尝试着让计算机数3只青蛙。参考代码运行程序,提交截图。
#include
int
main()
{
int
i=1;
printf("%d只青蛙%d张嘴%d只眼睛%d条腿\n",i,i,i
2,i
4);
return
0;
}
完成的同学修改代码,尝试将数3只青蛙的代码变成数5只青蛙的代码。使用for循环结构——化繁为简
【任务二】改进代码,输入青蛙的起始数量和终止数量,让计算机数出特定数量范围内的青蛙。
参考代码
【任务三】用for循环解决猴子摘桃子问题(89页)
小猴子来到一片森林,看到好多桃。第1太难小猴子摘了1个桃,第2天摘了2个,以后每天都比前1天多摘1个,请问:小猴10天总共摘多少个桃?
【学有余力任务四】韩信点兵
讨论:韩信点兵和猴子摘桃有哪些相似之处?又有哪些不同?
操场上有100多人排队,若按3人一组排对则多1人,
若按4人一组排对则多2人,
若按5人1组排对则多3人,请问多少人?
3