1、德育渗透教案一:11 1 算法的概念一、教学目标:1、知识与技能:(1)了解算法的含义,体会算法的思想。 (2)能够用自然语言叙述算法。 (3)掌握正确的算法应满足的要求。 (4)会写出解线性方程(组)的算法。 (5)会写出一个求有限整数序列中的最大值的算法。(6)会应用 Scilab 求解方程组。2、过程与方法:通过求解二元一次方程组,体会解方程的一般性步骤,从而得到一个解二元一次方程组的步骤,这些步骤就是算法,不同的问题有不同的算法。由于思考问题的角度不同,同一个问题也可能有多个算法,能模仿求解二元一次方程组的步骤,写出一个求有限整数序列中的最大值的算法。3、情感态度与价值观:通过本节的学
2、习,使我们对计算机的算法语言有一个基本的了解,明确算法的要求,认识到计算机是人类征服自然的一各有力工具,进一步提高探索、认识世界的能力。二、重点与难点:重点:算法的含义、解二元一次方程组和判断一个数为质数的算法设计。难点:把自然语言转化为算法语言。三、学法与教学用具:学法:1、写出的算法,必须能解决一类问题(如:判断一个整数 n(n1)是否为质数;求任意一个方程的近似解;),并且能够重复使用。2、要使算法尽量简单、步骤尽量少。3、要保证算法正确,且计算机能够执行,如:让计算机计算 12345 是可以做到的,但让计算机去执行“倒一杯水” “替我理发”等则是做不到的。教学用具:电脑,计算器,图形计
3、算器四、教学设想:1、创设情境:算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念。但是我们却从小学就开始接触算法,熟悉许多问题的算法。如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现。我们知道解一元二次方程的算法,求解一元一次不等式、一元二次不等式的算法,解线性方程组的算法,求两个数的最大公因数的算法等。因此,算法其实是重要的数学对象。2、探索研究算法(algorithm)一词源于算术(algorism),即算术方法,是指一个由已知推求未知的运算过程。后来,人们把它推广到一般,把进行某一工作的方法和步骤
4、称为算法。广义地说,算法就是做某一件事的步骤或程序。菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。比如解方程的算法、函数求值的算法、作图的算法,等等。3、例题分析:例 1 任意给定一个大于 1 的整数 n,试设计一个程序或步骤对 n 是否为质数 1做出判定。算法分析:根据质数的定义,很容易设计出下面的步骤:第一步:判断 n 是否等于 2,若 n=2,则 n 是质数;若 n2,则执行第二步。第二步:依次从 2 至(n-1)检验是不是 n 的因数,即整除 n 的数,若有这
5、样的数,则 n 不是质数;若没有这样的数,则 n 是质数。这是判断一个大于 1 的整数 n 是否为质数的最基本算法。例 2 用二分法设计一个求议程 x22=0 的近似根的算法。算法分析:回顾二分法解方程的过程,并假设所求近似根与准确解的差的绝对值不超过 0.005,则不难设计出以下步骤:第一步:令 f(x)=x22。因为 f(1)0,所以设 x1=1,x 2=2。第二步:令 m=(x1+x2)/2,判断 f(m)是否为 0,若则,则 m 为所长;若否,则继续判断f(x1)f(m)大于 0 还是小于 0。第三步:若 f(x1)f(m)0,则令 x1=m;否则,令 x2=m。第四步:判断|x 1x
6、2|max, 则 max=b.S3 如果 Cmax, 则 max=c.S4 max 就是 a,b,c 中的最大值。综合应用题例 5 写出求 1+2+3+4+5+6 的一个算法。分析:可以按逐一相加的程序进行,也可以利用公式 1+2+n= 进行,也可以根据加法2)1(运算律简化运算过程。解:算法 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:计算 ;)
7、1(nS3:输出运算结果。算法 3:S1:将原式变形为(1+6)+(2+5)+(3+4)=37;S2:计算 37;S3:输出运算结果。小结:算法 1 是最原始的方法,最为繁琐,步骤较多,当加数较大时,比如 1+2+3+10000,再用这种方法是行不通的;算法 2 与算法 3 都是比较简单的算法,但比较而言,算法 2 最为简单,且易于在计算机上执行操作。学生做一做 求 1357911 的值,写出其算法。老师评一评 算法 1;第一步,先求 13,得到结果 3;第二步,将第一步所得结果 3 再乘以 5,得到结果 15;第三步,再将 15 乘以 7,得到结果 105;第四步,再将 105 乘以 9,得
8、到 945;第五步,再将 945 乘以 11,得到 10395,即是最后结果。算法 2:用 P 表示被乘数,i 表示乘数。S1 使 P=1。S2 使 i=3S3 使 P=PiS4 使 i=i+2S5 若 i11,则返回到 S3 继续执行;否则算法结束。小结 由于计算机动是高速计算的自动机器,实现循环的语句。因此,上述算法 2 不仅是正确的,而且是在计算机上能够实现的较好的算法。在上面的算法中,S3,S4,S5 构成一个完整的循环,这里需要说明的是,每经过一次循环之后,变量 P、i 的值都发生了变化,并且生循环一次之后都要在步骤 S5 对 i 的值进行检验,一旦发现 i 的值大于 11 时,立即
9、停止循环,同时输出最后一个 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 到达体
10、育馆S4 1:45 做准备活动S5 2:00 比赛开始大家从中要以看出,实际上两种写法无本质区别,但我们在书写时应尽量用教学语言来描述,它的优越性在以后的学习中我们会体会到。5、自我评价 1、写出解一元二次方程 ax2+bx+c=0(a0)的一个算法。2、写出求 1 至 1000 的正数中的 3 倍数的一个算法(打印结果)6、评价标准1、解:算法如下S1 计算=b 2-4acS2 如果0,则方程无解;否则 x1=S3 输出计算结果 x1,x2 或无解信息。2、解:算法如下:S1 使 i=1S2 i 被 3 除,得余数 rS3 如果 r=0,则打印 i,否则不打印S4 使 i=i+1S5 若 i
11、1000,则返回到 S2 继续执行,否则算法结束。7、作业:1、写出解不等式 x2-2x-30 的不等式的解的步骤(为方便,我们设 a0)如下:第一步:计算= ;acb42第二步:若0,示出方程两根 (设 x1x2) ,则不等式解集为 x | xx1或abx242,1xx2;第三步:若= 0,则不等式解集为 x | xR 且 x ;第四步:若0,则不等式的解集为 R。2、求过 P(a1,b1)、Q( a2,b2)两点的直线斜率有如下的算法:第一步:取 x1= a1, y1= b1, x2= a2, y1= b2;第二步:若 x1= x2;第三步:输出斜率不存在;第四步:若 x1 x2;第五步:计算 ;1yk第六步:输出结果。3、写出求过两点 M(-2,-1)、N(2,3)的直线与坐标轴围成面积的一个算法。解:算法:第一步:取 x1=-2, y1=-1, x2=2, y2=3;第二步:计算 ;22y第三步:在第二步结果中令 x=0 得到 y 的值 m,得直线与 y 轴交点(0,m);第四步:在第二步结果中令 y=0 得到 x 的值 n,得直线与 x 轴交点(n,0);第五步:计算 S= ;|1nm第六步:输出运算结果