2.1 解决问题的一般过程和用计算机解决问题 教学设计 2023—2024学年人教_中图版(2019)高中信息技术必修1

资源下载
  1. 二一教育资源

2.1 解决问题的一般过程和用计算机解决问题 教学设计 2023—2024学年人教_中图版(2019)高中信息技术必修1

资源简介

第 2 章 算法与程序实现
2.1 解决问题的一般过程和用计算机解决问题
教学设计
教学背景
信息科技是现代科学技术领域的重要部分,主要研究以数字形式表达的信息及其应用中的科学原理、思维方法、处理过程和工程实现。当代高速发展的信息科技对全球经济、社会和文化发展起着越来越重要的作用。
义务教育信息科技课程具有基础性、实践性和综合性,为高中阶段信息技术课程的学习奠定基础。信息科技课程旨在培养科学精神和科技伦理,提升自主可控意识,培育社会主义核心价值观,树立总体国家安全观,提升数字素养与技能。
教材分析
本节课的教学内容选自人教/地图出版社第 2 章 算法与程序实现 2.1 解决问题的一般过程和用计算机解决问题,信息技术的发展与普及为我们创造了一个全新的数字化生活环境。它们在给我们带来生活便利的同时,也在逐渐地改变着我们的生活方式。
2017 年 10 月的一天,在杭州市中心路段开展了一场救护车施救演练。在全程近 7 km 的路段中,救护车获准优先通行 21 次,平均行驶速度达36 km/h,相较于该路段常规通行时间,省时近 900 s。优先通行“抢”出的这十几分钟,可能就是挽回病患生命的“黄金”时间。在这个现实版的生死时速演练案例中,批准救护车优先通行的正是杭州“城市大脑”工程的“交通模块”。截至 2018 年初,杭州的“城市大脑”已接管了市区内的主要路口信号灯,通过各类数据感知交通态势,进而优化信号灯配时,使车辆通行速度提升近 15 %。这就是通过算法与程序设计对大数据进行综合应用的奇妙之处。
算法与程序浸润在我们生活的各个方面。计算机与移动终端已成为生活中不可或缺的工具,它们之所以能够帮助人们处理各种复杂的事情,主要借助于其中功能各异的程序。
在本章的学习中,我们将通过“编程控灯利出行”项目活动,学习如何利用编程的方式实现算法并解决问题,从而发展计算思维,掌握利用计算思维解决问的方法与策略。
学情分析
此节课针对的对象是高一年级的学生,学生对信息技术的关键技术以及信息技术对生活与学习的影响有一定的了解,但对所学内容只是体验性和经验性的认识。依据解决问题的需要,设计和描述简单算法;利用程序设计语言实现简单算法,解决实际问题。
教学目标
1.经历用计算机解决问题的基本过程,并能应用于实际问题的解决。
2.体验编程解决问题的基本方法,提高学习算法与程序的兴趣,发展计算思维。
教学重点与难点
尝试用计算机解决问题的基本过程。
教学方法与教学手段
案例分析法、讲授法、任务驱动法。
教学过程
问题导入
提出问题,引发思考:
在日常生活和学习中试说明大数据与传统意义上的数据的区别。
体验探索
两种不同的叫车方式
小明同学准备和父母一起乘飞机外出旅游,为了尽快赶到机场,父母决定到小区门口招手叫辆出租车,而小明则建议通过叫车软件网络约车。
思考:
1. 针对上面的情境,比较“招手叫车”和“网络约车”两种方式的不同,完成表 2.1.1。
表 2.1.1 两种叫车方式的分析
叫车方法 叫车地点 叫车步骤与过程 便捷程度
招手叫车
网络约车
2. 从问题解决的过程和效率等方面,分析这两种方法的异同。
相同点:____________________ 。
不同点:____________________ 。
解决问题的一般过程
生活中人们经常会面对各种各样的“问题”,诸如探索自然、了解社会、认识自我等。在解决这些问题的过程中,人们逐渐把握规律,认识真理。解决问题就是要在已知条件和可能的结果之间寻求具体的途径与方法,并应用它们实现目标。通常,解决问题的过程需要经历一系列的思维和实践活动。
思考活动
交通指挥问题
在无信号灯或者信号灯不能正常工作的路口,经常会有交通警察在现场指挥交通,如图 2.1.1 所示。
思考:
描述交通警察为保证道路畅通进行交通疏导的一般过程和方法。
人们解决问题的过程通常包括分析问题、寻找解决问题的途径与方法,以及解决问题并验证结果等阶段,如图 2.1.2 所示。
分析问题→ 寻找解决问题的途径与方法→ 解决问题并验证结果
1. 分析问题
分析问题主要包括调查、收集与问题相关的资料,明确问题的目标、条件和所涉及的相关知识与规则等,找出已知与未知之间的联系。
例如,交通警察在指挥交通时,要对道路的交通流量情况进行观察,及时了解各条道路的路况信息,明确问题求解的目标:维护交通秩序,提高通行效率,保障交通安全。
2. 寻找解决问题的途径与方法
明确要解决的问题后,需要将待解决的问题与已知条件或已有的规则相关联,设计问题求解的方案,包括具体的途径和方法等。
例如,交通警察依照工作规范,通过对道路通行状况的分析,结合已有经验,“想”出问题解决的具体过程和方法,指挥来往车辆和行人有序通行。
3. 解决问题并验证结果
最后,要依据确定的求解方法进行问题解决,考查所得到的解答,通过检验答案和评估效果,实现问题的最终解决。在方案执行过程中,如果发现结果没有达到预期,就需要调整解决方案。
例如,交通警察指挥交通时,使用手势信号进行指挥和疏导,协调与控制道路交通。
他(她)还要根据道路实际状况,适时调整指挥方案,以便提高通行效率。
用计算机解决问题的过程
计算机具有运算速度快、计算精确度高、逻辑运算能力强、存储容量大和自动化程度高等特点。因此,利用计算机解决问题,能在一定程度上提高问题解决的效率。例如,
交通信号控制系统就是利用计算机程序控制红绿灯时长变化来指挥交通的,可以在节省人力的前提下,科学分配道路上车辆、行人的通行权,使之有秩序地顺利通行。随着物联网、大数据和人工智能等技术的发展,交通信号灯控制系统还可以根据联网数据精准地自动调节红绿灯的时长,实现多路口信号灯的智能联动控制。
思考活动
用计算机程序控制交通信号灯“红灯变绿灯”
交通信号灯是国际通用的道路交通信号设施。我们可以用计算机程序模拟控制红绿灯的变化,例如编程实现一个“灯”由红色变为绿色的效果。
思考:
结合前面交通警察指挥交通的过程,分析用计算机编程解决该问题的过程,思考二者有何不同。
用计算机解决问题即让计算机按照程序执行指令。人们可以使用已有的程序,也可以根据需要自己编写程序。利用计算机编程的方式进行问题求解时,通常需要经历分析问题、设计方案、编程调试和解决问题等环节,如图 2.1.3 所示。根据问题求解的需要,中间过程可能要反复修正,直至问题得到有效解决。
分析问题
用计算机编程解决问题时,需要对问题进行分析,明确问题的目标和条件等,需要把问题进行抽象,通过建模的方式,界定和描述问题。问题描述的方式并不唯一,有的问题可用数学模型描述,有的问题可用文字、表格或图形等形式描述。
例如,“红灯变绿灯”问题中,信号灯的初始状态为红灯变亮(禁止通行),并且红灯要持续显示一段时间,然后绿灯变亮(准许通行),如表 2.1.2 所示。
表 2.1.2 分析“红灯变绿灯”问题
初始状态 中间状态 终止状态
红灯变亮 红灯持续显示 绿灯变亮
设计方案
计算机编程解决问题的设计方案一般包括以下两个环节:
首先,根据需求分析,将问题按照求解过程分解为若干相对独立的功能,每个功能完成一个特定的任务。如果分解的某些功能仍然比较复杂,还可再进行细分,如图 2.1.4 所示。设计方案的过程中,人们进行问题分解的角度并不唯一,不同的角度所得的功能分解图也会不尽相同。
例如,在设计“红灯变绿灯”问题的解决方案时,根据前面的问题分析,需要考虑信号灯由初始状态到终止状态的变化过程,因此该问题可以分解为如图 2.1.5 所示的三个功能。
然后,针对分解的各个特定功能分别进行详细的操作步骤设计,给出问题求解的具体过程和方法,即进行算法设计。
编程调试
1. 编写程序
编写程序就是利用计算机程序设计语言描述算法,实现问题求解的过程。在计算机领域,程序是一组可执行的计算机指令。程序设计语言是编写程序所使用的计算机语言。
随着计算机技术的发展,程序设计语言经历了从机器语言、汇编语言到高级语言的发展历程。
高级语言的出现为计算机的应用开辟了广阔的前景。目前,很多人都在使用高级语言编写程序。高级语言有很多种,虽然它们的特点各不相同,但编程解决问题的过程同一些基本的程序设计规则和方法却是相似的。因此在学习某种语言后,应该具有将其中共性的思想和方法迁移到其他语言环境中进行问题求解的能力。
本章使用 Python 语言编写程序解决具体问题。Python 语言具有简洁、明确等特点,拥有丰富的扩展功能模块(有些时候一个模块不能独立地解决某一类问题,软件工程师就把这些相关的模块组织到一起形成“库”),可以支持复杂的数据处理,在数据分析和人工智能等领域都有广泛的应用。
2. 调试程序
编写完成的程序,需要进行调试运行。一般,调试程序不仅要发现错误,分析其产生的原因,并进行改正;还要对运行的结果进行分析和验证,判断其是否正确和完整。
在编写程序时,为了便于阅读和理解程序,通常会使用注释。注释语句是对程序代码的解释和说明,在运行程序时不会被执行。在编写程序时,要养成添加注释的良好习惯,以提高程序的可读性。
Python 语言中的单行注释是以“#”开头的,或以独立行的形式单独存在,或写在程序语句后。例如:
# 初始化红绿灯——独立行注释
import turtle # 导入可以绘制图形的Python内置模块turtle——语句后的注释
实践活动
Python 程序的修改与运行
运行教学资源平台提供的 Python 程序“红灯变绿灯 .py”,阅读程序代
码,参照注释语句分析程序功能。程序代码如下:
import turtle # 导入可以绘制图形的Python内置turtle模块
import time # 导入与时间处理有关的Python内置time模块
# 初始化红绿灯
light = turtle.Turtle()
light.hideturtle()
light.screen.delay(0) # 禁用绘制过程的动画显示
# 红灯变亮
light.color("red", "red")
light.begin_fill()
light.circle(20)
light.end_fill()
# 红灯持续显示
time.sleep(15)
# 绿灯变亮
light.color("green", "green")
light.begin_fill()
light.circle(20)
light.end_fill()
1. 根据图2.1.5所示的“红灯变绿灯”功能分解,分析每个功能所对应的程序代码。
2. 如果将红灯持续显示时长设为 30 s,应该如何修改程序?
阅读拓展
程序设计语言
在用计算机编程解决问题的过程中,确定问题求解的算法后,还需要通过程序设计语言把算法转换成计算机可运行的程序。程序设计语言经历了从低级语言到高级语言的发展,其中,机器语言、汇编语言和高级语言各有不同的特点,如表 2.1.3 所示。
表 2.1.3 机器语言、汇编语言与高级语言的特点比较
程序设计语言 特点
机器语言 是用二进制数表示的机器码集合,可以被计算机直接执行
汇编语言 是面向机器的程序设计语言,用“助记符”来代替机器码进行编程
高级语言 是独立于机器的面向过程或对象的程序设计语言,语法结构接近人类自然语言,便于编写和理解,其表达方式接近于被描述的问题,通用性和可移植性好
项目实施
确定项目问题的解决方案
一、项目活动
随着经济的发展与社会的进步,智慧交通成为智慧城市建设的重要组成部分。“编程控灯利出行”项目通过程序设计,研究改善和优化交通信号灯的控制策略,以提高交通出行效率,实现交通管理的人性化和智能化。
1. 明确项目问题。很多城市为了便于行人出行,会在道路上配置一种“自助式人行过街红绿灯”,如图 2.1.6 所示。行人按下过街按钮,当信号灯变为绿灯后,便可通过。这种装置实现了行人和交通信号灯之间的交互,体现了人性化的交通管理,可在一定程度上提高道路通行率。本章项目研究的主要任务就是通过编程,模拟实现这种“自助式人行过街红绿灯”的效果,体验程序设计的一般方法。
围绕“自助式人行过街红绿灯”问题,进行调查分析。查阅资料,了解交通信号灯配置方面的相关知识,确定项目问题求解模型并填写表 2.1.4。
表 2.1.4 “自助式人行过街红绿灯”问题分析表
信号灯初始状态 单击按钮后,信号灯的状态变化 信号灯终止状态
2. 分解项目功能。根据对问题的分析,画出“自助式人行过街红绿灯”功能分解图,制订解决问题的方案。
二、项目检查
分析项目活动的主要问题,梳理项目功能,制订解决问题的方案。
课后作业
练习提升
1. 随着移动设备的普及,越来越多的人使用移动应用程序解决问题。与同伴分享一款自己感兴趣的移动应用程序,分析它能解决什么类型的问题,是如何解决问题的,完成表 2.1.5。
表 2.1.5 列举移动应用程序解决问题
移动应用程序 可以解决的问题 问题解决的过程
2. 查找 Python 和 C 语言(或其他高级语言)的资料,用思维导图描述它们的特点。
3. 设计拓展活动项目,实现更多个性化问题的求解。结合生活或学习需求,提出想要解决的问题,如编写 24 点游戏程序、制作古诗查询助手和开发选课系统等。
拓展活动项目名称:
① 提出问题:
② 分析问题:
③ 初步规划解决方案,进行功能分解:
板书设计
第 2 章 算法与程序实现
2.1 解决问题的一般过程和用计算机解决问题
1.解决问题的一般过程
2.用计算机解决问题的过程
分析问题
设计方案
编程调试
普通高中教科书
信息技术 必 修 1 数据与计算
编著
人民教育出版衬课程教材研究所信息技术课程教材研究开发中心
中国地图出版社教材出版分社
总 主 编 :祝智庭 樊 磊
副总主编 :高淑印 郭 芳 李 锋
本册主编 :李 锋 高淑印
编写人员 :程建娜 刘姝弘 夏燕萍 王 岚 史弘文

展开更多......

收起↑

资源预览