第9课 函数基础——把代码打包起来 教学设计+html素材 小学信息科技Python程序设计

资源下载
  1. 二一教育资源

第9课 函数基础——把代码打包起来 教学设计+html素材 小学信息科技Python程序设计

资源简介

/ 让教学更有效 精品试卷 | 信息
小学四—五年级 Python 程序设计(第一学期)
教 学 设 计
第9课 函数基础——把代码打包起来
课  题 第9课 函数基础——把代码打包起来
课  时 第 9 课时(40 分钟)
课  型 新授
教学环境 机房(Windows + Python 3.x + IDLE/Thonny)
授课班级 四年级、五年级
一、学情分析
学生已经能用循环、分支、列表完成 10~20 行的程序,但普遍存在一个痛点:同一个计算(比如求平均数)在不同题目里反复抄写,一旦要改动就得改好几处,容易漏改出错。
本课要给的正是解药——函数。三处认知难点:
1.分不清「定义函数」和「调用函数」,以为 def 一写程序就会执行;
2.不理解参数是「把外面的数据递给里面」,返回是「把里面的结果递回外面」;
3.分不清 return 与 print:print 是给人看的,return 是给程序用的。
本课用「自动售货机」比喻:投币口是参数,出货口是 return,机器内部怎么运作外面不用管。
二、教学目标
(一)知识目标
1.掌握 def 定义函数、函数名加括号调用的基本语法与缩进规则。
2.掌握参数(形参 / 实参)的传递过程,会写带 0 个、1 个、多个参数的函数。
3.掌握 return 的作用,能区分 return 与 print 的不同用途。
(二)能力目标
1.能把一段重复使用的代码抽出来改写成函数。
2.能编写求最值、判素数、求阶乘等常用工具函数的完整程序。
(三)素养目标
1.体会「模块化」的价值——让程序更短、更好读、更好改。
2.初步形成「先想清楚输入输出,再动手写函数」的设计习惯。
三、教学重点与难点
项 目 内 容
教学重点 def 定义与调用;参数传递;return 返回值的接收。
教学难点 return 与 print 的本质区别;形参与实参的对应;函数执行完毕就结束,return 后的语句不会执行。
四、教学准备
· 教师:课件、自动售货机示意图、函数卡(形参与实参对应演示)。
· 学生:练习卷、上机账号。
· 素材:本课 5 个程序文件 1定义与调用.py ~ 5素数判断函数.py。
五、教学过程(共 40 分钟)
环节一 情境导入:为什么需要函数(5 分钟)
在黑板上出示同一段「求平均数」的代码,连写三遍(模拟三道题都在用)。
提问:「如果老师要求把保留 2 位小数改成保留 1 位小数,你要改几处?」
学生答「三处」——追问:「如果写了十遍呢?漏改一处会怎样?」
引出:把这段代码打包成一个「工具」,取个名字,用的时候喊一声就行。这个工具就叫函数。
【设计意图】不用抽象概念开场,而是让「重复劳动」的不便实实在在摆在眼前,学生才能感到函数是必需而非负担。
环节二 新授:定义与调用(10 分钟)
演示 1定义与调用.py。
def say_hello():
print("你好,欢迎来学 Python!")
# 下面才是真正让它运行
say_hello()
say_hello()
say_hello()
讲解三件事:
(1)def 是 define(定义)的缩写,冒号不能丢,函数体必须缩进。
(2)写完 def 之后程序不会有任何输出——定义只是「造了一台机器」,还没通电。真正让它工作的是下面的 say_hello(),这叫「调用」。
(3)调用几次就执行几次,这正是「打包复用」的威力。
板书结构图:
def 函数名( ): ← 定义:造机器
缩进的代码块 ← 机器做什么
函数名( ) ← 调用:按开关,机器开始工作
即时练习:让学生把上一课写过的「打印三角形」打包成函数,调用三次打印三个三角形。
环节三 新授:参数——把数据递进去(10 分钟)
提问:「刚才的 say_hello 每次都只会说同一句。如果想让它可以喊不同同学的名字呢?」→ 需要一个「投币口」,把名字递进去。这个投币口就是参数。
演示 2带参数的函数.py。
def greet(name):
print("你好," + name + "!")
greet("小明")
greet("小红")
对应关系图(板书,用箭头标出):
def greet( name ): ← name 是形参(占位的空盒子)
↑
greet( "小明" ) ← "小明" 是实参(真正递进去的货)
强调:「形参」只在函数定义里出现一次,是个代号;「实参」在每次调用时给不同的值。就像售货机上的投币口只有一个,但你每次投的可以是 1 元也可以是 5 元。
演示带两个参数的写法:
def add(a, b):
print(f"{a} + {b} = {a + b}")
add(3, 5)
add(10, 20)
强调顺序:add(3, 5) 里第一个 3 给 a、第二个 5 给 b,顺序反了结果就变了(对减法、除法尤其明显)。
环节四 新授:return——把结果递出来(10 分钟)
设疑:「上面 add 函数算出的和只能打印出来,如果我还想拿这个和去参加别的计算,比如再乘以 2,该怎么办?」→ 需要「出货口」,把结果递回外面。
演示 3带返回值的函数.py。
def add(a, b):
return a + b
s = add(3, 5) # 用变量接住返回的值
print(s)
print(add(3, 5) * 2) # 返回值可以直接继续参与运算
重点辨析(板书左右对照,这是本课最难点):
对比项 print(x) return x
作用是 把 x 显示在屏幕上给人看 把 x 递给调用它的地方给程序用
之后能运算吗 不能,屏幕上的字变不成数 能,可以赋值、可以参与算式
函数会结束吗 不会,继续往下执行 会,return 一旦执行函数立即结束
现场对比实验:
def f1(a, b):
print(a + b)
def f2(a, b):
return a + b
x = f1(3, 5) # 屏幕打出 8,但 x 是 None
print(x * 2) # 报错!None 不能乘 2
y = f2(3, 5) # 屏幕什么都不打
print(y * 2) # 输出 16,一切正常
让学生亲眼看一次报错,印象最深。
补充规则:return 后面的代码永远不会执行,例如:
def g():
return 10
print("这行永远不会执行")
【设计意图】print 与 return 的混淆是初学者最顽固的错误,与其反复口头强调,不如让程序报一次错,用事实说话。
环节五 综合应用与总结(5 分钟)
演示 5素数判断函数.py,把两课的成果组合起来。
def is_prime(n):
if n < 2:
return False
for i in range(2, n):
if n % i == 0:
return False
return True
for x in range(1, 21):
if is_prime(x):
print(x, end=" ")
讲解:函数体内可以有多个 return,「一发现能整除就立刻 return False」;如果循环全部跑完都没返回,说明是素数,最后 return True。
这叫「早退」,能让程序少做无用功。
本课一句话总结:函数就是「给一段代码取个名字」,参数是把数据递进去的入口,return 是把结果递出来的出口;要让结果继续参与运算,就必须用 return 而不是 print。
六、板书设计
第9课 函数基础
def 函数名(参数): ← 定义(造机器)
缩进的代码块
return 结果 ← 出口
函数名(数据) ← 调用(按开关)
形参:定义里的空盒子 def f(a, b)
实参:调用时递的货 f(3, 5)
print 给人看,屏幕上的字不能再算
return 给程序用,可以赋值、可以参与运算
return 一旦执行,函数立刻结束
七、分层作业
★ 完成练习卷第一、二、三题(填空、判断、改错)。
★★ 完成练习卷第四题:把「求三个数的最大值」写成函数并调用;写一个函数,参数是半径,返回圆的面积(保留 2 位小数)。
★★★ 完成练习卷第五题:写一个 is_prime(n) 函数,再用它输出 2~100 之间的所有素数(每行 5 个)。
八、教学反思要点
1.有多少学生一开始以为「写完 def 程序就会跑」?下次是否要在环节二多做一次对比演示?
2.print 与 return 的辨析是否讲透?可以出一道「下面程序输出什么 / 报什么错」的即时测。
3.形参与实参的「投币口」比喻是否被学生接受?能否请学生上台自己演示一次?
4.是否留足时间让学生亲手把旧代码改成函数?改写比从零写更能体会模块化的价值。
课后记(教师填写):
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
______________________________________________________________
21世纪教育网 www.21cnjy.com 精品试卷·第 2 页 (共 2 页)
21世纪教育网(www.21cnjy.com)

展开更多......

收起↑

资源预览