附件1解析算法及其程序实现教学设计.docx
解析算法及其程序实现教学设计课程标准 和教学目标解析算法及其程序实现教材内容:3. 3. 1解析算法及其程序实现适应的课程标准:1.7掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。通过解决实际问题, 体验程序设计的基本流程,感受算法的效率,掌握程序调试与运行的方法。教学目标:理解解析算法的思想,能用解析方法来设计 算法解决简单问题。编写程序来实现解析算法。通过解决实际问题,编写实用性程序,培养 编程解决问题的能力。指向的核心素养:计算思维:针对给定的任务进行需求分析,明确 需要解决的关键问题;能提取问题的基本特征,进 行抽象处理,并用形式化的方法表述问题。运用基 本算法设计解决问题的方案,能使用编程语言或其 他数字化工具实现这一方案。学习环境:有教学控制软件的多媒体机房,装有Python3.x编程环境和班级讨论区。建议课时:1课时教学活动 设计教学环节教学过程设计意图情境导入回顾3. 1绘制止多边形的问题,提问如何根据边数计算 内角度,从而确定画笔旋转的角度。抽象与建模:已知条件:正多边形的边数n和边长a、要求的解:正多边形内角度数d和画笔旋转角度(180-d)数学表达式:d = (n - 2) * 180 / no算法描述:输人要绘制的正多边形的边数n和边长a0计算正多边形的每个内角度数d,其中d = (n - 2) * 180 / n。将以下过程重复执行n遍:画-条氏度为a的线段, 再将画笔方向向左(逆时针)旋转(180-d)度。温故而知新。通过问顾学生熟悉的问题, 拉进与学生的距离。设定锚点,让学生体 会解析算法的基本思想。学生活动活动1 :编程计算2个电阻并联后的总电阻值。教师引导学生思考:已知条件是什么?(两电阻的阻值RI, R2)要求的解是什么?(并联后的总电阻值R)己知与结果之间的表达式怎么写?R = RI * R2 / (RI + R2)活动2:编程计算多个电阻并联的总电阻。其中,每个 电阻的阻值可由健盘输入,当输入了 个0时,表示输 入结束。教师引导学生思考:己知条件是什么?(RI、R2、R3Rn的阻值)要求的解是什么?(并联后的总电阻值R)已知与结果之间的表达式怎么写?从特例到一般,由浅入深,逐渐增大问题 难度,树立学生的信心,激发学生解决问 题的兴趣。1 _ 111= + + + R Ri 月2Rn需要哪些变量?(r:存储每一次输入的电阻值: rs:累加器,存储电阻倒数的累加值)循环体语句怎么写?(rs += 1/r)循环控制条件是什么? (r = 0)虽然没有明说采用的是解析算法,但是一 次又一次的引导学生思考,明确问题的前 提条件,明确要求的解,寻找前提条件与 结果之间的数学表达式,潜移默化地让学 生体验解析算法的解题思路,最后总结其 特点时就可以水到渠成了。活动 3:编程计算 s = 1 - 1/2 + 1/3 - 1/4 + -+1/99 - 1/100的值。教师引导学生思考:需要哪些变量?(s:累加器,存储各项和;i:各项的分母,从1递增到100:f:代表符号,分别用1和T代表正负号)如何控制循环执行次数? (for i in ranged, 101) 循环体语句怎么写? (s += f / i; f = -f)有了解题思路还不够,还要设计算法,编 程实现算法。对于较难的问题,教师要及 时给学生搭把手,提供范例,引导其往正 确的方向思考。活动4:编写函数实现计算s = 1 - 1/2 + 1/3-1/4+l/n的值功能。函数名:my_sum(n)«参数表:n总共n项。返回值:返回 1 - 1/2 + 1/3 1/4 + ,+l/n 的值。教师引导学生思考:如何定义函数和调用函数?def my_sum(n):s = 0f = 1 代表符号,分别用1和T代表正负号for i in range(1, n+1):s += f / if = -freturn s模块化程序设计思想是计算机编程的一个 重要思想,指导学生对常用的程序代码以 模块化的形式进行保存,掌握定义函数和 调用函数的方法,养成模块化编程的良好 习惯。for i in ranged, 20):print (f' my_sum(i) :0. 6')活动5:学生自主学习教材3. 3.1内容,模仿活动4,编 写函数实现判断某像素的黑白颜色。def bw_judge (R, G, B):if 0.299 * R + 0. 587 * G + 0. 114 * B < 132:color ="黑色"else:color ="白色"return color自主学习教材,在理解算法设计思想的基 础上,学会提炼代码,掌握定义函数和调 用函数的方法,养成模块化编程的良好习 惯。课堂小结1.解析算法的解题思路:1)明确问题的前提条件在学生有了使用解析算法解决问题的体验 后,教师对知识进行归纳和总结,帮助学2)明确要求的解3)寻找前提条件与结果之间的数学关系式2.总结构造和调用函数,实现模块化编程的方法。生把新知纳入原有知识结构,实现知识的 升华。作业布置基础作业(面向所有学生):本节配套课后作业。提升作业(面向学有余力学生):编程实现第二章中的“动动有奖”项目:收集并编程解决更多适用于解析算法的实际问题。课后作业是课堂学习的延伸,是巩固和升 华知识点的有效途径。根据学生的基础和 能力设置不同难度的作业,以满足不同层 次的学生需求。教学设计 思路本节课的教学内容为解析算法及其程序实现,主要教学目标是通过具体任务的实践活动,让学生体会解析算法的 基本思想,突破从实际情境中“抽象与建模”的难点,继而强化学生用程序语言描述数学表达式的能力。温故而知新,在课堂引入时,先回顾3.1绘制正多边形的问题,提问如何根据边数计算内角度,从而确定画笔旋 转的角度,引导学生按照使用计算机编程解决问题的一般步骤,先对问题进行抽象与建模,再设计算法,最后编程实 现算法。回顾学生熟悉的问题,容易唤起学生的兴趣,增强学生掌握新知识的信心。通过设定锚点,也方便学生思维定位, 突破思维瓶颈,为新知识的学习铺垫道路。活动1和活动2分别是“编程计算2个电阻并联后的总电阻值”和“编程计算多个电阻并联的总电阻”,两个项 目从特例到一般,由浅入深,逐渐增大问题难度,树立学生的信心,激发学生解决问题的兴趣。教师在引导学生解决 问题的过程中,虽然没有明说采用的是解析算法,但是一次又一次的引导学生思考,明确问题的前提条件,明确要求 的解,寻找前提条件与结果之间的数学表达式,潜移默化地让学生体验解析算法的解题思路,最后总结其特点时就可 以水到渠成了。活动3和活动4也采取从特例到一般的思路,不但要引导学生思考如何设计算法和编写程序,还要对学生进行模 块化编程的指导,帮助学生掌握定义函数和调用函数的方法,养成模块化编程的良好习惯。活动5是学生自主学习教材3. 3.1内容,模仿活动4,编写函数实现判断某像素的黑白颜色。“黑白像素判定”是 “答题卡填涂识别”项目的一个重要组成部分,在本节课内既能落实解析算法的思想精髓,又能为后续枚举算法以及 算法综合应用项目顺利开展奠定基矶L教材对这一部分内容讲解非常到位,按照使用计算机编程解决问题的步骤,详 细介绍了整个流程的具体做法,学生通过自学一般来说能够掌握。在学生完成自主学习任务后,教师进一步要求学生把该功能设计成一个函数,这既巩固了学生的学习效果,又强 化了模块化编程思想的应用,还为下一节课的学习做好了铺垫。最后,教师组织学生对解析算法的解题思路进行总结,让学生理解解析算法的基本思想,并能使用该算法分析和 解决更多实际问题。针对 核心素养 培养的 设计考虑本节课主要采用任务驱动的方式让学生掌握解析算法的思想及其程序实现。在指导学生完成活动1和活动3的过程中,教师虽然没有明说采用的是解析算法,但是一直按着解析算法的解题思路 来引导学生思考问题,先让学生体验解析算法解题的一般思路,理解解析算法的思想,能用解析方法来设计算法解决 简单问题。活动2和活动4都属于从特殊到一般的演进,教师要求学生自定义函数和调用函数,通过模块化编程训练,培养学生 提取问题的基本特征,进行抽象处理的能力,提升了学生的计算思维。