高二数学上册算法与程序框图教学计划
教学目标:
1、知识与技能
(1)了解算法的含义,体会算法的思想;
(2)能够用自然语言叙述算法;
(3)掌握正确的算法应满足的要求;
(4)会写出解线性方程(组)的算法;
(5)会写出一个求有限整数序列中的最大值的算法.
2、过程与方法
(1)通过求解二元一次方程组,体会解方程的一般性步骤,从而得到一个解二元一次方程组的步骤,这些步骤就是算法,不同的问题有不同的算法;
(2)同一个问题也可能有多个算法,能模仿求解二元一次方程组的步骤,写出一个求有限整数序列中的最大值的算法.
3、情感与价值观
通过本节的学习,对计算机的算法语言有一个基本的了解;明确算法的要求,认识到计算机是人类征服自然的一个有力工具,进一步提高探索、认识世界的能力.
教学重点、难点:
重点:算法的含义,解二元一次方程组、判断一个数为质数和利用“二分法”求方程近似解的算法设计.
难点:把自然语言转化为算法语言.
教学过程:
(一)创设情景、导入课题
问题1:把大象放入冰箱分几步?
第一步:把冰箱门打开;
第二步:把大象放进冰箱;
第三步:把冰箱门关上.
问题2:指出在家中烧开水的过程分几步?(略)
问题3:如何求一元二次方程的解?
第一步:计算;
第二步:如果,;
如果,方程无解
第三步:下结论.输出方程的根或无解的信息.
注意:在以上三个问题的求解过程中,老师要紧扣算法定义,带领学生总结,反复强调,使学生体会以下几点:
①有穷性:步骤是有限的,它应在有限步操作之后停止,而不能是无限地执行下去。
②确定性:每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可的。
③逻辑性:从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题。
④不唯一性:求解某一个问题的算法不一定只有唯一的一个,可以有不同的算法。
⑤普遍性:很多具体的问题,都可以设计合理的算法去解决。
注:其他还有输入性、输出性等特征,结论不固定.
提问:算法是如何定义?
(二)师生互动、讲解新课
x-2y=-1①
回顾(课本P2内容):写出解二元一次方程组2x+y=1②的算法.
解:第一步,②×2+①,得5x=1;③
第二步,解③,得x=;
第三步,②-①×2得5y=3;④
第四步,解④,得y=;
第五步,得到方程组的解为x=;y=。
思考1:你能写出求解一般的二元一次方程组的步骤吗?
上题的算法是由加减消元法求解的,这个算法也适合一般的二元一次方程组的解法.
对于一般的二元一次方程组可以写出类似的求解步骤:
第一步,①×b2-②×b1,得;③
第二步,解③,得.
第三步,②×a1-①×a2,得;④
第四步,解④,得;
第五步,得到方程组的解为
(高斯消去法)
思考2:根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进行,这五个步骤就构成了解二元一次方程组的一个“算法”.我们再根据这一算法编制计算机程序,就可以让计算机来解二元一次方程组.那么解二元一次方程组的算法包括哪些内容?
思考3:一般地,算法是由按照一定规则解决某一类问题的基本步骤组成的.
你认为:
(1)这些步骤的个数是有限的还是无限的?
(2)每个步骤是否有明确的计算任务?
总结:在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.
算法(algorithm)一词出现于12世纪,源于算术(algorism),即算术方法.指的是用阿拉伯数字进行算术运算的过程.在数学中,算法通常是指按照一定的规则解决某一类问题的明确的和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法.
广义地说,算法就是做某一件事的步骤或程序.菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法.在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序.比如解方程的算法、函数求值的算法、作图的算法,等等.
(三)例题剖析,巩固提高
例1(课本P3例1):如果让计算机判断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:
整数89是否为质数?如果让计算机判断89是否为质数,按照上述算法需要设计多少个步骤?
思考4:用2~88逐一去除89求余数,需要87个步骤,这些步骤基本是重复操作,我们可以按下面的思路改进这个算法,减少算法的步骤.
(1)用i表示2~88中的任意一个整数,并从2开始取数;
(2)用i除89,得到余数r.若r=0,则89不是质数;若r≠0,将i用i+1替代,再执行同样的操作;
(3)这个操作一直进行到i取88为止.
你能按照这个思路,设计一个“判断89是否为质数”的算法步骤吗?
算法设计:
第一步,令i=2;
第二步,用i除89,得到余数r;
第三步,若r=0,则89不是质数,结束算法;若r≠0,将i用i+1替代;
第四步,判断“i>88”是否成立?若是,则89是质数,结束算法;否则,返回第二步.
探究:一般地,判断一个大于2的整数是否为质数的算法步骤如何设计?
在中央电视台幸运52节目中,有一个猜商品价格的环节,竟猜者如在规定的时间内大体猜出某种商品的价格,就可获得该件商品.现有一商品,价格在0~8000元之间,采取怎样的策略才能在较短的时间内说出比较接近的答案呢?
例2、一群小兔一群鸡,两群合到一群里,要数腿共48,要数脑袋整17,多少只小兔多少只鸡?
算法1:S1首先计算没有小兔时,小鸡的数为:17只,腿的总数为34条。
S2再确定每多一只小兔、减少一只小鸡增加的腿数2条。
S3再根据缺的.腿的条数确定小兔的数量:(48-34)/2=7只
S4最后确定小鸡的数量:17-7=10只.
算法2:S1首先设只小鸡,只小兔。
S2再列方程组为:
S3解方程组得:
S4指出小鸡10只,小兔7只。
算法3:S1首先设只小鸡,则有只小兔
S2列方程
S3解方程得,则
S4指出小鸡10只,小兔7只.
算法4:S1“请一名驯兽师”所有小鸡抬一条腿,所有小兔抬两条腿
S2有小兔只
S3有小鸡只
S4指出小鸡10只,小兔7只.
算法5:S1有小兔只
S2有小鸡只
二分法:
对于区间[a,b]上连续不断,且f(a)f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,而得到零点近似值的方法叫做二分法.
例3(课本P4例2):写出用“二分法”求方程的近似解的算法.
算法分析:
令f(x)=,则方程的解就是函数f(x)的零点.
第一步,令f(x)=,给定精确度d.
第二步,确定区间[a,b],满足f(a)·f(b)<0.
第三步,取区间中点.
第四步,若f(a)·f(m)<0,则含零点的区间为[a,m],否则,含零点的区间为[m,b].
将新得到的含零点的区间仍记为[a,b];
第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.
(四)课堂小结,巩固反思
1、算法的主要特点:
(1)有限性:一个算法在执行有限步后必须结束;
(2)确切性:算法的每一个步骤和次序必须是确定的;
(3)输入:一个算法有0个或多个输入,以刻划运算对象的初始条件.所谓0个输入是指算法本身定出了初始条件.
(4)输出:一个算法有1个或多个输出,以反映对输入数据加工后的结果.没有输出的算法是毫无意义的.
2、计算机解决任何问题都要依赖算法,算法是建立在解法基础上的操作过程,算法不一定要有运算结果.设计一个解决某类问题的算法的核心内容是将解决问题的过程分解为若干个明确的步骤,即算法,它没有一个固定的模式,但有以下几个基本要求:
(1)符合运算规则,计算机能操作;
(2)每个步骤都有一个明确的计算任务;
(3)对重复操作步骤作返回处理;
(4)步骤个数尽可能少;
(5)每个步骤的语言描述要准确、简明.
【高二数学上册算法与程序框图教学计划】相关文章: