附件3
教学设计
课程基本信息
学科 信息技术 年级 高一 学期 春季
作品名称 3.2.4 循环结构的程序实现
教科书 书 名:普通高中教科书 信息技术 必修1 数据与计算 出版社:浙江教育出版社 出版日期:2019年
教学目标
掌握计数循环-for循环中range( )函数,条件循环-while循环的使用。 引领学生经历“分析问题——设计算法——编写程序——调试程序”用计算机解决问题的过程,体验程序设计的一般方法。 通过本节课的学习,让学生感受和体会到算法思想在解决具体问题中的意义,增强学生的创新能力及应用数学的意识。培养学生运用信息技术解决实际问题的能力,让学生将所学的信息技术应用到学习、生活实践中。
教学内容
教学重点: 1. 掌握计算机解决问题的过程。 2. for循环的运用,while循环的运用。 教学难点: 1. for循环中range( )函数的运用。 2. while循环中循环终止的判断。
教学过程
时间教学 环节教学内容教师的教学行为学生的教学行为2分钟创设情境导入新课问题:小明在超市购买了铅笔,钢笔,数学练习本等多种物品。为了使超市能够及时计算出小明所支付费用,需要针对收银员的收银过程设计一个算法来解决上面所述的收银问题。观看问题,思考收银的过程。2分钟讲授新课分析问题输入第一个商品编码,查找对应价格,记录价格。输入第二个商品编码,查找对应价格,记录价格···输入第n个商品编码,查找对应价格,记录价格···确认是否结算?是:输出需要支付的价格 否:输入第n+1个商品编码,查找对应价格,记录价格。 确认是否结算?是:输出需要支付的价格掌握计算机解决问题的第一过程:分析问题3分钟讲授新课设计算法用code表示商品的编码, 用sum表示小明应付的总金额, 用x表示每个商品的价格。掌握计算机解决问题的第二过程:设计算法(使用流程图描述算法)4分钟讲授新课设计算法---条件循环结构while算法执行过程中,在条件控制下,某些操作步骤需要重复执行(循环)的控制结构称为循环结构--条件循环。学习新知:条件循环结构的概念以及格式5分钟讲授新课编写程序请同学们根据流程图完善以下代码:掌握计算机解决问题的第三过程:编写程序 完善代码: ① end == 0 ② sum=sum+x3分钟巩固练习While循环习题演练回答下列问题:学生回答问题: D B1分钟创设情境小明在支付后,需要收银员打印购买商品的信息。 为了使超市能够及时打印出小明所购买商品的信息,需要针对收银员的收银过程设计一个算法来解决上面所述的收银问题。思考打印小票算法过程。4分钟讲授新课设计算法根据已知条件绘制打印小票算法流程图: code:商品的编码sum:小明应付的总金额 y:每个商品的名称 m:循环变量 a:创建一个空列表,保存商品名称学生体验使用流程图描述算法。6分钟讲授新课设计算法---计数循环结构for学习新知:计数循环结构的概念以及格式4分钟讲授新课编写程序请同学们根据流程图完善以下代码:完善代码: ① name.append(y) ② name4分钟巩固练习for循环习题演练回答下列问题:学生回答问题: D 2. B 3. D2分钟课堂小结1.while循环。 2.for循环。学生回顾本课堂知识。(共17张PPT)
3.2.4 循环结构的程序实现
授课老师: 杨松
浙教版 必修一 数据与计算
第三章 算法的程序实现
第二节 Python语言程序设计
创设情境
具有一定规模的超市,收银通常由超市管理系统来完成。收银时,收银员用扫描仪逐个扫描商品上的条形码,随着一连串的“嘀”声,收银员可以快速地完成顾客所购商品的费用结算(如图2.2.6 )。
小明在超市购买了铅笔,钢笔,数学练习本等多种物品。为了使超市能够及时计算出小明所支付费用,需要针对收银员的收银过程设计一个算法来解决上面所述的收银问题。
分析问题
输入第一个商品编码,查找对应价格,记录价格
输入第二个商品编码,查找对应价格,记录价格
·
·
输入第n个商品编码,查找对应价格,记录价格
确认是否结算?
是:输出需要支付的价格
否:输入第n+1个商品编码,查找对应价格,记录价格
·
·
确认是否结算?
是:输出需要支付的价格
设计算法
用code表示商品的编码, 用sum表示小明应付的总金额, 用x表示每个商品的价格。
开始
输入商品编码code
在数据库中找到code
对应商品的价格x
sum = sum + x
输出结算清单(包括sum的值)
结束
开始结算?
是
否
程序设计中的“累加器”
“累加器”指的是算法执行过程中对同类事物或数据进行统计计算的实现技术。
上述算法中的"sum=sum+x"就起到了累加的作用。
探究新知:设计算法-循环结构
算法执行过程中,在条件控制下,某些操作步骤需要重复执行(循环)的控制结构称为循环结构--条件循环。
循环条件满足?
循环体
是
否
不满足条件时运行
循环体
当满足条件时运行
判断的条件
探究新知:循环结构-条件循环
条件循环-while格式:
while <开始结算==否?>:
输入商品编码code
在数据库中找出code对应商品的名称和价格 x
sum = sum + x
print ("输出结算清单(包括sum的值)")
编写程序
以下代码为伪代码(调用数据库未完善):
x = 0 #调用数据库中code对应商品的价格
end = 0 #end值为1时开始结算金额,为0时继续输入商品编码
sum = 0 #sum表示客户应付总金额
while :
code = input("请输入商品编码:")
x = [ ]调用数据库中code对应商品的名称和价格
. #计算客户应付金额
end = input("end输入值为1时结算金额,为0时继续输入商品编码:")
print("客户应付总金额:",sum)
end == 0
sum = sum + x
巩固练习
1.在Python中,下列程序运行后会看到( )“你好”。
S = 0
while S < 10 :
S = S + 2
print("你好")
A. 2个 B. 1个 C. 3个 D. 5个
2.在Python中,下列程序运行后会看到( )“中国加油”。
S = 0
while S < 10 :
S = S + 2
print("中国加油")
A. 2个 B. 1个 C. 3个 D. 5个
D
B
集思广益
小明在支付后,需要收银员打印购买商品的信息。
为了使超市能够及时打印出小明所购买商品的信息,需要针对收银员的收银过程设计一个算法来解决上面所述的收银问题。
设计算法
code:商品的编码
sum:小明应付的总金额
y:每个商品的名称
a:创建一个空列表,保存商品名称
m:循环变量
开始
输入商品编码code
在数据库中找到code
对应商品的名称y
创建一个空列表:a = [ ]
a.append(y)
输出商品名称 print(m)
结束
打印小票?
是
否
商品循环输出?
是
否
遍历任何可迭代对象
如一个列表或者一个字符串
探究新知:循环结构-计数循环
计数循环-for 格式:
存储每一次遍历结构的内容
循环体
每一次遍历都将运行一次
for <循环变量> in <遍历结构> :
<语句块>
探究新知:循环结构-计数循环
计数循环-for的表达方式
迭代列表:
如: for i in ["苹果","香蕉","芒果"]:
print(i)
输出结果:
苹果
香蕉
芒果
迭代字符串:
如: for j in "HELLO":
print(j)
输出结果:
H
E
L
L
O
探究新知:循环结构-计数循环
计数循环-for的表达方式
需要遍历数字序列时,可以使用range( )函数,
注意: ①range函数从第一个值开始到第n个值止(但不包括第n个值)。
②可指定步长。
步长:使range以指定数字开始并指定不同的增量(甚至可以是负数)。
实例
for i in range(4) :
print(i)
运行结果:
0
1
2
3
range指定区间的值:
for i in range(5,9) :
print(i)
运行结果:
5
6
7
8
range设置步长:
for i in range(0, 10, 3) :
print(i)
运行结果:
0
3
6
9
编写程序
以下代码为伪代码(调用数据库未完善):
y = 0 #调用数据库中code对应商品的名称
end = 0 #end值为1时打印小票,为0时继续输入商品编码
name = [ ] #创建一个空列表,存储所有商品名称
while end == 0:
code = input("请输入商品编码:")
y = 调用数据库中code对应商品的名称
#将商品名称添加到列表name中
end = input("end输入值为1时结算金额,为0时继续输入商品编码")
if end == 1:
for m in :
print("商品名称:",m)
name.append(y)
name
巩固练习
1.在Python中,下列程序运行后会看到最后一行显示的是( )。
for sg in ["苹果","梨","香蕉","猕猴桃"]:
print(sg)
A. 0 B. 香蕉 C. 3 D. 猕猴桃
2.运行下列Python程序后输出的结果是( )。
sum = 1
for i in range(1,5):
sum = sum * i
print(sum,i)
A. 1 5 B. 5 1 C. 24 4 D. 24 5
D
B
巩固练习
3.运行以下程序,输出的结果是( )。
s= 0
for i in range(1,100,50):
s = s + i
print(s)
A.5050 B.52 C.2525 D.101
D
观
谢
谢
看