4.4运用循环结构描述问题求解的过程(共22张PPT)+练习

文档属性

名称 4.4运用循环结构描述问题求解的过程(共22张PPT)+练习
格式 zip
文件大小 9.3MB
资源类型 试卷
版本资源 粤教版(2019)
科目 信息技术(信息科技)
更新时间 2020-11-30 16:21:51

文档简介

中小学教育资源及组卷应用平台
第四章第四节运用循环结构描述问题求解
过程课后练习
1、for循环索包含的语句是以(
)为标志的。
A.变量
B.语句
C.缩进
D.冒号
2、while循环中,循环体内必须包含(
)的语句,否则将会成为死循环。
A.赋值
B.改变条件表达式值
C.选择判断
D.循环
3、有以下程序段:
sum=1
for
i
in
range(1,5):
sum=sum
i
print(sum,i)
程序的运行结果为(

A.24
5
B.120
5
C.24
4
D.120
4
4、以下哪个选项是以下代码的执行结果?
for
c
in
"message":
if
c=="a":
continue
print(c,end="
")
A.message
B.mess
C.a
D.messge
5、在python语言中,通过关键字(
)来定义函数。
A.def
B.function
C.fun
D.procedure
6、编写函数,接收一个正偶数为参数,输出两个素数,并且这两个素数之和等于原来的正偶数。如果存在多组符合条件的素数,则全部输出。
参考答案:1、C
2、B
3、C
4、D
5、A
6、解决方法很多,提供一种供参考:
def
is_prime(num):
#判断素数
for
c
in
range(2,num):
if
num
%
c==0:
break
else:
return
True
def
getPrnum(n):
#输出符合条件的素数
for
a
in
range(1,n//2)
if
is_prime(a)
and
is_prime(n-b):
print(a,b)
getPrnum(eval(input("请输入一个正偶数:")))
#调用函数
21世纪教育网
www.21cnjy.com
精品试卷·第
2

(共
2
页)
HYPERLINK
"http://21世纪教育网(www.21cnjy.com)
"
21世纪教育网(www.21cnjy.com)(共22张PPT)
运用循环结构描述问题的求解过程
——粤教版高中信息技术
Contents
目录
01
02
03
for循环的应用
while循环的应用
循环嵌套的应用
04
循环控制的应用
for循环语句的一般格式下:
for
循环变量
in
列表:
语句或语句组
for
循环的应用
for循环依次把列表中的每个元素逐个迭代出来。冒号“:”代表下一行是循环的第一行,但是循环体在书写时需要缩进。在for循环中,从for语句末尾的冒号开始至其下面没有缩进的代码之间都是其包含的需要重复执行的部分。
for循环所包含的语句是以缩进为标志的。
是否缩进
循环体示例
代码示例结果
有缩进
for
value
in
[1,2,3,4,5]:
print(value)
print('good')
1
good
2
good
3
good
4
good
5
good
无缩进
for
value
in
[1,2,3,4,5]:
print(value)
print('good')
1
2
3
4
5
good
列表的几种表达方式
A
直接罗列的方式
B
先定义、后使用
C
使用range(
)函数
如:value
in
[1,2,3,4,5]:
如:values=
[1,2,3,4,5]
for
value
in
values:
print(value)
print('good')
如:
for
value
in
range(1,6):
print(value)
print('good'
range(
)函数的使用
range()
函数返回的是一个可迭代对象(列表是可迭代对象的一种)。
range()函数的语法:
range(stop)
range(start,
stop[,
step])
参数说明:
start:
计数从
start
开始。默认是从
0
开始。例如range(5)等价于range(0,
5);
stop:
计数到
stop
结束,但不包括
stop。例如:range(0,
5)
是[0,
1,
2,
3,
4]没有5。
step:步长,默认为1。例如:range(0,
5)
等价于
range(0,
5,
1),可以为负值。
例:for
value
in
range(10,1,-2):
print(value)
输出为:10
8
6
4
2
班级项目小组选购笔记本,决定先网购单价从1元到10元的十种笔记本各一本,那该如何编程计算一共要花多少钱呢?


(1)分析问题。
这个问题相当于要计算从1到10的累加值。1~10的累加就是计算1+2+…+10,可以用for循环结构编程来解决这个问题。
(2)设计算法。
根据上述分析,可设计如下算法:需要有一个循环变量从1变化到10,将该变量命名为i;还需要另外一个临时变量不断和该变量进行加法运算,并记录运算结果,将临时变量命名为sum;变量i每增加1时,就和变量sum进行一次加法运算,变量sum记录的是累加的结果。
(3)编写程序
根据上面设计的算法,编写出解决该问题的程序


while循环语句的一般格式下:
while(表达式):
语句或语句组
while循环的应用
(1)表达式一般是一个关系表达式或一个逻辑表达式,表达式的值应该是一个逻辑值真(True)或假(False)。
(2)当表达式的值为真时,执行循环体语句;当表达式的值为假时,退出循环,执行循环体外的下一条语句(即while后面没有缩进的第一条语句)。
(3)每次循环都是执行完循环体语句后回到表达式处重新开始判断,重新计算表达式的值。一旦表达式的值为假就退出循环,为真时就继续执行循环体语句。
(4)循环体中必须有改变条件表达式值的语句,否则将成为死循环。
(5)while循环可以用流程图来演示执行过程


项目小组为了筹集购买奖品和纪念品的费用,准备开展一次募捐活动,计划向第一个赞助人募集20元,向第二个赞助人募集25元……后一个比前一个多募捐5元,依次下去,第几个人募捐后募集到的总费用累计超过500元?
(1)分析问题。
设所拉赞助人的数量为num(num=1,2,3,…),每次募集的费用为money,每次募集之后总费用为sum,则sum可以用如下的式子表示:
sum=20+25+30+…于是这个问题就可以转化为:当sum≥500时,求num的值。
(2)设计算法。
根据上述的分析,设计算法如下:
①令num=1;②令money=20;③令sum=20;④num=num+1;⑤money=money+5;
⑥sum=sum+money;⑦如果sum<500,则返回步骤④;⑧输出num的值;⑨结束。
(3)编写程序。
根据上面设计的算法,编写出解决该问题的程序。
num=1
money=20
sum=20
while
sum<500:
num=num+1
money=money+5
sum=sum+money
print(num)
循环嵌套的应用
单独使用for循环或while循环单循环语句,往往无法解决复杂的问题。如需要解决类似“工作要做很多遍,而每一遍工作都是需要重复做一些事情”的问题,就要用到多重循环,即“循环嵌套”。如果某一种循环语句中包含着自身或其他循环语句,就称为循环的“嵌套”。for循环或while循环之间可以相互嵌套。
思考:我们如何使用循环嵌套打印乘法口诀表呢?
分析问题
通过对乘法口诀表的观察分析可知:乘法口诀表由九行九列组成,第i行的列数为其行号值,我们可以通过外层循环来打印每一行,然后通过内层循环来打印列,通过行号来控制列数。通过变量i来控制行数,通过变量j来控制列数。
设计算法
1、乘数和被乘数都通过循环变量来输出,设变量i和j分别控制行数和列数。
2、外层循环通过for
I
in
range(1,10)来控制九行。每循环一次表示打印第几行,通过内层循环来控制这一行的列数,由于第i行的列为i,则要通过行数+1来做为列数的终止值,即内层循环为for
I
in
range(1,i+1)。
3、由于print函数默认输出一次换行,所以内层循环每打印一次要控制其不能换行,需要通过参数end=“
“来进行控制,而外层循环每执行一次需要换行。
4、需要输出特定格式的算式,需要使用到格式化输出函数format(
)
编写代码、调试运行
小组合作学习
项目小组经过讨论,最后选择购买单价分别为1.8元的笔记本、1.9元的笔、2.1元的小饰品作为活动的奖品和纪念品,每一种物品至少买100件,并且尽可能地用完1000元经费。如何设计方案,才能实现购买物品数量最多呢?如数量相同的情况下余额最小的方案为最佳,则最佳方案中每一种物品的数量是多少?余额是多少?
阅读教材p91使用循环嵌套解决问题的过程,用自己的语言描述解决此问题的过程。
循环控制的应用
循环控制包含控制循环变量的变化方式和控制循环的跳转。无论是for循环还是while循环,都需要一个控制循环的变量来控制循环的执行。实现控制循环的跳转需要用到break和continue两个关键字。break是中断循环,continue是跳出本次循环体的执行。
break语句:在循环结构中,可以用break语句跳出当前循环体,立即退出循环,不再运行循环中余下的代码,转而执行当前循环外的下一条语句。
continue语句:是对break语句的补充。continue不是立即跳出循环体,而是当条件符合需要跳转的时候,跳过该次循环结束前的语句,回到循环开头的条件测试部分,重新开始执行循环。


依次输出字符串“python”中的每一个字符,分别使用循环控制语句continue、break来控制循环输出,参照以下程序编写并运行,体验continue和break控制循环语句的不同。
continue控制循环
break控制循环


函数的定义与调用
编程语言中的函数是指可被重复利用和执行,具有特定功能、可被单独封装的模块。向其提供必要的参数,调用函数就可获得所需的返回值。Python采用def
作为关键词来定义一个函数,具体例子如下:
定义和调用函数getValue(b,r,n),根据本金b、年利率r和年数n,计算最终收益v。提示:v=b(1+r)n
def
getValue(b,r,n):
#创建函数对象getValue
v=b
((1+r)
n)
#计算最终收益v
return
v
#使用return返回值
total
=
getValue(1000,0.05,5)
#调用函数getValue
print(total)
#打印结果
程序运行结果为:1276.2815625000003。
Q
A
&
提问
答疑
&
https://www.21cnjy.com/help/help_extract.php