内容正文:
3.1 用计算机编程解决问题的一般过程 (教学设计)
年级
高一年级
授课时间
课题
3.1 用计算机编程解决问题的一般过程
教学
目标
1.了解用计算机解决问题的一般过程;
2.掌握分析问题、设计算法、编写程序、调试运行等步骤的具体内容和方法;
3.能能够运用所学知识分析实际问题,并尝试用计算机解决简单问题,提升信息技术学科素养和对科技认同感;
教学
重难点
重点:掌握分析问题、设计算法、编写程序、调试运行等步骤的具体内容和方法。
难点:能够运用所学知识分析实际问题,并尝试用计算机解决简单问题。
教学
准备
多媒体课件、多媒体教室
教学过程
教师活动
学生活动
新
课
导
入
一、课堂导入
1.通过播放编程解决问题的视频来引入本节课的主题。
计算机已成为人们解决问题的重要工具。而编程就是让计算机听懂我们说的话,从而帮我们解决问题。
但由于现实问题的多样性,并不是所有的问题都可以用现成的计算机程序来解决。因此,针对这些问题,需要通过抽象与建模、设计算法、编写计算机程序来解决。
用计算机编程解决问题的一般过程:
抽象建模:算法要素(变量)、计算模型
设计算法:算法特征、算法要素、结构化程序设计思想
编写程序:自然语言、流程图、伪代码、程序设计语言
调试运行程序:运行程序
现在小明遇到一个问题,通过计算机编程的方式画出一个正多边形,想一想,可以怎么设计呢?
我们就用刚才计算机编程解决问题的过程来解决这个问题吧!
通过视频和提问的方式导入教学,激发学习热情和探究欲望。
新 知 讲 授
一、抽象与建模
正多边形的各边边长相等,各内角度数也相等。因此,绘制一个正多边形,可以通过“画一条边,旋转一定角度后再画一条边”的重复操作来完成。
1.提炼核心要素并加以确定或假设(已知、未知)
绘制正六边形的过程:旋转一定角度后再画一条边、旋转一定角度后再画一条边,以此类推
2.用数学符号描述解决问题的计算模型(可以是数学模型关系表达式、文字、表格或图形等)
①假设正多边形的边数为n,边长为a。
②则内角度数d的值为:d = (n–2)×180÷n。
③每次旋转的角度为:180–d。
通过展示正六边形的绘制过程和展示计算模型,让同学们在循序渐进的演示中理解抽象与建模。
二、设计算法
基于问题的抽象与建模,绘制一个正多边形的算法可以做如下描述:(遵循算法的特征、围绕算法的要素设计算法)
旋转一定角度后再画一条边
①输入要绘制的正多边形的边数n和边长a;
②计算正多边形的每个内角度数d,其中d = (n–2)×180÷n;
③将以下过程重复执行n遍:画一条长度为a的线段,再将画笔方向向左(逆时针)旋转(180–d)度。
结合算法的特征和算法的特征来讲解算法的设计,让同学们结合之前学习过的知识来理解。
三、编写程序
python是一种面向对象的解释型高级程序设计语言。
命令行执行方式(交互模式)
提示符“>>>”表示等待命令输入
直接在“>>>”输入表达式或者一行代码,再按回车键(enter),即可看到程序运行结果
程序执行方式(文件模式)
在IDLE菜单中选择“File”→“New File”
进入文件模式的编写,代码编写好后保存为后缀名为.py的文件
按F5键或者在菜单中选择“Run”→“Run Moudle”运行,解释器界面会返回运行结果
代码
语义
Turtle
绘制图像的函数库
turtle.Pen( )
笔开始的地方
Pendown
笔落下的地方
Pencolor
笔的颜色
Pensize
笔的粗细
t.Circle
以参数为半径画圆
将如何进入Python再进行讲解,经过知识的回顾和讲解,让同学们理解此知识点。
①输人要绘制的正多边形的边数n和边长a
②计算正多边形的每个内角度数d, d= (n-2) x180÷n
③将以下过程重复执行n遍:画一条长度为a的线段,再将画笔方向向左(逆时针)旋转(180-d) 度。
四、调试运行程序
通过运行程序,计算机会自动执行程序中的命令。但是,在将算法进行程序实现时,可能会因为录入错误、语法错误、逻辑错误等原因,导致程序不能正常运行或输出错误的结果。此时,需要对程序进行调试,以便发现错误并进行修正。
注意的空格的使用规范;
程序编辑在英文状态下运行,注意区分大小写;
编辑程序时观察代码的颜色变化。
将注意事项以线性的方式一一展示出来,让同学们循序渐进的理解知识点。
将注意事项以线性的方式一一展示出来,让同学们循序渐进的理解知识点。
五、小结
结合前面的任务中绘制正六边形的程序代码,尝试分析代码受否需要修改,绘制出其他正多边形。
1.三角形
import turtle
n=int(input("请输入正多边形的边数:"))
a=int(input("请输入正多边形的边长:"))
d=(n-2)*180/n
t=turtle.Pen()
for i in range(n):
turtle.forward(a)
turtle.left(180-d)
turtle.done()
2.正方形
import turtle
n=int(input("请输入正多边形的边数:"))
a=int(input("请输入正多边形的边长:"))
d=(n-2)*180/n
t=turtle.Pen()
for i in range(n):
turtle.forward(a)
turtle.left(180-d)
turtle.done()
3.正八边形
import turtle
n=int(input("请输入正多边形的边数:"))
a=int(input("请输入正多边形的边长:"))
d=(n-2)*180/n
t=turtle.Pen()
for i in range(n):
turtle.forward(a)
turtle.left(180-d)
turtle.done()
4.绘制其他正多边方法
结论一:无需更改代码,即可绘制不同的正多边形,只需要在输入时更改输入的边数和边长即可,说明编写的程序解决的不是某个问题而是某类问题。
结论二:利用计算机编程解决一般问题的步骤包括:抽象与建模,设计算法、编码实现、运行调试代码。
六、课堂小练
通过展示正六边形的绘制过程和展示计算模型,让同学们在循序渐进的演示中理解抽象与建模。
结合算法的特征和算法的特征来讲解算法的设计,让同学们结合之前学习过的知识来理解。
将如何进入Python再进行讲解,经过知识的回顾和讲解,让同学们理解此知识点。
在知识讲解后以一个案例进行巩固,让同学们能够活学活用。
将注意事项以线性的方式一一展示出来,让同学们循序渐进的理解知识点。
让同学们结合前面的任务中绘制正六边形的程序代码来绘制其他正多边形,通过举一反三的实例牵引,更能让同学们掌握其本节知识点。
课
堂
练
习
(有题有答案有解析)
1.小明同学在自动售货机(图1)选择价值2.5元的饮料,然后在收款口放入10元。自动售货机接收到货币后,在商品取出口投放小明所要的饮料,并找零7.5元。
图1
关于用计算机解决问题说法中正确的是①使用计算机现成的软件工具能解决所有的问题②相较人类计算机存储能力更强计算精准度更高③利用计算机自动化程度极高提升信息加工效率④利用计算机的高速运算能力提高信息处理能力( )
A.①②③ B.①②④ C.①③④ D.②③④
答案:D
解析:本题考查计算机解决问题的特点及能力。分析①:使用计算机现成的软件工具并不能解决所有的问题。虽然计算机软件在很多领域都发挥着巨大作用,但现实世界存在诸多复杂问题,如一些涉及人类情感、创造性思维、艺术审美等方面的问题,仅靠现有的计算机软件工具无法完全解决。所以①说法错误。分析②:相较于人类,计算机存储能力更强。计算机可以存储海量的数据,从简单的文本文件到大型的数据库,其存储容量远远超过人类的记忆能力。而且计算机计算精准度更高,在进行数值计算等任务时,只要程序和数据输入正确,它能够按照设定的规则精确地进行计算,几乎不会出现人为的计算失误,所以②说法正确。分析③:计算机具有极高的自动化程度。一旦设定好程序和指令,计算机可以在无需人工过多干预的情况下自动执行任务,大大提升了信息加工效率。比如自动售货机按照预设的程序,在接收到货币后自动完成出货和找零操作,无需人工实时监控每个交易环节,所以③说法正确。分析④:计算机具备高速运算能力,能够在极短的时间内处理大量的数据和复杂的运算。这使得它在处理信息时能够快速得出结果,从而提高信息处理能力。例如在处理大规模的数据分析任务时,计算机能在短时间内完成数据的筛选、统计、分析等操作,所以④说法正确。因此,本题选择D。
2.人工智能医疗影像诊断系统中,确定如何准确识别病变区域的方法是在( )
A.抽象与建模 B.算法设计 C.代码实现 D.结果验证
答案:B
解析:本题考查计算机编程解决问题相关内容。在人工智能医疗影像诊断系统中,确定如何准确识别病变区域的方法是在算法设计步骤。A选项,抽象与建模主要是对医疗影像诊断问题进行抽象分析,建立系统的整体架构和模型,但不涉及具体识别病变区域的方法确定。C选项,代码实现是将设计好的算法转化为实际的程序代码,是在确定方法之后的步骤。D选项,结果验证是对已经实现的系统进行验证其准确性和可靠性,也不是确定识别病变区域方法的步骤。算法设计步骤是专门针对如何准确识别病变区域进行方法的设计,所以确定如何准确识别病变区域的方法是在算法设计步骤。故本题答案是B选项。
3.编程计算依赖于计算机高精确度、高速运算等特点可以解决多种数学问题,以下不属于数值计算的是( )
A.图像处理 B.函数计算 C.方程求解 D.数列求和
答案:A
解析:本题主要考查计算机编程计算。数值计算包括函数计算、 方程求解、 数列求和等,不包括图像处理,故本题选A选项。
4.小张在学习了Python程序语言后,想编写一套《班级学生积分管理》程序帮助老师更高效地管理班级。在问题解决过程中最后完成的是( )
A.编写程序 B.设计算法 C.调试程序 D.分析问题
答案:C
解析:本题考查程序设计解决问题相关内容。运用计算机程序解决问题的一般步骤是:分析问题、设计算法、编写程序、调试程序。故本题答案是C选项。
5.编制计算机程序解决问题的过程中,问题分析清楚后,需要给出解决问题的详细方法和步骤,这一过程称为下列选项中的哪一项。( )
A.分析问题 B.设计算法 C.编写程序 D.调试运行
答案:B
解析:本题主要考查计算机编程解决问题。编制计算机程序解决问题的过程中,问题分析清楚后,需要给出解决问题的详细方法和步骤,这一过程称为设计算法,故本题选B选项。
6.现编写计算机程序绘制一个正多边形,解决此问题的算法各个步骤如下所示:
①设计算法,并通过编写计算机程序来描述
②确定正多边形的内角公式并用数学符号描述
③提炼核心要素并加以假设(设正多边形的边数为n,边长为a,内角度数为d)
上述步骤的正确顺序是( )
A.③①② B.③②① C.①②③ D.①③②
答案:B
解析:本题考查用计算机解决问题的过程。 用计算机解决问题的一般流程为:首先分析问题,提炼核心要素并做出假设(明确变量,如设边数为 n、边长为 a 等),即步骤③;接着确定解决问题所需的数学模型或公式(如正多边形内角公式),即步骤②;最后根据上述分析设计算法并编写程序,即步骤①。因此,本题选择 B 选项。
7.利用计算机编程解决“大棚实时自动温度控制系统”问题的过程由以下4个步骤组成:
①用Python中的循环结构编写程序。
②调试运行程序,发现错误并进行修正。
③设计算法:设计数据的输入、处理、输出等一系列的算法。
④抽象与建模:用字母t表示大棚当前温度,若则启动降温系统,若则启动升温系统。
操作完成后继续下一次温度的判断。
正确的顺序是( )
A.①②③④ B.③④①② C.④③②① D.④③①②
答案:D
解析:本题考查的是计算机解决问题的一般过程。利用计算机编程解决问题时通常由抽象与建模、设计算法、编写程序、调试运行程序几个步骤组成,故解决该问题的正确步骤是④③①②。故选D。
课
堂
小
结
1.要让计算机按照预先设计的算法进行处理,需要将该算法用计算机程序设计语言描述,形成计算机程序。
2.通过运行程序,计算机会自动执行程序中的命令。
3.在将算法进行程序实现时,可能会因为录入错误、语法错误、逻辑错误等原因,导致程序不能正常运行或输出错误的结果。
4.解用计算机编程解决实际问题的一般过程:
①抽象与建模;
②设计算法;
③编写程序;
④调试运行程序。
反
思
评
价
通过本节课的教学,学生了解了利用计算机编程解决问题的一般过程,掌握了问题分析、算法设计、代码实现、结果验证和文档编写等基本技能。在教学过程中,通过案例分析和小组实践,让学生亲身体验了编程的乐趣和挑战,培养了学生的逻辑思维能力和问题解决能力。在今后的教学中,可以进一步加强对学生编程能力的培养,提供更多的实践机会,让学生在实践中不断提高自己的编程水平。
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$