资源简介 课题2 算法的概念及描述学科 信息技术 年级 高一 班 级 授课教师章节 第二章第二节 算法的概念及描述 课题名称 算法的概念及描述课型 新授课 授课时间课标要求 内容要求: 从生活实例出发,概述算法的概念与特征,运用恰当的描述方法和控制结构表示简单算法。·通过解决实际问题,感受算法的效率。 学业要求: 依据解决问题的需要,设计和表示简单算法。教学目标(核心素养) 1、根据项目需求分析设计算法,理解并熟悉利用自然语言、流程图和伪代码描述算法的方法。(数字化学习与创新) 2、选用恰当的描述方法和控制结构表示算法,增强用算法解决问题的意识。(计算思维、信息意识) 3、通过对生活中某一逻辑关系问题的对比探究,掌握枚举算法解决问题的方法,并比较数理思维方式与计算思维方式解决同一问题的效率差异,逐步养成用计算思维解决问题的习惯,提高工作效率。(计算思维)教学重点 理解算法的三种基本控制结构,能够选用恰当的描述方法和控制结构表示简单算法。教学难点 根据实际问题,分析设计算法。教学方法 讲授法,案例分析法、探究法。教学过程教师活动 学生活动 二次备课新 课 引 入 通过学生熟悉的数学问题引入,引出主题 用多种方法计算1+2+3+…+100的和。 方法一: 1+2=3 3+3=6 6+4=10…+100=5050 方法二: (1+100)+(2+99)+…+(50+51)=101*50=5050 那么我请两位同学分别来描述一下你在解决这个问题时的步骤吧. 师:上述步骤就是解决这个问题的算法。其实在解决生活中的很多问题时,都有算法的身影。 思考并回答问题。 选择1至100自然数求和,并让学生讲述解决过程,让学生感受到生活中的很多问题都有算法。教 学 环 节 1、算法概念 广义上讲,算法是解决一个特定问题而采取的确定的、有限的步骤。 我们会发现在数学问题、生活问题的解决中都会用到算法。例如:图书馆借阅系统、超市进销存系统等等。 2、算法特征 我们来看看这些算法他都有什么共同的特征? 接下来给大家四分钟时间阅读教科书P48页的信息的特征内容,分小组讨论分享根据实践结果,总结说明算法的特征。 结合刚才的活动体验,算法具有哪些特征 对算法的五大特征进行讲解。 有输入。一个算法通常要求有0个或多个输入,以描述运算对象的初识情况。 有输出。一个算法可以有一个或多个输出。 有穷性。算法必须能在执行有限个步骤之后终止。 可行性。算法中的每一步操作都是可以执行的,或者都可以分解成计算机可执行的基本操作。 确定性。算法的每个步骤都具有确定的含义,没有歧义。 除了上述的数值问题可以用算法来描述,算法也可以描述很多的非数值问题,比如:图书资料的检索,人名的排序等。 3、算法的描述 小明在去往地铁站时,在路口遇到了一个红绿灯。小明发现该红绿灯上配有一个倒计时器,倒计时15s之后红灯变成了绿灯,如何将“倒计时15秒”的算法描述出来? 提问:你能通过我们的语言描述出解决该问题的算法步骤吗? 分析讲解该问题,说明如何用自然语言描述该算法。 ① 将计数器t设为15; ② 如果t大于等于1,执行步骤③,否则执行步骤⑤; ③ 显示t,并保持显示1秒,然后清除显示; ④ 将t的值减1,跳转至步骤2。 ⑤ 倒计时结束。 说明自然语言描述算法的优缺点,引出用流程图来描述算法。 流程图是用图形表示算法的一种常用工具。用流程图描述的算法直观易读,问题解决的步骤清晰简洁,算法结构表达明确。 讲解流程图常用符号的作用。说明绘制流程图的方法。引导学生用流程图描述倒计时15秒的算法。 通过对上述流程图的分析,说明该流程是一种循环结构。引出算法有三种基本控制结构,分别是顺序、选择、循环结构。 顺序结构。每一步骤按先后次序被执行,即先处理S1,再处理后面的S2到Sn,如下图顺序结构所示。 选择结构,又称分支结构。根据条件是否成立,选择执行不同的分支,如下图选择结构所示,当条件C成立时(用True表示),执行处理S1;当条件不成立时(用False表示),执行处理S2。 循环结构。当条件成立时,反复执行S1,一旦条件不成立就立即结束循环,如下图循环结构所示。 说明除自然语言、流程图外,还可以用伪代码方式描述算法。用伪代码描述算法就是采用一种类似于程序设计语言的代码来表示算法。伪代码没有固定的、严格的语法规则,只要定义合理,没有矛盾即可。 展示倒计时15秒的伪代码描述,分析伪代码描述的优缺点。 最后总结说明算法的三种描述方法的特点及优缺点。 4、实践练习,巩固所学 请打开python软件,根据老师的讲解,模仿写出,计算1+2+…+100=?两种方法的计算程序,对比两种算法的差异。 1+2=3 3+3=6 6+4=10…+100=5050 (1+100)*50=5050 设计算法。选用一种描述方法对该算法进行描述,并解释其中使用到的算法控制结构的类型。 练习讲解,分析算法的设计和算法的结构,以及如何用不同的方式描述算法。打开mpython软件,切换到代码模式,输入以下代码,并运行,注意输入时的一些小问题。教师演示输入过程,并给学生强调容易出错的地方。 方法一: sum=0 i=1 while i<=100: sum=sum+i #缩进部分表示属于while循环的语句 i+=1 # print("n=", i) print("和=",sum) 方法二: print("方法二和=",(1+100)*50) 5、对比分析,感受算法效率 通过运行两种算法编写的程序,可以看到第一种算法计算次数100次,消耗系统资源大。先进的算法可以节省资源,提高效率 听讲,学习算法的概念。 阅读:分小组讨并分享思考交流 归纳总结、回答问题 相互讨论,分析问题解决过程。 。 听讲。 听讲。 上机练习。通过修改语句的位置、数值,体验程序的运行特点。 此处快速讲过,给学生说明算法不只用于解决数学问题。 讲述、总结提问方式让学生说出算法的特征。 通过项目式驱动,提出问题需求,引出本课的主题——算法的描述。分小组讨论自学展示效果。 教师依据学生特点,能引导的引导,需要讲述的讲述,逐步推进教学进度,使学生初步掌握算法的三种描述方法以及算法的三种基本控制结构的流程图画法,为后续实践提升部分做好准备 。 教师讲解演示程序输入过程,强化学生对算法思想的领会,使学生体会到算法并不抽象,实际上是我们从前解题步骤的总结。然后通过一连串问题的追问,由浅入深,由特殊到一般,培养学生体会发现、抽象、总结的能力。通过计算机演示,让学生感受算法研究的价值。 此处按照项目式活动的小组分配分别总结三种算法描述的特点及优缺点。 学生上机练习,根据前面的讲解,学生分别使用两种方法上机仿写调试程序。 教师讲解算法效率课 堂 小 结 本节课学习了算法描述方法中的自然语言、流程图和伪代码三种方法,了解了各自的特点,比较出了计算思维在解决逻辑关系问题时的优势。除了逻辑关系问题外,生活中还有很多问题都可以用计算思维来解决,希望同学们今后多尝试并习惯用计算思维来解决实际问题,做一名数字化时代的真正参与者。板 书 设 计 算法的概念及描述 概念:算法(algorithm)是指在解决问题时,按照某种机械的步骤一定可以得到问题的结果(有的问题有解,有的没有)的处理过程。算法就是解决这个问题的方法和步骤的描述。 特征:输入、确定性、有穷性、输出、可行性。 描述方法: 自然语言描述法 流程图描述法 伪代码描述法教 学反 思 本节课以生活实例为依托,通过带领学生探讨解决问题的步骤,从生活实际引向算法的概念。激发学生学习动力的同时,培养学生科学地解决问题的能力。本课采用以教师为主导学生为主体的原则,老师引导学生自主思考,小组探讨,理解算法的概念和特征。着重学习了流程图的组成部分,以及如何用流程图描述算法,通过课堂训练突破教学难点。课程中,学生自主思考,教师解答引导,组织课堂训练及完成学案习题,逐步完成课程教学目标。本课激发了学生对编程的兴趣,理解算法的概念和如何科学合理的选择和设计算法,为程序设计打下基础。同时培养学生选用恰当的描述方法和控制结构表示算法的能力,增强用算法解决问题的意识。即培养学科中核心素养的计算思维、信息意识。 展开更多...... 收起↑ 资源预览