admin 管理员组文章数量: 1086019
2024年12月31日发(作者:编程语言排行9)
解决问题的一般过程和用计算机解决问题
学校: 姓名:
1.《课程标准》要求
通过解决实际问题,体验程序设计的基本流程。
2.教学目标
体会人工解决问题与计算机解决问题的不同特点。(信息意识)
通过亲历项目“自助式人行过街红绿灯”问题的解决过程,经
历计算机解决问题的一般过程。(计算思维)
通过经历项目问题分析、设计方案,能初步规划项目解决方案。
(计算思维)
认识Python语言,了解计算机程序的主要功能,体验程序设
计的魅力。(数字化学习与创新)
3.学业要求
依据解决问题的需要,设计和描述简单算法;利用程序设计语言
实现简单算法,解决实际问题。
4.教学对象分析
全民学习,教学对象均具备一定的生活常识,有一定的自主学习
能力与意识,能够对身边的一些简单问题进行分析,并能够根据
个人经验解决问题。本节通过项目学习,引领受众走进编程,学
习通过计算机程序设计解决问题,培养计算思维。
5.教学重点与难点
教学重点:用计算机解决问题的一般过程。
教学难点:运用计算思维进行问题分析和分解。
6.教学方法与教学手段
教学方法:项目教学,讲授学习
教学手段:项目方案
7.教学过程设计
–– 1 ––
教
学
环
节
教学内容 学
生
活
设
计
意
通
过
情
景
再
现,
让
学
生
切
实
感
受
身
边
的
问
题,
并
引
出
解
决
动 图
1.创设情境:在无信号灯或者信号灯不能正常工作
的路口,经常会有交通警察在现场指挥交通。我们
来尝试描述交通警察为保证道路通畅进行疏导的一
般过程和方法。
2.梳理总结人工解决问题的一般过程——
3.引出用计算机解
决问题的优势——
参
与
情
境
导
入
活
动
思
考
回
答
–– 2 ––
问
题
的
一
般
过
程,
以
及
用
计
算
机
解
决
问
题
的
优
势,
为
后
续
本
节
课
的
–– 3 ––
重
点
内
容
“
有
计
算
机
解
决
问
题
的
过
程”
做
铺
垫。
1.指出用计算机解决问题的过程,分阶段讲解。
2.分析问题
学
习
知
本
环
讲解分析问题的相聆节
关知识点,并以交通听是
思本
考 节
课
的
新信号灯的变化为例,绘制问题分析表。
–– 4 ––
重
点
内
容,
为
3.设计方案
从分解和操作步骤设计两个方面进行讲解,并绘制
红灯变绿灯”问题的功能分解图。
后
面
学
生
亲
历
项
目
4.编程调试
①编写程序
讲解涉及的相关知识点,说明本节使用Python语言
编写程序解决具体问题,并对Python语言初步讲解。
做
好
铺
垫。
②调试程序
对调试程序进行分析,并强调选用哪种语言解决问
题并不是最重要的,关键是掌握算法与程序设计的
思想。
–– 5 ––
1.引出项目活动:“编程控灯利出行”。
2.完成项目:
①分析问题,绘制问题分析表
②设计方案,绘制功能分解图
亲
历
项
目
的
过
程
是
本
节
课
难
点
突
破
的
环
节,
学
生
通
过
经
历
分
析
问
项
目
引
领
亲
历
过
程
聆
听
思
考
设
计
方
案
–– 6 ––
题、
设
计
方
案
的
过
程,
了
解
计
算
机
解
决
问
题
的
过
程。
归师生总结:本节课重点学习了用计算机解决问题的聆归
纳过程:提出问题、分析问题、设计方案、编程调试、听纳
总解决问题。在此过程中,要学会运用计算思维进行反总
结 问题的分析和分解。
提
升
思
思 结
梳本
理节
归课
–– 7 ––
想 纳 内
容,
提
炼
重
难
点。
–– 8 ––
附1:教学设计封面
人教中图版高中信息技术必修1
解决问题的一般过程
和用计算机解决问题
教学设计
学段:
学科:
姓名:
单位:
–– 9 ––
附2:教学设计详案
我们本节课学习:解决问题的一般过程和用计算机解决问题。
生活中,我们经常会面对各种各样的问题,解决问题的过程
需要经历一系列的思维和实践活动。
比如,在无信号灯或者信号灯不能正常工作的路口,经常会
有交通警察在现场指挥交通。我们来尝试描述交通警察为保证道
路通畅进行疏导的一般过程和方法。
交通警察在指挥交通时,要对道路的交通流量情况进行观察,
及时了解各条道路的路况信息。这时,就是在分析问题。分析问
题主要包括调查、收集与问题相关的资料,明确问题的目标、条
件和所涉及的相关知识与规则等,找出已知与未知之间的联系。
之后,依照工作规范,通过对道路通行状况的分析、结合已
有经验,“想”出指挥交通的方法。这就是寻找解决问题的途径与
方法的过程。
交通警察指挥交通时,使用手势信号指挥和疏导,协调与控
制道路交通。还要根据道路实际状况,适时调整指挥方案,以便
提高通行效率。这就说明,要依据确定的求解方法进行问题解决,
考察所得到的解答,通过检查答案和评估效果,实现问题的最终
解决。在方案执行过程中,如果发现结果没有达到预期,就需要
调整解决方案。
这就是人工解决问题的一般过程。而计算机具有运算速度快、
计算精确度高、逻辑运算能力强、存储容量大和自动化程度高等
特点,因此,利用计算机解决问题,能在一定程度上提高问题解
决的效率。例如,交通信号控制系统就是利用计算机程序控制红
绿灯时长变化来指挥交通的,可以在节省人力的前提下,科学分
配道路上车辆、行人的通行权,使之有序地顺利通过。
用计算机解决问题即让计算机按照程序执行指令。人们可以
–– 10 ––
利用已有的程序,比如聊天软件、各种浏览器、音视频软件、办
公软件等等,也可以根据需要自己编写程序。编写计算机程序进
行问题求解时,通常需要经历分析问题、设计方案、编程调试和
解决问题等环节。根据问题求解的需要,中间过程可能要反复修
正,直至问题得到有效解决。
在解决问题前,首先要对问题进行分析。分析问题是用计算
机解决问题的前提。主要包括:弄清楚需要计算机解决什么问题,
即“做什么”的问题;收集问题相关的资料,明确问题的目标和
条件,把问题进行抽象,通过建模的方式,界定和描述问题。问
题描述的方式并不唯一,有的问题可用数学模型描述,有的问题
可用文字、表格或图形等形式描述。
之前我们以交通警察指挥交通为例,分析了人工解决问题的
过程。那么接下来,我们以交通信号灯的变化为例,绘制问题分
析表。比如“红灯变绿灯”这一过程中,信号灯的初始状态为红
灯变亮(禁止通行),并且红灯要持续显示一段时间,然后绿灯变
亮(准许通行)。
经过问题分析,确定了需要“做什么”,下面就要解决“怎么
做”的问题,即寻找求解问题的方案,设计出具体的解决步骤,
这是用计算机解决问题的核心。它又分为分解和操作步骤设计两
个环节。
首先,根据需求分析,按照问题求解过程或者功能实现,将
问题分解为若干相对独立的功能,每个功能完成一个特定的任务。
如果分解的某些功能仍然比较复杂,还可再进行细分,形成多层
结构。通过这个问题功能分解图,可以看出:对于复杂的问题,
用这种方法可以帮助我们着眼于问题解决的全过程,先全局后局
部,先整体后细节,先抽象后具象,分层逐步解决问题。这就是
采用“分而治之”的方法进行问题分解,分而治之也是计算思维
–– 11 ––
的核心素养。
在设计“红灯变绿灯”问题的解决方案时,根据前面的问题
分析,需要考虑信号灯由初始状态到终止状态的变化过程,因此
该问题可以分解为如图所示的三个功能。
设计方案的过程中,人们进行问题分解的角度并不唯一,不
同的角度所得的功能分解图也会不尽相同。
然后,针对分解的各个特定功能分别进行详细的操作步骤设
计,给出问题求解的具体过程和方法,即进行算法设计。
像这种通过若干步骤就能得出问题结论的问题,它的解决方
案叫算法方案,本节提及的“设计方案”主要指设计算法方案。
在设计算法方案过程中,需要注意:对于某些功能简单的问题,
可以直接进行算法设计,不必按部就班地先进行功能分解。另外,
因为考虑到是用计算机解决问题,所以设计的算法步骤必须适用
于计算机执行。
不能通过若干步骤直接得出结论,而是需要反复验证才能解
决的,这类问题的解决方案通常叫作启发式方案,处理这类问题
需要利用人工智能技术。
设计好算法后,还需要通过程序设计语言把算法转换成计算
机可运行的程序,即编程调试,分为编写程序和调试程序两个环
节。
编写程序是用计算机解决问题的关键环节,就是利用计算机
程序设计语言描述算法,实现问题求解的过程。计算机程序又称
“计算机软件”,是指为了得到某种结果而可以由计算机等具有信
息处理能力的装置执行的代码化指令序列,或者可以被自动转换
成代码化指令序列的符号化指令序列或者符号化语句序列。简而
言之,在计算机领域中,程序是一组可执行的计算机指令。程序
设计语言则泛指用于编写程序所用的计算机语言。从计算机产生
–– 12 ––
至今,程序设计语言经历了从机器语言 、汇编语言到高级语言的
发展历程,各种语言的特点各不相同。机器语言是由二进制 0、1
代码指令构成,可以被计算机直接执行;汇编语言同样是面向机
器的程序设计语言,用“助记符”来代替机器码进行编程。这两
者难学难用、容易出错、维护困难。而高级语言的出现为计算机
的应用开辟了广阔的前景。高级语言是面向过程或对象的程序设
计语言,其最大的优点是:形式上接近于算术语言和自然语言,
概念上接近于人们通常使用的概念。高级语言的一个命令可以代
替几条、几十条甚至几百条汇编语言的指令。因此,高级语言简
洁明确,易学易用,通用性强,应用广泛。本节使用Python语言
编写程序解决具体问题。
Python语言是一种简单且功能强大的编程语言,注重如何解
决问题而非编程语言的语法和结构。具有简单、易学,免费、开
源,可移植性,面向对象,可扩展性和可嵌入性等特点,在数据
分析和人工智能等领域都有广泛的应用。
根据计算机执行机制不同,高级语言可分为两类:静态语言
和脚本语言,Python语言就是一种脚本语言。脚本语言采用解释
方式执行。解释是将高级语言源代码逐条转化成机器语言目标代
码的同时逐条运行目标代码的过程,执行解释的计算机程序称为
解释器。执行解释时,高级语言源代码与数据一同输入给解释器,
然后输出运行结果。
而以C语言等为例的静态语言,采用编译方式执行。编译是
将高级语言编写的源代码转换成机器语言目标代码的过程,执行
编译的计算机程序称为编译器。编译器将源代码转换成目标代码,
计算机可以立即或者稍后运行这个目标代码。
编译和解释的区别在于:编译是一次性的翻译,一旦程序被
编译,不需要编译程序或者源代码便可执行程序;解释则在每次
–– 13 ––
运行时都需要解释器和源代码。这两者的区别类似于外语资料的
翻译和同声传译。
以“红灯变绿灯”问题为例,我们编写Python程序。在编写
程序时,为了便于阅读和理解程序,通常会使用注释。注释语句
是对程序代码的解释和说明,在运行程序时不会被执行。在编写
程序时,要养成添加注释的良好习惯,以提高程序的可读性。
Python语言中的单行注释是以“#”开头的,或以独立行的形式单
独存在,或写在程序语句后。
编写完的程序,需要进行调试运行。这也是用计算机解决问
题的一个非常重要的环节。调试程序不仅要发现错误并及时修改,
也要对得到的运行结果进行分析和验证,判断其是否正确和完整。
实际上,选用哪种语言解决问题并不是最重要的,关键是掌
握算法与程序设计的思想。
我们回顾本节所学,用计算机解决“编程控灯利出行”的问
题。智慧交通是智慧城市的重要组成部分,很多城市为了便于行
人出行,会在道路上配置一种“自助式人行过街红绿灯”。行人按
下过街按钮,当信号灯变为绿灯后便可通行。这实现了行人和信
号灯之间的交互,体现了人性化交通管理,一定程度上提高了道
路通行率。
针对这一问题,首先进行问题分析,绘制问题分析表。“自助
式人行过街红绿灯”信号灯初始状态为红灯亮,此时禁止通行。
单击按钮后,红灯开始倒计时,直到倒计时结束,绿灯变亮,行
人通行。绿灯倒计时结束,信号灯终止状态为红灯亮,禁止通行。
根据问题分析表,设计方案,绘制功能分解图。我们要解决
的原始问题是“自助式人行过街红绿灯”的问题,将原始问题分
解为三个子功能,分别是红灯亮、单击按钮后信号灯变化、红灯
亮,将子功能2进一步细分,还可分为红灯倒计时、绿灯倒计时,
–– 14 ––
形成多层结构。
之后根据功能分解图,利用程序设计语言,编写程序并进行
调试,以解决问题。
我们本节课重点学习了用计算机解决问题的过程:提出问题、
分析问题、设计方案、编程调试、解决问题。在此过程中,要学
会运用计算思维进行问题的分析和分解。
拓展练习:算24点是个经典的小游戏:从一副扑克牌中任意
抽取4张牌,只利用加减乘除算出24,其中J、Q和K都算作10
点。请大家根据本节所学,思考并设计“巧算24点”的算法方案,
我们下节课进行课堂展示。
下课!
–– 15 ––
版权声明:本文标题:《解决问题的一般过程和用计算机解决问题》教学设计 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1735730113a1685633.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论