教科版(2019) 高中信息技术 必修1 3.2 线性数据结构 第1课时 课件(共18张PPT,内含代码)

文档属性

名称 教科版(2019) 高中信息技术 必修1 3.2 线性数据结构 第1课时 课件(共18张PPT,内含代码)
格式 zip
文件大小 396.8KB
资源类型 教案
版本资源 教科版(2019)
科目 信息技术(信息科技)
更新时间 2022-06-24 13:12:36

图片预览

文档简介

(共18张PPT)
3.2 数据与结构
第一课时
【活动一】阅读课本56页任务一和课件中图片信息,了解订单数据,填表3.2.1
一、数据类型
【活动一】了解订单数据,填表3.2.1
网站名称 订单中的数据 Python中对应的数据类型
某电商网站 商品名称
单价
数量
高考报名网站 姓名
出生日期
是否应届生
网站名称 订单中的数据 Python中对应的数据类型
某电商网站 商品名称 字符串str
单价 浮点型float
数量 整型int
监控管理系统 编码器名称 字符串str
开始时间 日期型
报警预录 布尔型(逻辑型)bool
程序设计语言定义了两类数据:
简单数据和复合数据
字符串str
浮点型float
整型int
字符串str
日期型
布尔型(逻辑型)bool
简单数据
元组
列表
集合
字典
复合数据
一、数据类型
【做中学】了解Python复合数据类型
在Python语言中,复合数据类型有元组(tuple)、集合(set)、列表(list)、字典(dict)等
元组 ()
2.列表 [ ]
3.集合 {(),() }
4.字典 {安徽:[合肥,芜湖,阜阳]}
元组
例如,某用户预订了商品编号为“ID0010230”、单价为15.68元、数量为36,可将这3个不同类型的简单数据组织成一个复合数据类型——元祖。记作:
BookInfo0=("ID0010230",15.68,36)
另一用户预订了商品编号为“ID2315937”、单价为20元、数量为2,可记作:
BookInfo1=("ID2315937",20,2)
>>> BookInfo0=("ID0010230",15.68,36)
>>> type(BookInfo0)
#返回元祖类型
>>> BookInfo1=("ID2315937",20,2)
>>> BookInfo1[1]
20 #返回元祖BookInfo1中索引为1的项的值
计算订单额:
>>> BookInfo0[1]*BookInfo0[2]+BookInfo1[1]*BookInfo1[2]
604.48 #返回计算结果
列表
今天的订单汇总,也可以按订单产生的新后顺序组成一个列表(列表里的项是有顺序编号的):
BookList=[BookInfo0, BookInfo1]
>>> BookList=[BookInfo0, BookInfo1]
>>> type(BookList)
#返回列表类型
>>> BookList[0]
('ID0010230', 15.68, 36)
>>> BookList[1]
('ID0010359', 0.68, 5)
>>> BookList[0][1]*BookList[0][2]+BookList[1][1]*BookList[1][2]
604.48 #返回计算结果
集合
今天的订单汇总,可以定义为一个集合(集合里的项称为元素,彼此之间没有顺序):
BookSet={BookInfo0,BookInfo1}
>>> BookSet={BookInfo0,BookInfo1}
>>> type(BookSet)
#返回集合类型
>>> BookSet
{('ID2315937', 20, 2), ('ID0010230', 15.68, 36)} #返回集合的值
计算订单额:
>>> t=0
>>> for i in BookSet:
t+=i[1]*i[2]
(将本行光标后退至行首,再按回车)
>>> t
604.48
字典
字典 {安徽:[合肥,芜湖,阜阳]}
数据结构:存在特定关系的数据元素的组合体
数据结构按逻辑结构分类:
集合结构、线性结构、树结构、图结构
二、数据结构
线性结构:
二、数据结构
队列(Queue)是一种操作有限制的线性结构,它的数据元素只能在一端(队尾)依次添加(入队),在另一端(队首)依次删除(出队)。
队列是先进先出(FIFO:First In First Out)表。
排队候车
a0 ,a1 ,a2 ,… ,an
出队
入队
队首
队尾
典型的例子如超市里排队付款的队伍。
二、数据结构
在Python中,队列一般用列表(list)实现,常用操作:
q=[] #定义空列表q
q.append(x) #元素x入队
q.pop(0) #返回队首元素,队首元素出队(删除)
len(q) #返回队列q的长度(元素个数)
q[i] #返回列表q中索引(index)为i的元素. 索引有2套编号方式:
正编号(从左到右编号依次为0,1,2,…)和负编号(从右到左编
号依次为-1,-2,-3,…)
队列的计算机实现:
二、数据结构
listque=[]
x=0
while (x!=4):
print('1.添加订单')
print('2.发货')
print('3.查看订单列表')
print('4.退出')
x=int(input('请输入你的选择:'))
if x==1:
y=input('请输入订单编号:')
listque.append(y) #在列表listque中添加订单号
elif x==2:
if len(listque)==0:
print('订单列表为空')
else:
print('发货:'+listque.pop(0)) #删除列表listque的首元素,表示发货
elif x==3:
print(listque)
print()
二、数据结构
【做中学】活动2 编制订单数据处理程序
1.队列是一种线性数据结构,本质特征是FIFO
2.队列在Python中,用列表实现
队列的创建;
队列的基本操作:入队,出队,求队长,判队空
三、小结
某体校乒兵球队,为了找出混双的最佳组合,要求任何两名男女运动员都要搭档一次,与陪练进行教学赛。假定男运动员有5人,分别用A~E表示,女运动员有4人,分别用1~4表示。每天安排4场教学赛。试设计方案并编程,输出混双组合安排。
A ,B ,C ,D ,E
出队
入队
队首
队尾
男队
1 ,2 ,3 ,4
出队
入队
队首
队尾
女队
混双组合
混双组合问题编程实现
四、练习:混双组合问题
三、小结
【划重点】本内容学科核心素养之三层架构
学科知识层:数据结构(队列),数据类型(列表、字符
串),队列的基本操作(入队,出队,求队
长,判队空),循环语句,分支语句
问题解决层:算法(订单问题划归为队列),测试(打补
丁)
学科思维层:抽象、建模(队列)、人类行为理解(对订
单实现自动化作业管理)
小结
Python数据类型包括:
1.简单数据类型
①整数(int)
②浮点数(float)
③字符串(str)
④布尔(bool)
2.复合数据类型
①元祖(tuple)
②集合(set)
③列表(list)
④字典(dict)
3.数据结构
①集合结构
②队列、栈(线性结构)
③树结构
④图结构