内容正文:
3.2.2《算法的描述》教学设计
【项目主题】
设计从泰安市到重庆市耗时最少的旅行路线方案
【项目背景】
国庆小长假来临,每个人会有不同的出行计划,设计一个以高铁为交通工具、以郑州为中转站的从泰安市到重庆市耗时最少的旅行方案。为了获得高效的交通出行安排,人们根据需求设计好不同阶段的使用方案,方案中会设计到多条不同方式不同时间的排列组合,编写程序来找出哪种方案最佳,比用人工寻找效率更高。本节课在逐步细化解决问题的算法过程中,帮助学生理解算法的三种常用描述方式和算法的三种控制结构,学会流程图的画法。
【教材分析】
本节课是信息技术必修一《数据与计算》第三章第二节的内容,本节课本来还包括了算法的概念和特征,但我们在进行大单元设计的过程中,创造性地将相关内容放到第一节《计算机解决问题的步骤》课程中,所以本节课有充分的时间让学生巩固关于算法描述的知识。
【学情分析】
本节课的学生是高一年级学生,学生刚接触算法,对于相关内容比较陌生,所以本节课以生活中的实例引入,帮助学生建立知识与生活之间的联系。学生虽然对计算机课比较感兴趣,但是对本节课这样的理论课相对来说积极性不高,所以本节课尽量通过学生三兴趣的案例来调动学生学习的积极性。
【学习目标】
1.了解算法描述的三种常见方法(信息意识)
2.学会正确识读流程图(计算思维)
3.学会用流程图描述简单算法(计算思维)
4.理解算法的三种基本控制结构(计算思维)
【重点】
1.流程图的识读与运用2.算法的三种基本控制结构
【难点】用流程图描述算法
教学过程
一、引入
天气转凉,有的家长来给学生送衣物,老师应该如何准确高效地告诉家长我们的班级位置?哪位同学可以帮老师想想办法?我们可以通过发定位,语言描述、画示意图的方式,把我们的位置传递给家长。可见,我们可以通过不同的方式表达同样的意思,也就是说,我们可以将我们的思想,思路、想法等用不同的方式去表达。那么上节课我们学过的算法——也就是解决问题的方法和步骤是不是也可以用不同的方式去表达呢?这节课我们来学习算法的描述
二、算法描述的常用方法
算法描述的常见方式有三种:自然语言、伪代码和流程图
(一)自然语言描述
在上节课,我们尝试解决了从泰安到重庆的最优路线问题,我们可以通过下面的三个步骤解决的个问题:
1、读取所有从泰安经郑州到重庆的车次
2、依次计算所有可能路线的耗时
3、选出耗时最短是路线
这就是自然语言描述的方式,用自然语言描述算法,就是用人们日常所用的语言,如汉语、英语等来描述算法。使用自然语言描述算法比较容易掌握,但也存在明显的缺点。例如,当算法中含有多分支或循环操作较多时,使用自然语言很难将其清晰地表示出来;并且由于自然语言的歧义性,也容易导致算法执行的不确定性。
(二)伪代码描述
在我们计算某一段路线的耗时时,可以直接用到达时间减出发时间,但有时会有晚上发车,凌晨到达的情况,这就不能用两个时间简单相减了,还需要相减后再加 24,为此,我们可以设计下面的算法解决这个问题
哪位同学能说一下这段内容表达的意思?
这种用介于自然语言和计算机语言之间的文字和符号来描述算法的方式就是伪代码描述算法伪代码描述算法的方式形式简洁,表达准确,但是在表达复杂算法时阅读困难
(三)流程图描述
再请同学们看下面一种描述方式:
1.认识不同图形的意义
同学们,你们能看明白这张图表达的意思吗?请尝试说一下在上面的图形中
表示“开始”和“结束”
表示“输入”和“输出”
表示“判断”
表示“数据处理和传递”
表示流程的走向
流程图描述算法
(1)读取第一条路线的出发时间和到达时间
(2)计算路线耗时
(3)输出该路线的耗时
(4)检测是否是最后一条路线,如果是,则结束程序;如果不是,则继续读取下一条路线的出发时间和到达时间并返回步骤(2)
2.恢复流程图
在“设计最优路线方案”的问题中,我们需要计算所有可行方案的用时,我们设计的算法是这样的:
(1) 读取第一条路线的出发时间和到达时间
(2) 用到达时间减出发时间得到路线用时
(3) 输出该路线的用时
(4) 检测是否是最后一条路线,如果是,则结束程序;如果不是,则继续读取下一条路线的出发时间和到达时间并返回步骤(2)
设计的流程图被打乱了,请同学们根据自然语言的描述,恢复流程图
同学们先说一下上面的每一步骤应该用什么图形
描述下面请同学们将以上自然语言描述的算法转换为用流程图描述。
(四)三种基本控制结构
学科网(北京)股份有限公司
$$