第1章 1.1.1 算法的概念 学案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章算法初步
§1.1算法与程序框图
1.1.1算法的概念
【明目标、知重点】
1.通过解二元一次方程组的方法,体会算法的基本思想.
2.了解算法的含义和特征.
3.会用自然语言表述简单的算法.
【填要点、记疑点】
1.算法的概念
12世纪的
是指用阿拉伯数字进行算术运算的过程
算法
数学中的
算法通常是指按照一定规则解决某一类问题的明确和有限的步骤现代算法通常可以编成计算机程序,让计算机执行并解决问题
2.算法与计算机
计算机解决任何问题都要依赖于算法,只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.【探要点、究所然】
[情境导学]赵本山和宋丹丹的小品《钟点工》中有这样一个问题:宋丹丹:要把大象装入冰箱,总共分几步?哈哈哈哈,三步.第一步,把冰箱门打开;第二步,把大象装进去;第三步,把冰箱门带上.
探究点一算法的概念
思考1一个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们三人都会划船,但都不会游泳.试问他们怎样渡过河去?请写出一个渡河方案.答第一步,两个小孩同船过河去;
第二步,一个小孩划船回来;
第三步,一个大人划船过河去;
第四步,对岸的小孩划船回来;
第五步,两个小孩同船渡过河去.
小结 广义地说,算法就是做某一件事的步骤或程序.菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法.在数学中,主要研究计算机能实现的算法,即按照某种步骤一定可以得到结果的解决问题的程序.
思考2 在初中,对于解二元一次方程组你学过哪些方法?解二元一次方程组
⎩⎪⎨⎪⎧
x -2y =-1 ①2x +y =1 ②的具体步骤是什么? 答 解二元一次方程组有加减消元法和代入消元法.
解方程组的步骤:
方法一 第一步,②-①×2得5y =3.③
第二步,解③得y =35
. 第三步,将y =35代入①,得x =15
. 第四步,得方程组的解为⎩⎨⎧
x =15,y =35.
方法二 第一步,①+②×2,得5x =1.③ 第二步,解③,得x =15. 第三步,②-①×2,得5y =3.④
第四步,解④,得y =35
. 第五步,得方程组的解为⎩⎨⎧ x =15,
y =35.
思考3 写出求方程组⎩⎪⎨⎪⎧
A 1x +
B 1y +
C 1=0 ①A 2x +B 2y +C 2=0 ②(A 1B 2-B 1A 2≠0)的解的算法. 答 第一步,②×A 1-①×A 2,得(A 1B 2-A 2B 1)y +A 1C 2-A 2C 1=0.③
第二步,解③,得y =A 2C 1-A 1C 2A 1B 2-A 2B 1
. 第三步,将y =A 2C 1-A 1C 2A 1B 2-A 2B 1代入①,得x =-B 2C 1+B 1C 2A 1B 2-A 2B 1
. 第四步,得方程组的解为⎩⎪⎨⎪⎧ x =-B 2C 1+B 1C 2A 1B 2-A 2B 1,
y =A 2C 1-A 1
C 2A 1B 2-A 2B 1.
思考4 由思考3我们得到了二元一次方程组的求解公式,利用此公式可得到思考2的另一
个算法,请写出此算法.
答 第一步,取A 1=1,B 1=-2,C 1=1,A 2=2,B 2=1,C 2=-1.
第二步,计算x =-B 2C 1+B 1C 2A 1B 2-A 2B 1与y =A 2C 1-A 1C 2A 1B 2-A 2B 1
. 第三步,输出运算结果.
小结 根据上述分析,用加减消元法解二元一次方程组,可以分为三、四或五个步骤进行,这些步骤就构成了解二元一次方程组的一个“算法”.在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.从以上思考中我们看到某一个问题的算法不唯一.
探究点二 算法的步骤设计
例1 设计一个算法,判断7是否为质数.
思考1 质数是怎样定义的?
答 只能被1和本身整除的大于1的整数叫质数.
思考2 根据质数的定义,怎样判断7是否为质数?
答 可以这样判断:依次用2~6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数.
解 第一步,用2除7,得到余数1,所以2不能整除7.
第二步,用3除7,得到余数1,所以3不能整除7.
第三步,用4除7,得到余数3,所以4不能整除7.
第四步,用5除7,得到余数2,所以5不能整除7.
第五步,用6除7,得到余数1,所以6不能整除7.
因此,7是质数.
反思与感悟 设计一个具体问题的算法,通常按以下步骤:
(1)认真分析问题,找出解决此题的一般数学方法;
(2)借助有关变量或参数对算法加以表述;
(3)将解决问题的过程划分为若干步骤;
(4)用简练的语言将这个步骤表示出来.
跟踪训练1 设计一个算法,判断35是否为质数.
解 第一步,用2除35,得到余数1,所以2不能整除35.
第二步,用3除35,得到余数2,所以3不能整除35.
第三步,用4除35,得到余数3,所以4不能整除35.
第四步,用5除35,得到余数0,所以5能整除35.
因此,35不是质数.
思考3 要判断整数89是否为质数,按照例1的思路需用2~88逐一去除89求余数,需要
87个步骤,这些步骤基本是重复操作,如何改进这个算法,减少算法的步骤呢? 答 (1)用i 表示2~88中的任意一个整数,并从2开始取数;
(2)用i 除89,得到余数r .若r =0,则89不是质数;若r ≠0,将i 的值增加1,再执行同样的操作;
(3)这个操作一直进行到i 取88为止.
思考4 判断一个大于2的整数是否为质数的算法步骤如何设计?
答 第一步,给定一个大于2的整数n .
第二步,令i =2.
第三步,用i 除n ,得到余数r .
第四步,判断“r =0”是否成立.若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍用i 表示.
第五步,判断“i >n -1”是否成立.若是,则n 是质数,结束算法;否则,返回第三步. 例2 写出用“二分法”求方程x 2-2=0(x >0)的近似解的算法.
解 第一步,令f (x )=x 2-2,给定精确度d .
第二步,确定区间[a ,b ],满足f (a )f (b )<0.
第三步,取区间中点m =a +b 2
. 第四步,若f (a )f (m )<0,则含零点的区间为[a ,m ];否则,含零点的区间为[m ,b ].将新得到的含零点的区间仍记为[a ,b ].
第五步,判断[a ,b ]的长度是否小于d 或f (m )是否等于0.若是,则m 是方程的近似解;否则,返回第三步.
反思与感悟 算法的特点:(1)有穷性:一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束.
(2)确定性:算法的计算规则及相应的计算步骤必须是确定的.
(3)可行性:算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确定的结果.
跟踪训练2 求2的近似值,精确度0.05.
解 第一步,确定区间[a ,b ],因2>1,2<2,设a =1,b =2.
第二步,m =a +b 2
,判断m 是否等于2,若相等,则m 为所求,否则执行第三步. 第三步,若m >2,则令b =m ,若m <2,则令a =m .
第四步,重复第二、第三步,直到|a -b |<0.05或m =2时结束算法.
【当堂测、查疑缺】