泰山版 (2018)第1册微项目3用循环结构程序自动化计算教学设计
展开微项目3:用循环结构程序自动化计算
教学目标:
能够利用for、while等基础的循环语句用循环嵌套设计程序,体验自动化数据处理的原理,学会利用循环结构程序进行基本的数据加工与统计。
1.用计数循环统计数据
利用for循环结构来完成已知次数的自动化处理,掌握计数循环结构应用方法。思考循环的初值、终值的作用是什么。
【程序范例】
模拟抛硬币现象,探究随机概率。
(1)体验随机,对应数列信息,体会用数据描述现象
import random #导入随机数模块
mn=['正面','反面'] #列表存储显示信息
ms=random.randint(0,1) #产生0或1随机数
print("计算机抛出:",mn[ms])
(2)模拟抛硬币10次,体验自动化程序设计,认识循环的自动控制作用
mport random #导入随机数模块
mn=['正面','反面']; #列表存储显示信息
for i in range(10):
ms=random.randint(0,1) #产生0或1随机数
print("计算机第:",i+1,"次抛出:",mn[ms])
(3)模拟抛硬币1000次,深入体验自动化程序,了解概率、统计
import random #导入随机数模块
mc=[0,0] #用列表存储正、反面数量
for i inrange(1000):
ms=random.randint(0,1) #产生0或1随机数
if ms==0 :
mc[0]+=1
else:
mc[1]+=1
print("正面抛出次数:",mc[0]),
print("反面抛出次数:",mc[1])
【技术体验】
1. 体验range()的范围限定
for i in range(10):
print("i=",i)
for j in range(11):
print("j=",j)
2.体验范围的变化:初值、终值、步长
for a in range(5,10):
print("a=",a)
for b in range(1,10,2):
print("b=",b)
【知识了解】
了解计数循环的结构:for 变量 range(初值, 终值[, 步长])
计数循环是能够预计循环的开始与结束的数值变化,适合解决有规律变化的数据处理。
【学习指导】
1.理解循环是控制反复地做事情。
可举例“篮球场跑圈练体能”,跑第一圈计1分,跑第二圈计2分,跑第三圈计3分,跑10圈计算得分多少?
2.观察循环变量的数值变化
可通过range(1,10,2)变化步长来观察。
【程序实验】
1.寻找100以内的偶数
for i in range(101):
if i%2==0:
print(i)
2.寻找100以内的奇数
3.寻找100以内3的倍数
2.用条件循环寻找答案
利用while循环结构实现未知次数的自动化处理,掌握条件循环结构应用方法。反思如何设定循环条件。
【程序范例】
1. 输入正确验证码跳出循环,体验循环条件的作用
importrandom #导入随机数模块
mc=""#初始化验证码
for i inrange(0,6): #(0,6) 与(6) 等效
ms=random.randint(0,9) #产生0-9的随机整数
mc=mc+str(ms) #存储验证码数字
print(mc)#显示验证码
mi="" #初始化输入验证码
while mc!=mi:
mi=input("请正确输入以上验证码")
2.输入错误时需要更换新的验证码,体会循环体的作用
mc="0"#初始化验证码
mi="1"
while mc!=mi:
mc="" #清空验证码
for i in range(0,6): #(0,6)与(6)等效
ms= random.randint(0,9) #产生0-9的随机整数
mc=mc+str(ms) #存储验证码数字
print(mc) #显示验证码
mi=input("请正确输入以上验证码")
【技术体验】
1.体验循环条件
# 求1+1/2+1/3... ... 当i等于什么时候刚刚大于3?
s=0
i=1
while s<3:
i=i+1
s=s+1/i
print("i=",i)
print("s=",s)
2.体验随机范围
importrandom #导入随机数模块
s1=random.randint(5,8) #产生5-8的随机整数
s2=random.randint(100,200) #产生100-200的随机整数
s3=random.randint(0,9) #产生0-9的随机整数
print(s1)
print(s2)
print(s3)
3.观察随机值
import random #导入随机数模块
for i inrange(20):
s3=random.randint(0,9) #产生0-9的随机整数
print(s3)
4.死循环
while 1<3:
print("勇往直前,永不停止")
思考:
(1) 1<3换成1 效果一样吗?
(2) 1<3换成 True效果一样吗?
【知识了解】
了解当循环结构:while 条件表达式:
当循环的意义在于在一定条件下循环,不符合条件了即结束循环,适用于不知何时结束的的情况。比计数循环更灵活、更具动态变化的特点。
【学习指导】
1.死循环:当循环容易设计出错的原因是结束条件无法达成,构成死循环。
2.循环中的断点测试:可以多用print()来在各点进行数据测试,看看能否运行到此处,数值是否正确。
【程序实验】
会算术的小猫,输入两个非零个位数x、y,大数除以小数得商n,即能输出n个“喵”。
算法提示:
(1)输入两个数。
容错设计:如果其中一个等于0,全部重新输入。可用循环条件为x==0 or y==0
(2)校准设计:判断两数大小,如果y大则交换。
(3)用x//y 整除得到n。
(4)用循环显示n个“喵”。
x=0
y=0
while x==0 or y==0:
x=int(input("x="))
y=int(input("y="))
if x<y:
x,y=y,x
print(x,y)
n=x//y
print(n)
for i in range(n):
print("喵")
尝试:
1.如何给小朋友设计一个乘法口诀训练软件
(1)随机出现两个一位的自然数。
(2)输入积。
(3)判断输入的结果如果正确计一分。
(4)共10道题目,输入总分。
科学探究:用乘法口诀表探究多层循环,了解多重循环的执行特点。
for i in range(1,10):
for j in range(1,i+1):
print('{}×{}={}\t'.format(j,i,j*i),end='')
print()
(1)所有循环都可以嵌套,学习基础语言结构时不宜过早、过难应用多层循环的嵌套,了解即可。
判断嵌套因为有思维推理,或者打破砂锅问到低的需求,容易理解。
(2)显示格式了解即可,不宜深入学习。
'{}×{}={}\t'.format(j, i,j*i)提供了一种输出格式,可以让数据按照一种固定格式显示。当然,我们把数字转换为字符串显示也是可以的。
end=''表示同行显示。
print()是换行作用,并没有显示内容,目的是在一行内的列循环完成后取消end=''的作用
(3)循环嵌套,如果要涉及可以结合行列关系进行探索。
#星星
for lin in range(10):
for col in range(lin):
print("*",end="")
print()
for lin in range(10):
for col in range(10-lin):
print("*",end="")
print()
for lin in range(10):
for k in range(20-lin): #生成空格
print("",end="")
for col in range(lin*2-1):
print("*",end="")
print()
注:以上程序,重在体会外层循环控制行,观察lin的变化;内层循环控制列,观察col的变化。
技术探索:寻找内容的循环,探索循环的灵活应用
1.元素查找
mc=['苹果', '桔子','菠萝', '荔枝','芒果']
print('荔枝' in mc)
if '菠萝' in mc:
print('我有菠萝' )
for x in mc:
print(x)
2.字母查找
mc='I like playing football'
for x inmc:
print(x)
注意:x作为访问变量,与变量名无关。
初中信息技术微项目2 探究图像的拍摄艺术教学设计: 这是一份初中信息技术微项目2 探究图像的拍摄艺术教学设计,共4页。教案主要包含了教学目标,教学重点,教学难点,课前准备,引出课题,设计意图,信息技术应用,课堂小结等内容,欢迎下载使用。
初中信息技术泰山版 (2018)第1册第3单元 让因特网成为工具微项目2 探究网络信息交流的方式教学设计: 这是一份初中信息技术泰山版 (2018)第1册第3单元 让因特网成为工具微项目2 探究网络信息交流的方式教学设计,共2页。
初中信息技术泰山版 (2018)第1册微项目2 用选择结构程序做出判断教案及反思: 这是一份初中信息技术泰山版 (2018)第1册微项目2 用选择结构程序做出判断教案及反思,共9页。教案主要包含了课标分析,教材分析,学情分析,教法分析,教学目标,教学重难点,评价设计,课前准备与课时等内容,欢迎下载使用。