1、1算法的基本思想必修3 第二章算法初步 课题:1 算法的基本思想 编写: 闻军 、郭群 审核: 日期:2010510 编号:01学习目标:1、知识与技能:(1)了解算法的含义,体会算法的思想。 (2)能够用自然语言叙述算法。(3)掌握正确的算法应满足的要求。 (4)会写出解线性方程(组)的算法。(5)会写出一个求有限整数序列中的最大值的算法。(6)会应用Scilab求解方程组。2、过程与方法:通过求解二元一次方程组,体会解方程的一般性步骤,从而得到一个解二元一次方程组的步骤,这些步骤就是算法,不同的问题有不同的算法。由于思考问题的角度不同,同一个问题也可能有多个算法,能模仿求解二元一次方程组的
2、步骤,写出一个求有限整数序列中的最大值的算法。3、情感态度与价值观:通过本节的学习,使我们对计算机的算法语言有一个基本的了解,明确算法的要求,认识到计算机是人类征服自然的一各有力工具,进一步提高探索、认识世界的能力。学习重难点:重点:算法的含义、解二元一次方程组和判断一个数为质数的算法设计。难点:把自然语言转化为算法语言。学习过程:一、问题提出1、算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念。但是我们却从小学就开始接触算法,熟悉许多问题的算法。如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现。我们知
3、道解一元二次方程的算法,求解一元一次不等式、一元二次不等式的算法,解线性方程组的算法,求两个数的最大公因数的算法等。因此,算法其实是重要的数学对象。算法(algorithm)一词源于算术(algorism),即算术方法,是指一个由已知推求未知的运算过程。后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法。广义地说,算法就是做某一件事的步骤或程序。菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。比如解方程的算法、函数求值的算法、作图的算法,等等。2、两个大人和两
4、个小孩一起渡河,渡口只有一条小船,每次只能渡1 个大人或两个小孩,他们四人都会划船,但都不会游泳。试问他们怎样渡过河去?请写出一个渡河方案。 3、猜物品的价格游戏: 现在一商品,价格在08000元之间,解决这一问题有什么策略?二:合作探究:引例: 在给定素数表的条件下,设计算法,将936分解成素因数的乘积。算法分析:根据素数的定义,很容易设计出下面的步骤:第一步: 。第二步: 。 重复进行上述步骤,直到找出936的所有素因数。解 算法步骤如下:(请写出)三、实例演练例1、 写出求1+2+3+4+5+6的一个算法。(可以写一种以上算法)例2、 写出解二元一次方程组 的算法。例3、 任意给定一个大
5、于1的整数n,试设计一个程序或步骤对n是否为质数做出判定。例4、试给出求解一元二次方程的一个算法.例5、 用二分法设计一个求议程x22=0的近似根的算法。注意:算法的描述可以用自然语言,也可以用数学语言。例如,某同学要在下午到体育馆参加比赛,比赛下午2时开始,请写出该同学从家里发到比赛地的算法。若用自然语言来描述可写为:第一步:1:00从家出发到公共汽车站第二步:1:10上公共汽车第三步:1:40到达体育馆第四步:1:45做准备活动。第五步:2:00比赛开始。若用数学语言来描述可写为:S1 1:00从家出发到公共汽车站S2 1:10上公共汽车S3 1:40到达体育馆S4 1:45做准备活动S5
6、 2:00比赛开始大家从中可以看出,实际上两种写法无本质区别,但我们在书写时应尽量用教学语言来描述,它的优越性在以后的学习中我们会体会到。四、课堂小结本节课主要讲了算法的概念,算法就是解决问题的步骤,平时列论我们做什么事都离不开算法,算法的描述可以用自然语言,也可以用数学语言。五、自我检测1、 P78练习12、 P81练习23、 P83练习34、写出解一元二次方程ax2+bx+c=0(a0)的一个算法。5、写出求1至1000的正数中的3倍数的一个算法(打印结果)六、自我反思111算法的概念一、教学目标:1、知识与技能:(1)了解算法的含义,体会算法的思想。(2)能够用自然语言叙述算法。(3)掌
7、握正确的算法应满足的要求。(4)会写出解线性方程(组)的算法。(5)会写出一个求有限整数序列中的最大值的算法。(6)会应用Scilab求解方程组。2、过程与方法:通过求解二元一次方程组,体会解方程的一般性步骤,从而得到一个解二元一次方程组的步骤,这些步骤就是算法,不同的问题有不同的算法。由于思考问题的角度不同,同一个问题也可能有多个算法,能模仿求解二元一次方程组的步骤,写出一个求有限整数序列中的最大值的算法。3、情感态度与价值观:通过本节的学习,使我们对计算机的算法语言有一个基本的了解,明确算法的要求,认识到计算机是人类征服自然的一各有力工具,进一步提高探索、认识世界的能力。二、重点与难点:重
8、点:算法的含义、解二元一次方程组和判断一个数为质数的算法设计。难点:把自然语言转化为算法语言。三、学法与教学用具:学法:1、写出的算法,必须能解决一类问题(如:判断一个整数n(n1)是否为质数;求任意一个方程的近似解;),并且能够重复使用。2、要使算法尽量简单、步骤尽量少。3、要保证算法正确,且计算机能够执行,如:让计算机计算12345是可以做到的,但让计算机去执行“倒一杯水”“替我理发”等则是做不到的。教学用具:电脑,计算器,图形计算器四、教学设想:1、 创设情境:算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念。但是我们却从小学就开始接触算法,熟悉许多问题
9、的算法。如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现。我们知道解一元二次方程的算法,求解一元一次不等式、一元二次不等式的算法,解线性方程组的算法,求两个数的最大公因数的算法等。因此,算法其实是重要的数学对象。2、 探索研究 算法(algorithm)一词源于算术(algorism),即算术方法,是指一个由已知推求未知的运算过程。后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法。广义地说,算法就是做某一件事的步骤或程序。菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。在数学中,主要研究计算机
10、能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。比如解方程的算法、函数求值的算法、作图的算法,等等。3、 例题分析:例1 任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定。算法分析:根据质数的定义,很容易设计出下面的步骤:第一步:判断n是否等于2,若n=2,则n是质数;若n2,则执行第二步。第二步:依次从2至(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数。这是判断一个大于1的整数n是否为质数的最基本算法。例2 用二分法设计一个求议程x22=0的近似根的算法。算法分析:回顾二分法解方程的过程,并假设所
11、求近似根与准确解的差的绝对值不超过0.005,则不难设计出以下步骤:第一步:令f(x)=x22。因为f(1)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。第四步:判断|x1x2|max, 则max=b.S3 如果Cmax, 则max=c.S4 max就是a,b,c中的最大值。综合应用题例5 写出求1+2+3+4+5+6的一个算法。分析:可以按逐一相加的程序进行,也可以利用公式1+2+n=进行,也可以根据加法运算律简化运算过
12、程。解:算法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)=37;S2:计算37;S3:输出运算结果。小结:算法1是最原始的方法,最为繁琐,步骤较多,当加数较大时,比如1+2+3+10000,再用这种方法是行不通的;算法2与算法3都是比较简单的算法,但比较而言,算法2最为简单,且易于在计算机上执行操作。学生做一做
13、求1357911的值,写出其算法。老师评一评 算法1;第一步,先求13,得到结果3;第二步,将第一步所得结果3再乘以5,得到结果15;第三步,再将15乘以7,得到结果105;第四步,再将105乘以9,得到945;第五步,再将945乘以11,得到10395,即是最后结果。算法2:用P表示被乘数,i表示乘数。S1 使P=1。S2 使i=3S3 使P=PiS4 使i=i+2S5 若i11,则返回到S3继续执行;否则算法结束。小结 由于计算机动是高速计算的自动机器,实现循环的语句。因此,上述算法2不仅是正确的,而且是在计算机上能够实现的较好的算法。在上面的算法中,S3,S4,S5构成一个完整的循环,这
14、里需要说明的是,每经过一次循环之后,变量P、i的值都发生了变化,并且生循环一次之后都要在步骤S5对i的值进行检验,一旦发现i的值大于11时,立即停止循环,同时输出最后一个P的值,对于循环结构的详细情况,我们将在以后的学习中介绍。4、课堂小结本节课主要讲了算法的概念,算法就是解决问题的步骤,平时列论我们做什么事都离不开算法,算法的描述可以用自然语言,也可以用数学语言。例如,某同学要在下午到体育馆参加比赛,比赛下午2时开始,请写出该同学从家里发到比赛地的算法。若用自然语言来描述可写为第一步:1:00从家出发到公共汽车站第二步:1:10上公共汽车第三步:1:40到达体育馆第四步:1:45做准备活动。
15、第五步:2:00比赛开始。若用数学语言来描述可写为:S1 1:00从家出发到公共汽车站S2 1:10上公共汽车S3 1:40到达体育馆S4 1:45做准备活动S5 2:00比赛开始大家从中要以看出,实际上两种写法无本质区别,但我们在书写时应尽量用教学语言来描述,它的优越性在以后的学习中我们会体会到。5、自我评价 1、写出解一元二次方程ax2+bx+c=0(a0)的一个算法。2、写出求1至1000的正数中的3倍数的一个算法(打印结果)6、评价标准1、解:算法如下S1 计算=b2-4acS2 如果0,则方程无解;否则x1=S3 输出计算结果x1,x2或无解信息。2、解:算法如下:S1 使i=1S2 i被3除,得余数rS3 如果r=0,则打印i,否则不打印S4 使i=i+1S5 若i1000,则返回到S2继续执行,否则算法结束。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1