粤教版(2019)高中信息技术 4.4.3运用循环结构描述问题求解过程(循环的嵌套) 课件(18张PPT)

文档属性

名称 粤教版(2019)高中信息技术 4.4.3运用循环结构描述问题求解过程(循环的嵌套) 课件(18张PPT)
格式 zip
文件大小 1.3MB
资源类型 教案
版本资源 粤教版(2019)
科目 信息技术(信息科技)
更新时间 2020-11-29 21:08:22

图片预览

文档简介

(共18张PPT)
4.3运用循环结构描述问题求解过程
4.4.3
循环嵌套的应用
复习巩固
for循环语句的一般格式
:
for
循环变量
in
列表:
  语句或语句组
while循环语句的一般格式
:
Whlie
(表达式):
  语句或语句组
探究活动
求:方程6
x+5
y+4
z=50的正整数解的个数?
这个问题是三元一次方程,只有一个方程,解起来比较麻烦,只能用笨办法,用穷举法,一个一个试值,计算量相当的大,我们可以用我们学过的循环结构来解决?
分析问题
设计算法
1、t=0;
2、x=1;
3、y=1;
4、z=1;
5、如果满足式子6x+5y+4z=50,则解的个数加1(即t=t+1);
6、z=z+1;
7、如果z<=12则转步骤5,否则步骤8;
8、y=y+1;
9、如果y<=10则转步骤4,否则步骤10;
10、x=x+1;
11、如果x<=8则转步骤3,否则步骤12;
12、结束。
流程图描述算法
循环嵌套
从流程图,我们能清楚地看到,用了三重循环,这三重循环是一层包裹着一层。这就是循环的嵌套。
单独使用for循环或while循环单循环语句,往往无法解决复杂的问题。如需要解决类似“工作要做很多遍,而每一遍工作都需要重复做一些事情”的问题,就要用到多重循环,即“循环嵌套”。如果某一种循环语句中包含着自身或其他循环语句,就称为循环的“嵌套”。for循环或while循环之间可以相互嵌套。
循环嵌套

2
个(甚至多个)循环结构相互嵌套时,位于外层的循环结构常简称为外层循环或外循环,位于内层的循环结构常简称为内层循环或内循环。
循环嵌套结构的代码,Python
解释器执行的流程为:当外层循环条件为
True
时,则执行外层循环结构中的循环体;
外层循环体中包含了普通程序和内循环,当内层循环的循环条件为
True
时会执行此循环中的循环体,直到内层循环条件为
False,跳出内循环;
如果此时外层循环的条件仍为
True,则返回第
2
步,继续执行外层循环体,直到外层循环的循环条件为
False;
当内层循环的循环条件为
False,且外层循环的循环条件也为
False,则整个嵌套循环才算执行完毕。
循环嵌套
执行流程图
编写程序
t=0
for
x
in
range(1,9):
for
y
in
range(1,11)
:
for
z
in
range(1,13):
if
(6
x+5
y+4
z
)==50:
t=t+1
print("第
%d
个解为
:"%t,x,y,z)
print("方程解的个数为:"
,t)
循环控制
循环控制包含控制变量的变化方式和控制循环的跳转。无论是for循环
还是while
循环,都需要一个控制循环的变量来控制循环的执行。但是
,有些循环仅靠循环变量自身的变化难以达到想要的控制效果,因此需要
用到控制循环的跳转语句。实现控制循环的跳转需要用到break和continue
两个关键字。其中,break是中断循环,continue是跳出本次循环体的执行。
break语句
求:1+2+3+4+……+100加到那个数,累加的和首次值超过1000?
sum=0
for
i
in
range(1,101):
sum=sum+i
if
sum
>1000:
print(“累加到的数是:”,i)
break
print(“累加的和为:”,sum)
continue语句
求:输出字符串“hello
python”所有非“o”字符?
a=
“hello
python”
for
i
in
a:
if
i==“o”:
continue
print(“输出当前字符:”,i)
学以致用
求:1!+2!+3!+4!+5!的和?
s=0
for
i
in
range(1,6):
n=1
for
j
in
range(1,i+1):
n=n
j
s=s+n
print("1!+2!+3!+4!+5!=",s)
程序代码
谢谢
Thanks