第1章第二节 算法和算法描述
一、教学目标:
(1)、知识与技能目标:
①、了解算法的基本概念和特点;
②、掌握算法的描述方法;能用自然语言、流程图、伪代码描述算法;
(2)、过程与方法目标:
通过分析实际生活中的问题,理解和熟悉自然语言、流程图和伪代码等清晰描述解决问题的过程,确立算法的概念; 21世纪教育网版权所有
(3)、情感态度价值观目标:
①、通过对生活中具体实例的分析和解决,激发学生的学习兴趣。培养学生的自主探究能力;
②、通过算法描述,锻炼学生自行分析问题及解决问题的能力,培养学生严谨的思维习惯;
③、增强学生的逻辑思维能力和表现意识,鼓励学生分享思想和反思自我的学习理念。
二、内容分析:
本课是高二第一章的内容,也是整个《算法与程序设计》模块的基础知识,本节内容对后续章节的学习起着十分重要的作用,让学生从整体上计算机解决实际问题的过程;因本节内容在高一数学模块三第一章中学生已有初步接触,比较简单,教师可根据具体情况有所深入地进行授课。 21教育网
本节课是一堂理论性的课,又缺乏理论的深度,如果只由教师讲解就会显得比较枯燥,因此本堂课的设计思路是从具体的案例入手,引导学生进行思考、讨论,最后得出基本的结论,形成一定的概念,达到理解和应用的目的。教师的主要任务在于积极引导,调动学生的积极性。
三、教学过程
教学阶段
教师活动
学生活动
设计意图
一、引入
1、出示渡河游戏,要求学生给出解决的办法。
2、怎样在全班同学中找出最高的同学?
积极参与,发表观点,说出解决的办法。
运用学生感兴趣的事物,激发学生的学习兴趣。
二、新课讲解
(一)算法的概念
通过总结两个实例的算法分析过程,引出算法的概念。
观看课件,与教师探讨算法的意义。
引导学生将感性认识提升为理性认知。
(二)算法的特征
展示高一数学模块三第一章的三个例题,找出算法还具有两个特点:一个算法有0或多个输入、1或多个输出。
继续总结渡河游戏,得出算法具有有穷性、确定性和可行性。
思考和分析范例,领会算法的特征。
?
回顾实例,寻找规律,共同总结。
调动学生对生活的认识和体会,融入对算法的学习和理解。
(三)算法的表示——自然语言
利用渡河实例,细致分析算法,介绍自然语言描述算法设计。
领会算法设计的过程:提出问题、分析问题、设计算法。
提出问题:“求三个数中值最大的数。”——分析问题——用自然语言描述出算法。
分步骤讨论和分析,会运用自然语言设计实例的算法。
对实例进行初步算法设计,自然语言易于理解,为后续其他抽象描述方法作铺垫。
(四)算法的表示——流程图
总结自然语言的优缺点,引出流程图的表示方法,介绍流程图的基本结构,分析其逻辑关系的表示。
提出问题:“求三个数中值最大的数。”——分析问题——用伪代码描述出算法。
积极探索、分析,运用流程图描述该问题的算法。
对比学习,加深对各类算法设计描述方法的认识,培养学生设计算法的能力。
?
(四)算法的表示——伪代码
通过分析流程图不易被转换为计算机语言,并且表示复杂的问题时较麻烦,对比引出伪代码。
介绍伪代码对算法的描述方法,针对赋值指令、循环指令、条件指令和输入、输出指令以及关系运算符和逻辑运算符讲解一般格式。
提出问题:“求三个数中值最大的数。”用伪代码描述出算法。
观看课件,积极参与分析,结合已学程序设计的三种结构,体会伪代码的基本指令。
积极分析指令语句含义。
引导学生掌握伪代码中的指令语言,以自然语言描述实例为基础,进一步运用伪代码描述,提高学生对算法的理解。
三、归纳总结
总结算法的概念和特征,以及算法设计的表示。
回忆,记录
总结本课学习内容,梳理学生应掌握的知识。
四、课后延伸
回顾高一数学模块三中介绍求两个正整数的最大公约数的两种经典方法:“更相减损术”和“辗转相除法”,同时给出两组数据分别求他们的最大公约数:(12,16)、(2678945、465)。分组讨论,展示各组设计方案。
同种描述算法的方法对比,分析各组设计出的算法是否最佳。
互相讨论、积极探究,分组以两种不同的算法求两组数据的最大公约数,并进行总结反思。发现对于第二组数据,“辗转相除法”算法的效率明显高于“更相减损术”。
让学生发现解决同一个问题的算法不是唯一的,选择不同的算法编写的程序,计算机运行的效率会有很大的差异。从而让学生体会到算法的设计在应用计算机解决问题的过程中的重要作用。