32数据与结构新教材教科版高中信息技术必修一教案.docx

上传人:b****3 文档编号:24777373 上传时间:2023-06-01 格式:DOCX 页数:12 大小:149.73KB
下载 相关 举报
32数据与结构新教材教科版高中信息技术必修一教案.docx_第1页
第1页 / 共12页
32数据与结构新教材教科版高中信息技术必修一教案.docx_第2页
第2页 / 共12页
32数据与结构新教材教科版高中信息技术必修一教案.docx_第3页
第3页 / 共12页
32数据与结构新教材教科版高中信息技术必修一教案.docx_第4页
第4页 / 共12页
32数据与结构新教材教科版高中信息技术必修一教案.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

32数据与结构新教材教科版高中信息技术必修一教案.docx

《32数据与结构新教材教科版高中信息技术必修一教案.docx》由会员分享,可在线阅读,更多相关《32数据与结构新教材教科版高中信息技术必修一教案.docx(12页珍藏版)》请在冰豆网上搜索。

32数据与结构新教材教科版高中信息技术必修一教案.docx

32数据与结构新教材教科版高中信息技术必修一教案

教科版2019信息技术必修1数据与计算

第3单元认识数据3.2数据与结构教学设计

【教材分析】

本项目包含"任务一探究网购订单处理”和“任务二探究快件配送过程”两个任务。

任务一包含两个活动:

“活动1了解订单数搦”,“活动2编制订单数据处理程序”。

任务二包含三个活动:

“活动1了解快件派送线路”,"活动2了解物流网络”,“活动3规划取快递最快路线”。

任务一是让学生通过“活动1”,亲身体验数据的类型:

字符串、数值(整数、浮点数)、布尔型(逻辑值),理解各种不同类型的数据的基本处理方式;通过''活动2”,以队列为例(PythOn中以列表实现),认识和掌握数据结构是对数据间关系的抽象和组织,引导学生深刻领会应用数据结构解决学习和生活实际问题,并能举一反三触类旁通。

两个活动相互关联,前者主要是对数拯的简单类型建立感性认识,后者是对简单数据类型进行组织和结构化(成为复合数据类型),以便与实际应用更好对接,建议任务一安排1课时。

任务二有三个重要内容:

一是通过“活动1”,了解快递派送线路,领会可将快递(货物)运送的线路抽象为“树”结构,“透过现象看本质”(不再是一对一的线性关系,而是一对多的非线性关系)。

二是通过“活动2”,了解物流网络,领会将物流网络抽象为“图结构”,认识'‘多对多”的关系。

三是通过“活动3”,了解图的遍历,善于将深度优先遍历转化为树形结构进行分析,并计算最短用时。

建议任务二安排1课时。

通过两个任务的学习,使学生能了解数据的简单类型,了解数据结构(列队、树、图)及英应用和简单操作

【教学建议】

计算机是处理数据的工具,不同类型的数据所表达的意义不一样,编码方式不一样,因此适用的运算也不一样,而且,更重要的是,许多零散的小规模的数据,往往还要用一泄的结构形式组织起来(如集合、队列、栈、树、图),实现更复杂的结构,与实例应用对接。

项目教学法主张先练后讲,先学后教,强调学生的自主学习,主动参与,从尝试入手,从练习开始,调动学生学习的主动性、创造性、积极性等,学生唱“主角",而老师转为“配角”,实现教师角色的换位,有利于加强对学生自学能力、创新能力的培养。

要善于引导学生从自己的学习和生活经历中,发现鲜活的实例。

对于实践性强的项目或活动,要让每个学生充分参与、全程参与、深度参与,在体验、经验的基础上领悟、归纳、总结、运用。

对于理论性较强的项目或活动,要充分铺垫、诱导、启发、示范、练习,课前学生作好预习,带着问题预习,教师充分准备各种情境下的教学预案,以及教学支架性材料,讲解时以例释理,避免直接灌输结论,更不要让学生机械背诵结论。

【教学目标】

1、熟悉队列结构的概念和特点,能够使用PythOn语言对队列进行操作。

2、了解树、图结构的基本概念及特点。

3、能够比较不同数拯结构的特点,会选用合适的数据结构组织数据解决简单问题。

【教学重点、难点】

队列结构的概念和特点,能够使用PythOn语言对队列进行操作。

树、图结构的基本概念及特点。

比较不同数据结构的特点,会选用合适的数据结构组织数据解决简单问题。

【教学过程】

第一课时

一、引入

各种类型的数拯被编码表示成二二进制数据,存储到计算机中。

在利用汁算机解决问题的过程中,这些数据将是最基本的元素。

但是,零散孤立的数据是很难被有效利用的。

根据所要解决的问题的不同,我们还需要依据数据关系建立合适的结构。

采用这些结构将数据组织起来,才能有利于操作和管理,进而更高效地解决实际问题。

数据经过采集和数字化后存储在汁算机中,是为了便于应用和解决问题。

本节我们将用绕“网络购物”项目展开学习,通过项目活动,认识相关数据的组织方法,了解数据之间的关系,理解几种典型的数据结构,为利用数据、实现数据的价值做准备。

本项目主要包含“探究网购订单处理”和“探究快递配送过程”两个任务。

任务一探究网购订单处理

活动1了解订单数据

在网上购物时,在我们提交订单后,网页上就会显示订单数据。

请你参照图3.2.1所示

的订单数据或者你自己的购物订单数据填写表3.2.Io

表3.2.1网购中的订单数据

网站名称

订单中的数据

PythOn中对应的数据类型

某电商网站

商品名称

字符串

单价

浮点型

数虽:

整型

高中生学籍网

姓名

字符串

岀生日期

日期型

是否团员

布尔型(逻借型)

利用计算机解决问题的过程,就是将问题中的已知数据输人计算机进行计算,然后输岀结果数据的过程。

比如,当我们利用网络购买商品时,计算机解决问题的过程就是对订单数据、商品数据等相关数据进行计算的过程。

为了方便对数据进行处理,我们可以选择合适的软件工具,根据问题的需要为数据抽象出合适的数据类型,然后对数据进行组织和计算。

数据类型

数据类型用来立义一系列值及应用于这些值的一系列操作。

比如,在PythOn语言中,有整数、浮点数、字符串、布尔等数据类型。

整数类型的范I羽几乎仅受内存限制,能够进行加、减、乘、除等多种计算操作。

大多数程序设汁语言都立义了两类数据类型:

简单数据类型和复合数据类型。

简单数据类型不能分解成更小的数据类型,复合数据类型则由简单数据类型或者复合数据类型组成。

在Python语言中,整数、浮点数、字符串、布尔属于简单数据类型,列表、字典等属于复合数据类型。

认识Python简单数据类型

在PythOn语言中,简单数据类型有整数(int)、浮点数(float)、字符串(Str)、布尔(bool)等数据类型。

【教师示范操作】

»>type(8)#type()函数返回数据的类型

#返回'int'类型

»>type(3.14)

»>type(,Thankyou!

*)

#返回'str'类型

#返回,booΓ类型

»>type(True)

订单数据中的商品名称可以抽象为字符串类型的数据,是一个基本数据项,商品数量可以抽象为整数类型的数据,也是-一个基本数据项。

每个订单数据包括商品名称、单价、数量、金额、收货地址等基本数据项,所以订单数据需要抽象为复合数据类型。

如图3.2.1(a)

所示的订单数据用PythOn的列表存储,列表名称为OrderLiSto

OrderLiSt-=[,z2374761814130XXX"∕z语文:

生命的,文学的,美学的",34.66]

列表中前两个数据是字符串类型,最后-项是浮点数类型。

我们还可以把很多订单数据排列在一起,形成订单表,用更复杂的列表存储。

活动2编制订单数据处理程序

网店接受了大量的订单,如何安排发货呢?

实际上,网店在处理订单时,一般采取“先下单,先发货"的原则。

因此,所有的订单将按照下单的时间顺序放进一个列表中,先放进去的先发货,所有订单排列在一起,像是一群人在排队。

下而的PythOn程序可以实现以下功能:

提供“添加订单”“发货”“査看订单列表”“退出”四个操作选项。

当我们选择“1"后输入订单数据,程序将订单数据添加到订单数据表中;选择"2”后,程序将当前订单列表中最早进入的数据删除(表示已安排发货处理);选择“3”可以显示当前订单列表中所有的订单数据;选择“4”将结束运行。

请你完善下列PythOn程序,模拟添加订单和发货的过程,了解订单列表的操作过程。

Iistque=EJ

x=0

WhiIe(X!

=4):

#怎义列表1istque存储订单

#当云二4时,执行循环

PrintC1.添加订单)

PrintC2.发货')

Print(,3.査看订单列表)

PrintC4.退岀')

x=int(input("输入你的选择:

"))

ifx=l:

#输人选择项

y=input("输人订单编号:

")

#输入订单编号

#在列表IiStqUe中添加订单号

elifx=2:

ifIen(Iistque)-O:

Print("订单列表为空")

else:

#删除列表IiStqUe的首元素,表示发货

el辻x=3:

Print(IiStqUe)#查询列表IiStqUe中的订单号

数据结构

数据结构是存在特左关系的数据元索的集合。

在解决有些问题时,一些相关联的数据将集中在一-起,形成一个数据的集合,这种集合能够单独或作为一一个整体被访问和处理。

线性数据结构

线性数据结构又称为线性表。

在线性数据结构中,除首元素没有前趋元素、尾元素没有后继元素外,英他元素都只有一一个前趋元素和-个后继元素,如图3.2.2所示。

线性表中数据元素之间是一对一的关系。

首元素尾元素

0—0•・・・•••・・・・•0-0

前趋元素当前元亲后继元素

图3.2.2线性数据结构

队列

队列是一种有限制的线性结构,它的数据元素只能在-端依次添加(进队),在另一端依次删除(出队)。

典型的例子如超市里排队付款的队伍。

许多程序设讣语言泄义了复杂数据类型,以实现对数据结构更高层级的抽象。

复杂数据类型可以封装并隐藏数据结构中的操作细节,让程序设计者更多地关注数据结构能做什么,便于利用数据结构解决问题。

PythOn中的列表数据类型,可以实现线性结构组织的数据元素的存法,可以用于实现储和操作。

列表的使用者只需要知道列表上有哪些可用的操作,而不需在中间插人元素、要知道这些操作是如何进行的。

比如在上述代码中,IiStqUe是列表类型的数据,存放了一-组字符串类度等功能。

型的数据,表示订单编号。

我们可以通过对应的方法对列表进行操作:

PoP(O)方法可以删除列表的首元素,append方法可以在列表尾部添加-个数据元素。

利用列表,我们可以模拟队列中数据元索进队和出队的操

第二课时任务二探究快递配送过程

活动1了解快递派送线路

每个快递员只负责固左的派送范用,他们从快件派送点领取快件后,分别送往各自负责的快件领取点(比如小区门卫处、单位门卫处)或者具体用户。

学校的快递由快递员送件上门后,收发室老师将快件按工作人员部门、学生班级分类摆放,由各班级指左专人取件。

现将派送点、学校收发室和收件人用点表示,派送的线路用线段表示,请你尝试在下而框中画岀多个快件从派送点到不同收件人所经过的线路。

P60页

树结构

树结构是一种具有层次关系的非线性结构。

树是由n(n≥0)个节点组成的有限集合。

若n二0,则称为空树。

任何--个非空树均满足以下两个条件:

(1)仅有一个称为根的节点;

(2)当n>0时,英余节点可分为m(m20)个互不相交的有限集合,英中每个集合又是一棵树,并称为根的子树。

在图3.2.3中,节点A为根节点,B、C、D为A的子树的根节点。

同理,E、F、G是B的子树的根节点,B是E、F、G的父节点。

在树结构中,数据元素之间是-对多的关系。

 

活动2了解物流网络

由于需要综合考虑运营成本,商品在城市间运输的路线是需要讣算和规划的。

请你查看

图3.2.5中的物流过程,尝试用圓園表示城市,用线段表示城市之间的送达关系,将图3.2.6补充完整,了解商品配送的路线特点。

图结构

图结构是由一组节点(称为顶点)和一组Yj点间的连线(称为边或弧)构成的一种数据结构。

图结构中的每个顶点都可以与其他顶点有边相连,图结构中数据元素之间是多对多的关系。

图3.2.6表示的是商品从供货点到收货点的派送过程的图结构。

图3.2.7也是一个图结

构,其中,标为4T”的顶点与两条边相连,顶点“4"与“2”"8”“9"相连。

在物流网络中,分拨中心、配送中心、货物需求点等可以抽象为图的顶点,城市逍路、各级铁路等可以抽象为图的边,如城市以及城市之间的运输道路就是图结构。

利用图结构,我们还可以解决物流中的许多问题,如道路网络分析、车辆运营安排等。

活动3规划取快递最快路线

某同学网购的书已经到达家附近的快递门店,需要他自己去取。

不巧的是,这次购买的三本书是三个不同的物流公司派送的,他家与各快递门店的位置如图3.2.8所示。

请你帮他规划最省时的路线,然后设讣算法解决问题并在下框中描述你的算法。

我们可以将该同学家和各个快递广]店的位垃抽象成顶点,两个位置间的步行线路抽象为边,边上的值表示步行时间,如图3.2.9所示。

利用该图我们可以更淸晰地知道数据间的关系,从而解决问题。

图3.2.9该同学家及附近快递门店之间步行所需时间数据(单位:

分)

从起点出发.把当前可以到达的下一个位置列举出来,再从列举出的新位置出发.继续列举下一步可以到达的位置,以此类推,直到返回起点。

我们把所有可能的做法用图形描述,如图3.2.10所示,图下方圆圈中的数值是该疋法的总用时。

我们发现,分析过程的图形是树结构,树中的节点表示当前所在的位宜,边表示选择的线路。

利用树结构,我们能够更淸晰地实现不重复、不遗漏地列举所有做法,更利于通过比较得到最优解。

四、小结

树结构和图结构,是两种比较难的数据结构。

五、练习

人、狼、羊、菜过河问题:

有一个人带着一只狼、一只羊和一捆白菜,来到一条河边,河边只有一条小船,人每次过河最多只能带一样,如果人不在现场,狼就要吃羊,羊就要吃菜。

他应该怎样安排过河呢?

请完成下而的“树”结构分析图,帮他找到可行的过河方案。

提示:

可约泄对象在左岸用0表示,任右岸用1表示。

(初始状态)

0

0

0

0

 

人单独过冋

人(酣河

人羊过河

【第一步1

要求:

能以纸笔方式画岀分析树得岀结论即可。

(解答略)

(详见配套资源“人狼羊菜过河游戏(动画版).exe”和“人狼羊菜过河游戏.py”)

【拓展练习】

数据结构之桟的应用

活动:

数据结构之栈的应用

活动描述:

模仿队列的应用“订单数据处理程序",编写栈的应用“单车道死胡同停车管理程序”。

1.选题理由

队列和栈,是线性数据结构中的典型代表。

由于教材篇幅所限,讲了队列,没有讲栈,栈也是计算机中非常重要的数据结构,本活动可作为教材的有益补充。

2•操作建议

栈.是先进后出(FlLO)表。

它的数据元素只能在同一端(称为栈顶)进行操作,添加(进栈),删除(出栈)。

典型的例子如单车道死胡同停车,后进去的车先倒出来,先进去的车就后才能倒出来。

在Python中.列表既可用来表示队列,也可用来表示栈。

列表的POPo方法可以删除列表的尾元素(相当于栈的“出栈”操作).append方法可以在列表尾部添加一个数据元素(相当于栈的“入栈”操作)。

栈的操作与队列相仿.可在学生掌握队列的基本操作的条件下,用类比的方式,引入栈的操作,达到知识牵移.触类旁通的效果。

3.注意问题

要讲透“栈”的本质特征,必须充分列举生活实例,如:

组装物品与拆解维修,软件操作中普遇存在的撤销与恢复,表达式中圆括号的左右匹配,递归算法的实现等等。

本活动借助于学生容易理解的生活实例"单车道死胡同停车与开出”,让学生加深对栈的理解,为后续学习打下基础。

(程序详见配套资源“3-2综合项目单车道死胡同停车管理程序・py”)

【教学反思】

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1