内容正文:
教学设计
课程基本信息
学科
信息技术
年级
高三
学期
(秋季)
课题
(3.2队列)
教学目标
1. 依据解决问题的需要,恰当的选择数据结构队列。
2. 通过问题解决,理解队列的概念、特性及其基本操作
3. 通过项目的实践活动,体验用队列解决问题的基本流程,逐步形成运用队列结构解决问题的思维方式和学科方法。
教学内容
教学重点:
通过问题解决,理解队列的概念、特性及其基本操作。
教学难点:
体验用队列解决问题的基本流程,逐步形成运用队列结构解决问题的思维方式和学科方法。
教学过程
1、 情境导入
导入1:PPT展示学生在食堂买饭时的有序排队图(图1)、在旅游景点入口处的排队图(图2)、医院里的叫号系统(图3)。
教师提问:生活中的排队问题(前两幅图)与我们今天要学习的队列(图3)有什么关系呢?------用计算机来解决生活中队列的问题。
【设计意图】用生活中排队的图片,吸引学生参与课堂,感知生活中的队列的使用,引出队列结构,引导他们建立用计算机解决生活中的排队问题的思维,导出课题。
2、 知识新授
1.队列的概念:
队列是一种 的线性表,允许插入的一端称为 ,允许删除的一端称为 。队列中的数据元素称为 。
入队:在队列中 一个元素称为 ;
出队:从队列中 一个元素称为 。
2.队列的特性:
(1)先进先出、后进后出
由队列的定义可知,队列具备“ ”的特点。动画模拟,a1优先入队,接着a2,a3……an依次入队;出队时,队首元素a1优先出队,紧接着是a2,a3,…an,队尾元素an最后出队。
(2)有限序列性
队列也是一种 结构,元素个数是有限的。队列可以是空的,也可以包含多个元素。队列中所有元素呈线性特征, 元素只有一个后继点, 元素只有一个前驱点,其他元素既有一个前驱点,又有一个后继点。
课堂练习:下列事件执行过程与队列特征不相符的是 ( )
A.在汽车加油站排队加油时不允许插队
B.当主机运行速度与打印机的打印速度不匹配时,为打印机设置一个打印数据缓冲区
C.把书叠放成一摞,最底下的书要最后才能拿出来
D.CPU分时系统可以根据用户请求,按顺序快速运行各程序段,实现多用户“同时”工作的假象
【设计意图】通过对实际问题的模拟、重要知识的填空,课堂练习的巩固,加深对队列特性的理解从而实现知识的内化。
3、队列的基本操作
(1)、探讨活动(学生讨论):
问题1:在Python语言中如何表示队列?___________________________
问题2:如何描述队列入队和出队过程?_____________________________
(2)、队列的基本操作程序实现:
活动1.建队:
如:有4个字母“A”“B”“C”“D”按序入队、出队时,可以创建一个队列que,长度为5。
初始时,head=tail=0
活动2.入队(动画模拟):
原则:头指针head记录______位置;尾指针tail记录____________________位置
程序实现:
que[tail]="A" #字母A入队
tail=tail+1 #tail=1
que[tail]="B" #字母B入队
tail=tail+1 #tail=2
que[tail]="C" #字母C入队
tail=tail+1 #tail=3
……
重大发现:
接收入队元素的变量:______________
队非空判断条件:___________________
队内元素个数=_____________________
活动3.出队(动画模拟):
出队时,排在_______的元素依次出队,_____指针变量依次加1,直至_______时,队列为空。
程序实现:
s=""
while head != tail :
__________________
__________________
print(s)
每次出队的元素是:_________________;判断队列为空的条件:______________________
课堂练习(程序填空并输出最后结果______________):
a=["a", "b", "c", "d", "e", "f"]
q = [0] * 5
head