2、 探索研究。
算法(algorithm)一词源于算术(algorism),即算术方法,是指一个由已知推求未知的运算过程。后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法。
广义地说,算法就是做某一件事的步骤或程序。菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。
比如解方程的算法、函数求值的算法、作图的算法,等等。
3、 例题分析:
例1 任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定。
算法分析:根据质数的定义,很容易设计出下面的步骤:
第一步:判断n是否等于2,若n=2,则n是质数;若n>2,则执行第二步。
第二步:依次从2至(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数。
这是判断一个大于1的整数n是否为质数的最基本算法。
例2 用二分法设计一个求议程x2–2=0的近似根的算法。
算法分析:回顾二分法解方程的过程,并假设所求近似根与准确解的差的绝对值不超过0.005,则不难设计出以下步骤:
第一步:令f(x)=x2–2。因为f(1)<0,f(2)>0,所以设x1=1,x2=2。
第二步:令m=(x1+x2)/2,判断f(m)是否为0,若则,则m为所长;若否,则继续判断f(x1)·f(m)大于0还是小于0。
第三步:若f(x1)·f(m)>0,则令x1=m;否则,令x2=m。
第四步:判断|x1–x2|<0.005是否成立?若是,则x1、x2之间的任意取值均为满足条件的近似根;若否,则返回第二步。
小结:算法具有以下特性:(1)有穷性;(2)确定性;(3)顺序性;(4)不惟一性;(5)普遍性。
典例剖析:1、基本概念题。
x-2y=-1,①
例3 写出解二元一次方程组的算法。
2x+y=1②
解:第一步,②-2得5y=3;③
第二步,解③得y=3/5;
第三步,将y=3/5代入①,得x=1/5
学生做一做:对于一般的二元一次方程组来说,上述步骤应该怎样进一步完善?
老师评一评:本题的算法是由加减消元法求解的,这个算法也适合一般的二元一次方程组的解法。下面写出求方程组的解的算法:
第一步:②×a1-①×a2,得(a1b2-a2b1)y+a1c2-a2c1=0;③
第二步:解③,得;
第三步:将代入①,得。
此时我们得到了二元一次方程组的求解公式,利用此公司可得到倒2的另一个算法:
第一步:取a1=1,b1=-2,c1=1,a2=2,b2=1,c2=-1;
第二步:计算与。
第三步:输出运算结果。
可见利用上述算法,更加有利于上机执行与操作。
基础知识应用题。
例4 写出一个求有限整数列中的最大值的算法。
解:算法如下。
s1 先假定序列中的第一个整数为“最大值”。
s2 将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值”,这时你就假定“最大值”是这个整数。
s3 如果序列中还有其他整数,重复s2。
s4 在序列中一直到没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值。
学生做一做写出对任意3个整数a,b,c求出最大值的算法。
老师评一评在例2中我们是用自然语言来描述算法的,下面我们用数学语言来描述本题的算法。
s1 max=a
s2 如果b>max, 则max=b.
s3 如果c>max, 则max=c.
s4 max就是a,b,c中的最大值。
综合应用题。
例5 写出求1+2+3+4+5+6的一个算法。
分析:可以按逐一相加的程序进行,也可以利用公式1+2+…+n=进行,也可以根据加法运算律简化运算过程。
解:算法1:
s1:计算1+2得到3;
s2:将第一步中的运算结果3与3相加得到6;
s3:将第二步中的运算结果6与4相加得到10;
s4:将第三步中的运算结果10与5相加得到15;
s5:将第四步中的运算结果15与6相加得到21。
算法2:s1:取n=6;
s2:计算;
s3:输出运算结果。
算法3:s1:将原式变形为(1+6)+(2+5)+(3+4)=3×7;
s2:计算3×7;
s3:输出运算结果。
小结:算法1是最原始的方法,最为繁琐,步骤较多,当加数较大时,比如1+2+3+…+10000,再用这种方法是行不通的;算法2与算法3都是比较简单的算法,但比较而言,算法2最为简单,且易于在计算机上执行操作。
学生做一做求1×3×5×7×9×11的值,写出其算法。
老师评一评算法1;第一步,先求1×3,得到结果3;
第二步,将第一步所得结果3再乘以5,得到结果15;
第三步,再将15乘以7,得到结果105;
第四步,再将105乘以9,得到945;
第五步,再将945乘以11,得到10395,即是最后结果。
算法2:用p表示被乘数,i表示乘数。
s1 使p=1。
s2 使i=3
s3 使p=p×i
s4 使i=i+2
s5 若i≤11,则返回到s3继续执行;否则算法结束。
小结由于计算机动是高速计算的自动机器,实现循环的语句。因此,上述算法2不仅是正确的,而且是在计算机上能够实现的较好的算法。在上面的算法中,s3,s4,s5构成一个完整的循环,这里需要说明的是,每经过一次循环之后,变量p、i的值都发生了变化,并且生循环一次之后都要在步骤s5对i的值进行检验,一旦发现i的值大于11时,立即停止循环,同时输出最后一个p的值,对于循环结构的详细情况,我们将在以后的学习中介绍。
4、课堂小结。
本节课主要讲了算法的概念,算法就是解决问题的步骤,平时列论我们做什么事都离不开算法,算法的描述可以用自然语言,也可以用数学语言。
例如,某同学要在下午到体育馆参加比赛,比赛下午2时开始,请写出该同学从家里发到比赛地的算法。
若用自然语言来描述可写为。
1)1:00从家出发到公共汽车站。
2)1:10上公共汽车。
3)1:40到达体育馆。
4)1:45做准备活动。
5)2:00比赛开始。
若用数学语言来描述可写为:
s1 1:00从家出发到公共汽车站。
s2 1:10上公共汽车。
s3 1:40到达体育馆。
s4 1:45做准备活动。
s5 2:00比赛开始。
大家从中要以看出,实际上两种写法无本质区别,但我们在书写时应尽量用教学语言来描述,它的优越性在以后的学习中我们会体会到。
5、自我评价
1、写出解一元二次方程ax2+bx+c=0(a≠0)的一个算法。
2、写出求1至1000的正数中的3倍数的一个算法(打印结果)
6、评价标准。
1、解:算法如下。
s1 计算△=b2-4ac
s2 如果△〈0,则方程无解;否则x1=
s3 输出计算结果x1,x2或无解信息。
2、解:算法如下:
s1 使i=1
s2 i被3除,得余数r
s3 如果r=0,则打印i,否则不打印。
s4 使i=i+1
s5 若i≤1000,则返回到s2继续执行,否则算法结束。
7、作业:1、写出解不等式x2-2x-3<0的一个算法。
解:第一步:x2-2x-3=0的两根是x1=3,x2=-1。
第二步:由x2-2x-3<0可知不等式的解集为;
第四步:若△<0,则不等式的解集为r。
2、求过p(a1,b1)、q(a2,b2)两点的直线斜率有如下的算法:
第一步:取x1= a1,y1= b1,x2= a2,y1= b2;
第二步:若x1= x2;
第三步:输出斜率不存在;
第四步:若x1≠x2;
第五步:计算;
第六步:输出结果。
3、写出求过两点m(-2,-1)、n(2,3)的直线与坐标轴围成面积的一个算法。
解:算法:第一步:取x1=-2,y1=-1,x2=2,y2=3;
第二步:计算;
第三步:在第二步结果中令x=0得到y的值m,得直线与y轴交点(0,m);
第四步:在第二步结果中令y=0得到x的值n,得直线与x轴交点(n,0);
第五步:计算s=;
第六步:输出运算结果。
算法初步学案第一课时 算法的概念
算法初步。第一课时 算法的概念。学习要求 1 通过实例体会算法的思想,了解算法的含义 2.能用自然语言描述解决具体问题的算法,掌握算法的基本特点。一 课前预习。1.算法的含义是什么?算法通常是指解决某一类问题。的。2.算法的基本特点是什么?二 课前思考。1 在互联网上发送电子邮件的方法和步骤怎样?2...
第一课时算法的含义
第二步方程 减去m乘以方程 消去方程 中的x项,得到。第三步将上面的方程组自下而上回代求解,得到y 1,x 2,所以原方程组的解为,这种消元回代的算法适用于一般线性方程组的求解。点评 一个算法,就是一个有穷规则的集合,它为某个特定类型问题提供了解决问题的运算序列。其中的每条规则必须是明确定义的 可行...
第一课时算法的含义
教学目标 使算法思想成为学生的一种数学素养。教学重点 掌握算法的五个特性。教学难点 掌握算法的五个特性。教学过程 课题导入。算法是数学及其应用的重要组成部分,是计算科学的重要基础。随着现代信息技术的飞速发展,算法在科学技术 社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成...