2022义教信息科技新课标
2024
浙教版最新教材中的Python代码
浙江省教育出版社2023年出版的信息科技三-九年级中涉及到的Python代码列举如下:
1
算法的验证:校园最短路径
#五年级上册第十四课(P60)
#获得最短路径
#输入每小段路线的距离
L1=int(input("请输入路线L1的长度:"))
L2=int(input("请输入路线L2的长度:"))
L3=int(input("请输入路线L3的长度:"))
L4=int(input("请输入路线L4的长度:"))
L5=int(input("请输入路线L5的长度:"))
L6=int(input("请输入路线L6的长度:"))
L7=int(input("请输入路线L7的长度:"))
#求解第一段路线最短距离
#使用距离计算模型
S1=L1+L3#计算第一条路线距离S1
#计算第二条路线距离
S2=L2+L4
Smin1=S1#赋初值
if S2<Smin1:#使用较短距离比较模型
Smin1=S2
#求解第二段路线最短距离
S3=L5+L7
S4=L6
Smin2=S3
if S4<Smin2:
Smin2=S4#合并两段路线的最短距离
Smin=Smin1+Smin2
print("最短距离为:",Smin)#输出最短距离
2
体验算法控制:买票问题
#五年级上册(P38)
#根据用户年龄,判断是免票还是优惠票还是全价票
nianling = int(input("请输入您的年龄:"))
if nianling < 6 :
print("免票")
else:
if nianling < 14 :
print("优惠票")
else:
print("全价票")
3
查表计算:计算停车场收费
#五年级下册(P46)
#计算停车场收费问题
# 定义24小时内停车费用表
parking_fee={
# G小时停车免费0:0,
# 1小时收费5元1:5,
2:10, # 2小时收费10元
3:15,# 3小时收费15元
4:20,# 4小时收费20元
# 5小时收费25元5:25,
# 6小时及以上收费30元6:30,
}
# 获取停车时间
time = int(input("请输入停车时间(单位:时):"))#根据停车时间计算停车费用
if time <= 6:
fee = parking_fee[time]
else:
fee = parking_fee[6]
print(f"您的停车费用为:{fee}元")
4
恒温箱实验:
#五年级下册(P63)
#控制试验箱温度
t={'low':37,'high':42}
while True:
f= temperature.read()#读取温度传感器的值if f > t['low'] and f < t['high']:heat.off()#停止加热模块fans .off()#停止散热模块else:
if f < t['low']:
heat.on() #启动加热模块
fans .off() #停止散热模块
else:
heat.off() #停止加热模块
fans.on() #启动散热模块
5
投票算法
#六年级上册第一课(P6)
#对两用户进行投票统计
#用a、b表示A、B作品的得票数,程序初始票数归零三
b=0
a=0
#用变量i控制投票的次数
i=1
#有多少个人参与投票就循环多少次
while i < 1001:
#提示用户投票的方式,并用tp存储用户输入的投票内容
tp = input("输入a投票给A作品,输入b投票给B作品")
#对tp中的内容进行判断,并不断统计A、B作品的票数
if tp == 'a':
a = a + 1
else:
b = b + 1
i = i + 1
#输出A、B作品的票数
print("A作品获得票数为:",a,", ","B作品获得票数为:",b)
6
鸡兔同笼
#六年级上册(P23)
# 鸡兔同笼的解决办法
print("========欢迎使用“鸡兔同笼”解题程序==============")
tu =0
#用变量jie跟踪是否有解,初始赋值为0
jie=0
#枚举的对象为兔子的数量,枚举范围为0-35
while tu<36 :
ji=35 - tu
#如果符合正确解条件,则输出鸡兔的只数
if ji*2+tu*4 == 94:
#若有解,将变量jie赋值为1
jie =1
print(ji,"只鸡,",tu,"只兔。")
tu = tu +1#无解时输出无解提示2
if jie == 0:
print("此题无解")
7
猜数字游戏
#六年级上册(P31)
#猜测数字游戏
da =55
ci = 1
cai = int(input("猜一个1至100之间的数字"))
while cai != da:
if cai < da:
print("小了")
else:
print("大了")
cai = int(input("猜一个1至100之间的数字"))
ci = ci + 1
print("对了","共用次数为:",ci)
8
韩信点兵(一):枚举法
br
'''
六年级上册(P52)
韩信点兵:
相传韩信带领1500名士兵去打仗。
战后死伤四五百人。
剩下的士兵,3个3个数,余2个;
5个5个数,余3个;
7个7个数,余2个,
剩下一共有多少人呢?
'''
#用枚举法计算
x = 1000
while x<1101:
if x % 3==2 and x % 5==3 and x % 7==2:
print("剩余的士兵数为:",x)
x = x+1
9
韩信点兵(二):同余法
#六年级上册(P52)
#通过同余法算出剩余的兵数
s = 233 #取到的同时满足三个条件的任意一个数
k = 3 * 5 * 7 #计算3、5、7的最小公倍数
while s < 1000 or s > 1100: #在[1000,1100]内找到满足条件的数
if s < 1000:
s=s+k #若小于1000,则加上公倍数
else:
s=s-k #若大于1100,则减去公倍数
print("剩余的士兵数为:",s)
10
加密算法
# 八年级上册(P63)
# 本道题目为《数据的备份与加密》一课中替代加密法的算法
# 用户通过输入一段明文可得到对应的密文
miwen=""
minwen = input("请输入明文:")
for i in minwen:
if 'A' <= i <='W':
miwen += chr(ord(i)+3)
elif 'X' <= i <='Z':
miwen += chr(ord(i)-3)
else:
miwen += i
print("密文为:",miwen)
# 火马碎碎念
对于新课标中的程序设计教学,一直不知如何把握,特意与部分一线信息科技同行有过探讨。大家一致认为:
1.算法与程序设计可以很好结合:即程序设计是可以学的,各个阶段采用不同的载体。
2.学习目标:程序设计是抓手,关键是让学生体验用程序设计解决问题的方法与过程,所以目标不能是语法或语句
3.方法:意义教学,理解为先,针对真实问题--体验分析问题、解决问题的过程;
4.标准:课标是最低标准,根据事情调整。但是即便是高中学业考试,在一年实践的基础上发现也不是千篇一律,对于部分学校的学生,与其学了也不会,不如让学生感觉我还行,程序设计还是很有趣的,因此高度可以适当调整,内容可以适当选择。这点估计很多人不认可,但是就我在排名比较低的学校教学经验来看,是必需的。
我的个人看法是:
程序设计作为一种重要工具是落实核心素养中的计算思维有效载体。程序不但是去验证自己的想法是否正确,而且通过运行及时给学生反馈更是一种重要的学习方式,让学生能内化相关的思维,这比老师直接讲授更有效。
程序如果只是用来验证算法的正确性是个伪命题。
此外,如果用教技能的方法教程序设计肯定会抹杀学生学习程序设计的兴趣,要记住很多相关语法。所以面对课时有限的情况,在常规课堂上要培养全体学生的数字素养和技能确实如巫老师而言不必钻得很深,完全 以充分利用社团课的时间为有能力,有兴趣的学生以解决问题为导向,结合软硬件把程序设计作为一个工具来使用!
对于人工智能这块内容,不但有原理,同时也需要在程序中去体验,也离不开程序设计。关键是作为我们一线教师,不能把学生教怕了,抹杀了学生的学习兴趣,所以如何利用程序设计落实计算思维是一种要重视的课题。
欢迎大家留言评论
道阻且长,
行则将至
行而不辍,
未来可期!
也许我们有作为,
才有地位!
点击下方
关注我们
与同行共成长