搜索
    上传资料 赚现金
    英语朗读宝

    项目四 探索电子排队预订功能的实现——队列的应用 (第二课时)课件+教案

    资料中包含下列文件,点击文件名可预览资料内容
    • 课件
      项目四(第二课时).pptx
    • 项目四(第二课时).doc
    项目四(第二课时)第1页
    项目四(第二课时)第2页
    项目四(第二课时)第3页
    项目四(第二课时)第4页
    项目四(第二课时)第5页
    项目四(第二课时)第6页
    项目四(第二课时)第7页
    项目四(第二课时)第8页
    项目四(第二课时)第1页
    项目四(第二课时)第2页
    还剩20页未读, 继续阅读
    下载需要40学贝 1学贝=0.1元
    使用下载券免费下载
    加入资料篮
    立即下载

    高中信息技术沪教版(2019)选修1 数据与数据结构2.设计算法优秀ppt课件

    展开

    这是一份高中信息技术沪教版(2019)选修1 数据与数据结构2.设计算法优秀ppt课件,文件包含项目四第二课时pptx、项目四第二课时doc等2份课件配套教学资源,其中PPT共28页, 欢迎下载使用。
    第三单元 特殊的线性表项目四 探索电子排队预订功能的实现——队列的应用第二课时 设计算法 教材分析本节的主要内容是设计算法。通过以探索电子排队预订功能的实现为主线,整个项目分为问题分析、设计算法和程序实现三个部分。本节课根据进队、出队的过程设计进队、出队操作算法,研究队列两种存储结构,了解顺序存储结构的越界问题及解决越界问题采用的一般方法,即循环队列。通过本节课的学习能培养学生的信息意识和计算思维能力。教学目标1.能设计进队、出队的算法;2.培养学生的信息意识和计算思维能力。教学重点1.进队、出队的算法设计。教学难点1.能设计进队、出队的算法。2.培养学生的信息意识和计算思维能力。教学方法体验法、讲授法、讨论法、示例法教学准备  计算机教室、多媒体设备、多媒体广播软件、教学课件、Python编程环境、学生上机练习的程序文件,预先编制的Python程序文件等。教学过程一、新课导入完成下面的任务:假设排队预订客户账号数据为A001A002000A000下面空的队列中依次A0001进队,A0002进队,A003进队,叫号出队,A004进队,叫号出队,叫号出队,叫号出队,画出队列的变化过程。(1)                 (2)                 (3)                     (4)                 (5)                 (6) 二、设计算法排队预订的队列变化过程如图3-3所示(为图示方便暂定图中队列空间只有4)。客户预订即为进队,假设A0001表示第一个客户账号数据,购买即为队首出队。图中rear指向队列的尾端,图中 front指向队列的首端。 3-3进队、出队的过程示意 思考与讨论1.队尾指针是否一定要指向队尾下一个元素?2.队列在反复进队、出队后会出现尾指针rear和头指针front出界的情况,有什么解决方法? 参考:1.顺序队列队尾指针一般情况下是指向队尾下个元素的。但当队列满时,队尾指针会出现出界的情况;循环队列尾指针指向第一个元素;链队列队尾指针存储的是NULL。队列指针表示方法还有另种,即尾指针指向最后一个元素而不是最后一个元素的下一个元素。2.用顺序队列可采用循环队列的方式或每次队首元素出队,后面元素都向前移动一次的方式解决这问题(效率较低);用链表存储队列时须先增加结点,再将原队尾指针指向新的元素,最后更改队尾指针。 队列在计算机里怎样表示呢?队列是操作上有限制的线性表,既可以用数组表示一个队列,也可以用链表表示个队列。一般若问题规模已知,即总的进队元素个数已知的话,队列可以用顺序存储结构存储,即用数组表示队列;若进队元素个数无法预计,则队列可以用链式存储结构存储,即用链表表示队列。 思考与讨论用数组方式和用链表方式存储队列,队列指针的形式有何不同?用数组方式,队列指针实际存放的是数组元素的下标;用链表方式,队列指针实际存放的是链表结点的地址。小贴士用数组存储队列时,可能会遇到指针溢出的问题,最简单的解决方法是将rear1改成rear=(rear+1)%Mfront的增1改成 front=( front+1)%M。其中M为队列的空间数,%是取余运算符,这时的顺序队列被称为循环队列。为了操作方便增加一个计数器 number,记录队列中的元素个数。 三、队列的常用基本操作1.进队进队就是从队尾添加数据的操作。    顺序队列进队的算法思想:若队列不满,则将进队的元素送入尾指针rear所指空间,元素个数计数器增1,然后将尾指针rear往尾部方向移动一位即指向新的队尾。                   def EnQueue(self,e):       if(self.number==self.size):print(队满,不能进")      elseself.queue[self.rear]=e          self. rear=(self. rear+ 1)%self.size          self.number=self.number+1return2.出队出队就是在队首取出数据的操作。顺序队列出队的算法思想:若队列不空,则将队首指针 f front所指空间的内容取出赋予变量,元素个数计数器减1,然后将首指针front往后移动一位即指向新的首端。                 def OutQueue(self):     if(self.number==0):print(队空") else:e=self.queue[self.front]      self.front=(self. front+1)%self.size      self.number=self.number-1      return e 四、课后活动1.在算法流程框图中完成进队和出队操作(数组名和变量名可以自取)    进队操作                     出队操作 活动答案参考:                 

    相关课件

    沪教版(2019)3.程序实现评优课ppt课件:

    这是一份沪教版(2019)3.程序实现评优课ppt课件,文件包含项目五第三课时pptx、项目五第三课时doc等2份课件配套教学资源,其中PPT共14页, 欢迎下载使用。

    2020-2021学年2.设计算法优质ppt课件:

    这是一份2020-2021学年2.设计算法优质ppt课件,文件包含项目五第二课时pptx、项目五第二课时doc等2份课件配套教学资源,其中PPT共21页, 欢迎下载使用。

    高中信息技术沪教版(2019)选修1 数据与数据结构1.分析问题完美版课件ppt:

    这是一份高中信息技术沪教版(2019)选修1 数据与数据结构1.分析问题完美版课件ppt,文件包含项目五第一课时pptx、项目五第一课时doc等2份课件配套教学资源,其中PPT共23页, 欢迎下载使用。

    文档详情页底部广告位
    欢迎来到教习网
    • 900万优选资源,让备课更轻松
    • 600万优选试题,支持自由组卷
    • 高质量可编辑,日均更新2000+
    • 百万教师选择,专业更值得信赖
    微信扫码注册
    qrcode
    二维码已过期
    刷新

    微信扫码,快速注册

    手机号注册
    手机号码

    手机号格式错误

    手机验证码 获取验证码

    手机验证码已经成功发送,5分钟内有效

    设置密码

    6-20个字符,数字、字母或符号

    注册即视为同意教习网「注册协议」「隐私条款」
    QQ注册
    手机号注册
    微信注册

    注册成功

    返回
    顶部
    Baidu
    map