3.2数据与结构第一课时_教学设计教科版必修1

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

3.2数据与结构第一课时_教学设计教科版必修1

资源简介

教育科学出版社 高中信息技术 必修1 数据与计算
《3.2 数据与结构(第一课时)》
教学设计
【教学目标】
知识与技能
(1)认识不同的数据类型,以及它们的特点。
(2)熟悉队列结构的概念和特点。
过程与方法
(1)能够使用python语言对队列进行操作。
(2)能够比较不同数据结构的特点,并会选用合适的数据结构组织数据来解决简单问题。
情感态度价值观
(1)增强对信息技术的求知欲,养成积极地学习和使用信息、参与信息的态度。
(2)通过完成活动,学生理解并掌握计算机语言处理问题的思维方式,感受编程的价值从而运用到实际生活中。
【教学重难点】
教学重点:
理解线性数据结构的数据间关系。
教学难点:
理解复合数据类型;
学会根据问题的需要选择合适的数据结构对问题抽象组织,进而解决问题。
【教学方法】
情景导入法、项目教学法、微课教学法、实践体验法、自主探究法。
【授课时间】
1课时
【教学过程】
导入新课
通过观看视频来了解“约瑟夫问题”,提出问题:
1.为什么约瑟夫和他的朋友,最后能活下来呢
2.约瑟夫和他的朋友,一开始要站在什么位置才能逃避死亡
学习目标
【项目主题】网络购物
【项目目标】通过项目活动,认识相关数据的组织方法,了解数据之间的关系,理解几种典型的数据结构,为利用数据、实现数据的价值做准备。
队列:熟悉队列的概念和特点,能够使用Python语言对队列进行操作。
【项目任务】探究网购订单处理
活动1 了解订单数据
在当今信息时代,网上购物已成为人们的一种非常重要的购物方式。在网上购物时,在我们提交订单后,网页上就会显示订单数据,请你参照图所示的订单数据填写如下表内容。
订单数据商品名称商品数量商品总价Python对应数据类型
【数据类型】
(一)简单数据类型
1整数(int):
包括正整数、负整数和0。
2.浮点数(float):浮点数由整数与小数部分组成。
3.字符串(str):
(1)字符串就是文本,可以是字母、数字或符号。
(2)字符串两端需加引号('或”)。
(3)输出时原样显示引号中的内容。
4.布尔型(bool):
当关系表达式成立时值为True(真),不成立时值为False(假)。
复合数据类型:
列表、字典、元组、集合
列表:StuList=[ 10, 'file', 2.0 ],混合数据类型。
字典:dictionary={ 'a':1, 'b':2, 'c':3 },“键:值”对。
元组:StuInfo=( 3.6 , '一班' , 16 ),不能修改。
集合:StuInfo={ '张三' , True ,10 },无序不重复。
数据类型小练习
1.以下不是简单数据类型的是( )
浮点数 B.字符串 C.布尔 D.字典
2.以下是简单数据类型的是( )
A.元组 B.集合 C.整数 D.列表
3.以下语句是定义空列表的是( )
A.bookset=set() B.q=[ ] C.num=( ) D.dictionary={ }
四、活动2 编制订单数据处理程序
1.问题:商家如何安排发货?
发货原则:先下单,先发货
2.问题:商家对订单进行了哪些操作?
(1)添加订单(顾客下单)
(2)发货
(3)查看未发货订单
(4)退出
3.用列表模拟订单的操作
q=[] #空订单
_________ #001编号下单
_________ #安排001编号订单发货
_________ #查看未发货订单
_________ #返回订单长度
4.尝试补全代码
实践练习
练习1:列表的基本操作。
练习2:将“订单数据处理程序”补全代码并运行、测试功能。
【数据结构、线性结构、队列】
动画演示添加订单与商家发货的过程,理解订单数据间的关系,引出以下数据结构的知识:
1.数据结构是存在特定关系的数据元素的集合。
主要有集合结构、线性结构、树结构和图结构四种类型。
线性结构如下图
2.线性数据结构特点:
(1)首元素无前趋元素、尾元素无后继元素;
(2)中间元素既有前趋元素,又有后继元素;
(3)数据元素之间是一对一的关系。
特殊线性结构—队列:动画演示入队出队过程,特点:先进先出。
在Python中,队列一般用列表(list)实现。
列表的使用者只需要知道列表上有哪些可用的操作,而不需要知道这些操作是如何进行的。
q=[ ] #定义空列表q
q.append(x) #元素x入队
q.pop(0) #返回队首元素,队首元素出队(删除)
len(q) #返回队列q的长度(元素个数)
q[i] #返回列表q中索引(index)为i的元素。
正编号(从左到右编号依次为0,1,2,…)
负编号(从右到左编号依次为-1,-2,-3,…)
五、约瑟夫问题
1.过程模拟 学以致用
请五位同学到台上站成一个队列,教师充当计算机角色发号施令。
2.问题解决:请同学们根据约瑟夫问题的解题过程,将程序的空白处填写完整,求得最后结果。
解题过程详细描述 转化成代码
1.所有人,即41人全部进入队列。 2.第一个人出队,然后入队。 3.第二个人出队,然后入队。 4.第三个人出队,不再入队。 重复2--4步,直到队列中只剩下两个人为止。 ls=[ ] #建立一个空列表用于模拟队列 for i in range(1,42): #使用循环将1-41加入队列 ls.append(i) while len(ls)>2: #只要队列长度大于2,就不停重复。 for i in range(2): #循环两次模拟前两个人的出队、入队。 c=___________ #弹出队首元素,并赋值给c进行记录。 _____________ #把c添加回队尾 t=ls.pop(0) #第三个人只出队,不再入队。 print( t ,“很遗憾,您被淘汰了!”) print(ls,“恭喜你们,成为为幸运儿!”) #将队列打印出来,查看剩下的两个元素。
3.实践练习
将“约瑟夫问题”程序补全代码并运行。
课堂练习
1.请找出下列关于列表的描述正确的是( )
A. 列表中的元素是无序的
B. 列表元素从1开始建立索引
C. append( )会在列表尾部添加新元素
D. 使用pop(0)删除0号元素后,列表不再有索引号为0的元素
2.以下现实生活中哪些问题可以利用队列来解决( )
A. 解决地图最短线路选择问题 B. Windows操作系统的文件系统结构
C. 打印机打印任务流程问题 D. 实现浏览器后退、前进按钮的功能
注:学生在问卷星网页上答题,并以简答题的形式进行总结收获。
课堂小结
知识梳理
(1)数据类型
(2)列表的基本操作
(3)线性数据结构
(4)什么是队列
(5)队列的应用
2.收获提升
零散孤立的数据是很难被有效利用的!
根据所要解决的问题的不同,依据数据关系建立合适的结构。
采用这些结构将数据组织起来,才能有利于操作和管理,进而更高校地解决实际问题。
学会在生活中根据实际问题,建立合适的数据结构,进而运用所学的知识解决问题。
八、课后作业
1. 改进订单数据处理程序,实现当用户输入“2”表示“发货”时,还要输出发货的单号,以便工作人员及时处理。
2. 对比以下“订单数据处理程序”的两种不同运行界面,感受图形用户界面美观友好、操作方便灵活,从而激发兴趣,预习《3.3 数据与系统》。

展开更多......

收起↑

资源预览