资源简介 第8课 正多边形一、教学内容分析本节课《正多边形》是《算法与程序设计深入》的第三课,主要内容是Python中自定义函数和调用函数的方法,并利用函数进行作图,使代码变得更加简洁明了。“什么是函数”模块介绍了函数的定义,并通过画正方形的例子讲述定义函数和调用函数的用法和规则。“函数的参数”这一模块介绍函数的参数,利用函数的参数来控制图形的大小。“一个正多边形”和“再来一个参数”这两个模块是介绍函数参数的作用,不仅可以传送给函数正多边形边的长度,还可以传送边的条数,而且函数不仅仅只能有一个参数。“多边形的组合”这个模块与上节课图形的结合有点类似,但是这一模块是通过实例来使学生对函数的了解更加深入,更加灵活地使用函数。学习完本课后,学生应该能够掌握如何自定义函数以及如何调用函数,了解函数的参数有何用处并学会使用,这为学生能够利用程序语言中的函数解决实际问题打下了坚实的基础。二、学习者特征分析八年级学生求知欲强,喜欢主动尝试与独立思考,渴望表现自己,追求独立,但是易受外界影响和缺乏自我控制能力。通过前面的学习,学生已经掌握了利用钢笔控制语句和循环语句实现多边形的绘制的基本操作和基础知识,教师需要根据这一特点,确保在接下来的学习中,让学生继续保持浓厚的学习兴趣,并且鼓励学生自学,提高他们的自我思考能力,让他们在自我探索中完成任务,提高他们的自我成就感。三、教法建议通过前面的学习,学生已经掌握了循环语句和钢笔控制语句的基本操作和基础知识。对本节课的教学,我们有以下几点建议(仅供参考):本堂课教师应该引导学生自己进行制作,鼓励自学,加强其自学能力,提高自我思考能力。但是对新增加的知识和学生难以掌握的内容应予以强调。对于基础差的同学,加强指导,使其在这一课的学习中加深印象,不能使其落后,这样会影响学习的自信度。学完这节课的内容,教师可以引导学生发挥想象力自己进行简单的创作。四、参考教案科目信息技术年级八年级班级课时1课时课型新授课时间课题正多边形——函数及其应用教学目标知识与技能:1.学会定义函数和调用函数解决问题。2.掌握多边形的绘制代码。3.掌握函数参数的含义和使用方法。过程与方法:1.自主探究和小组合作,掌握函数调用以及函数参数的含义。2.通过对多边形代码的编制,复习循环语句的使用。情感态度与价值观:1.培养学生良好的学习习惯,引导学生不断学习,实践与探索。2.提高学生的协作能力和创新能力。教学重点难点重点: 自定义函数和函数的调用。难点: 函数参数的使用。板书设计示意框图 第八课 正多边形一、什么是函数二、函数的参数三、多边形的组合教 学 准 备知识准备:控制钢笔语句和循环语句。硬件准备:多媒体教学工具。软件准备:Python3.7。教 学 过 程教师活动学生活动教师意图时间一、课前导入,任务介绍通过上节课的学习,同学们可以熟练地画出数学课上老师讲的所有正多边形,甚至是数学老师没有讲过的正多边形都可以画出来了。但是聪明的小明发现画不同的正多边形,往往需要重新编写代码,这给他带来了很多烦恼。Python中没有简化重写代码的办法吗?今天我们就来解决小明的烦恼吧!认真听讲,积极思考。情境导入,用具体任务激发学生兴趣。2’二、什么是函数 1.函数的定义 函数这个神奇的东西可以给我们带来很多便利,我们可以认为函数是一部分代码的集合。当一个程序中需要反复用到某部分代码时,为了让程序主体更简洁、更便于阅读,我们可以把这部分代码写成一个函数,然后需要用到这一部分代码时,就只要调用代表这部分代码的函数即可。2.函数的定义和调用实践任务1:同学们画的正方形代码用到了控制钢笔的语句和for循环,正方形的碰撞是画完一个正方形之后让钢笔旋转一个角度继续重复代码实现的。今天我们定义一个函数来画正方形。【多媒体演示】def 函数名(): 函数体上述格式表明正在创建一个函数,函数名是这个函数的名字,函数体是此函数所代表的所有代码。【操作演示】进入窗口教学,教师与学生共同操作学习。import turtlet=t.turtle.Pen()def square(): #定义square()函数for i in range(4): t.forward(100) t.right(90)square() #调用square()将代码展示出来供学生阅读和分析,学会函数的定义和调用。【巩固练习】修改上述代码,通过调用函数完成正方形的碰撞。让学生自己动手完成巩固练习任务。【拓展延伸】 36个这样的正方形交错重叠呢?如何通过调用函数实现。(小组讨论,实践探索) 认真听讲,仔细观察,勇于动手实践,勤于探索,积极参加小组讨论与协作。指导学生完成实践任务,多与小组协作的学生交流,并对其进行一定的指导,增强学生合作的自信心。10’函数的参数参数的定义 函数名后面的小括号是个神秘的东西?它到底有什么作用呢?其实括号中的内容就是函数的参数。小括号就像是一个传送门,将参数传送给函数。参数传递边长【操作演示】进入窗口教学。将实践任务1中正方形的代码展示并进行修改。import turtlet=t.turtle.Pen()def square(s):for i in range(4): t.forward(s) t.right(90)square(10) 运行程序可以发现,上述程序是利用画笔绘制出一个边长为10的正方形。那同学们可以利用函数参数轻而易举地画出边长为100的正方形了。【拓展延伸】有了函数参数,学生可以快速画出较复杂的图形,而且代码比较简洁。(学生可以结对讨论,认真阅读教材绘制出以下图形,也可作适当的设计修改)参数传递边的条数函数参数不仅仅可以传送边的长度,还可以传送多边形边的数量。接下来,我们使用函数参数控制多边形边的数量绘制正n边形。师生共同分析:画边的语句:t.forward(100)如何进入下一条边:t.right(360/n)循环n次:for i in range(n):实践任务2:与参数传递边长相似,我们先定义一个函数draw(),画一个正三角形。【操作演示】师生进入窗口教学,共同操作实践。import turtlet=t.turtle.Pen()def draw(n):for i in range(n): t.forward(100) t.right(360/n)draw(3)【巩固练习】利用draw()函数画出一个正六边形和一个正八边形。(自主完成)两个参数如果我们想让函数参数既控制多边形的边数又控制边的长度,那小括号中的一个参数就有点不够用了。不用怕,小括号当中可以使用多个参数,用逗号隔开就行。【操作演示】import turtlet=t.turtle.Pen()def draw(n,s):for i in range(n): t.forward(s) t.right(360/n)draw(5,20)教师提问:n和s分别控制多边形的什么?学生回答:教师提问:如果两个参数写反了呢?图形会变吗?学生自己动手实践回答问题。 认真听讲,仔细观察和研读教材,积极动手实践,提高学生自主学习能力。通过结对学习,培养学生与学生之间的信任并提高学生之间的交流能力。通过与学生交流,发现学生的问题,指导学生完成课堂实践任务,并对能够完成拓展任务的同学进行鼓励。20’四、多边形的组合根据函数参数,我们学会了利用函数快速画出多边形,那同学们可以再加上一个for循环,就可以画出从三角形开始一直到任意条边的多边形组合。同学们分组实践,并对各组的作品进行互评,最后老师进行评价,给予学生肯定。认真阅读教材,按要求完成作业,对其他组成员的作品进行客观评价。组织学生进行练习,巩固学习效果。5’五、本课总结本节课,我们学习了Python当中的函数,这是一节对于八年级学生来讲比较抽象的内容,但是学生结合在前面几节课所学的知识,会降低学习难度。先请学生回顾本节课的学习内容并具体阐述或举例阐述,最后再由老师进行补充。认真听讲,积极思考,主动并勇敢做出总结。对本节课所学知识进行总结,评价本节课学生的学习成果。3’教学后记 展开更多...... 收起↑ 资源预览