2.1算法的基本思想教学设计 教案 (北师大必修3)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 算法初步
第一课时 2.1算法的基本思想
【课程标准】通过对解决具体问题过程与步骤的分析(如二元一次方程组求解等问题),体会算法的思想,了解算法的含义.
【教学目标】1.理解算法的概念与特点;
2.学会用自然语言描述算法,体会算法思想;
3.培养学生逻辑思维能力与表达能力.
【教学重点】算法概念以及用自然语言描述算法
【教学难点】用自然语言描述算法
【教学过程】
一、序言
算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础. 在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具. 听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机几乎渗透到了人们生活的所有领域. 那么,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始. 同时,算法有利于发展有条理的思考与表达的能力,提高逻辑思维能力.
在以前的学习中,虽然没有出现算法这个名词,但实际上在数学学习中已经渗透了大量的算法思想,如四则运算的过程、求解方程的步骤等等,完成这些工作都需要一系列程序化的步骤,这就是算法的思想.
二、实例分析
例1:写出你在家里烧开水过程的一个算法.
解:第一步:把水注入电锅;
第二步:打开电源把水烧开;
第三步:把烧开的水注入热水瓶.
(以上算法是解决某一问题的程序或步骤)
例2:给出求1+2+3+4+5的一个算法.
解: 算法1 按照逐一相加的程序进行.
第一步:计算1+2,得到3;
第二步:将第一步中的运算结果3与3相加,得到6;
第三步:将第二步中的运算结果6与4相加,得到10;
第四步:将第三步中的运算结果10与5相加,得到15.
算法2 运用公式123n +++
+=2)1(+n n 直接计算. 第一步:取n =5; 第二步:计算2
)1(+n n ; 第三步:输出运算结果.
算法3 用循环方法求和.
第一步:使1S =,;
第二步:使2I =;
第三步:使S S I =+;
第四步:使1I I =+;
第五步:如果5I ≤,则返回第三步,否则输出S .
点评:一个问题的算法可能不唯一.
例3 给出求解方程组274511
x y x y +=⎧⎨+=⎩的一个算法.
解:用消元法解这个方程组,步骤是: 第一步:方程①不动,将方程②中x 的系数除以方程①中x 的系数,得到乘数422m =
=; 第二步:方程②减去m 乘以方程①,消去方程②中的x 项,得到
2733
x y y +=⎧⎨=-⎩; 第三步:将上面的方程组自下而上回代求解,得到1y =-,4x =.
所以原方程组的解为41x y =⎧⎨
=-⎩. 点评:通过例1再次明确算法特点:有限性和确定性
例4.用二分法设计一个求解方程x 2–2=0的近似根的算法。并假设所求近似根与准确解的差的绝对值不超过0.005,
解:则不难设计出以下步骤:
第一步:令f(x)=x 2–2。因为f(1)<0,f(2)>0,所以设x 1=1,x 2=2。
第二步:令m=(x 1+x 2)/2,判断f(m)是否为0,若则,则m 为所长;若否,则继续判断f(x 1)·f(m)大于0还是小于0。
第三步:若f(x 1)·f(m)>0,则令x 1=m ;否则,令x 2=m 。
第四步:判断|x 1–x 2|<0.005是否成立?若是,则x 1、x 2之间的任意取值均为满足条件的近似根;若否,则返回第二
点评:渗透循环的思想,为后面教学做铺垫。
例5. 写出求方程组()012212221
11≠-⎩⎨⎧=+=+b a b a ②c y b x a ①c y b x a 的解的算法.
解:第一步:②× a1 - ①×a2,得:()12211221c a c a y b a b a -=- ③
第二步:解③得 1
2211221b a b a c a c a y --=; 第三步:将12211221b a b a c a c a y --=代入①,得111
c b y x a -= 点评:可推广到解一般的二元一次方程组,说明算法的普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.
例6:用“待定系数法”求圆的方程的大致步骤是:
第一步:根据题意,选择标准方程或一般方程;
第二步:根据条件列出关于a ,b ,r 或D ,E ,F 的方程组;
第三步:解出a ,b ,r 或D ,E ,F ,代入标准方程或一般方程.
三、算法的概念
通过对以上几个问题的分析,我们对算法有了一个初步的了解.在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法
在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.
四、课堂练习
1:任意给定一个大于1的正整数n ,设计一个算法求出n 的所有因数.
解:根据因数的定义,可设计出下面的一个算法:
第一步:输入大于1的正整数n .
第二步:判断n 是否等于2,若2=n ,则n 的因数为1,n ;若2>n ,则执行第三步.
第三步:依次从2到1-n 检验是不是整除n ,若整除n ,则是n 的因数;若不整除n ,则不是n 的因数.
2:设计一个计算1+2+…+100的值的算法.
解:算法1 按照逐一相加的程序进行
第一步:计算1+2,得到3;
第二步:将第一步中的运算结果3与3相加,得到6;
第三步:将第二步中的运算结果6与4相加,得到10;
……
第九十九步:将第九十八步中的运算结果4950与100相加,得到5050. 算法2 可以运用公式1+2+3+…+n =
2)1(+n n 直接计算 第一步:取n =100; 第二步:计算
2
)1(+n n ; 第三步:输出运算结果.
3:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.
解:第一步:输入任意正实数r ;
第二步:计算2r S π=;
第三步:输出圆的面积S .
4. 二分法求解多项式方程在区间[,]a b 的一种常用方法.算法步骤是。
解1.确定区间[,]a b ,验证()()0f a f b <,给定精度ε;
2. 求区间(,)a b 的中点1x ;
3. 计算1()f x : 若1()0f x =,则1x 就是函数的零点; 若1()()0f a f x <,则令1b x =