内容正文:
第1节 算法(第1课时)
【教学目标】
1. 知识与技能
(1) 了解算法的基本概念和算法在程序设计中的重要性。
(2) 学会用自然语言、流程图描述算法。
2. 过程与方法
(1) 用多种算法解决同一问题,体验算法具有优劣之分。
(2) 通过多种途径描述算法,体验较优的流程图描述方法。
(3)在解决实际问题的过程中能有意识地设计与筛选算法,优化问题解决的方案。
3. 情感态度与价值观
(1) 通过对问题的算法分析与表达,使学生感悟到生活中处处有算法,算法并不神秘,提高学生学习的信心与兴趣。
(2) 通过对算法的研究培养分析问题和解决问题的能力。
【教学重点】
(1)算法在程序设计中的重要性;(2)用自然语言和流程图描述算法。
【教学难点】
(1)用流程图描述算法;(2)将实际问题抽象成计算机解决问题的算法。
【教学方法】
讲演、讨论学习、自主探究。
【教学过程】
教学环节
教师活动
学生活动
设计意图
一、导入
引言:都说算法是一个程序或软件的灵魂,那么,什么是算法,又为什么它会如此重要呢?进而怎么表达算法?接下来,我希望同学们能够带着这些疑问一起进入本课的学习。
明确本课任务
开门见山,直奔主题。
二、新授
(1) 算法的概念
1、案例1:“烧水泡茶”
著名数学家华罗庚对“烧水泡茶”问题提出4项工作,即烧水、洗刷茶具、拿茶叶、沏茶。
思考:你会如何泡茶?请描述你的方法?
你的方法和步骤:
2、ppt呈现“我的方法和步骤”
3、师:我们大家所呈现出来的就是为解决“烧水泡茶”这个问题的思路和方法,并写出了解决问题的步骤,这就是所谓的“算法”。
知识点:
① 算法——简单地说,算法就是解决问题的方法和步骤。
4、 师生比较不同的算法,得出较优化的算法,请学生说说为什么觉得其较为优化呢?
(参考:省时、效率高,统筹利用了时间)
5、师:生活中我们要思考较好的算法,在编写程序时同样我们要探寻较优的算法。
6、探究问题1
试设计多种算法解决下面问题(用自然语言描述),并比较不同算法的优劣。
(1) 求1-2+3-4+5-6+……+99-100的值。
你的算法:
ppt呈现“我的算法”,并比较大家的算法,看谁的算法更简便更好操作。
知识点:
② 算法的优劣直接影响所编程序的质量,算法是程序的灵魂。
(2) 算法的描述
1、师:对于前面问题的算法我们都是用自然语言来描述的。用自然语言描述算法有其独特的优势,如容易理解,但有时也会产生歧义,比如:
案例2:“将a加b除以a减b的值赋给x 变量”
你的赋值语句:
师:我们发现,同样的自然语言描述,有多种不同的理解,而该题的本意是“x=(a+b)/(a-b)”。如果我这样来描述该题是否就清晰许多了呢?
ppt呈现“我的描述:”
师:而我运用的描述方法就是“流程图”。
知识点:
① 流程图——用图形符号来描述解决问题的过程。
②
2、读一读:
(1)
说明该流程图描述的算法及功能。
(2)
指出此流程图的运行结果.
若输入-4,则输出结果________。
师:如上所示,这样的一些复杂问题,用流程图来描述确实要比用自然语言描述直观、清晰多了。同时,大家或许也注意到了,流程图中有着多种不同的图形,而它们的含义也是不一样的,并且针对不同的问题,流程图的结构也会有所不同,带着这些疑惑,我们来看两张表格。
知识点:
③ 流程图各个图形符号所代表的含义,如下表所示:
④ 流程图中的3个基本结构——顺序结构、分支结构、循环结构
注:描述算法的流程图,通常由顺序、分支和循环3个基本结构的流程图组合和嵌套组成。
3、师:讲了这么多,但在面对具体问题的时候,想要一下子将自己的心中所想直接用流程图描述出来,大家似乎还有许多困难,不过没关系,其实我们一开始可以选择一些相对简单的问题,先借助自然语言描述,然后再绘制流程图,适应一段时间后,就OK了。接下来,我们通过一个具体案例来实践一下。
4、案例3:输入一个数,判断此数是正数,负数还是零。
(内容详见课本P97“实践学习”)
(1)设计算法
① 将输入的数存入n。
② 判断是否n=0,若成立就显示“零”并结束程序。
③ 否则再判断是否n>0,若成立就显示“正”并结束程序。
④ 否则就显示“负”并结束程序。
(2) 绘制流程图(用笔仿照绘制)
小贴士:
算法应具备的五个重要特征:
◆ 有穷性
一个算法必须保证执行有限步之后结束。
◆ 确定性
算法中的每一个步骤必须有确切的定义,不允许存在二义性。
◆ 可行性
算法中所描述的每一个步骤都应能有效地执行,并最终能得到确定的结果。
◆ 输入
一个算法有0个或多个输入。
◆ 输出
一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的。
联系生活,口头表述。
阅读老师的描