内容正文:
【课题与课时】
课题:自定义函数
课时:1课时
【学习目标】
1.了解函数的基本含义,掌握自定义函数的语法。
2.学会定义和使用自定义函数,能够使用函数进行模块化程序设计。
3.能用自定义函数实现冒泡排序法。
4.初步体验模块化程序设计的理念,能够将复杂的问题进行有条理的分析,逐步解决问题。
【评价任务】完成学习任务1,课堂检测。
完成学习任务2,课堂检测。
完成学习任务3,课堂检测。
重点:定义和使用自定义函数。
难点:有条理的分析复杂的问题,并逐步解决问题。
教具准备:安装有python3.6的计算机
【学习过程】
环节名称
活动设计(任务、步骤、要求、成果)
设计意图
反思
第一环节
生活发现
一、生活情境
上图是一个大型的积木城堡,一组小朋友合作来拼装。积木中有几种不同尺寸的小人,相同尺寸的小人也有不同的装备。如果你是组长你会怎么分配自己的组员呢?
二、问题提出
引导策略:提示学生思考分工组装人偶的工序。
如:负责组装人偶的同学按一样的流程来组装一个偶人,但根据装饰配件的不同可以展现不同的人偶类别。
1.讨论问题
(1)怎样分配最合理?(专人负责分装相同的零件,一人负责总装)
(2)每个人负责什么工作?(分装负责生产零件,总装将装配好的零件组成整体模型)
2.生成问题
(1)总装怎么得到自己需要的零件?(对不同分装生产组员下达生产数量和样式的命令)
(2)负责分装的同学怎么工作?(接受总装的指令生产相应数量的零件,并根据样式命令对零件进行修饰,比如加盾牌或长剑等)
(3)类似的形式对应到程序编写中对程序有什么样的影响,好不好?(总装相当于主程序,分装相当于函数。可以将重复性的工作交给一个函数来做,主程序用函数的名字来调用它,用函数的参数来控制它,可以节省工作量使程序更加灵活)
三、我的设想
(小组讨论____分钟)
1.小组代表发言,汇报自己小组想出来的有价值的问题。
2.组间进行评价,讨论问题的解决方案。
第二环节
庖丁解牛
1. 什么是函数
引导策略:首先肯定学生所讨论问题,然后引导出函数的概念。
如:刚才同学们讨论的几个问题很有意义,如果想要解决这些问题就需要用到今天我们要学的知识:函数。我们首先通过学习几个案例来帮助同学们掌握这节课的内容,从而能自主解决上面所提出的问题。
步骤1: 认识函数
函数是指可重复使用的程序功能模块。比如我们早就认识的print()、input()、range()等都是python内置的函数。为了解决实际问题,也可以自定义函数。
步骤2:函数的定义
1、自定义函数使用def 关键字。
2、尝试编写一个函数打印如下的星号旗帜:
3、参考代码:
步骤3:函数的使用
1、使用函数的名字就可以调用函数:
2、试一下,如果不写函数名最后的一对括号,函数能不能正常运行?
步骤4:使用参数
1、函数的参数即函数内部的变量,定义时在括号里设置一个变量即可,这个变量负责将数值从主程序传递到函数内部。
2、我们设置一个参数n,让函数把这个旗子图形打印n次,n应该是一个正整数。
3、使用 qizi(3)调用函数观察结果。
4、试一下,如果在括号里输入的不是正整数,函数运行的结果如何,思考怎么保证函数一定能正确的运行?
二、函数的返回值
拓展情景:
在数学课中我们经常会遇到解方程的题目,那么我们能用计算机帮助我们解决方程问题吗?
在一个ax+b=0(a不等于0)的方程中,请你设计一个自定义函数,给定a和b的值,计算出x的值。设计完成后,同学之间互相测试一下。
程序参考代码:
步骤1: 全局变量和局部变量
在函数体内部的变量称为局部变量,相应的在函数外部的称为全局变量。如果程序需要修改全局变量,需要在变量前加global保留字,这样在函数执行修改完成后,该变量值为修改后的结果。在解方程的函数里有一个全局变量x,想一想为什么一定要用全局变量?
步骤2:函数的返回值
使用全局变量保存方程的计算结果的方法,虽实现了计算的效果,但对程序的模块化和重复使用上有所影响。所以在函数内部一般不使用全局变量,可以使用返回值实现计算结果的回馈。
在函数内使用了局部变量x进行计算,若想传递局部变量的值可以使用return语句
return x这句代码说明函数的值为函数内局部变量x的值
三、基本统计
统计能通过收集数据、描述数据、分析数据的过程,使人们做出合理的决策。在Python中列表等数据结构就能够支持基本的数据统计应用,但是往往代码也比繁杂,请你设计一个程序,用函数的方式实现以下功能:
1.通过输入函数动态建立列表
2.计算列表的平均数
步骤1:动态建立列表
1、画出函数