人教版新课标A必修31.1.1算法的概念课文配套课件ppt
展开一人带着一只狼、一只羊和一箱蔬菜要过河,但只有一条小船.乘船时,每次只能带狼、羊和蔬菜中的一种.当有人在场时,狼、羊、蔬菜都相安无事.一旦人不在,狼会吃羊,羊会吃菜.请设计一个方案,安全地将狼、羊和蔬菜带过河.
1.1.1 算法的概念
一般地,对于一类问题的机械式地、统一地、按部就班地求解过程称为算法(algrithm)它是解决某一问题的程序或步骤.
按照这样的理解,我们可以设计出很多具体数学问题的算法.下面看几个例子:
所谓 “算法”就是解题方法的精确描述.从更广义的角度来看,并不是只有“计算”的问题才有算法,日常生活中处处都有.如乐谱是乐队演奏的算法,菜谱是做菜肴的算法,珠算口诀是使用算盘的算法.
第三步, ② -① ×2得 5y=3; ④
你能写出解一般的二元一次方程组的步 骤吗?
事实上,我们可以将一般的二元一次方程组的解法转化成计算机语言,做成一个求解二元一次方程组的程序.
练习1. 给出求1+2+3+4+5+6的一个算法.
解法1.按照逐一相加的程序进行.
第一步:计算1+2,得3;
第二步:将第一步中的运算结果3与3相加得6;
第三步:将第二步中的运算结果6与4相加得10;
第四步:将第三步中的运算结果10与5相加得15;
第五步:将第四步中的运算结果15与6相加得21.
解法2.可以运用下面公式直接计算.
第一步,取 n =6;
第二步,计算 ;
第三步,输出计算结果.
点评:解法1繁琐,步骤较多; 解法2简单,步骤较少. 找出好的算法是我们的追求目标.
现在你对算法有了新的认识了吗?
在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.
(1)写出的算法,必须能解决一类问题(例如解任意一个二元一次方程组),并且能重复使用;
(2) 算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且在有限步之内完成后能得出结果.
明确性:算法对每一个步骤都有确切的、非二义性的规定,即每一步对于利用算法解决问题的人或计算机来说都是可读的、可执行的,而不需要计算者临时动脑筋.
有效性:算法的每一个步骤都能够通过基本运算有效地进行,并得到确定的结果;对于相同的输入,无论谁执行算法,都能够得到相同的最终结果.
有限性:算法应由有限步组成,至少对某些输入,算法应在有限多步内结束,并给出计算结果.
信息输出:一个算法至少要有一个有效的信息输出,这就是问题求解的结果.
不唯一性:求解某一个题的解法不一定是唯一的, 对于一个问题可以有不同的算法.
描述算法可以有不同的方式,常用的有自然语言、程序框图、程序设计语言、伪代码等.
数据输入:算法一定要根据输入的初始数据或给定的初值才能正确执行它的每一步骤.
自然语言就是人们日常使用的语言,可以是汉语、英语或数学语言等.用自然语言描述算法的优点是通俗易懂,当算法中的操作步骤都是顺序执行时比较容易理解.缺点是如果算法中包含判断和转向,并且操作步骤较多时,就不那么直观清晰了.
1.1.2程序框图中讲解
1.2基本算法语句中讲解
例1.(1)设计一个算法判断7是否为质数.
第一步, 用2除7,得到余数1.因为余数不为0, 所以2不能整除7.
第二步, 用3除7,得到余数1.因为余数不为0, 所以3不能整除7.
第三步, 用4除7,得到余数3.因为余数不为0, 所以4不能整除7.
第四步, 用5除7,得到余数2.因为余数不为0, 所以5不能整除7.
第五步, 用6除7,得到余数1.因为余数不为0, 所以6不能整除7.因此,7是质数.
例1.(2)设计一个算法判断35是否为质数.
第一步, 用2除35,得到余数1.因为余数不为0, 所以2不能整除35.
第二步, 用3除35,得到余数2.因为余数不为0, 所以3不能整除35.
第三步, 用4除35,得到余数3.因为余数不为0, 所以4不能整除35.
第四步, 用5除35,得到余数0.因为余数为0, 所以5能整除35.因此,35不是质数.
变式: “判断53是否质数”的算法如下:第1步,用2除53得余数为1,余数不为0,所以2不能整除53;第2步,用3除53得余数为2,余数不为0,所以3不能整除53;……第52步,用52除53得余数为1,余数不为0,故52不能整除53;所以53是质数.
上述算法正确吗?请说明理由.
②算法要“面面俱到”,不能省略任何一个细小的步骤,只有这样,才能在人设计出算法后,把具体的执行过程交给计算机完成.
①设计一个具体问题的算法时,与过去熟悉地解数学题的过程有直接的联系,但这个过程必须被分解成若干个明确的步骤,而且这些步骤必须是有效的.
判断“整数n(n>2)是否是质数”的算法
第一步,给定大于2的整数n.
第三步,用i除n,得到余数r.
第四步,判断“r=0”是否成立.若是,则n不是质 数,结束算法;否则将i的值增加1,仍用i表示.
第五步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则返回第三步.
对于区间[a,b ]上连续不断、且f(a)f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点或其近似值的方法叫做二分法.
第四步, 若f(a) ·f(m) < 0,则含零点的区间为[a,m];
第二步, 给定区间[a,b],满足f(a) ·f(b)<0.
第五步,判断f(m)是否等于0或者[a,b]的长度是否小于d,若是,则m是方程的近似解;否则,返回第三步.
将新得到的含零点的仍然记为[a,b].
否则,含零点的区间为[m, b].
当d=0.005时,按照以上算法,可得下面表和图.
于是,开区间(1.4140625,1.41796875)中的实数都是当精确度为0.005时的原方程的近似解.
练习2. 任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.
第一步:给定一个正实数r;第二步:计算以r为半径的圆的面积S=πr2;第三步:得到圆的面积S.
练习3. 任意给定一个大于 1 的正整数 n ,设计一个算法求出 n 的所有因数.
第一步, 依次以2 ~(n – 1)为除数除 n ,检查余数是否为0;若是,则是 n 的因数;若不是,则不是 n 的因数;
第二步, 在 n 的因数中加入 1 和 n;
第三步, 输出n的所有因数.
练习4. 写出求一元二次方程 ax2+bx+c=0 的根的算法.
第一步,计算Δ=b2-4ac.
第三步:输出x1, x2或无实数解.
高中数学人教版新课标A必修31.1.1算法的概念图片课件ppt: 这是一份高中数学人教版新课标A必修31.1.1算法的概念图片课件ppt,共33页。PPT课件主要包含了趣味益智游戏,如何发电子邮件,做一做,算法的要求,算法的定义,算法的基本特征,算法的描述,算法步骤,二分法,算法的特征是什么等内容,欢迎下载使用。
人教版新课标A必修31.1.1算法的概念教课ppt课件: 这是一份人教版新课标A必修31.1.1算法的概念教课ppt课件,共28页。PPT课件主要包含了课堂互动讲练,知能优化训练,11算法的概念,课前自主学案,表达式,算术运算,某一类问题,计算机程序等内容,欢迎下载使用。
人教版新课标A必修31.1.1算法的概念教课内容课件ppt: 这是一份人教版新课标A必修31.1.1算法的概念教课内容课件ppt,共23页。PPT课件主要包含了数学史简介,研究算法,问题情境,答分三步,第一步打开冰箱门,第二步把大象装冰箱,第三步关上冰箱门,建构数学,算法的含义,算法的特点等内容,欢迎下载使用。