- 102.00 KB
- 2021-06-12 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
第一章 算法初步
本章教材分析
算法是数学及其应用的重要组成部分,是计算科学的重要基础.算法的应用是学习数学
的一个重要方面.学生学习算法的应用,目的就是利用已有的数学知识分析问题和解决问题.
通过算法的学习,对完善数学的思想,激发应用数学的意识,培养分析问题、解决问题的能力,
增强进行实践的能力等,都有很大的帮助.
本章主要内容:算法与程序框图、基本算法语句、算法案例和小结.教材从学生最熟悉
的算法入手,通过研究程序框图与算法案例,使算法得到充分的应用,同时也展现了古老算
法和现代计算机技术的密切关系.算法案例不仅展示了数学方法的严谨性、科学性,也为计
算机的应用提供了广阔的空间.让学生进一步受到数学思想方法的熏陶,激发学生的学习热
情.
在算法初步这一章中让学生近距离接近社会生活,从生活中学习数学,使数学在社会生
活中得到应用和提高,让学生体会到数学是有用的,从而培养学生的学习兴趣.“数学建模”
也是高考考查重点.
本章还是数学思想方法的载体,学生在学习中会经常用到“算法思想” “转化思想”,从而
提高自己数学能力.因此应从三个方面把握本章:
(1)知识间的联系;
(2)数学思想方法;
(3)认知规律.
本章教学时间约需 12 课时,具体分配如下(仅供参考):
1.1.1 算法的概念 约 1 课时
1.1.2 程序框图与算法的基本逻辑结构 约 4 课时
1.2.1 输入语句、输出语句和赋值语句 约 1 课时
1.2.2 条件语句 约 1 课时
1.2.3 循环语句 约 1 课时
1.3 算法案例 约 3 课时
本章复习 约 1 课时
§1.1 算法与程序框图
§1.1.1 算法的概念
一、教材分析
算法在中学数学课程中是一个新的概念,但没有一个精确化的定义,教科书只对它作了
如下描述:“在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.”为
了让学生更好理解这一概念,教科书先从分析一个具体的二元一次方程组的求解过程出发,
归纳出了二元一次方程组的求解步骤,这些步骤就构成了解二元一次方程组的算法.教学中,
应从学生非常熟悉的例子引出算法,再通过例题加以巩固.
二、教学目标
1、 知识与技能:
(1)了解算法的含义,体会算法的思想。
(2)能够用自然语言叙述算法。
(3)掌握正确的算法应满足的要求。
(4)会写出解线性方程(组)的算法。
(5)会写出一个求有限整数序列中的最大值的算法。
(6)会应用 Scilab 求解方程组。
2、 过程与方法:
通过求解二元一次方程组,体会解方程的一般性步骤,从而得到一个解二元一次方程组
的步骤,这些步骤就是算法,不同的问题有不同的算法。由于思考问题的角度不同,同一个
问题也可能有多个算法,能模仿求解二元一次方程组的步骤,写出一个求有限整数序列中的
最大值的算法。
3、 情感态度与价值观:
通过本节的学习,使我们对计算机的算法语言有一个基本的了解,明确算法的要求,认
识到计算机是人类征服自然的一各有力工具,进一步提高探索、认识世界的能力。
三、重点难点
教学重点:算法的含义及应用.
教学难点:写出解决一类问题的算法.
四、课时安排
1 课时
五、教学设计
(一)导入新课
思路 1(情境导入)
一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有
人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊.该人如何将动物转移过河?请
同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容——算法.
思路 2(情境导入)
大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分
几步?
答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.
上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念.
思路 3(直接导入)
算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础.在现代社会里,
计算机已成为人们日常生活和工作中不可缺少的工具.听音乐、看电影、玩游戏、打字、画
卡通画、处理数据,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.
(二)推进新课、新知探究、提出问题
(1)解二元一次方程组有几种方法?
(2)结合教材实例
)2(,12
)1(,12
yx
yx 总结用加减消元法解二元一次方程组的步骤.
(3)结合教材实例
)2(,12
)1(,12
yx
yx 总结用代入消元法解二元一次方程组的步骤.
(4)请写出解一般二元一次方程组的步骤.
(5)根据上述实例谈谈你对算法的理解.
(6)请同学们总结算法的特征.
(7)请思考我们学习算法的意义.
讨论结果:
(1)代入消元法和加减消元法.
(2)回顾二元一次方程组
)2(,12
)1(,12
yx
yx 的求解过程,我们可以归纳出以下步骤:
第一步,①+②×2,得 5x=1.③
第二步,解③,得 x=
5
1 .
第三步,②-①×2,得 5y=3.④
第四步,解④,得 y=
5
3 .
第五步,得到方程组的解为
.5
3
,5
1
y
x
(3)用代入消元法解二元一次方程组
)2(,12
)1(,12
yx
yx 我们可以归纳出以下步骤:
第一步,由①得 x=2y-1.③
第二步,把③代入②,得 2(2y-1)+y=1.④
第三步,解④得 y=
5
3 .⑤
第四步,把⑤代入③,得 x=2×
5
3 -1=
5
1 .
第五步,得到方程组的解为
.5
3
,5
1
y
x
(4)对于一般的二元一次方程组
)2(,
)1(,
222
111
cybxa
cybxa
其中 a1b2-a2b1≠0,可以写出类似的求解步骤:
第一步,①×b2-②×b1,得
(a1b2-a2b1)x=b2c1-b1c2.③
第二步,解③,得 x=
1221
2112
baba
cbcb
.
第三步,②×a1-①×a2,得(a1b2-a2b1)y=a1c2-a2c1.④
第四步,解④,得 y=
1221
1221
baba
caca
.
第五步,得到方程组的解为
.
,
1221
1221
1221
2112
baba
cacay
baba
cbcbx
(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 写出用“二分法”求方程 x2-2=0 (x>0)的近似解的算法.
分析:令 f(x)=x2-2,则方程 x2-2=0 (x>0)的解就是函数 f(x)的零点.
“二分法”的基本思想是:把函数 f(x)的零点所在的区间[a,b](满足 f(a)·f(b)<0)“一分
为二”,得到[a,m]和[m,b].根据“f(a)·f(m)<0”是否成立,取出零点所在的区间[a,m]或
[m,b],仍记为[a,b].对所得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b]“足
够小”,则[a,b]内的数可以作为方程的近似解.
解:第一步,令 f(x)=x2-2,给定精确度 d.
第二步,确定区间[a,b],满足 f(a)·f(b)<0.
第三步,取区间中点 m=
2
ba .
第四步,若 f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得
到的含零点的区间仍记为[a,b].
第五步,判断[a,b]的长度是否小于 d 或 f(m)是否等于 0.若是,则 m 是方程的近似解;
否则,返回第三步.
当 d=0.005 时,按照以上算法,可以得到下表.
a b |a-b|
1 2 1
1 1.5 0.5
1.25 1.5 0.25
1.375 1.5 0.125
1.375 1.437 5 0.062 5
1.406 25 1.437 5 0.031 25
1.406 25 1.421 875 0.015 625
1.414 062 5 1.421 875 0.007 812 5
1.414 062 5 1.417 968 75 0.003 906 25
于是,开区间(1.414 062 5,1.417 968 75)中的实数都是当精确度为 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 等分点.
点评:用算法解决几何问题能很好地训练学生的思维能力,并能帮助我们得到解决几何
问题的一般方法,可谓一举多得,应多加训练.
(四)知能训练
设计算法判断一元二次方程 ax2+bx+c=0 是否有实数根.
解:算法步骤如下:
第一步,输入一元二次方程的系数:a,b,c.
第二步,计算Δ=b2-4ac 的值.
第三步,判断Δ≥0 是否成立.若Δ≥0 成立,输出“方程有实根”;否则输出“方程无实根”,结束
算法.
点评:用算法解决问题的特点是:具有很好的程序性,是一种通法.并且具有确定性、
逻辑性、有穷性.让我们结合例题仔细体会算法的特点.
(五)拓展提升
中国网通规定:拨打市内电话时,如果不超过 3 分钟,则收取话费 0.22 元;如果通话
时间超过 3 分钟,则超出部分按每分钟 0.1 元收取通话费,不足一分钟按一分钟计算.设通话
时间为 t(分钟),通话费用 y(元),如何设计一个程序,计算通话的费用.
解:算法分析:
数学模型实际上为:y 关于 t 的分段函数.
关系式如下:
y=
).,3(),1]3([1.022.0
),,3(),3(1.022.0
),30(,22.0
ZtTT
Zttt
t
其中[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.
相关文档
- 2019高三数学(北师大版理科)一轮:课时2021-06-125页
- 【数学】2020届一轮复习北师大版统2021-06-128页
- 高中数学《1_2_1函数的概念》课外2021-06-123页
- 天津耀华中学2019-2020学年高一上2021-06-1213页
- 2019学年高一数学上学期期中试题 2021-06-1211页
- 人教版高三数学总复习第六章单元质2021-06-1211页
- 2020学年高二数学下学期期末考试试2021-06-128页
- 黑龙江省哈尔滨市阿城区龙涤中学202021-06-1214页
- 【数学】江西省赣州市南康中学20192021-06-128页
- 山东专用2021版高考数学一轮复习第2021-06-1242页