21算法的基本思想教学设计 教案 .docx
21算法的基本思想教学设计 教案 第二章 算法初步 第一课时 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 运用公式1+2+3+ 第一步:取n=5; 第二步:计算+n=n(n+1)直接计算 2n(n+1); 2 第三步:输出运算结果 算法3 用循环方法求和 第一步:使S=1,; 第二步:使I=2; 第三步:使S=S+I; 第四步:使I=I+1; 第五步:如果I£5,则返回第三步,否则输出S 点评:一个问题的算法可能不唯一 例3 给出求解方程组íì2x+y=7的一个算法 î4x+5y=114=2; 2解:用消元法解这个方程组,步骤是: 第一步:方程不动,将方程中x的系数除以方程中x的系数,得到乘数m=第二步:方程减去m乘以方程,消去方程中的x项,得到 ì2x+y=7; íî3y=-3第三步:将上面的方程组自下而上回代求解,得到y=-1,x=4 所以原方程组的解为í 例4.用二分法设计一个求解方程x2=0的近似根的算法。并假设所求近似根与准确解的差的绝对值不超过0.005, 解:则不难设计出以下步骤: 2第一步:令f(x)=x2。因为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。 第四步:判断|x1x2|<0.005是否成立?若是,则x1、x2之间的任意取值均为满足条件的近似根;若否,则返回第二 点评:渗透循环的思想,为后面教学做铺垫。 例5. 写出求方程组í2ìx=4 y=-1î点评:通过例1再次明确算法特点:有限性和确定性 ìa1x+b1y=c1îa2x+b2y=c2(a1b2-a2b1¹0)的解的算法. 解:第一步:× a1 - ×a2,得:(a1b2-a2b1)y=a1c2-a2c1 第二步:解得 y=a1c2-a2c1; a1b2-a2b1第三步:将y=c-b1ya1c2-a2c1代入,得x=1 a1b2-a2b1a1点评:可推广到解一般的二元一次方程组,说明算法的普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决. 例6:用“待定系数法”求圆的方程的大致步骤是: 第一步:根据题意,选择标准方程或一般方程; 第二步:根据条件列出关于a,b,r或D,E,F的方程组; 第三步:解出a,b,r或D,E,F,代入标准方程或一般方程. 三、算法的概念 通过对以上几个问题的分析,我们对算法有了一个初步的了解.在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法 在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成. 四、课堂练习 1:任意给定一个大于1的正整数n,设计一个算法求出n的所有因数. 解:根据因数的定义,可设计出下面的一个算法: 第一步:输入大于1的正整数n. 第二步:判断n是否等于2,若n=2,则n的因数为1,n;若n>2,则执行第三步. 第三步:依次从2到n-1检验是不是整除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= 第一步:取n=100; 第二步:计算n(n+1)直接计算 2n(n+1); 2第三步:输出运算结果. 3:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积. 解:第一步:输入任意正实数r; 2第二步:计算S=pr; 第三步:输出圆的面积S. 4. 二分法求解多项式方程在区间a,b的一种常用方法.算法步骤是。 解1确定区间a,b,验证f(a)f(b)<0,给定精度; 2. 求区间(a,b)的中点x1; 3. 计算f(x1): 若f(x1)=0,则x1就是函数的零点; 若f(a)f(x1)<0,则令b=x1; 若f(x1)f(b)<0,则令a=x1; 4. 判断是否达到精度;即若|a-b|<e,则得到零点零点值a;否则重复步骤24 5.两个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们四人都会划船,但都不会游泳.同学们现在想一想,他们怎样渡过河去?请写一写你的渡河方案. 解:因为一次只能渡过一个大人,而船还要回来渡其他人,所以只能让两个小孩先过河。 渡河的方法与步骤为: 第一步 两个小孩同船渡过河去; 第二步 一个小孩划船回来; 第三步 一个大人独自划船渡过河去; 第四步 对岸的小孩划船回来; 第五步 两个小孩再同船渡过河去; 第六步 一个小孩划船回来; 第七步 余下的一个大人独自划船渡过河去; 第八步 对岸的小孩划船回来; 第九步 两个小孩再同船渡过河去. 五、课堂小结 1. 算法的特性: 有穷性:一个算法的步骤序列是有限的,它应在有限步操作之后停止,而不能是无限的. 确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可. 可行性:算法中的每一步操作都必须是可执行的,也就是说算法中的每一步都能通过手工和机器在有限时间内完成. 输入:一个算法中有零个或多个输入. 输出:一个算法中有一个或多个输出. 2. 描述算法的一般步骤: 输入数据. 数据处理. 输出结果.