内容正文:
用计算机编程解决问题的一般过程教学设计
教学目标
用计算机编程解决问题的一般过程
教材内容: 3.1用计算机编程解决问题的一般过程
教学目标:
· 理解用计算机编程解决问题的四个步骤:抽象与建模、设计算法、编写程序、调试运行。
· 能够运用Python语言编写简单的程序,绘制正多边形。
· 掌握基本的程序调试方法,提高代码规范性。
· 通过情境创设和小组讨论,培养学生的计算思维和问题解决能力。
· 通过动手实践,提升数字化学习与创新能力。
· 培养严谨的编程习惯,增强信息社会责任意识。
· 体验编程解决问题的成就感,激发学习兴趣。
指向的核心素养:
· 信息意识:
能从具体情境(如设计、绘图需求)中主动发现可用编程解决的数字化问题;能准确描述问题需求,并明确界定问题的输入、处理与输出,为问题转化奠定基础。
· 计算思维:
能够运用抽象与建模,将现实问题数学模型;能够遵循算法设计的一般过程,使用算法描述方法,设计逻辑清晰、步骤确切的算法,解决实际问题。
· 数字化学习与创新:
能够运用Python语言及集成开发环境IDE等数字化工具,输入一定可运行的程序代码;在调试与运行环节,能运用基本的调试方法
· 信息社会责任:
在编程实践中,初步养成严谨、规范的代码书写习惯;理解程序正确性与可靠性的重要性,在调试过程中培养对数字化产品负责的态度。
教学重难点:
· 重点:理解编程解决问题的四个步骤(抽象与建模、设计算法、编写程序、调试运行)
· 难点:抽象与建模,算法设计与程序调试
学习环境:有教学控制软件的多媒体机房
建议课时:1课时
教学活动设计
教学环节
教学过程
设计意图
新课导入
1. 提问学生:“你们平时使用计算机做什么?”引导学生分享Word、Excel等工具的应用。
计算机已成为人们解决问题的重要工具。例如,用Word解决文字处理的问题,用Excel解决一般的数据计算、统计的问题等。但由于现实问题的多样性,并不是所有的问题都可以用现成的计算机程序来解决。因此,针对这些问题,需要通过抽象与建模、设计算法、编写计算机程序来解决。
2.展示PPT中的正多边形绘制问题,提问:“能否用现有工具绘制任意边数的正多边形?”
今天我们就以“绘制正多边形”为例,了解用计算机编程解决实际问题的一般过程。
1.从学生熟悉的应用入手,引出编程解决问题的必要性。
2. 通过实际情境激发兴趣,为后续学习做铺垫。
新知探究(抽象与建模)
抽象与建模是从现实项目的真实情境中提炼出核心的要素并加以确定或假设,最终定义出一个有明确已知条件和求解目标的问题,并用数学符号描述解决问题的设计模型。
我们平时绘制正六边形的过程:
提问:观察上述过程,你发现了什么?
绘制一个正多边形,我们可以:
①画一条边,旋转一定角度后再画一条边
②重复①
1.提炼核心要素并加以确定或假设
请同学们回顾2.3节知识,提炼本问题“绘制正多边形”的核心要素并加以确定或假设
实际问题“绘制正多边形”,我们可以得到的已知信息是:
①正多边形的各边边长相等
②各内角度数也相等。
本问题的已知信息是正多边形的各边边长相等、各内角度数也相等。正多边形的边长在事先不确定,所以需要通过输入将数据传递给算法,不妨用变量a表示边长。
为了使建立的问题模型具有一般性,可以认为边数是不定的,所以用变量n来表示这个可变的数据, d表示内角度数。
2.用数学符号描述解决问题的计算模型
明确了问题的已知条件后,需要明确问题的解决目标。就是需要我们通过输入多边形的边数及边长,绘制出正多边形图案。之前的分析可知,绘制一个正多边形,可以通过“画一条边,旋转一定角度后再画一条边”的重复操作来完成,而旋转一定角度刚好是多边形的外角180-d。
基于上述分析,可以得出解决该问题的计算模型如下:
1 假设正多边形的边数为n,边长为a。
2 则内角度数d的值为:d=(n-2)×180÷n。
3 每次旋转的角度为:180-d。
1.培养学生从具体问题中抽象出数学模型的能力,体现计算思维。
2.通过小组合作,增强信息意识,学会准确描述问题需求。
新知探究(算法设计)
有了计算模型后,就可以遵循算法的特征、围绕算法的要素设计算法。
对任何数据的处理,总体上需要经历下列三个步骤:
1 输入数据
2 处理数据
3 输出处理结果
1.输入数据
输入数据:本问题需要输入的数据是正多边形的边数n以及正多边形的边长a
算法描述如下:
1 输入要绘制的正多边形的边数n
2 输入要绘制的正多边形的边长a
2.处理数据
(1)请以小组为单位,讨论本问题需要处理的数据有哪些,并进行交流分享。
本问题需要处理的数据:
1 计算正多边形的每个内角度数d
2 计算旋转角度
(2)请把本问题需要处理的数据的算法进行描述。
算法描述如下:
1 计算正多边形的每个内角度数d,其中d=(n-2)x180÷n。
2 画一条长度为a的线段,再将画笔方向向左(逆时针)旋转(180-d)度。
3 将②过程重复执行n遍
3.输出数据
(1)请以小组为单位,讨论本问题需要输出的数据有哪些。
本问题需要输出的数据:绘制出正多边形的图案,包括线条的粗细,线条的颜色。
(2)请把本问题需要输出数据的算法进行描述。
算法描述如下:
1 绘制多边形的线条粗细为3
2 绘制多边形的线条颜色为红色
4.结合数据的输入、处理、输出,把本问题的算法设计归总。
(1)结合本问题中算法对数据的输入、处理、输出过程,把本问题的设计算法进行归总。
(2)算法描述如下:
1 输入要绘制的正多边形的边数n
2 输入要绘制的正多边形的边长a
3 计算正多边形的每个内角度数d,d=(n-2)x180÷n。
4 计算旋转角度t,t=180-d
5 设置重复变量i的初始值为0
6 设置画笔粗细为3,画笔颜色为红色
7 画一条长度为a的线段,再将画笔方向向左(逆时针)旋转t度。
8 i增加1,若i<n,则转到⑥,否则结束。
5.为了直观建议先用流程图描述解读该问题的算法,请同学们以小组为单位,进行讨论交流,绘制出本问题的流程图
1.帮助学生理解算法设计的逻辑性和步骤性,强化计算思维。
2.通过流程图直观呈现算法,降低理解难度。
新知探究(编写程序)
要让计算机按照预先设计的算法进行处理,需要将该算法用计算机程序设计语言描述,形成计算机程序。
1.绘制正多边形的算法用Python语言描述如下:
import turtle
n=int(input("请输入正多边形的边数n:"))
a=int(input("请输入边长a:"))
d=(n-2)*180/n
t=turtle.Pen()
for i in range(n):
t.color("red")
t.pensize(3)
t.forward(a)
t.left(180-d)
turtle.done()
2.编写Python程序比较方便的方式是使用集成开发环境IDLE
(1)打开已经存在的Python文件:”File” “Open”
通过实践掌握开发环境IDLE及Python编程基础,培养数字化学习能力。
新知探究(调试运行程序)
通过运行程序,计算机会自动执行程序中的命令。但是,在将算法进行程序实现时,可能会因为录入错误、语法错误、逻辑错误等原因,导致程序不能正常运行或输出错误的结果。此时,需要对程序进行调试,以便发现错误并进行修正。例如,字母大小写的疏忽可能直接决定程序能否正常运行,程序中参数的调整可能影响输出图形的形状。
调试运行程序:”Run” ”Run Module”
调试环节强调代码规范性,培养严谨态度
课堂练习
课堂练习
1.请同学们打开老师下发的Python程序“regularpolygon.py”并运行它。
2.请对观察程序,对线条粗细及颜色进行调整,再次运行查看结果。
巩固知识,拓展视野
总结
请同学用1分钟回顾本次课的内容,请同学代表进行分享
结构化总结:知识树可视化呈现知识脉络,帮助学生形成系统认知
课后思考
在用计算机编程解决问题的过程中,算法与程序两者之间的关系如何?
通过开放性问题促进学生深度思考
教学反思
1.情境导入有效激发了学生兴趣,小组讨论促进了主动学习。
2.流程图和代码结合的教学方式,降低了抽象算法的理解难度。
3.调试环节培养了学生的错误排查能力和耐心。
4.部分学生对数学公式(如内角计算)理解较慢,可增加数学衔接练习。
学科网(北京)股份有限公司
$