1.示范教案(1.1.1 算法的概念)
第一章 算法初步
本章教材分析
算法是数学及其应用的重要组成部分,是计算科学的重要基础. 算法的应用是学习数学的一个重要方面. 学生学习算法的应用, 目的就是利用已有的数学知识分析问题和解决问题. 通过算法的学习, 对完善数学的思想,激发应用数学的意识, 培养分析问题、解决问题的能力,增强进行实践的能力等,都有很大的帮助.
本章主要内容:算法与程序框图、基本算法语句、算法案例和小结. 教材从学生最熟悉的算法入手,通过研究程序框图与算法案例,使算法得到充分的应用,同时也展现了古老算法和现代计算机技术的密切关系. 算法案例不仅展示了数学方法的严谨性、科学性,也为计算机的应用提供了广阔的空间. 让学生进一步受到数学思想方法的熏陶,激发学生的学习热情.
在算法初步这一章中让学生近距离接近社会生活,从生活中学习数学,使数学在社会生活中得到应用和提高,让学生体会到数学是有用的,从而培养学生的学习兴趣.“数学建模”也是高考考查重点.
本章还是数学思想方法的载体,学生在学习中会经常用到“算法思想” “转化思想”,从而提高自己数学能力. 因此应从三个方面把握本章: (1)知识间的联系; (2)数学思想方法;
(3)认知规律.
本章教学时间约需12课时,具体分配如下(仅供参考):
1.1 算法与程序框图 1.1.1 算法的概念
整体设计
教学分析
算法在中学数学课程中是一个新的概念,但没有一个精确化的定义,教科书只对它作了如下描述:“在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.”为了让学生更好理解这一概念,教科书先从分析一个具体的二元一次方程组的求解过程出发,归纳出了二元一次方程组的求解步骤,这些步骤就构成了解二元一次方程组的算法. 教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固. 三维目标
1. 正确理解算法的概念, 掌握算法的基本特点.
2. 通过例题教学,使学生体会设计算法的基本思路.
3. 通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣. 重点难点
教学重点:算法的含义及应用. 教学难点:写出解决一类问题的算法.
课时安排 1课时
教学过程
导入新课
思路1(情境导入)
一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊. 该人如何将动物转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容——算法. 思路2(情境导入)
大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?
答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上. 上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念. 思路3(直接导入)
算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础. 在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具. 听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始. 推进新课 新知探究
提出问题
(1)解二元一次方程组有几种方法? (2)结合教材实例⎨
⎧x -2y =-1, (1) ⎩2x +y =1, (2)
总结用加减消元法解二元一次方程组的步骤.
⎧x -2y =-1, (1)
(3)结合教材实例⎨总结用代入消元法解二元一次方程组的步骤.
2x +y =1, (2) ⎩
(4)请写出解一般二元一次方程组的步骤.
(5)根据上述实例谈谈你对算法的理解. (6)请同学们总结算法的特征. (7)请思考我们学习算法的意义. 讨论结果:
(1)代入消元法和加减消元法. (2)回顾二元一次方程组
⎧x -2y =-1, (1)
的求解过程,我们可以归纳出以下步骤: ⎨
⎩2x +y =1, (2)
第一步,①+②×2,得5x=1.③ 第二步,解③,得x=
1535
.
第三步,②-①×2,得5y=3.④ 第四步,解④,得y=
.
1⎧x =, ⎪⎪5
第五步,得到方程组的解为⎨
⎪y =3. ⎪5⎩
(3)用代入消元法解二元一次方程组
⎧x -2y =-1, (1)
我们可以归纳出以下步骤: ⎨
2x +y =1, (2) ⎩
第一步,由①得x=2y-1. ③
第二步,把③代入②,得2(2y-1)+y=1.④ 第三步,解④得y=
35
. ⑤
3
15
第四步,把⑤代入③,得-1=
5
.
1⎧
x =, ⎪⎪5
第五步,得到方程组的解为⎨
⎪y =3. ⎪5⎩
⎧a 1x +b 1y =c 1, (1)
(4)对于一般的二元一次方程组⎨
a x +b y =c , (2) 22⎩2
其中a 1b 2-a 2b 1≠0,可以写出类似的求解步骤:
第一步,①×b 2-②×b 1,得 (a 1b 2-a 2b 1)x=b2c 1-b 1c 2. ③ 第二步,解③,得x=
b 2c 1-b 1c 2a 1b 2-a 2b 1
.
第三步,②×a 1-①×a 2,得(a 1b 2-a 2b 1)y=a1c 2-a 2c 1. ④ 第四步,解④,得y=
a 1c 2-a 2c 1a 1b 2-a 2b 1
.
b 2c 1-b 1c 2⎧
x =, ⎪a 1b 2-a 2b 1⎪
第五步,得到方程组的解为⎨
⎪y =a 1c 2-a 2c 1. ⎪a 1b 2-a 2b 1⎩
(5)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.
在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.
现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
(6)算法的特征:①确定性:算法的每一步都应当做到准确无误、不重不漏.“不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务. ②逻辑性:算法从
开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提, “后一步”是“前一步”的继续. ③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行. (7)在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法. 也就是说,算法实际上就是解决问题的一种程序性方法. 算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果. 因此算法是计算科学的重要基础. 应用示例
思路1
例1 (1)设计一个算法,判断7是否为质数. (2)设计一个算法,判断35是否为质数.
算法分析:(1)根据质数的定义,可以这样判断:依次用2—6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数. 算法如下:(1)第一步,用2除7,得到余数1. 因为余数不为0,所以2不能整除7. 第二步,用3除7,得到余数1. 因为余数不为0,所以3不能整除7. 第三步,用4除7,得到余数3. 因为余数不为0,所以4不能整除7.
第四步,用5除7,得到余数2. 因为余数不为0,所以5不能整除7.
第五步,用6除7,得到余数1. 因为余数不为0,所以6不能整除7. 因此,7是质数.
(2)类似地,可写出“判断35是否为质数”的算法:第一步,用2除35,得到余数1. 因为余数不为0,所以2不能整除35.
第二步,用3除35,得到余数2. 因为余数不为0,所以3不能整除35.
第三步,用4除35,得到余数3. 因为余数不为0,所以4不能整除35.
第四步,用5除35,得到余数0. 因为余数为0,所以5能整除35. 因此,35不是质数.
点评:上述算法有很大的局限性,用上述算法判断35是否为质数还可以,如果判断1997是否为质数就麻烦了,因此,我们需要寻找普适性的算法步骤. 变式训练
请写出判断n(n>2)是否为质数的算法.
分析:对于任意的整数n(n>2),若用i 表示2—(n-1)中的任意整数,则“判断n 是否为质数”的算法包含下面的重复操作:用i 除n, 得到余数r. 判断余数r 是否为0,若是,则不是质数;否则,将i 的值增加1,再执行同样的操作. 这个操作一直要进行到i 的值等于(n-1)为止. 算法如下:第一步,给定大于2的整数n. 第二步,令i=2.
第三步,用i 除n, 得到余数r.
第四步,判断“r=0”是否成立. 若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍用i 表示.
第五步,判断“i>(n-1)”是否成立. 若是,则n 是质数,结束算法;否则,返回第三步. 例2 写出用“二分法”求方程x -2=0 (x>0)的近似解的算法.
分析:令f(x)=x2-2, 则方程x 2-2=0 (x>0)的解就是函数f(x)的零点.
“二分法”的基本思想是:把函数f(x)的零点所在的区间[a,b ](满足f(a)·f(b)
2
第二步,确定区间[a,b ],满足f(a)·f(b)
a b 2
.
第四步,若f(a)·f(m)
第五步,判断[a,b ]的长度是否小于d 或f(m)是否等于0. 若是,则m 是方程的近似解;否则,返回第三步.
当d=0.005时,按照以上算法,可以得到下表.
近似解. 实际上,上述步骤也是求2的近似值的一个算法.
点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为“数学机械化”.数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法. 如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续……
思路2
例1 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量就会吃羚羊. 该人如何将动物转移过河?请设计算法.
分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势.
解:具体算法如下: 算法步骤:
第一步:人带两只狼过河,并自己返回. 第二步:人带一只狼过河,自己返回.
第三步:人带两只羚羊过河,并带两只狼返回. 第四步:人带一只羊过河,自己返回.
第五步:人带两只狼过河.
点评:算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的. 这就要求我们在写算法时应精练、简练、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性. 本题型解决问题的算法中某些步骤重复进行多次才能解决,在现实生活中,很多较复杂的情境经常遇到这样的问题,设计算法的时候,如果能够合适地利用
某些步骤的重复,不但可以使得问题变得简单,而且可以提高工作效率.
例2 喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.问:如何安排这几个步骤?并给出两种算法,再加以比较. 分析:本例主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题. 解:算法一: 第一步,洗刷水壶. 第二步,烧水. 第三步,洗刷茶具. 第四步,沏茶. 算法二:
第一步,洗刷水壶.
第二步,烧水,烧水的过程当中洗刷茶具.
第三步,沏茶. 点评:解决一个问题可有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.上面的两种算法都符合题意,但是算法二运用了统筹方法的原理,因此这个算法要比算法一更科学.
例3 写出通过尺轨作图确定线段AB 一个5等分点的算法.
分析:我们借助于平行线定理,把位置的比例关系变成已知的比例关系,只要按照规则一步一步去做就能完成任务.
解:算法分析:
第一步,从已知线段的左端点A 出发,任意作一条与AB 不平行的射线AP . 第二步,在射线上任取一个不同于端点A 的点C ,得到线段AC. 第三步,在射线上沿AC 的方向截取线段CE=AC. 第四步,在射线上沿AC 的方向截取线段EF=AC. 第五步,在射线上沿AC 的方向截取线段FG=AC.
第六步,在射线上沿AC 的方向截取线段GD=AC,那么线段AD=5AC. 第七步,连结DB.
第八步,过C 作BD 的平行线,交线段AB 于M ,这样点M 就是线段AB 的一个5等分点. 点评:用算法解决几何问题能很好地训练学生的思维能力,并能帮助我们得到解决几何问题的一般方法,可谓一举多得,应多加训练.
知能训练
设计算法判断一元二次方程ax 2+bx+c=0是否有实数根. 解:算法步骤如下:
第一步,输入一元二次方程的系数:a ,b ,c.
第二步,计算Δ=b2-4ac 的值.
第三步,判断Δ≥0是否成立. 若Δ≥0成立,输出“方程有实根”;否则输出“方程无实根”,结束算法.
点评:用算法解决问题的特点是:具有很好的程序性,是一种通法. 并且具有确定性、逻辑性、有穷性. 让我们结合例题仔细体会算法的特点.
拓展提升
中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算. 设通话时间为t (分钟),通话费用y (元),如何设计一个程序,计算通话的费用. 解:算法分析:
数学模型实际上为:y 关于t 的分段函数. 关系式如下:
⎧0. 22, (0
y=⎨0. 22+0. 1(t -3), (t >3, t ∈Z ), ⎪0. 22+0. 1([T -3]+1), (T >3, t ∉Z ). ⎩
其中[t -3]表示取不大于t -3的整数部分. 算法步骤如下:
第一步,输入通话时间t.
第二步,如果t≤3,那么y=0.22;否则判断t ∈Z 是否成立,若成立执行 y=0.2+0.1×(t-3) ;否则执行y=0.2+0.1×([t -3]+1). 第三步,输出通话费用c. 课堂小结
(1)正确理解算法这一概念.
(2)结合例题掌握算法的特点,能够写出常见问题的算法. 作业
课本本节练习1、2.
设计感想
本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习. 算法是本章的重点也是本章的基础,是一个较难理解的概念. 为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练. 本节的事例有古老的经典算法,有几何算法等,因此这是一节很好的课例.