2.3 周而复始的循环 课件-2022—2023学年高中信息技术教科版(2020)必修1 (33张PPT)

文档属性

名称 2.3 周而复始的循环 课件-2022—2023学年高中信息技术教科版(2020)必修1 (33张PPT)
格式 pptx
文件大小 14.4MB
资源类型 教案
版本资源 教科版(2019)
科目 信息技术(信息科技)
更新时间 2022-12-05 07:23:24

图片预览

文档简介

(共33张PPT)
复习

复习

2.3 周而复始的循环
第二单元 编程计算
学会列表的操作方法
学会计数循环(for)的基本结构
学会条件循环的使用方法
学习目标
棋盘麦粒问题
棋盘麦粒问题

在印度有一个古老的传说:舍罕王打算奖赏国际象棋的发明人——宰相:西萨·班·达依尔。国王问他想要什么,他对国王说:“陛下,请您在这张棋盘的第1个小格里,赏给我1粒麦子,在第2个小格里给2粒,第3小格给4粒,以后每一小格都比前一小格加一倍。请您把这样摆满棋盘上所有的64格的麦粒,都赏给您的仆人吧!”国王觉得这要求太容易满足了,就命令给他这些麦粒。当人们把一袋一袋的麦子搬来开始计数时,国王才发现:就是把全印度甚至全世界的麦粒全拿来,也满足不了那位宰相的要求。 那么,宰相要求得到的麦粒到底有多少呢?
棋盘麦粒问题
棋盘麦粒问题

一、列表

1 2 4 8
1
2
4
8
数字作为常量计算
sum=1+2+4+8
四个变量分别存储四个数字
a=1
b=2
c=4
d=8
sum=a+b+c+d
用一个变量存储多个数字?
a=[1,2,4,8]
类似数学中的集合
列表中可以包含( ),同时它是一个( )的集合。
各元素用( )隔开,放在( )内。
列表可存储( )的数据。
一、列表

列表名 = [ 元素1,元素2,元素3…… ]
多个数据元素
有序
逗号
方括号
混合类型
[个人自学] 阅读课本39页,填空,并在课本标画,2min
a=[10.1,“香蕉”,8,“橙子”]
a[0]
a[1]
a[2]
a[3]
列表索引号从0开始
a[0]==10.1
列表a的第一个元素
(整数、浮点数、字符串)
一、列表

2. 修改列表第1个元素的值为”苹果”
3. 删除列表第2个元素
4. 在列表尾部添加一个数据元素"猕猴桃"
a[0]="苹果"
a=["苹果" , 2 , 4 , 8]
del a[1]
a=["苹果" , 4 , 8]
a. append("猕猴桃")
a=["苹果" , 4 , 8 , "猕猴桃" ]
[上机操作]
阅读课本39页,用python实现以下四个对列表的操作,每次都输出操作后的列表,3min
1. 创建列表,列表名字自取,列表元素包括1,2,4,8
a=[1 , 2 , 4 , 8]
一、列表

操作 语句 举例
修改第i+1个元素 列表名[ i ] = 元素 a[1]=2
删除第i+1个元素 del 列表名[ i ] del a[1]
尾部添加一个元素 列表名.append(元素) a.append(16)

已知列表x=[1,2,3,4],那么执行语句del x[1]之后x的值为( )
C.[1,3,4]
D.2,3,4
B.[1,2,3,4]
A.[2,3,4]
C
1+2+4+8——a[0]+a[1]+a[2]+a[3]
将4个格子中的麦粒相加?
二、循环

1 2 4 8
1+2=3
sum=a[0]+a[1]=3
3+4=7
sum=sum+a[2]=7
7+8=15
sum=sum+a[3]=15
已有麦粒+新增麦粒
sum+a[i]
(i从0开始)
计算机程序中某些代码的反复执行。
循环
循环一定次数
计数循环(for循环)
01
02
03
二、循环

用列表的方式输出自然数1-5
自学课本40页“计数循环”
三、计数循环

1.列表
for i in [1,2,3,4,5]:
print(i)
2.range()函数
for i in range(1,6):
print(i)
三、计数循环

三、计数循环

循环体执行循环的次数取决于?
例:for i in [ 1, 2, 3, 4, 5]:
print (i)
循环过程
第1次循环:i取列表中1,执行print(i),输出1
第2次循环:i取列表中2,执行print(i),输出2
第4次循环:i取列表中4,执行print(i),输出4
第3次循环:i取列表中3,执行print(i),输出3
第5次循环:i取列表中5,执行print(i),输出5
列表中元素的个数
for 循环变量 in 列表:
语句或语句组
三、计数循环

一组重复执行的语句
循环体
循环体必须相对关键词for有缩进(Tab键/四个空格)
冒号&缩进
三、计数循环

例:
sum=0
for i in [ 1, 2, 4, 8]:
sum=sum+i
循环过程
第1次循环:i取列表中1,执行sum=sum+i,输出0+1=1
第2次循环:i取列表中2,执行sum=sum+i,输出1+2=3
第4次循环:i取列表中8,执行sum=sum+i,输出7+8=15
第3次循环:i取列表中4,执行sum=sum+i,输出3+4=7
for循环语句,循环次数较多时,使用列表还方便吗?
输出自然数1-100
for 循环变量 in range( ):
语句或语句组
四、range()函数

代码 for i in range(5): print ( i ) for i in range(1,6): print ( i ) for i in range(1,7,2):
print ( i )
运行结果 0 1 2 3 4 1 2 3 4 5 1
3
5
形式 缺起始值和步长 缺步长 都不缺
计数从 start 开始,默认从 0 开始。
start
步长,默认为1。
step
计数到 stop 结束,但不包括 stop。
stop【不能省略】
range(start, stop, step)
生成某个范围内的数字列表。
四、range()函数

[start, stop)
左闭右开
陛下,请您在这张棋盘的第1个小格里,赏给我1粒麦子,在第2个小格里给2粒,第3小格给4粒,以后每一小格都比前一小格加一倍。
棋盘麦粒问题
1+2+4+......+263=20+21+22+23+......+263
s=0 #s代表麦粒总数
for ____ in range(____):
s=s+2**i
print(s)
四、range()函数

补全程序
i
64
1+2+4+......+263=20+21+22+23+263
i=range(64)=[0,1,2,......,63]
第1次:s=0+2**0
第2次:s=s+2**1
第3次:s=s+2**2
......
第63次:s=s+2**62
第64次:s=s+2**63
s=0 #s代表麦粒总数
p=1 #p代表每个格子的麦粒数
for ____ in range(____ ,____):
s=s+p
p=p*2
print(s)
四、range()函数

补全程序
i
1
65
第1次:
i=1
s=0+1
p=1*2=2
第2次:
i=2
s=s+2
p=2*2=4
第3次:
i=3
s=s+4
p=4*2
第64次:
i=64
s=s+2**63
p=2**63*2
i=range(1,65)=[1,2,3,......64]

以下是列表的是( )
A.a=[1,2,3,4] B.range(1,5)
C.range(10) D.obj=[”苹果”,3,”猕猴桃”]
ABCD

下面的程序段运行后的结果为( )
s=1
for i in range(1,6,2):
s=s+i
print(s)
A.15 B.10 C.12 D.9
B
i=range(1,6,2)=[1,3,5]
1+1
1+1+3
1+1+3+5
i=0
s=0
while _______:
s=s+2**i
i=_______
print(s)
五、条件循环

阅读课本42页
补全程序
1+2+4+......+263=20+21+22+......+263
第1次:s=0+2**0 i=0+1=1
第2次:s=s+2**1 i=1+1=2
第3次:s=s+2**2 i=2+1=3
......
第63次:s=s+2**62 i=62+1=63
第64次:s=s+2**63 i=63+1=64
i<=63
i+1
一般用于循环次数未知
当关系表达式为真时保持循环,直到其为假时停止整个while循环。
循环体中必须有改变条件表达式值的语句,否则将会变成死循环。
while 关系表达式:
语句或语句组
五、条件循环

i=0
s=0
while i<=63:
s=s+2**i
i=i+1
print(s)
循环执行的部分
循环的条件
循环的次数
计数器
运行结果:
10
20
30
40
s=0
while s<=30:
s=s+10
print(s)
运行结果:
40
s=0
while s<=30:
s=s+10
print(s)
五、条件循环

陛下,请您在这张棋盘的第1个小格里,赏给我1粒麦子,在第2个小格里给2粒,第3小格给4粒,以后每一小格都比前一小格加一倍。
棋盘麦粒问题
n=___(input("请输入棋盘格子数:"))
p=1
s=0
for i in range(1,_____):
s=s+p
p=p*2
print("棋盘格子数为:",n,",麦粒总数:",s)
input()
int
n+1

s=0
for i in range( ):
s=
print(s)
s=0
i=
while i<= :
s=
i=
print(s)
求和1+2+3+……+100=
for循环
while循环

s=0
for i in range(101):
s=s+i
print(s)
s=0
i=1
while i<=100 :
s=s+i
i=i+1
print(s)
求和1+2+3+……+100=
for循环
while循环

周而复始 的循环
计数循环
条件循环
列表
range函数
循环次数未知
已知循环次数
结合实际情况灵活运用
while 关系表达式:
语句或语句组
for 循环变量 in range( ):
语句或语句组
for 循环变量 in 列表:
语句或语句组
课堂小结

谢谢