教科版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利用计算机解决问题的过程,就是将问题中的已知数据输人计算机进行计算,然后输岀结果数据的过程。
比如,当我们利用网络购买商品时,计算机解决问题的过程就是对订单数据、商品数据等相关数据进行计算的过程。
为了方便对数据进行处理,我们可以选择合适的软件工具,根据问题的需要为数据抽象出合适的数据类型,然后对数据进行组织和计算。
数据类型数据类型用来立义一系列值及应用于这些值的一系列操作。
比如,在PythOn语言中,有整数、浮点数、字符串、布尔等数据类型。
整数类型的范I羽几乎仅受内存限制,能够进行加、减、乘、除等多种计算操作。
大多数程序设汁语言都立义了两类数据类型:简单数据类型和复合数据类型。
简单数据类型不能分解成更小的数据类型,复合数据类型则由简单数据类型或者复合数据类型组成。
在Python语言中,整数、浮点数、字符串、布尔属于简单数据类型,列表、字典等属于复合数据类型。
认识Python简单数据类型在PythOn语言中,简单数据类型有整数(int)、浮点数(float)、字符串(Str)、布尔(bool)等数据类型。
【教师示范操作】»> type(8) #type()函数返回数据的类型<class , int, > #返回'int'类型»> type (3. 14)»> type(, Thank you! *) <class 'str ,> »> type (True) <class ,bool* >订单数据中的商品名称可以抽象为字符串类型的数据,是一个基本数据项,商品数量可 以抽象为整数类型的数据,也是-一个基本数据项。
每个订单数据包括商品名称、单价、数 量、金额、收货地址等基本数据项,所以订单数据需要抽象为复合数据类型。
如图3. 2.1(a )所示的订单数据用PythOn 的列表存储,列表名称为OrderLiStoOrderLiSt-=[,z 2374761814130XXX"∕z 语文:生命的,文学的,美学的",34.66]列表中前两个数据是字符串类型,最后-项是浮点数类型。
我们还可以把很多订单数据 排列在一起,形成订单表,用更复杂的列表存储。
活动2编制订单数据处理程序网店接受了大量的订单,如何安排发货呢?实际上,网店在处理订单时,一般采取“先 下单,先发货"的原则。
因此,所有的订单将按照下单的时间顺序放进一个列表中,先放进 去的先发货,所有订单排列在一起,像是一群人在排队。
下而的PythOn 程序可以实现以下功能:提供“添加订单”“发货” “査看订单列 表” “退出”四个操作选项。
当我们选择“1"后输入订单数据,程序将订单数据添加到 订单数据表中;选择"2”后,程序将当前订单列表中最早进入的数据删除(表示已安排发 货处理);选择“3”可以显示当前订单列表中所有的订单数据;选择“4” 将结束运行。
请你完善下列PythOn 程序,模拟添加订单和发货的过程,了解订单列表的操作过程。
Iistque=EJ x=0 WhiIe(X!=4): #怎义列表1 istque 存储订单#当云二4时,执行循环Print C 1.添加订单) Print C 2.发货') Print (, 3.査看订单列表) Print C 4.退岀')x=int (input ("输入你的选择:")) if x=l:#输人选择项#返回'str'类型#返回,booΓ类型y= input ("输人订单编号:")#输入订单编号#在列表IiStqUe中添加订单号elif x=2:if Ien(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的父节点。