(共13张PPT)
我们知道解一元二次方程的算法,求解一元一次不等式、一元二次函数图象的画法,解线性方程组的算法,求两个数的最大公因数的算法等。
一、算法的概念
算法(algorithm)一词源于算术(algorism),即算术方法,是指一个由已知推求未知的运算过程。后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法。
在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。
广义地说,算法就是做某一件事的步骤或程序。
例1:“一群小兔一群鸡,两群合到一群里,要数腿共48,要数脑袋整17,多少小兔多少鸡?”
解:算术方法:如果没有小兔,那么小鸡应为17只,总的腿数应为2×17=34条,但现在有48条腿,造成腿的数目不够是由于小兔的数目为0,每有一只小兔便会增加两条腿,故应有(48-17×2) ÷2=7只小兔。相应的,小鸡有10只。
代数方法:设有x只小鸡,y只小兔. 则
用加减消元法解得:
思考1:例1是著名的“鸡兔同笼”问题,其中第一种解法是算术方法,教材中对它的评价是“简单直观,却包含着深刻的算法思想”,那么它是如何体现算法的思想呢?
S1 假设没有小兔,则小鸡应为n只;
S2 计算总腿数为2n只;
S3 计算实际总腿数与假设总腿数的差值为m-2n;
S4 计算小兔只数为 ;
S5 小鸡的只数为n- .
思考2:教材中例1的第二种解法是列方程组的方法,它是否也是一种算法呢?
S1 设未知数;
S2 根据题意列方程组;
S3 解方程组;
S4 还原实际问题,得到实际问题的答案。
探究:是的,其算法步骤为:
在实际中,很多问题可以归结为求解二元一次方程组,下面用消元法来解一般的二元一次方程组
S1 假定a11≠0,②×a11-①×a21得
S2 如果a11a22-a12a21≠0,则执行下步;否则执行S6
S3 ④两边同除以a11a22-a12a21≠0得
S4 ⑥代入⑤.得
S5 输出结果x1,x2,
S6 若a11b2-a21b1≠0. 则执行下一步;否则执行S8
S7 输出“方程组无解”.
S8 输出“方程组有无穷多个解”
以上解二元一次方程组的方法,叫做高斯消去法
二、算法的特点
不论在哪一种算法中,它们都是经有限次步骤完成的,因而它们体现了算法的有穷性。
在算法中,每一步都能明确地执行,且有确定的结果,因此具有确定性。
在所有算法中,每一步操作都是可以执行的,也就是具有可行性。
算法解决的都是一类问题(分别是解决求方程组的解和确定一个有理整数序列中的最大值问题),因此具有普适性。
练习:写出解方程x2-2x-3=0的一个算法.
配方法:
S1 移项,得x2-2x=3 ①
S2 ①式两边同加1并配方得 (x-1)2=4 ②
S3 ②式两边开方,得x-1=±2 ③
S4 解③式得x=3或x=-1
因式分解法:
S1 将方程左边因式分解得(x-3)(x+1)=0 ①
S2 由①得x-3=0或x+1=0 ②
S3 解②得x=3或x-1
例2: 写出一个求有限整数列中的最大值的算法。
解:算法如下:
S1 先假定序列中的第一个整数为“最大值”;
S2 将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值”,这时你就假定“最大值”是这个整数;
S3 如果序列中还有其他整数,重复S2;
S4 在序列中一直到没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值。
下面我们用数学语言,写出对任意3个整数a,b,c求出最大值的算法。
S1 max=a
S2 如果b>max, 则max=b.
S3 如果C>max, 则max=c.
S4 max就是a, b, c中的最大值。
比较下数学语言和文字叙述的异同
课堂小结:
1、算法的概念
2、算法的特点(共17张PPT)
算法的概念
在中央电视台“幸运52”节目中,有一个猜商品价格的环节,竟猜者如在规定时间内大体猜出某种商品的价格,就可获得该件商品.现有一商品,价格在0-8000元之间,采取怎样的策略才能在最短的时间内说出正确(大体上)的答案呢
第一步:报“4000”;
第二步:若主持人说高了(说明答案在0~4000之间),就报“2000”,否则(答案在4000~8000之间)报“6000”;
第三步:重复第二步的报数方法取中间数,
直至得到正确结果.
算法的概念
一般地, 按照一定规则解决某一类问题的明确和有限的步骤称为算法(algorithm).
它是解决某一类问题的程序或步骤.
所谓 “算法”就是解题方法的精确描述.从更广义的角度来看,并不是只有“计算”类的问题才有算法,日常生活中处处都有.如乐谱是乐队演奏的算法,菜谱是做菜肴的算法,珠算口诀是使用算盘的算法.
按照这样的理解,我们可以设计出很多解具体数学问题的算法.下面看几个例子:
写出解方程组 的步骤
第一步:(消元)
①+②×2,得 7x=11 ③
第二步:(解一元一次方程)
解③得
第三步:(代入求解)
将 代入①,得
写出解第二个方程组的算法:
第一步:①×a2- ②×a1 得
(a2b1-a1b2)y=a2c1-a1c2 ③
第二步:解③,得
第三步:将④带入①得
变一变
问题1:这两个解方程组算法的适用范围有何不同?
第一步: ①×a2- ②×a1得
(a2b1-a1b2)y=a2c1-a1c2 ③
第二步:解③,得
第三步:将④代入①得
第一步:
①+②×2,得7x=11 ③
第二步:解③得
第三步:
将 代入①,得
---------------------------------------------------
解方程组
第一步: 取 a1=3,b1=-2,c1=3
a2=2,b2=1,c2=4
第二步:计算
第三步:给出运算结果.
问题2:下面的步骤表述明确吗?
一:两腿并拢,挺胸抬头
二:左手托起女方右手,右手放在女方腰部
三:先迈前腿
四:再迈后腿
……
问题3:你对以下的“算法”如何理解?
问: 要把大象装进冰箱,分几步?
答:分三步:
第一步:打开冰箱门
第二步:把大象装进冰箱
第三步:关上冰箱门
1.算法定义的理解
在数学中,现代意义上的 “算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.
2.算法的要求
(1)写出的算法,必须能解决一类问题(例如解任意一个二元一次方程组),并且能重复使用;
(2)算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且在有限步之内完成后能得出结果.
3.算法的基本特征:
明确性:算法的每一个步骤都是确切的,能有效执行且得到确定结果,不能模棱两可.
有限性:算法应由有限步组成,至少对某些输入,算法应在有限多步内结束,并给出计算结果.
有效性:算法从初始步骤开始,分为若干明确的步骤,每一步都只能有一个确定的继任者,只有执行完前一步才能进入到后一步,并且每一步都确定无误后,才能解决问题.
不唯一性:求解某一个问题的算法不一定是唯一的,对于同一个问题可以有不同的算法.
例1.(1)设计一个算法,判断7是否为质数.
(2)设计一个算法,判断35是否为质数.
算法分析:
(1)根据质数的定义,可以这样判断:依次用2~6除7,如果它们中有一个能整除7,则7不是质数,否则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是质数.
(2) 类似的,可写出“判断35是否为质数”的算法:
第一步:用2除35,得到余数1,所以2不能整除35.
第二步:用3除35,得到余数2,所以3不能整除35.
第三步:用4除35,得到余数3,所以4不能整除35.
第四步:用5除35,得到余数0,所以5能整除35.因此,35不是质数.
探究:你能写出“判断整数n(n>2)是否为质数”的算法吗?
第一步:给定一个大于2的整数n;
第二步:令i=2;
第三步:用i除n,得到余数r;
第四步:判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.
第五步:判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步.
算法的概念
算法的步骤
算法的特点
算法